This commit was manufactured by cvs2svn to create tag 'v20040622-1200'.

Sprout from master 2004-06-22 15:32:24 UTC Tod Creasey <tod> 'Workaround for 63635'
Cherrypick from master 2004-06-22 15:46:58 UTC Tod Creasey <tod> 'Fix for 63635':
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/NewProgressViewer.java
Delete:
    bundles/org.eclipse.jface/.classpath
    bundles/org.eclipse.jface/.cvsignore
    bundles/org.eclipse.jface/.options
    bundles/org.eclipse.jface/.project
    bundles/org.eclipse.jface/about.html
    bundles/org.eclipse.jface/build.properties
    bundles/org.eclipse.jface/plugin.properties
    bundles/org.eclipse.jface/plugin.xml
    bundles/org.eclipse.jface/scripts/exportplugin.xml
    bundles/org.eclipse.jface/src/org/eclipse/jface/action/AbstractGroupMarker.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/action/Action.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/action/ActionContributionItem.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/action/ContributionItem.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/action/ContributionManager.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/action/ControlContribution.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/action/CoolBarManager.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/action/ExternalActionManager.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/action/GroupMarker.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/action/IAction.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/action/IContributionItem.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/action/IContributionManager.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/action/IContributionManagerOverrides.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/action/ICoolBarManager.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/action/IMenuCreator.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/action/IMenuListener.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/action/IMenuManager.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/action/IStatusLineManager.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/action/IToolBarManager.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/action/MenuManager.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/action/Separator.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/action/StatusLine.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/action/StatusLineLayoutData.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/action/StatusLineManager.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/action/SubContributionItem.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/action/SubContributionManager.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/action/SubCoolBarManager.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/action/SubMenuManager.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/action/SubStatusLineManager.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/action/SubToolBarManager.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/action/ToolBarContributionItem.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/action/ToolBarManager.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/action/images/stop.gif
    bundles/org.eclipse.jface/src/org/eclipse/jface/action/package.html
    bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/ControlEnableState.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/Dialog.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/DialogMessageArea.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/DialogPage.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/DialogSettings.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/ErrorDialog.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/IDialogBlockedHandler.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/IDialogConstants.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/IDialogPage.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/IDialogSettings.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/IInputValidator.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/IMessageProvider.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/IconAndMessageDialog.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/InputDialog.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/MessageDialog.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/MessageDialogWithToggle.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/ProgressIndicator.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/ProgressMonitorDialog.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/TitleAreaDialog.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/images/message_error.gif
    bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/images/message_info.gif
    bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/images/message_warning.gif
    bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/images/title_banner.gif
    bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/package.html
    bundles/org.eclipse.jface/src/org/eclipse/jface/images/dots_button.gif
    bundles/org.eclipse.jface/src/org/eclipse/jface/messages.properties
    bundles/org.eclipse.jface/src/org/eclipse/jface/operation/AccumulatingProgressMonitor.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/operation/IRunnableContext.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/operation/IRunnableWithProgress.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/operation/ModalContext.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/operation/package.html
    bundles/org.eclipse.jface/src/org/eclipse/jface/preference/BooleanFieldEditor.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/preference/BooleanPropertyAction.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/preference/ColorFieldEditor.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/preference/ColorSelector.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/preference/DirectoryFieldEditor.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/preference/FieldEditor.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/preference/FieldEditorPreferencePage.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/preference/FileFieldEditor.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/preference/FontFieldEditor.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/preference/IPersistentPreferenceStore.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/preference/IPreferenceNode.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/preference/IPreferencePage.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/preference/IPreferencePageContainer.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/preference/IPreferenceStore.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/preference/IntegerFieldEditor.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/preference/JFacePreferences.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/preference/ListEditor.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PathEditor.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferenceContentProvider.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferenceConverter.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferenceDialog.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferenceLabelProvider.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferenceManager.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferenceNode.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferencePage.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferenceStore.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/preference/RadioGroupFieldEditor.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/preference/ScaleFieldEditor.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/preference/StringButtonFieldEditor.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/preference/StringFieldEditor.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/preference/images/pref_dialog_title.gif
    bundles/org.eclipse.jface/src/org/eclipse/jface/preference/package.html
    bundles/org.eclipse.jface/src/org/eclipse/jface/resource/ColorRegistry.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/resource/CompositeImageDescriptor.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/resource/DataFormatException.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/resource/FileImageDescriptor.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/resource/FontRegistry.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/resource/ImageDescriptor.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/resource/ImageRegistry.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/resource/JFaceColors.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/resource/JFaceResources.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/resource/MissingImageDescriptor.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/resource/ResourceRegistry.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/resource/StringConverter.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/resource/URLImageDescriptor.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts.properties
    bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_aix.properties
    bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_hp-ux.properties
    bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_linux.properties
    bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_linux_gtk.properties
    bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_macosx.properties
    bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_qnx.properties
    bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_sunos.properties
    bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_windows2000.properties
    bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_windows98.properties
    bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_windowsnt.properties
    bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_windowsxp.properties
    bundles/org.eclipse.jface/src/org/eclipse/jface/resource/package.html
    bundles/org.eclipse.jface/src/org/eclipse/jface/util/Assert.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/util/DelegatingDragAdapter.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/util/DelegatingDropAdapter.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/util/Geometry.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/util/IOpenEventListener.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/util/IPropertyChangeListener.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/util/ListenerList.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/util/OpenStrategy.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/util/Policy.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/util/PropertyChangeEvent.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/util/SafeRunnable.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/util/TransferDragSourceListener.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/util/TransferDropTargetListener.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/util/package.html
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractListViewer.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractTreeViewer.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ArrayContentProvider.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/CellEditor.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/CheckStateChangedEvent.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/CheckboxCellEditor.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/CheckboxTableViewer.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/CheckboxTreeViewer.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ColorCellEditor.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ColumnLayoutData.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ColumnPixelData.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ColumnWeightData.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ComboBoxCellEditor.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ComboViewer.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ContentViewer.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/CustomHashtable.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/DecoratingLabelProvider.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/DialogCellEditor.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/DoubleClickEvent.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IBaseLabelProvider.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IBasicPropertyConstants.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ICellEditorListener.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ICellEditorValidator.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ICellModifier.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ICheckStateListener.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ICheckable.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IColorProvider.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IContentProvider.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IDecoration.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IDelayedLabelDecorator.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IDoubleClickListener.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IElementComparer.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IFontProvider.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IInputProvider.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IInputSelectionProvider.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ILabelDecorator.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ILabelProvider.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ILabelProviderListener.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ILightweightLabelDecorator.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IOpenListener.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IPostSelectionProvider.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ISelection.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ISelectionChangedListener.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ISelectionProvider.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IStructuredContentProvider.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IStructuredSelection.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ITableLabelProvider.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ITreeContentProvider.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ITreeViewerListener.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IViewerLabelProvider.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/LabelProvider.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/LabelProviderChangedEvent.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ListViewer.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/OpenEvent.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/SelectionChangedEvent.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/StructuredSelection.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/StructuredViewer.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TableLayout.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TableTreeViewer.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TableViewer.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TableViewerImpl.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TextCellEditor.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TreeExpansionEvent.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TreeViewer.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/Viewer.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ViewerDropAdapter.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ViewerFilter.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ViewerLabel.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ViewerSorter.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/package.html
    bundles/org.eclipse.jface/src/org/eclipse/jface/window/ApplicationWindow.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/window/Window.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/window/WindowManager.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/window/package.html
    bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/IWizard.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/IWizardContainer.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/IWizardContainer2.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/IWizardNode.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/IWizardPage.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/ProgressMonitorPart.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/Wizard.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/WizardDialog.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/WizardPage.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/WizardSelectionPage.java
    bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/images/page.gif
    bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/package.html
    bundles/org.eclipse.ui.carbon/.classpath
    bundles/org.eclipse.ui.carbon/.cvsignore
    bundles/org.eclipse.ui.carbon/.project
    bundles/org.eclipse.ui.carbon/.template
    bundles/org.eclipse.ui.carbon/about.html
    bundles/org.eclipse.ui.carbon/build.properties
    bundles/org.eclipse.ui.carbon/fragment.xml
    bundles/org.eclipse.ui.carbon/scripts/exportplugin.xml
    bundles/org.eclipse.ui.carbon/src/org/eclipse/ui/carbon/CarbonUIEnhancer.java
    bundles/org.eclipse.ui.carbon/src/org/eclipse/ui/carbon/Messages.properties
    bundles/org.eclipse.ui.forms/.classpath
    bundles/org.eclipse.ui.forms/.cvsignore
    bundles/org.eclipse.ui.forms/.project
    bundles/org.eclipse.ui.forms/about.html
    bundles/org.eclipse.ui.forms/build.properties
    bundles/org.eclipse.ui.forms/plugin.properties
    bundles/org.eclipse.ui.forms/plugin.xml
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/AbstractFormPart.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/DetailsPart.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/FormColors.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/HyperlinkGroup.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/HyperlinkSettings.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IDetailsPage.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IDetailsPageProvider.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IFormPart.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IManagedForm.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IPartSelectionListener.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/ManagedForm.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/MasterDetailsBlock.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/SectionPart.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/FormEditor.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/FormPage.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/IFormPage.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/package.html
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/ExpansionAdapter.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/ExpansionEvent.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/HyperlinkAdapter.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/HyperlinkEvent.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/IExpansionListener.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/IHyperlinkListener.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/package.html
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/package.html
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/AbstractHyperlink.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ColumnLayout.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ColumnLayoutData.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ExpandableComposite.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/Form.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/FormText.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/FormToolkit.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/Hyperlink.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ILayoutExtension.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ImageHyperlink.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/LayoutComposite.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ScrolledForm.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ScrolledFormText.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ScrolledPageBook.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/Section.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/SharedScrolledComposite.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/TableWrapData.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/TableWrapLayout.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ToggleHyperlink.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/TreeNode.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/Twistie.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/package.html
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/FormWizard.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/FormWizardDialog.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/FormWizardPage.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/WizardForm.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/BreakSegment.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/BulletParagraph.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/FormTextModel.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/FormUtil.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/FormsResources.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/HyperlinkSegment.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ImageSegment.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/Locator.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/Paragraph.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ParagraphSegment.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/TextSegment.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/WrappedPageBook.java
    bundles/org.eclipse.ui.ide/.classpath
    bundles/org.eclipse.ui.ide/.cvsignore
    bundles/org.eclipse.ui.ide/.project
    bundles/org.eclipse.ui.ide/about.html
    bundles/org.eclipse.ui.ide/build.properties
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/ICapabilityInstallWizard.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/ICapabilityUninstallWizard.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IContributorResourceAdapter.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IFileEditorInput.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerActionFilter.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerHelpRegistry.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerResolution.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerResolution2.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerResolutionGenerator.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerResolutionGenerator2.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IProjectActionFilter.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IResourceActionFilter.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IStorageEditorInput.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/ResourceWorkingSetFilter.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/AddBookmarkAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/AddTaskAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/BuildAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CloseResourceAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyFilesAndFoldersOperation.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyProjectAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyProjectOperation.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyResourceAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CreateFileAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CreateFolderAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CreateProjectAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/DeleteResourceAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/GlobalBuildAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/MoveFilesAndFoldersOperation.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/MoveProjectAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/MoveResourceAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/NewExampleAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/NewProjectAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/NewWizardMenu.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenFileAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenResourceAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenSystemEditorAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenWithMenu.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/QuickStartAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/ReadOnlyStateChecker.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/RefreshAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/RenameResourceAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/ScrubLocalAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/SelectionListenerAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/TextActionHandler.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/WorkspaceAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/WorkspaceModifyDelegatingOperation.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/WorkspaceModifyOperation.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ContainerGenerator.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ContainerSelectionDialog.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/FileSelectionDialog.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/MarkerResolutionSelectionDialog.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/NewFolderDialog.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ProjectLocationMoveDialog.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ProjectLocationSelectionDialog.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ResourceListSelectionDialog.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ResourceSelectionDialog.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/SaveAsDialog.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardDataTransferPage.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardExportPage.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardExportResourcesPage.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardImportPage.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewFileCreationPage.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewFolderMainPage.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewLinkPage.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewProjectCreationPage.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewProjectReferencePage.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardResourceImportPage.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/model/WorkbenchContentProvider.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/FileEditorInput.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/FileEditorInputFactory.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/FileInPlaceEditorInput.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/MarkerTransfer.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/ResourceTransfer.java
    bundles/org.eclipse.ui.ide/icons/full/dlcl16/addtsk_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/dlcl16/collapseall.gif
    bundles/org.eclipse.ui.ide/icons/full/dlcl16/configs.gif
    bundles/org.eclipse.ui.ide/icons/full/dlcl16/filter_ps.gif
    bundles/org.eclipse.ui.ide/icons/full/dlcl16/gotoobj_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/dlcl16/refresh_nav.gif
    bundles/org.eclipse.ui.ide/icons/full/dlcl16/selected_mode.gif
    bundles/org.eclipse.ui.ide/icons/full/dlcl16/showchild_mode.gif
    bundles/org.eclipse.ui.ide/icons/full/dlcl16/showerr_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/dlcl16/showtsk_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/dlcl16/showwarn_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/dlcl16/step_current.gif
    bundles/org.eclipse.ui.ide/icons/full/dlcl16/step_done.gif
    bundles/org.eclipse.ui.ide/icons/full/dlcl16/synced.gif
    bundles/org.eclipse.ui.ide/icons/full/dlcl16/usearch_obj.gif
    bundles/org.eclipse.ui.ide/icons/full/dtool16/build_exec.gif
    bundles/org.eclipse.ui.ide/icons/full/dtool16/export_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/dtool16/exportdir_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/dtool16/exportzip_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/dtool16/import_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/dtool16/importdir_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/dtool16/importzip_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/dtool16/new_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/dtool16/newfile_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/dtool16/newfolder_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/dtool16/newprj_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/dtool16/next_nav.gif
    bundles/org.eclipse.ui.ide/icons/full/dtool16/prev_nav.gif
    bundles/org.eclipse.ui.ide/icons/full/dtool16/search_src.gif
    bundles/org.eclipse.ui.ide/icons/full/elcl16/addtsk_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/elcl16/collapseall.gif
    bundles/org.eclipse.ui.ide/icons/full/elcl16/configs.gif
    bundles/org.eclipse.ui.ide/icons/full/elcl16/filter_ps.gif
    bundles/org.eclipse.ui.ide/icons/full/elcl16/gotoobj_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/elcl16/refresh_nav.gif
    bundles/org.eclipse.ui.ide/icons/full/elcl16/selected_mode.gif
    bundles/org.eclipse.ui.ide/icons/full/elcl16/showchild_mode.gif
    bundles/org.eclipse.ui.ide/icons/full/elcl16/showerr_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/elcl16/showtsk_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/elcl16/showwarn_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/elcl16/step_current.gif
    bundles/org.eclipse.ui.ide/icons/full/elcl16/step_done.gif
    bundles/org.eclipse.ui.ide/icons/full/elcl16/synced.gif
    bundles/org.eclipse.ui.ide/icons/full/elcl16/usearch_obj.gif
    bundles/org.eclipse.ui.ide/icons/full/etool16/build_exec.gif
    bundles/org.eclipse.ui.ide/icons/full/etool16/export_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/etool16/exportdir_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/etool16/exportzip_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/etool16/import_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/etool16/importdir_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/etool16/importzip_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/etool16/new_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/etool16/newfile_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/etool16/newfolder_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/etool16/newprj_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/etool16/next_nav.gif
    bundles/org.eclipse.ui.ide/icons/full/etool16/prev_nav.gif
    bundles/org.eclipse.ui.ide/icons/full/etool16/search_src.gif
    bundles/org.eclipse.ui.ide/icons/full/eview16/bkmrk_nav.gif
    bundles/org.eclipse.ui.ide/icons/full/eview16/filenav_nav.gif
    bundles/org.eclipse.ui.ide/icons/full/eview16/problems_view.gif
    bundles/org.eclipse.ui.ide/icons/full/eview16/resource_persp.gif
    bundles/org.eclipse.ui.ide/icons/full/eview16/tasks_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/obj16/bkmrk_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/obj16/complete_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/obj16/cprj_obj.gif
    bundles/org.eclipse.ui.ide/icons/full/obj16/error_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/obj16/header_complete.gif
    bundles/org.eclipse.ui.ide/icons/full/obj16/header_priority.gif
    bundles/org.eclipse.ui.ide/icons/full/obj16/hprio_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/obj16/incomplete_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/obj16/info_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/obj16/lprio_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/obj16/prj_obj.gif
    bundles/org.eclipse.ui.ide/icons/full/obj16/taskmrk_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/obj16/warn_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/obj16/warning.gif
    bundles/org.eclipse.ui.ide/icons/full/obj16/welcome_banner.gif
    bundles/org.eclipse.ui.ide/icons/full/obj16/welcome_editor.gif
    bundles/org.eclipse.ui.ide/icons/full/obj16/welcome_item.gif
    bundles/org.eclipse.ui.ide/icons/full/obj16/workset.gif
    bundles/org.eclipse.ui.ide/icons/full/ovr16/link_ovr.gif
    bundles/org.eclipse.ui.ide/icons/full/ovr16/linkwarn_ovr.gif
    bundles/org.eclipse.ui.ide/icons/full/progress/pview.gif
    bundles/org.eclipse.ui.ide/icons/full/wizban/export_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/wizban/exportdir_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/wizban/exportzip_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/wizban/import_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/wizban/importdir_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/wizban/importzip_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/wizban/new_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/wizban/newfile_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/wizban/newfolder_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/wizban/newprj_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/wizban/workset_wiz.gif
    bundles/org.eclipse.ui.ide/plugin.properties
    bundles/org.eclipse.ui.ide/plugin.xml
    bundles/org.eclipse.ui.ide/schema/capabilities.mxsd
    bundles/org.eclipse.ui.ide/schema/markerHelp.exsd
    bundles/org.eclipse.ui.ide/schema/markerImageProviders.exsd
    bundles/org.eclipse.ui.ide/schema/markerResolution.exsd
    bundles/org.eclipse.ui.ide/schema/projectNatureImages.exsd
    bundles/org.eclipse.ui.ide/schema/resourceFilters.exsd
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IDE.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IDEActionFactory.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IGotoMarker.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IIDEActionConstants.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/package.html
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/AboutInfo.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/Category.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/ChooseWorkspaceData.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/ChooseWorkspaceDialog.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/DefaultContributorResourceAdapter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/DialogUtil.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/EditorAreaDropAdapter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/FeatureSelectionDialog.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEApplication.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEExceptionHandler.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEInternalPreferences.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEInternalWorkbenchImages.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchActivityHelper.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchAdvisor.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchMessages.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchPlugin.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IHelpContextIds.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IMarkerImageProvider.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/LinkedResourceDecorator.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/NewWizardDropDownAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/NewWizardShortcutAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/Policy.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/ProblemImageProvider.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/ResourcePerspective.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/StatusUtil.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/StringMatcher.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/TipsAndTricksAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/WorkbenchActionBuilder.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/BuildCleanAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/BuildSetAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/BuildSetMenu.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/OpenWorkspaceAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/OpenWorkspaceFileAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/ProjectPropertyDialogAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/QuickMenuAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/SelectBuildWorkingSetAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/ToggleAutoBuildAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/BuildOrderPreferencePage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/CleanDialog.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ConfigurationLogUpdateSection.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/CreateLinkedResourceGroup.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/CreateProjectStep.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/CreateProjectWizard.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/FileFolderSelectionDialog.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/FileStatesPage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/FileSystemResourceExporter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEEditorsPreferencePage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEPerspectivesPreferencePage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEStartupPreferencePage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEWorkbenchPreferencePage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IElementFilter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/InstallCapabilityStep.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/InternalBase64Encoder.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/InternalErrorDialog.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/LinkedResourcesPreferencePage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepCapabilityWizard.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepConfigureWizardPage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepReviewWizardPage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepWizard.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepWizardDialog.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/NewProjectWizard.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/OpenResourceDialog.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/PathVariableDialog.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/PathVariableSelectionDialog.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/PathVariablesGroup.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectCapabilityEditingPropertyPage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectCapabilityPropertyPage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectCapabilitySimpleAddWizard.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectCapabilitySimpleSelectionPage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectPerspectiveChoiceDialog.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectReferencePage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/RemoveCapabilityStep.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/RemoveCapabilityWizard.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ResourceInfoPage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ResourceSorter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ResourceTreeAndListGroup.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ResourceWorkingSetPage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/SimpleListContentProvider.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/UpdateProjectCapabilityWizard.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditor.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditorActionContributor.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditorCopyAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditorInput.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditorInputFactory.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeItem.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeParser.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WizardNewProjectCapabilityPage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WizardNewProjectNameAndLocationPage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WizardStep.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ZipFileResourceExportOperation.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ZipFileResourceExporter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/messages.properties
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/CheckboxTreeAndListGroup.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/ContainerContentProvider.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/ContainerSelectionGroup.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/OverlayIcon.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/ProjectCapabilitySelectionGroup.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/ResourceAndContainerGroup.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/WizardStepGroup.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/WorkInProgress.properties
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/WorkInProgressMessages.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/PropertyParser.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/ResourceFactory.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/StandardPropertiesAdapterFactory.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchAdapterBuilder.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchAdapterFactory.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchFile.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchFolder.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchMarker.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchProject.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchResource.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchRootResource.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchStatus.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchStatusList.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchWorkspace.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkspaceFactory.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/package.html
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/Capability.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/CapabilityRegistry.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/CapabilityRegistryReader.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/IDERegistryReader.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/MarkerHelpRegistry.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/MarkerHelpRegistryReader.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/MarkerImageProviderRegistry.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/MarkerQuery.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/MarkerQueryResult.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/ProjectImageRegistry.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/ProjectImageRegistryReader.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/update/ConfigurationManagerAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/update/InstallWizardAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkContentProvider.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkLabelProvider.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkMessages.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkNavigator.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkPropertiesDialog.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkSorter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/CopyBookmarkAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/EditBookmarkAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/IBookmarkHelpContextIds.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/MarkerUtil.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/OpenBookmarkAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/PasteBookmarkAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/RemoveBookmarkAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/SelectAllAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/messages.properties
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/package.html
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/BackAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/ForwardAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/Frame.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/FrameAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/FrameList.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/FrameListMessages.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/GoIntoAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/IFrameListHelpContextIds.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/IFrameSource.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/TreeFrame.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/TreeViewerFrameSource.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/UpAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/messages.properties
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/package.html
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/MarkerViewUtil.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionAddGlobalTask.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionCopyMarker.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionDeleteCompleted.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionMarkCompleted.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionMarkerProperties.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionOpenMarker.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionPasteMarker.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionProblemProperties.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionRemoveMarker.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionResolveMarker.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionRevealMarker.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionSelectAll.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionTaskProperties.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/BookmarkFilter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/BookmarkMarker.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/BookmarkView.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ConcreteMarker.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DefaultMarkerResourceAdapter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DeferredQueue.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogBookmarkFilter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogMarkerFilter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogMarkerProperties.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogProblemFilter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogProblemProperties.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogTaskFilter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogTaskProperties.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldCreationTime.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldDone.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldFolder.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldLineNumber.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldMessage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldPriority.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldResource.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldSeverity.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FiltersAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IDeferredTableContentProvider.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IField.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IFilter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IItemsChangedListener.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IMarkerChangedListener.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IMarkerResourceAdapter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ITableListener.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ITableViewContentProvider.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ImageFactory.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerFilter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerLabelProvider.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerList.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerRegistry.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerType.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerTypesModel.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerView.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/Messages.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/Messages.properties
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ProblemFilter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ProblemMarker.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ProblemView.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/RestartableJob.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/SelectionProviderAdapter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/SortUtil.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableContentProvider.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableSortAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableSortDialog.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableSorter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableView.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableViewLabelProvider.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TaskFilter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TaskMarker.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TaskView.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/Util.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/package.html
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/CollapseAllAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/CopyAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/FilterSelectionAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/FiltersContentProvider.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/GotoActionGroup.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/GotoResourceAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/GotoResourceDialog.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/INavigatorHelpContextIds.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/IResourceNavigator.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/LocalSelectionTransfer.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/MainActionGroup.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/NavigatorDragAdapter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/NavigatorDropAdapter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/NavigatorFrameSource.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/OpenActionGroup.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/PasteAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/RefactorActionGroup.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigator.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorActionGroup.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorMessages.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorMoveAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorRenameAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourcePatternFilter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceSelectionUtil.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceSorter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ShowInNavigatorAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/SortAndFilterActionGroup.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/SortViewAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/StringMatcher.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ToggleLinkingAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/WorkspaceActionGroup.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/messages.properties
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/package.html
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/FilePropertySource.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/IDEPropertiesMessages.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/IResourcePropertyConstants.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/ResourcePropertySource.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/ideMessages.properties
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/CopyTaskAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/DefaultTaskListResourceAdapter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/FiltersAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/FiltersDialog.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/GotoTaskAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/IMarkerConstants.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/ITaskListHelpContextIds.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/ITaskListResourceAdapter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/MarkCompletedAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/MarkerType.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/MarkerTypesModel.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/MarkerUtil.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/NewTaskAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/PasteTaskAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/PurgeCompletedAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/RemoveTaskAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/ResolveMarkerAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/SelectAllTasksAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskList.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskListContentProvider.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskListMessages.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskPropertiesAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskPropertiesDialog.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskSorter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TasksFilter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/messages.properties
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/package.html
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/Base64Encoder.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/DataTransferMessages.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ExternalProjectImportWizard.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/FileSystemExportOperation.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/FileSystemExportWizard.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/FileSystemExporter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/FileSystemImportWizard.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/FileSystemStructureProvider.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/IDataTransferHelpContextIds.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/IImportStructureProvider.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ImportOperation.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/MinimizedFileSystemElement.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/PopulateElementOperation.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/PopulateRootOperation.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/SelectFilesOperation.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/WizardExternalProjectImportPage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/WizardFileSystemExportPage1.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/WizardFileSystemImportPage1.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/WizardFileSystemResourceExportPage1.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/WizardFileSystemResourceImportPage1.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/WizardZipFileExportPage1.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/WizardZipFileImportPage1.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/WizardZipFileResourceExportPage1.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/WizardZipFileResourceImportPage1.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ZipFileExportOperation.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ZipFileExportWizard.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ZipFileExporter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ZipFileImportWizard.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ZipFileStructureProvider.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/messages.properties
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/package.html
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/BasicNewFileResourceWizard.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/BasicNewFolderResourceWizard.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/BasicNewProjectResourceWizard.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/BasicNewResourceWizard.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/ResourceMessages.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/messages.properties
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/package.html
    bundles/org.eclipse.ui.presentations.r21/.classpath
    bundles/org.eclipse.ui.presentations.r21/.cvsignore
    bundles/org.eclipse.ui.presentations.r21/.project
    bundles/org.eclipse.ui.presentations.r21/README.TXT
    bundles/org.eclipse.ui.presentations.r21/about.html
    bundles/org.eclipse.ui.presentations.r21/build.properties
    bundles/org.eclipse.ui.presentations.r21/plugin.properties
    bundles/org.eclipse.ui.presentations.r21/plugin.xml
    bundles/org.eclipse.ui.presentations.r21/r21presentation.ini
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21BasicStackPresentation.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21EditorStackPresentation.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21PresentationFactory.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21ViewStackPresentation.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/R21Colors.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/R21PresentationMessages.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/R21PresentationPlugin.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/messages.properties
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabFolder.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabFolderEvent.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabFolderListener.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabItem.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/R21PaneFolder.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/R21PaneFolderButtonListener.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/ViewForm.java
    bundles/org.eclipse.ui.tutorials.rcp.part1/.classpath
    bundles/org.eclipse.ui.tutorials.rcp.part1/.cvsignore
    bundles/org.eclipse.ui.tutorials.rcp.part1/.project
    bundles/org.eclipse.ui.tutorials.rcp.part1/Run RcpTutorial1.lnk
    bundles/org.eclipse.ui.tutorials.rcp.part1/build.properties
    bundles/org.eclipse.ui.tutorials.rcp.part1/html/default_style.css
    bundles/org.eclipse.ui.tutorials.rcp.part1/html/images/Idea.jpg
    bundles/org.eclipse.ui.tutorials.rcp.part1/html/images/note.gif
    bundles/org.eclipse.ui.tutorials.rcp.part1/html/images/spin.png
    bundles/org.eclipse.ui.tutorials.rcp.part1/html/images/tip.gif
    bundles/org.eclipse.ui.tutorials.rcp.part1/html/tutorial1.html
    bundles/org.eclipse.ui.tutorials.rcp.part1/plugin.properties
    bundles/org.eclipse.ui.tutorials.rcp.part1/plugin.xml
    bundles/org.eclipse.ui.tutorials.rcp.part1/rcptutorial1.cmd
    bundles/org.eclipse.ui.tutorials.rcp.part1/rcptutorial1debug.cmd
    bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/RcpApplication.java
    bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/RcpPerspective.java
    bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/RcpWorkbenchAdvisor.java
    bundles/org.eclipse.ui.tutorials.rcp.part2/.classpath
    bundles/org.eclipse.ui.tutorials.rcp.part2/.cvsignore
    bundles/org.eclipse.ui.tutorials.rcp.part2/.project
    bundles/org.eclipse.ui.tutorials.rcp.part2/Run RcpTutorial2.lnk
    bundles/org.eclipse.ui.tutorials.rcp.part2/build.properties
    bundles/org.eclipse.ui.tutorials.rcp.part2/html/default_style.css
    bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/Application.png
    bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/Idea.jpg
    bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/Lifecycle.png
    bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/hellotitle.png
    bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/note.gif
    bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/tip.gif
    bundles/org.eclipse.ui.tutorials.rcp.part2/html/tutorial2.html
    bundles/org.eclipse.ui.tutorials.rcp.part2/plugin.properties
    bundles/org.eclipse.ui.tutorials.rcp.part2/plugin.xml
    bundles/org.eclipse.ui.tutorials.rcp.part2/rcptutorial2.cmd
    bundles/org.eclipse.ui.tutorials.rcp.part2/rcptutorial2debug.cmd
    bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/Messages.java
    bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/RcpApplication.java
    bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/RcpPerspective.java
    bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/RcpTutorial.properties
    bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/RcpWorkbenchAdvisor.java
    bundles/org.eclipse.ui.tutorials.rcp.part3/.classpath
    bundles/org.eclipse.ui.tutorials.rcp.part3/.cvsignore
    bundles/org.eclipse.ui.tutorials.rcp.part3/.project
    bundles/org.eclipse.ui.tutorials.rcp.part3/Run RcpTutorial3.lnk
    bundles/org.eclipse.ui.tutorials.rcp.part3/book.xml
    bundles/org.eclipse.ui.tutorials.rcp.part3/build.properties
    bundles/org.eclipse.ui.tutorials.rcp.part3/html/book.html
    bundles/org.eclipse.ui.tutorials.rcp.part3/html/default_style.css
    bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/Idea.jpg
    bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/complete.png
    bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/help.png
    bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/note.gif
    bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_1.gif
    bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_2.gif
    bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_3.gif
    bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_4.gif
    bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_5.gif
    bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_6.gif
    bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tip.gif
    bundles/org.eclipse.ui.tutorials.rcp.part3/html/overview.html
    bundles/org.eclipse.ui.tutorials.rcp.part3/html/tutorial3.html
    bundles/org.eclipse.ui.tutorials.rcp.part3/icons/sample.gif
    bundles/org.eclipse.ui.tutorials.rcp.part3/plugin.properties
    bundles/org.eclipse.ui.tutorials.rcp.part3/plugin.xml
    bundles/org.eclipse.ui.tutorials.rcp.part3/rcptutorial3.cmd
    bundles/org.eclipse.ui.tutorials.rcp.part3/rcptutorial3debug.cmd
    bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/Messages.java
    bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/RcpApplication.java
    bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/RcpPerspective.java
    bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/RcpTutorial.properties
    bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/RcpWorkbenchAdvisor.java
    bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/actions/AboutAction.java
    bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/views/SampleView.java
    bundles/org.eclipse.ui.views/.classpath
    bundles/org.eclipse.ui.views/.cvsignore
    bundles/org.eclipse.ui.views/.project
    bundles/org.eclipse.ui.views/about.html
    bundles/org.eclipse.ui.views/build.properties
    bundles/org.eclipse.ui.views/icons/full/eview16/outline_co.gif
    bundles/org.eclipse.ui.views/icons/full/eview16/prop_ps.gif
    bundles/org.eclipse.ui.views/plugin.properties
    bundles/org.eclipse.ui.views/plugin.xml
    bundles/org.eclipse.ui.views/scripts/exportplugin.xml
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/ViewsPlugin.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/ContentOutline.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/ContentOutlinePage.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/IContentOutlinePage.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/messages.properties
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/package.html
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/CategoriesAction.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ColorPropertyDescriptor.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ComboBoxLabelProvider.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ComboBoxPropertyDescriptor.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/CopyPropertyAction.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/DefaultsAction.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/FilterAction.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ICellEditorActivationListener.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertiesHelpContextIds.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertyDescriptor.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySheetEntry.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySheetEntryListener.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySheetPage.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySource.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySource2.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySourceProvider.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertiesMessages.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertyDescriptor.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheet.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetAction.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetCategory.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetEntry.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetPage.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetViewer.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/TextPropertyDescriptor.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/messages.properties
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/package.html
    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.compatibility/.classpath
    bundles/org.eclipse.ui.workbench.compatibility/.cvsignore
    bundles/org.eclipse.ui.workbench.compatibility/.project
    bundles/org.eclipse.ui.workbench.compatibility/about.html
    bundles/org.eclipse.ui.workbench.compatibility/build.properties
    bundles/org.eclipse.ui.workbench.compatibility/fragment.xml
    bundles/org.eclipse.ui.workbench.compatibility/src/org/eclipse/ui/internal/CompatibleWorkbenchPage.java
    bundles/org.eclipse.ui.workbench.compatibility/src/org/eclipse/ui/internal/ICompatibleWorkbenchPage.java
    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/icons/full/dlcl16/addtsk_tsk.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/collapseall.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/defaults_ps.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/filter_ps.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/home_nav.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/linkto_help.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/progress_rem.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/progress_remall.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/progress_stop.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/refresh_nav.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/selected_mode.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/showtsk_tsk.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/showwarn_tsk.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/step_current.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/step_done.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/synced.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/dtool16/copy_edit.gif
    bundles/org.eclipse.ui/icons/full/dtool16/cut_edit.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/help_contents.gif
    bundles/org.eclipse.ui/icons/full/dtool16/import_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/print_edit.gif
    bundles/org.eclipse.ui/icons/full/dtool16/redo_edit.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/undo_edit.gif
    bundles/org.eclipse.ui/icons/full/elcl16/addtsk_tsk.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/filter_ps.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/home_nav.gif
    bundles/org.eclipse.ui/icons/full/elcl16/linkto_help.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/progress_rem.gif
    bundles/org.eclipse.ui/icons/full/elcl16/progress_remall.gif
    bundles/org.eclipse.ui/icons/full/elcl16/progress_stop.gif
    bundles/org.eclipse.ui/icons/full/elcl16/refresh_nav.gif
    bundles/org.eclipse.ui/icons/full/elcl16/selected_mode.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/showtsk_tsk.gif
    bundles/org.eclipse.ui/icons/full/elcl16/showwarn_tsk.gif
    bundles/org.eclipse.ui/icons/full/elcl16/step_current.gif
    bundles/org.eclipse.ui/icons/full/elcl16/step_done.gif
    bundles/org.eclipse.ui/icons/full/elcl16/synced.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/copy_edit.gif
    bundles/org.eclipse.ui/icons/full/etool16/cut_edit.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/help_contents.gif
    bundles/org.eclipse.ui/icons/full/etool16/import_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/print_edit.gif
    bundles/org.eclipse.ui/icons/full/etool16/redo_edit.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/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/outline_co.gif
    bundles/org.eclipse.ui/icons/full/eview16/problems_view.gif
    bundles/org.eclipse.ui/icons/full/eview16/prop_ps.gif
    bundles/org.eclipse.ui/icons/full/eview16/tasks_tsk.gif
    bundles/org.eclipse.ui/icons/full/obj16/activity.gif
    bundles/org.eclipse.ui/icons/full/obj16/activity_category.gif
    bundles/org.eclipse.ui/icons/full/obj16/add_obj.gif
    bundles/org.eclipse.ui/icons/full/obj16/bkmrk_tsk.gif
    bundles/org.eclipse.ui/icons/full/obj16/blank.gif
    bundles/org.eclipse.ui/icons/full/obj16/change_obj.gif
    bundles/org.eclipse.ui/icons/full/obj16/complete_tsk.gif
    bundles/org.eclipse.ui/icons/full/obj16/delete_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/font.gif
    bundles/org.eclipse.ui/icons/full/obj16/header_complete.gif
    bundles/org.eclipse.ui/icons/full/obj16/header_priority.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/menu.gif
    bundles/org.eclipse.ui/icons/full/obj16/submenu.gif
    bundles/org.eclipse.ui/icons/full/obj16/taskmrk_tsk.gif
    bundles/org.eclipse.ui/icons/full/obj16/theme_category.gif
    bundles/org.eclipse.ui/icons/full/obj16/toolbar.gif
    bundles/org.eclipse.ui/icons/full/obj16/warn_tsk.gif
    bundles/org.eclipse.ui/icons/full/ovr16/pinned_ovr.gif
    bundles/org.eclipse.ui/icons/full/pointer/bottom_mask.bmp
    bundles/org.eclipse.ui/icons/full/pointer/bottom_source.bmp
    bundles/org.eclipse.ui/icons/full/pointer/invalid_mask.bmp
    bundles/org.eclipse.ui/icons/full/pointer/invalid_source.bmp
    bundles/org.eclipse.ui/icons/full/pointer/left_mask.bmp
    bundles/org.eclipse.ui/icons/full/pointer/left_source.bmp
    bundles/org.eclipse.ui/icons/full/pointer/offscreen_mask.bmp
    bundles/org.eclipse.ui/icons/full/pointer/offscreen_source.bmp
    bundles/org.eclipse.ui/icons/full/pointer/right_mask.bmp
    bundles/org.eclipse.ui/icons/full/pointer/right_source.bmp
    bundles/org.eclipse.ui/icons/full/pointer/stack_mask.bmp
    bundles/org.eclipse.ui/icons/full/pointer/stack_source.bmp
    bundles/org.eclipse.ui/icons/full/pointer/tofastview_mask.bmp
    bundles/org.eclipse.ui/icons/full/pointer/tofastview_source.bmp
    bundles/org.eclipse.ui/icons/full/pointer/top_mask.bmp
    bundles/org.eclipse.ui/icons/full/pointer/top_source.bmp
    bundles/org.eclipse.ui/icons/full/progress/errorstate.gif
    bundles/org.eclipse.ui/icons/full/progress/lockedstate.gif
    bundles/org.eclipse.ui/icons/full/progress/progress_error.gif
    bundles/org.eclipse.ui/icons/full/progress/progress_none.gif
    bundles/org.eclipse.ui/icons/full/progress/progress_ok.gif
    bundles/org.eclipse.ui/icons/full/progress/progress_task.gif
    bundles/org.eclipse.ui/icons/full/progress/pview.gif
    bundles/org.eclipse.ui/icons/full/progress/sleeping.gif
    bundles/org.eclipse.ui/icons/full/progress/waiting.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_wiz.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/activities.exsd
    bundles/org.eclipse.ui/schema/commands.exsd
    bundles/org.eclipse.ui/schema/commonAction.exsd
    bundles/org.eclipse.ui/schema/commonExpression.exsd
    bundles/org.eclipse.ui/schema/contexts.exsd
    bundles/org.eclipse.ui/schema/decorators.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/helpSupport.exsd
    bundles/org.eclipse.ui/schema/importWizards.exsd
    bundles/org.eclipse.ui/schema/intro.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/presentationFactories.exsd
    bundles/org.eclipse.ui/schema/propertyPages.exsd
    bundles/org.eclipse.ui/schema/startup.exsd
    bundles/org.eclipse.ui/schema/systemSummarySections.exsd
    bundles/org.eclipse.ui/schema/themes.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
    bundles/org.eclipse.ui/src/org/eclipse/ui/internal/UIPreferenceInitializer.java
    examples/org.eclipse.ui.examples.job/.classpath
    examples/org.eclipse.ui.examples.job/.cvsignore
    examples/org.eclipse.ui.examples.job/.project
    examples/org.eclipse.ui.examples.job/README.TXT
    examples/org.eclipse.ui.examples.job/build.properties
    examples/org.eclipse.ui.examples.job/doc/Responsive UIs.ppt
    examples/org.eclipse.ui.examples.job/doc/eclipse-con-talk_2.doc
    examples/org.eclipse.ui.examples.job/doc/responsive_ui.html
    examples/org.eclipse.ui.examples.job/doc/usecases.txt
    examples/org.eclipse.ui.examples.job/doc/workspace-lock.html
    examples/org.eclipse.ui.examples.job/icons/job_view.gif
    examples/org.eclipse.ui.examples.job/icons/sample.gif
    examples/org.eclipse.ui.examples.job/icons/suspend.gif
    examples/org.eclipse.ui.examples.job/icons/tree_view.gif
    examples/org.eclipse.ui.examples.job/plugin.xml
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/BusyShowWhileDialog.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/ProgressExamplesPlugin.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/TestJob.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/UITestJob.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/CreateJobsAction.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/DebugJobManagerAction.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/ForegroundAction.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/JobAction.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/SuspendJobManagerAction.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/DeferredContentProvider.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/JobsView.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/LazyTreeView.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/ProgressExampleAdapterFactory.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/SlowElement.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/SlowElementAdapter.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.rcp.browser/.classpath
    examples/org.eclipse.ui.examples.rcp.browser/.cvsignore
    examples/org.eclipse.ui.examples.rcp.browser/.project
    examples/org.eclipse.ui.examples.rcp.browser/about.html
    examples/org.eclipse.ui.examples.rcp.browser/build.properties
    examples/org.eclipse.ui.examples.rcp.browser/config_gtk-amd64.ini
    examples/org.eclipse.ui.examples.rcp.browser/config_gtk.ini
    examples/org.eclipse.ui.examples.rcp.browser/config_macosx-carbon.ini
    examples/org.eclipse.ui.examples.rcp.browser/config_motif.ini
    examples/org.eclipse.ui.examples.rcp.browser/config_win32.ini
    examples/org.eclipse.ui.examples.rcp.browser/icons/eclipse.gif
    examples/org.eclipse.ui.examples.rcp.browser/icons/eclipse32.gif
    examples/org.eclipse.ui.examples.rcp.browser/icons/eclipse_lg.gif
    examples/org.eclipse.ui.examples.rcp.browser/plugin.properties
    examples/org.eclipse.ui.examples.rcp.browser/plugin.xml
    examples/org.eclipse.ui.examples.rcp.browser/readme.html
    examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserActionBuilder.java
    examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserAdvisor.java
    examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserApp.java
    examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserPerspectiveFactory.java
    examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserView.java
    examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/HistoryView.java
    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
    examples/org.eclipse.ui.forms.examples/.classpath
    examples/org.eclipse.ui.forms.examples/.cvsignore
    examples/org.eclipse.ui.forms.examples/.project
    examples/org.eclipse.ui.forms.examples/build.properties
    examples/org.eclipse.ui.forms.examples/icons/file_obj.gif
    examples/org.eclipse.ui.forms.examples/icons/form_banner.gif
    examples/org.eclipse.ui.forms.examples/icons/large_image.gif
    examples/org.eclipse.ui.forms.examples/icons/sample.gif
    examples/org.eclipse.ui.forms.examples/icons/th_horizontal.gif
    examples/org.eclipse.ui.forms.examples/icons/th_vertical.gif
    examples/org.eclipse.ui.forms.examples/plugin.properties
    examples/org.eclipse.ui.forms.examples/plugin.xml
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/ExamplesPlugin.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/ExamplesPluginResources.properties
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/FormEditorInput.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/OpenFormEditorAction.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/FreeFormPage.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/IModelListener.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/NamedObject.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/OpenSimpleFormEditorAction.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/PageWithSubPages.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/ScrolledPropertiesBlock.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/ScrolledPropertiesPage.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SecondPage.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SimpleFormEditor.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SimpleFormEditorInput.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SimpleModel.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/ThirdPage.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeOne.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeOneDetailsPage.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeTwo.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeTwoDetailsPage.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/index.xml
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/views/FormView.java
    tests/org.eclipse.ui.tests/.classpath
    tests/org.eclipse.ui.tests/.cvsignore
    tests/org.eclipse.ui.tests/.project
    tests/org.eclipse.ui.tests/Benchmark Tests/org/eclipse/ui/tests/benchmarks/OpenCloseTest.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/images/ImageRegistryTest.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/AbstractTreeViewerTest.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/AllTests.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/CheckboxTableViewerTest.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/CheckboxTreeViewerMissingTest.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/CheckboxTreeViewerTest.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/ComboViewerTest.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/ITestModelListener.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/ListViewerTest.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/StructuredItemViewerTest.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/StructuredSelectionTest.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/StructuredViewerTest.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/TableTreeViewerTest.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/TableViewerTest.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/TestElement.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/TestLabelProvider.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/TestModel.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/TestModelChange.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/TestModelContentProvider.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/TreeViewerTest.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/images/java.gif
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/AddChildAction.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/AddElementAction.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/AddFilterAction.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/AddSiblingAction.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/ChangeChildLabelAction.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/ChangeInputLabelAction.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/ChangeLabelAction.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/ClearSelectionAction.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/CreateModelAction.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/DeleteAction.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/DeleteChildrenAction.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/DeleteSiblingsAction.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/ExpandAllAction.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/Filter.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/FlushInputAction.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/ResetFilterAction.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/ResetSorterAction.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/SetLabelProviderAction.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/SetSorterAction.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/Sorter.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/TestBrowser.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/TestBrowserAction.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/TestCheckboxTree.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/TestList.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/TestSelectionAction.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/TestTable.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/TestTableTree.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/TestTableTreeLabelProvider.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/TestTree.java
    tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/WorldChangedAction.java
    tests/org.eclipse.ui.tests/Eclipse RCP Tests/org/eclipse/ui/rcp/tests/ActionBarConfigurerTest.java
    tests/org.eclipse.ui.tests/Eclipse RCP Tests/org/eclipse/ui/rcp/tests/PlatformUITest.java
    tests/org.eclipse.ui.tests/Eclipse RCP Tests/org/eclipse/ui/rcp/tests/RcpTestSuite.java
    tests/org.eclipse.ui.tests/Eclipse RCP Tests/org/eclipse/ui/rcp/tests/WorkbenchAdvisorTest.java
    tests/org.eclipse.ui.tests/Eclipse RCP Tests/org/eclipse/ui/rcp/tests/WorkbenchConfigurerTest.java
    tests/org.eclipse.ui.tests/Eclipse RCP Tests/org/eclipse/ui/rcp/tests/WorkbenchWindowConfigurerTest.java
    tests/org.eclipse.ui.tests/Eclipse RCP Tests/org/eclipse/ui/rcp/tests/util/WorkbenchAdvisorObserver.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/SelectionProviderView.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/TestPlugin.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/UiTestSuite.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/activities/ActivitiesTestSuite.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/activities/DynamicModelActivityRegistry.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/activities/DynamicTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/activities/StaticTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/AdaptableDecoratorTestCase.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/AdaptableResourceWrapper.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/AdaptableTestSuite.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/AdaptedResourceNavigator.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/MarkerImageProviderTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/NullLabelDecorator.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/ResourceAction.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/TestAdaptableContentProvider.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/TestAdaptableWorkbenchAdapter.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/TestMarkerImageProvider.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/TestNavigatorActionGroup.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/ApiTestSuite.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/Bug42616Test.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/DeprecatedSessionRestoreTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/EditorIconTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IActionBarsTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IActionDelegateTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IActionFilterTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IConstants.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IDeprecatedWorkbenchPageTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IEditorActionBarContributorTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IEditorActionDelegateTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IEditorDescriptorTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IEditorLauncherTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IEditorPartTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IEditorRegistryTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IEditorSiteTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IFileEditorMappingTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IPageListenerTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IPageServiceTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IPartServiceTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IPerspectiveDescriptorTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IPerspectiveListenerTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IPerspectiveRegistryTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/ISelectionServiceTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IViewActionDelegateTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IViewPartTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IViewSiteTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkbenchPageTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkbenchPartSiteTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkbenchPartTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkbenchTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkbenchTestSuite.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkbenchWindowActionDelegateTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkbenchWindowTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkingSetManagerTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkingSetTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/ListContentProvider.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/ListElement.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/ListElementActionFilter.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/ListElementPropertyTester.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/ListView.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockAction.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockActionDelegate.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockEditorActionBarContributor.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockEditorActionDelegate.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockEditorPart.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockPart.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockPartListener.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockPropertyListener.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockSelectionProvider.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockViewActionDelegate.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockViewPart.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockWorkbenchPart.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockWorkbenchWindowActionDelegate.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockWorkingSetPage.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockWorkingSetTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/PlatformUITest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/SessionCreateTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/SessionPerspective.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/SessionRestoreTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/SessionView.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/StartupClass.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/StartupTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/StickyViewTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/ViewPerspective.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/ViewUtils.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/workbenchpart/CustomTitleView.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/workbenchpart/EmptyView.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/workbenchpart/OverriddenTitleTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/workbenchpart/OverriddenTitleView.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/workbenchpart/RawIViewPart.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/workbenchpart/RawIViewPartTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/workbenchpart/TitleTestEditor.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/workbenchpart/TitleTestView.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/workbenchpart/ViewPartTitleTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/commands/Bug66182Test.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/commands/CommandsTestSuite.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/compare/UIComparePreferences.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/compare/UIComparePreferencesAuto.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/contexts/ContextsTestSuite.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/contexts/ExtensionTestCase.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/datatransfer/DataTransferTestSuite.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/datatransfer/ImportOperationTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/datatransfer/tests.ini
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/DataTransferMessagesCopy.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/DataTransferTestStub.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/DeprecatedUIDialogs.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/DeprecatedUIDialogsAuto.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/DeprecatedUIPreferences.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/DeprecatedUIPreferencesAuto.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/DeprecatedUIWizards.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/DeprecatedUIWizardsAuto.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/EnableTestPreferencePage.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/FontFieldEditorTestPreferencePage.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/NavigatorTestStub.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/PreferenceDialogWrapper.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/PropertyDialogWrapper.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/ResourceMessagesCopy.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/ResourceNavigatorMessagesCopy.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/TaskListTestStub.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/TextEditorTestStub.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIAutomatedSuite.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIDialogs.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIDialogsAuto.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIEditWorkingSetWizardAuto.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIErrorDialogs.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIInteractiveSuite.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIMessageDialogs.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIMessageDialogsAuto.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UINewWorkingSetWizardAuto.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIPreferences.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIPreferencesAuto.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIWizards.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIWizardsAuto.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIWorkingSetWizardsAuto.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/AbstractTestDropTarget.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/DragDropPerspectiveFactory.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/DragOperations.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/DragTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/DragTestSuite.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/EditorAreaDropTarget.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/EditorDragSource.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/EditorDropTarget.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/EditorTabDropTarget.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/FastViewBarDropTarget.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/GenerateDragSnapshotAction.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/TestDragSource.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/ViewDragSource.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/ViewDropTarget.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/ViewTabDropTarget.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/WindowDropTarget.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dynamicplugins/DynamicPluginsTestSuite.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dynamicplugins/DynamicUtils.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dynamicplugins/PerspectiveTests.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dynamicplugins/TestInstallUtil.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dynamicplugins/ViewTests.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/ActionExpressionTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/ActionSetExpressionTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/Bug41931Test.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/EditorActionBarsTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/ExtendedSourceViewer.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/ExtendedTextEditor.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/ExtendedTextSelection.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/ExtendedTextSelectionActionFilter.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/InternalTestSuite.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/PopupMenuExpressionTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/TextSelectionActionExpressionTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/intro/IntroPartTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/intro/IntroTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/intro/IntroTestSuite.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/intro/MockIntroPart.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/intro/NoIntroPartTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug36420Test.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug36537Test.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug40023Test.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug42024Test.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug42035Test.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug42627Test.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug43168Test.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug43321Test.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug43538Test.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug43597Test.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug43610Test.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug43800Test.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug44460Test.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug53489Test.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/KeysTestSuite.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/PreferenceMutator.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/manual/BrokenUpdatePreferencePage.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/manual/UIPreferencesManual.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/menus/BrokenWorkbenchWindowPulldownDelegate.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/menus/MenusTestSuite.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/menus/ObjectContributionTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/multipageeditor/MultiPageEditorTestSuite.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/multipageeditor/MultiPageKeyBindingTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/multipageeditor/TestKeyBindingMultiPageEditorPart.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/multipageeditor/TestMultiPageEditor.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/AbstractNavigatorTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/DecoratorEnablementTestCase.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/DecoratorTestCase.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/DuplicateMenuItemTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/ExceptionDecoratorTestCase.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/HeavyNullImageDecorator.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/HeavyNullTextDecorator.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/LightweightDecoratorTestCase.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/NavigatorTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/NavigatorTestSuite.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/NullImageDecorator.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/ResourceNavigatorTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/TestDecoratorContributor.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/TestLightweightDecoratorContributor.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/TestLightweightDecoratorMultipleQuadrantContributor.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/performance/EditorSwitchTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/performance/PerspectiveSwitchTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/performance/UIPerformanceTestSuite.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/preferences/DeprecatedFontPreferenceTestCase.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/preferences/FontPreferenceTestCase.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/preferences/PreferencesTestSuite.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/propertysheet/ComboBoxPropertyDescriptorTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/propertysheet/PropertySheetAuto.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/propertysheet/PropertySheetTestSuite.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/stress/OpenCloseTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/stress/OpenCloseTestSuite.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/themes/JFaceThemeTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/themes/TestColorFactory.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/themes/ThemeAPITest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/themes/ThemePropertyListener.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/themes/ThemeTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/themes/ThemesTestSuite.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/zoom/ActivateTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/zoom/CloseEditorTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/zoom/HideViewTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/zoom/OpenEditorTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/zoom/ShowViewTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/zoom/ZoomTestCase.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/zoom/ZoomTestSuite.java
    tests/org.eclipse.ui.tests/Manual Component Tests/Component Tests.html
    tests/org.eclipse.ui.tests/Manual Component Tests/Export.txt
    tests/org.eclipse.ui.tests/Manual Component Tests/Import.txt
    tests/org.eclipse.ui.tests/Manual Component Tests/Navigator.txt
    tests/org.eclipse.ui.tests/Manual Component Tests/Outline.txt
    tests/org.eclipse.ui.tests/Manual Component Tests/Preferences.txt
    tests/org.eclipse.ui.tests/Manual Component Tests/PropertiesDialog.txt
    tests/org.eclipse.ui.tests/Manual Component Tests/PropertiesView.txt
    tests/org.eclipse.ui.tests/Manual Component Tests/Tasks.txt
    tests/org.eclipse.ui.tests/Manual Component Tests/TextEditor.txt
    tests/org.eclipse.ui.tests/Manual Component Tests/WelcomeEditor.txt
    tests/org.eclipse.ui.tests/Manual Component Tests/WorkbenchAction.txt
    tests/org.eclipse.ui.tests/Manual Component Tests/WorkbenchLayout.txt
    tests/org.eclipse.ui.tests/Manual Scenario Tests/Bookmarks View.html
    tests/org.eclipse.ui.tests/Manual Scenario Tests/File System Export.html
    tests/org.eclipse.ui.tests/Manual Scenario Tests/File System Import.html
    tests/org.eclipse.ui.tests/Manual Scenario Tests/Navigator View.html
    tests/org.eclipse.ui.tests/Manual Scenario Tests/New File Wizard.html
    tests/org.eclipse.ui.tests/Manual Scenario Tests/New Folder Wizard.html
    tests/org.eclipse.ui.tests/Manual Scenario Tests/New Project Wizard.html
    tests/org.eclipse.ui.tests/Manual Scenario Tests/Outline View.html
    tests/org.eclipse.ui.tests/Manual Scenario Tests/Persistence.html
    tests/org.eclipse.ui.tests/Manual Scenario Tests/Preferences.html
    tests/org.eclipse.ui.tests/Manual Scenario Tests/Problems View.html
    tests/org.eclipse.ui.tests/Manual Scenario Tests/Properties Dialog.html
    tests/org.eclipse.ui.tests/Manual Scenario Tests/Properties View.html
    tests/org.eclipse.ui.tests/Manual Scenario Tests/Tasks View.html
    tests/org.eclipse.ui.tests/Manual Scenario Tests/Test Scenarios.html
    tests/org.eclipse.ui.tests/Manual Scenario Tests/Text Editor
    tests/org.eclipse.ui.tests/Manual Scenario Tests/Welcome Editor.html
    tests/org.eclipse.ui.tests/Manual Scenario Tests/Window Actions.html
    tests/org.eclipse.ui.tests/Manual Scenario Tests/Window Layout.html
    tests/org.eclipse.ui.tests/Manual Scenario Tests/ZIP Export.html
    tests/org.eclipse.ui.tests/Manual Scenario Tests/ZIP Import.html
    tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/internal/util/AccessibilityTestPass.java
    tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/internal/util/FailureDialog.java
    tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/internal/util/FocusTestPass.java
    tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/internal/util/IDialogTestPass.java
    tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/internal/util/SizingTestPass.java
    tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/internal/util/VerifyDialog.java
    tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/ActionUtil.java
    tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/ArrayUtil.java
    tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/CallHistory.java
    tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/DialogCheck.java
    tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/EmptyPerspective.java
    tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/FileUtil.java
    tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/PerspectiveWithFastView.java
    tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/PlatformUtil.java
    tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/UITestCase.java
    tests/org.eclipse.ui.tests/about.html
    tests/org.eclipse.ui.tests/build.properties
    tests/org.eclipse.ui.tests/data/PerspectiveSwitchSourceCode.txt
    tests/org.eclipse.ui.tests/data/dragtests.xml
    tests/org.eclipse.ui.tests/data/org.eclipse.newPerspective1/.classpath
    tests/org.eclipse.ui.tests/data/org.eclipse.newPerspective1/.project
    tests/org.eclipse.ui.tests/data/org.eclipse.newPerspective1/plugin.xml
    tests/org.eclipse.ui.tests/data/org.eclipse.newView1/plugin.xml
    tests/org.eclipse.ui.tests/doc/Introduction.html
    tests/org.eclipse.ui.tests/doc/JUnitPractices.html
    tests/org.eclipse.ui.tests/icons/anything.gif
    tests/org.eclipse.ui.tests/icons/binary_co.gif
    tests/org.eclipse.ui.tests/icons/mockeditorpart1.gif
    tests/org.eclipse.ui.tests/icons/mockeditorpart2.gif
    tests/org.eclipse.ui.tests/icons/view.gif
    tests/org.eclipse.ui.tests/plugin.xml
    tests/org.eclipse.ui.tests/test.xml
    tests/org.eclipse.ui.tests/uiSniff
    tests/org.eclipse.ui.tests/uiSniff.bat
diff --git a/bundles/org.eclipse.jface/.classpath b/bundles/org.eclipse.jface/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/bundles/org.eclipse.jface/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.jface/.cvsignore b/bundles/org.eclipse.jface/.cvsignore
deleted file mode 100644
index f65a5c6..0000000
--- a/bundles/org.eclipse.jface/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-jface-new.jar
\ No newline at end of file
diff --git a/bundles/org.eclipse.jface/.options b/bundles/org.eclipse.jface/.options
deleted file mode 100644
index bf79c16..0000000
--- a/bundles/org.eclipse.jface/.options
+++ /dev/null
@@ -1,15 +0,0 @@
-# Debugging options for the org.eclipse.jface plugin.
-
-# Turn on debugging for the org.eclipse.ui plugin.
-org.eclipse.jface/debug=false
-
-# Log a message if a dialog is opened without a parent
-org.eclipse.jface/debug/dialog/noparent=false
-
-
-# Report when a tool bar contribution item is asked its visibility after being
-# disposed.  TODO Remove this option?  Bug 51000
-org.eclipse.jface/trace/toolbarDisposal=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.jface/.project b/bundles/org.eclipse.jface/.project
deleted file mode 100644
index c97c7b4..0000000
--- a/bundles/org.eclipse.jface/.project
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jface</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.core.runtime.compatibility</project>
-		<project>org.eclipse.swt</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.jface/about.html b/bundles/org.eclipse.jface/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/bundles/org.eclipse.jface/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.jface/build.properties b/bundles/org.eclipse.jface/build.properties
deleted file mode 100644
index ac0d00e..0000000
--- a/bundles/org.eclipse.jface/build.properties
+++ /dev/null
@@ -1,16 +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 Corporation - initial API and implementation
-###############################################################################
-bin.includes = plugin.properties,\
-               plugin.xml,\
-               about.html,\
-               *.jar
-src.includes = about.html
-source.jface.jar = src/
diff --git a/bundles/org.eclipse.jface/plugin.properties b/bundles/org.eclipse.jface/plugin.properties
deleted file mode 100644
index 0cb83df..0000000
--- a/bundles/org.eclipse.jface/plugin.properties
+++ /dev/null
@@ -1,12 +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 Corporation - initial API and implementation
-###############################################################################
-pluginName = JFace
-providerName = Eclipse.org
diff --git a/bundles/org.eclipse.jface/plugin.xml b/bundles/org.eclipse.jface/plugin.xml
deleted file mode 100644
index 68c332f..0000000
--- a/bundles/org.eclipse.jface/plugin.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.jface"
-   name="%pluginName"
-   version="3.0.0"
-   provider-name="%providerName">
-
-   <runtime>
-      <library name="jface.jar">
-         <export name="*"/>
-         <packages prefixes="org.eclipse.jface"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.swt" export="true"/>
-      <import plugin="org.eclipse.core.runtime"/>
-   </requires>
-
-</plugin>
diff --git a/bundles/org.eclipse.jface/scripts/exportplugin.xml b/bundles/org.eclipse.jface/scripts/exportplugin.xml
deleted file mode 100644
index 2ea417c..0000000
--- a/bundles/org.eclipse.jface/scripts/exportplugin.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<project name="Export JFace" default="export" basedir="..">
-	<target name="init">
-		<tstamp/>
-		<property name="destdir" value="../../plugin-export" />
-		<property name="plugin"  value="org.eclipse.jface" />
-		<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}/jface.jar"
-			basedir="bin"
-		/>
-		<copy file="plugin.xml" todir="${dest}"/>
-		<copy file="plugin.properties" todir="${dest}"/>
-		<zip zipfile="${dest}/jfacesrc.zip">
-		    <fileset dir="src" />
-  		</zip>				
-	</target>
-</project>
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/AbstractGroupMarker.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/action/AbstractGroupMarker.java
deleted file mode 100644
index 798a19b..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/AbstractGroupMarker.java
+++ /dev/null
@@ -1,53 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.action;
-
-import org.eclipse.jface.util.Assert;
-
-/**
- * Abstract superclass for group marker classes.
- * <p>
- * This class is not intended to be subclassed outside the framework.
- * </p>
- */
-public abstract class AbstractGroupMarker extends ContributionItem {
-/**
- * Constructor for use by subclasses.
- */
-protected AbstractGroupMarker() {
-}
-/**
- * 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.
- * 
- * @param groupName the name of the group
- */
-protected AbstractGroupMarker(String groupName) {
-	super(groupName);
-	Assert.isTrue(groupName != null && groupName.length() > 0);
-}
-/**
- * Returns the group name.
- *
- * @return the group name
- */
-public String getGroupName() {
-	return getId();
-}
-/**
- * The <code>AbstractGroupMarker</code> implementation of this <code>IContributionItem</code>
- * method returns <code>true</code> iff the id is not <code>null</code>. Subclasses may override.
- */
-public boolean isGroupMarker() {
-	return getId() != null;
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/Action.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/action/Action.java
deleted file mode 100644
index 757cc70..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/Action.java
+++ /dev/null
@@ -1,1068 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.action;
-
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.StringTokenizer;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.HelpListener;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Menu;
-
-/**
- * The standard abstract implementation of an action.
- * <p>
- * Subclasses must implement the <code>IAction.run</code> method to carry out
- * the action's semantics.
- * </p>
- */
-public abstract class Action implements IAction {
-	/*
-	 * The list of default values the action can have. These
-	 * values will determine the style of the action.
-	 */
-	private static final String VAL_PUSH_BTN = "PUSH_BTN"; //$NON-NLS-1$
-	private static final Integer VAL_RADIO_BTN_ON = new Integer(1);
-	private static final Integer VAL_RADIO_BTN_OFF = new Integer(0);
-	private static final Boolean VAL_TOGGLE_BTN_ON = Boolean.TRUE;
-	private static final Boolean VAL_TOGGLE_BTN_OFF = Boolean.FALSE;
-	private static final IMenuCreator VAL_DROP_DOWN_MENU = new IMenuCreator() {
-		public void dispose() {
-				// do nothing
-		}
-		public Menu getMenu(Control parent) {
-			// do nothing
-			return null;
-		}
-		public Menu getMenu(Menu parent) {
-			// do nothing
-			return null;
-		}
-	};
-
-	/**
-	 * Table of key codes (key type: <code>String</code>,
-	 * value type: <code>Integer</code>); <code>null</code>
-	 * if not yet initialized.
-	 * @see #findKeyCode
-	 */
-	private static Map keyCodes = null;
-	
-	/**
-	 * Table of key codes (key type: <code>String</code>,
-	 * value type: <code>Integer</code>); <code>null</code>
-	 * if not yet initialized. The key is the localalized name
-	 * of the key as it appears in menus.
-	 * @see #findLocalizedKeyCode
-	 */
-	private static Map localizedKeyCodes = null;
-
-	/**
-	 * The localized uppercase versions of the modifer 
-	 * keys.
-	 */
-	private static String LOCALIZED_CTRL;
-	private static String LOCALIZED_SHIFT;
-	private static String LOCALIZED_ALT;
-	private static String LOCALIZED_COMMAND;
-
-	/**
-	 * Table of string representations of keys
-	 * (key type: <code>Integer</code>,
-	 * value type: <code>String</code>); <code>null</code>>
-	 * if not yet initialized.
-	 * @see #findKeyString
-	 */
-	private static Map keyStrings = null;
-
-	/**
-	 * List of registered listeners (element type: <code>IPropertyChangeListener</code>).
-	 */
-	private ListenerList listeners = new ListenerList(3);
-
-	/**
-	 * This action's text, or <code>null</code> if none.
-	 */
-	private String text;
-
-	/**
-	 * This action's description, or <code>null</code> if none.
-	 */
-	private String description;
-
-	/**
-	 * This action's id, or <code>null</code> if none.
-	 */
-	private String id;
-
-	/**
-	 * This action's action definition id, or <code>null</code> if none.
-	 */
-	private String actionDefinitionId;
-
-	/**
-	 * This action's tool tip text, or <code>null</code> if none.
-	 */
-	private String toolTipText;
-
-	/**
-	 * An action's help listener, or <code>null</code> if none.
-	 */
-	private HelpListener helpListener;
-
-	/**
-	 * This action's image, or <code>null</code> if none.
-	 */
-	private ImageDescriptor image;
-
-	/**
-	 * This action's hover image, or <code>null</code> if none.
-	 */
-	private ImageDescriptor hoverImage;
-
-	/**
-	 * This action's disabled image, or <code>null</code> if none.
-	 */
-	private ImageDescriptor disabledImage;
-
-	/**
-	 * Holds the action's menu creator (an IMenuCreator) or checked state (a
-	 * Boolean for toggle button, or an Integer for radio button), or
-	 * <code>null</code> if neither have been set.
-	 * <p>
-	 * The value of this field affects the value of <code>getStyle()</code>.
-	 * </p>
-	 */
-	private Object value = null;
-
-	/**
-	 * This action's accelerator; <code>0</code> means none.
-	 */
-	private int accelerator = 0;
-
-	/**
-	 * Indicates this action is enabled.
-	 */
-	private boolean enabled = true;
-
-	/**
-	 * Creates a new action with no text and no image.
-	 * <p>
-	 * Configure the action later using the set methods.
-	 * </p>
-	 */
-	protected Action() {
-	    // do nothing
-	}
-	
-	/**
-	 * Creates a new action with the given text and no image.
-	 * Calls the zero-arg constructor, then <code>setText</code>.
-	 *
-	 * @param text the string used as the text for the action, 
-	 *   or <code>null</code> if there is no text
-	 * @see #setText
-	 */
-	protected Action(String text) {
-		this();
-		setText(text);
-	}
-	
-	/**
-	 * Creates a new action with the given text and image.
-	 * Calls the zero-arg constructor, then <code>setText</code> and <code>setImageDescriptor</code>.
-	 *
-	 * @param text the action's text, or <code>null</code> if there is no text
-	 * @param image the action's image, or <code>null</code> if there is no image
-	 * @see #setText
-	 * @see #setImageDescriptor
-	 */
-	protected Action(String text, ImageDescriptor image) {
-		this(text);
-		setImageDescriptor(image);
-	}
-	
-	/**
-	 * Creates a new action with the given text and style.
-	 * 
-	 * @param text the action's text, or <code>null</code> if there is no text
-	 * @param style one of <code>AS_PUSH_BUTTON</code>, <code>AS_CHECK_BOX</code>,
-	 * 		<code>AS_DROP_DOWN_MENU</code>, <code>AS_RADIO_BUTTON</code>, and
-	 * 		<code>AS_UNSPECIFIED</code>.
-	 */
-	protected Action(String text, int style) {
-		this(text);
-		switch (style) {
-			case AS_PUSH_BUTTON :
-				value = VAL_PUSH_BTN;
-				break;
-			case AS_CHECK_BOX :
-				value = VAL_TOGGLE_BTN_OFF;
-				break;
-			case AS_DROP_DOWN_MENU :
-				value = VAL_DROP_DOWN_MENU;
-				break;
-			case AS_RADIO_BUTTON :
-				value = VAL_RADIO_BTN_OFF;
-				break;
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on IAction.
-	 */
-	public void addPropertyChangeListener(IPropertyChangeListener listener) {
-		listeners.add(listener);
-	}
-
-	/**
-	 * Parses the given accelerator text, and converts it to an accelerator key code.
-	 * 
-	 * Support for localized modifiers is for backwards compatibility
-	 * with 1.0. Use setAccelerator(int) to set accelerators programatically
-	 * or the <code>accelerator</code> tag in action definitions in 
-	 * plugin.xml.
-	 *
-	 * @param acceleratorText the accelerator text localized to the current locale
-	 * @return the SWT key code, or 0 if there is no accelerator
-	 */
-	private static int convertLocalizedAccelerator(String acceleratorText) {
-		int accelerator = 0;
-		StringTokenizer stok = new StringTokenizer(acceleratorText, "+"); //$NON-NLS-1$
-
-		int keyCode = -1;
-
-		boolean hasMoreTokens = stok.hasMoreTokens();
-		while (hasMoreTokens) {
-			String token = stok.nextToken();
-			hasMoreTokens = stok.hasMoreTokens();
-			// Every token except the last must be one of the modifiers
-			// Ctrl, Shift, Alt, or Command
-			if (hasMoreTokens) {
-				int modifier = findLocalizedModifier(token);
-				if (modifier != 0) {
-					accelerator |= modifier;
-				} else { //Leave if there are none
-					return 0;
-				}
-			} else {
-				keyCode = findLocalizedKeyCode(token);
-			}
-		}
-		if (keyCode != -1) {
-			accelerator |= keyCode;
-		}
-		return accelerator;
-	}
-
-	/**
-	 * Parses the given accelerator text, and converts it to an accelerator key code.
-	 *
-	 * @param acceleratorText the accelerator text
-	 * @return the SWT key code, or 0 if there is no accelerator
-	 */
-	public static int convertAccelerator(String acceleratorText) {
-		int accelerator = 0;
-		StringTokenizer stok = new StringTokenizer(acceleratorText, "+"); //$NON-NLS-1$
-
-		int keyCode = -1;
-
-		boolean hasMoreTokens = stok.hasMoreTokens();
-		while (hasMoreTokens) {
-			String token = stok.nextToken();
-			hasMoreTokens = stok.hasMoreTokens();
-			// Every token except the last must be one of the modifiers
-			// Ctrl, Shift, Alt, or Command
-			if (hasMoreTokens) {
-				int modifier = findModifier(token);
-				if (modifier != 0) {
-					accelerator |= modifier;
-				} else { //Leave if there are none
-					return 0;
-				}
-			} else {
-				keyCode = findKeyCode(token);
-			}
-		}
-		if (keyCode != -1) {
-			accelerator |= keyCode;
-		}
-		return accelerator;
-	}
-	/**
-	 * Converts an accelerator key code to a string representation.
-	 * 
-	 * @param keyCode the key code to be translated
-	 * @return a string representation of the key code
-	 */
-	public static String convertAccelerator(int keyCode) {
-		String modifier = getModifierString(keyCode);
-		String fullKey;
-		if (modifier.equals("")) { //$NON-NLS-1$
-			fullKey = findKeyString(keyCode);
-		} else {
-			fullKey = modifier + "+" + findKeyString(keyCode); //$NON-NLS-1$
-		}
-		return fullKey;
-	}
-	/*
-	 * Returns the string representation of the modifiers (Ctrl, Alt, Shift, Command)
-	 * of the key event.
-	 */
-	private static String getModifierString(int keyCode) {
-		String modString = ""; //$NON-NLS-1$
-
-		if ((keyCode & SWT.CTRL) != 0) {
-			modString = findModifierString(keyCode & SWT.CTRL);
-		}
-
-		if ((keyCode & SWT.ALT) != 0) {
-			if (modString.equals("")) { //$NON-NLS-1$
-				modString = findModifierString(keyCode & SWT.ALT);
-			} else {
-				modString = modString + "+" + findModifierString(keyCode & SWT.ALT); //$NON-NLS-1$
-			}
-		}
-
-		if ((keyCode & SWT.SHIFT) != 0) {
-			if (modString.equals("")) { //$NON-NLS-1$
-				modString = findModifierString(keyCode & SWT.SHIFT);
-			} else {
-				modString = modString + "+" + findModifierString(keyCode & SWT.SHIFT); //$NON-NLS-1$
-			}
-		}
-
-		if ((keyCode & SWT.COMMAND) != 0) {
-			if (modString.equals("")) { //$NON-NLS-1$
-				modString = findModifierString(keyCode & SWT.COMMAND);
-			} else {
-				modString = modString + "+" + findModifierString(keyCode & SWT.COMMAND); //$NON-NLS-1$
-			}
-		}
-
-		return modString;
-	}
-	/**
-	 * 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, or <code>null</code>
-	 */
-	private static String extractAcceleratorText(String text) {
-		int index = text.lastIndexOf('\t');
-		if (index == -1)
-			index = text.lastIndexOf('@');
-		if (index >= 0)
-			return text.substring(index + 1);
-		return null;
-	}
-	/**
-	 * Maps a standard keyboard key name to an SWT key code.
-	 * Key names are converted to upper case before comparison.
-	 * If the key name is a single letter, for example "S", its character code is returned.
-	 * <p>
-	 * The following key names are known (case is ignored):
-	 * <ul>
-	 * 	<li><code>"BACKSPACE"</code></li>
-	 *  <li><code>"TAB"</code></li>
-	 *  <li><code>"RETURN"</code></li>
-	 *  <li><code>"ENTER"</code></li>
-	 *  <li><code>"ESC"</code></li>
-	 *  <li><code>"ESCAPE"</code></li>
-	 *  <li><code>"DELETE"</code></li>
-	 *  <li><code>"SPACE"</code></li>
-	 *  <li><code>"ARROW_UP"</code>, <code>"ARROW_DOWN"</code>,
-	 *     <code>"ARROW_LEFT"</code>, and <code>"ARROW_RIGHT"</code></li>
-	 *  <li><code>"PAGE_UP"</code> and <code>"PAGE_DOWN"</code></li>
-	 *  <li><code>"HOME"</code></li>
-	 *  <li><code>"END"</code></li>
-	 *  <li><code>"INSERT"</code></li>
-	 *  <li><code>"F1"</code>, <code>"F2"</code> through <code>"F12"</code></li>
-	 * </ul>
-	 * </p>
-	 *
-	 * @param token the key name
-	 * @return the SWT key code, <code>-1</code> if no match was found
-	 * @see SWT
-	 */
-	public static int findKeyCode(String token) {
-		if (keyCodes == null)
-			initKeyCodes();
-		token = token.toUpperCase();
-		Integer i = (Integer) keyCodes.get(token);
-		if (i != null)
-			return i.intValue();
-		if (token.length() == 1)
-			return token.charAt(0);
-		return -1;
-	}
-
-	/**
-	 * Find the supplied code for a localized key. As
-	 * #findKeyCode but localized to the current locale.
-	 * 
-	 * Support for localized modifiers is for backwards compatibility
-	 * with 1.0. Use setAccelerator(int) to set accelerators programatically
-	 * or the <code>accelerator</code> tag in action definitions in 
-	 * plugin.xml.
-	 *
-	 * @param token the localized key name
-	 * @return the SWT key code, <code>-1</code> if no match was found
-	 * @see #findKeyCode
-	 */
-	private static int findLocalizedKeyCode(String token) {
-		if (localizedKeyCodes == null)
-			initLocalizedKeyCodes();
-		token = token.toUpperCase();
-		Integer i = (Integer) localizedKeyCodes.get(token);
-		if (i != null)
-			return i.intValue();
-		if (token.length() == 1)
-			return token.charAt(0);
-		return -1;
-	}
-	/**
-	 * Maps an SWT key code to a standard keyboard key name. The key code is
-	 * stripped of modifiers (SWT.CTRL, SWT.ALT, SWT.SHIFT, and SWT.COMMAND). If the key code is
-	 * not an SWT code (for example if it a key code for the key 'S'), a string
-	 * containing a character representation of the key code is returned.
-	 * 
-	 * @param keyCode the key code to be translated
-	 * @return the string representation of the key code
-	 * @see SWT
-	 * @since 2.0
-	 */
-	public static String findKeyString(int keyCode) {
-		if (keyStrings == null)
-			initKeyStrings();
-		int i = keyCode & ~(SWT.CTRL | SWT.ALT | SWT.SHIFT | SWT.COMMAND);
-		Integer integer = new Integer(i);
-		String result = (String) keyStrings.get(integer);
-		if (result != null)
-			return result;
-		result = new String(new char[] {(char) i });
-		return result;
-	}
-	/**
-	 * Maps standard keyboard modifier key names to the corresponding 
-	 * SWT modifier bit. The following modifier key names are recognized 
-	 * (case is ignored): <code>"CTRL"</code>, <code>"SHIFT"</code>, 
-	 * <code>"ALT"</code>, and <code>"COMMAND"</code>.
-	 * The given modifier key name is converted to upper case before comparison.
-	 *
-	 * @param token the modifier key name
-	 * @return the SWT modifier bit, or <code>0</code> if no match was found
-	 * @see SWT
-	 */
-	public static int findModifier(String token) {
-		token = token.toUpperCase();
-		if (token.equals("CTRL")) //$NON-NLS-1$
-			return SWT.CTRL;
-		if (token.equals("SHIFT")) //$NON-NLS-1$
-			return SWT.SHIFT;
-		if (token.equals("ALT")) //$NON-NLS-1$
-			return SWT.ALT;
-		if (token.equals("COMMAND")) //$NON-NLS-1$
-			return SWT.COMMAND;
-		return 0;
-	}
-
-	/**
-	 * Maps the localized modifier names to a code in the same
-	 * manner as #findModifier.
-	 * 
-	 * Support for localized modifiers is for backwards compatibility
-	 * with 1.0. Use setAccelerator(int) to set accelerators programatically
-	 * or the <code>accelerator</code> tag in action definitions in 
-	 * plugin.xml.
-	 * 
-	 * @see findModifier
-	 */
-	private static int findLocalizedModifier(String token) {
-		if (LOCALIZED_CTRL == null)
-			initLocalizedModifiers();
-
-		token = token.toUpperCase();
-		if (token.equals(LOCALIZED_CTRL)) //$NON-NLS-1$
-			return SWT.CTRL;
-		if (token.equals(LOCALIZED_SHIFT)) //$NON-NLS-1$
-			return SWT.SHIFT;
-		if (token.equals(LOCALIZED_ALT)) //$NON-NLS-1$
-			return SWT.ALT;
-		if (token.equals(LOCALIZED_COMMAND)) //$NON-NLS-1$
-			return SWT.COMMAND;
-		return 0;
-	}
-
-	/**
-	 * Initialize the list of localized modifiers
-	 */
-	private static void initLocalizedModifiers() {
-		LOCALIZED_CTRL = JFaceResources.getString("Ctrl").toUpperCase(); //$NON-NLS-1$
-		LOCALIZED_SHIFT = JFaceResources.getString("Shift").toUpperCase(); //$NON-NLS-1$
-		LOCALIZED_ALT = JFaceResources.getString("Alt").toUpperCase(); //$NON-NLS-1$
-		LOCALIZED_COMMAND = JFaceResources.getString("Command").toUpperCase(); //$NON-NLS-1$	
-	}
-
-	/**
-	 * Returns a string representation of an SWT modifier bit (SWT.CTRL,
-	 * SWT.ALT, SWT.SHIFT, and SWT.COMMAND). Returns <code>null</code> if the key code 
-	 * is not an SWT modifier bit.
-	 * 
-	 * @param keyCode the SWT modifier bit to be translated
-	 * @return the string representation of the SWT modifier bit, or <code>null</code> if the key code was not an SWT modifier bit
-	 * @see SWT
-	 * @since 2.0
-	 */
-	public static String findModifierString(int keyCode) {
-		if (keyCode == SWT.CTRL)
-			return JFaceResources.getString("Ctrl"); //$NON-NLS-1$
-		if (keyCode == SWT.ALT)
-			return JFaceResources.getString("Alt"); //$NON-NLS-1$
-		if (keyCode == SWT.SHIFT)
-			return JFaceResources.getString("Shift"); //$NON-NLS-1$
-		if (keyCode == SWT.COMMAND)
-			return JFaceResources.getString("Command"); //$NON-NLS-1$		
-		return null;
-	}
-	/**
-	 * Notifies any property change listeners that a property has changed.
-	 * Only listeners registered at the time this method is called are notified.
-	 * This method avoids creating an event object if there are no listeners registered,
-	 * but calls <code>firePropertyChange(PropertyChangeEvent)</code> if there are.
-	 *
-	 * @param propertyName the name of the property that has changed
-	 * @param oldValue the old value of the property, or <code>null</code> if none
-	 * @param newValue the new value of the property, or <code>null</code> if none
-	 *
-	 * @see IPropertyChangeListener#propertyChange
-	 */
-	protected void firePropertyChange(String propertyName, Object oldValue, Object newValue) {
-		if (!listeners.isEmpty()) {
-			firePropertyChange(new PropertyChangeEvent(this, propertyName, oldValue, newValue));
-		}
-	}
-	/**
-	 * 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[] list = this.listeners.getListeners();
-		for (int i = 0; i < list.length; ++i) {
-			((IPropertyChangeListener) list[i]).propertyChange(event);
-		}
-	}
-	/* (non-Javadoc)
-	 * Method declared on IAction.
-	 */
-	public int getAccelerator() {
-		return accelerator;
-	}
-
-	/*(non-Javadoc)
-	 * Method declared on IAction.
-	 * 
-	 */
-	public String getActionDefinitionId() {
-		return actionDefinitionId;
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IAction.
-	 */
-	public String getDescription() {
-		if (description != null)
-			return description;
-		return getToolTipText();
-	}
-	/* (non-Javadoc)
-	 * Method declared on IAction.
-	 */
-	public ImageDescriptor getDisabledImageDescriptor() {
-		return disabledImage;
-	}
-	/* (non-Javadoc)
-	 * Method declared on IAction.
-	 */
-	public HelpListener getHelpListener() {
-		return helpListener;
-	}
-	/* (non-Javadoc)
-	 * Method declared on IAction.
-	 */
-	public ImageDescriptor getHoverImageDescriptor() {
-		return hoverImage;
-	}
-	/* (non-Javadoc)
-	 * Method declared on IAction.
-	 */
-	public String getId() {
-		return id;
-	}
-	/* (non-Javadoc)
-	 * Method declared on IAction.
-	 */
-	public ImageDescriptor getImageDescriptor() {
-		return image;
-	}
-	/* (non-Javadoc)
-	 * Method declared on IAction.
-	 */
-	public IMenuCreator getMenuCreator() {
-		// The default drop down menu value is only used
-		// to mark this action requested style. So do not
-		// return it. For backward compatibility reasons.
-		if (value == VAL_DROP_DOWN_MENU)
-			return null;
-		if (value instanceof IMenuCreator)
-			return (IMenuCreator) value;
-		return null;
-	}
-	/* (non-Javadoc)
-	 * Method declared on IAction.
-	 */
-	public int getStyle() {
-		// Infer the style from the value field.
-		if (value == VAL_PUSH_BTN || value == null)
-			return AS_PUSH_BUTTON;
-		if (value == VAL_TOGGLE_BTN_ON || value == VAL_TOGGLE_BTN_OFF)
-			return AS_CHECK_BOX;
-		if (value == VAL_RADIO_BTN_ON || value == VAL_RADIO_BTN_OFF)
-			return AS_RADIO_BUTTON;
-		if (value instanceof IMenuCreator)
-			return AS_DROP_DOWN_MENU;
-			
-		// We should never get to this line...
-		return AS_PUSH_BUTTON;
-	}
-	/* (non-Javadoc)
-	 * Method declared on IAction.
-	 */
-	public String getText() {
-		return text;
-	}
-	/* (non-Javadoc)
-	 * Method declared on IAction.
-	 */
-	public String getToolTipText() {
-		return toolTipText;
-	}
-	/** 
-	 * Initializes the internal key code table.
-	 */
-	private static void initKeyCodes() {
-		keyCodes = new HashMap(40);
-
-		keyCodes.put("BACKSPACE", new Integer(8)); //$NON-NLS-1$
-		keyCodes.put("TAB", new Integer(9)); //$NON-NLS-1$
-		keyCodes.put("RETURN", new Integer(13)); //$NON-NLS-1$
-		keyCodes.put("ENTER", new Integer(13)); //$NON-NLS-1$
-		keyCodes.put("ESCAPE", new Integer(27)); //$NON-NLS-1$
-		keyCodes.put("ESC", new Integer(27)); //$NON-NLS-1$
-		keyCodes.put("DELETE", new Integer(127)); //$NON-NLS-1$
-
-		keyCodes.put("SPACE", new Integer(' ')); //$NON-NLS-1$
-		keyCodes.put("ARROW_UP", new Integer(SWT.ARROW_UP)); //$NON-NLS-1$
-		keyCodes.put("ARROW_DOWN", new Integer(SWT.ARROW_DOWN)); //$NON-NLS-1$
-		keyCodes.put("ARROW_LEFT", new Integer(SWT.ARROW_LEFT)); //$NON-NLS-1$
-		keyCodes.put("ARROW_RIGHT", new Integer(SWT.ARROW_RIGHT)); //$NON-NLS-1$
-		keyCodes.put("PAGE_UP", new Integer(SWT.PAGE_UP)); //$NON-NLS-1$
-		keyCodes.put("PAGE_DOWN", new Integer(SWT.PAGE_DOWN)); //$NON-NLS-1$
-		keyCodes.put("HOME", new Integer(SWT.HOME)); //$NON-NLS-1$
-		keyCodes.put("END", new Integer(SWT.END)); //$NON-NLS-1$
-		keyCodes.put("INSERT", new Integer(SWT.INSERT)); //$NON-NLS-1$
-		keyCodes.put("F1", new Integer(SWT.F1)); //$NON-NLS-1$
-		keyCodes.put("F2", new Integer(SWT.F2)); //$NON-NLS-1$
-		keyCodes.put("F3", new Integer(SWT.F3)); //$NON-NLS-1$
-		keyCodes.put("F4", new Integer(SWT.F4)); //$NON-NLS-1$
-		keyCodes.put("F5", new Integer(SWT.F5)); //$NON-NLS-1$
-		keyCodes.put("F6", new Integer(SWT.F6)); //$NON-NLS-1$
-		keyCodes.put("F7", new Integer(SWT.F7)); //$NON-NLS-1$
-		keyCodes.put("F8", new Integer(SWT.F8)); //$NON-NLS-1$
-		keyCodes.put("F9", new Integer(SWT.F9)); //$NON-NLS-1$
-		keyCodes.put("F10", new Integer(SWT.F10)); //$NON-NLS-1$
-		keyCodes.put("F11", new Integer(SWT.F11)); //$NON-NLS-1$
-		keyCodes.put("F12", new Integer(SWT.F12)); //$NON-NLS-1$
-	}
-
-	/** 
-	 * Initializes the localized internal key code table.
-	 */
-	private static void initLocalizedKeyCodes() {
-		localizedKeyCodes = new HashMap(40);
-
-		localizedKeyCodes.put(JFaceResources.getString("Backspace").toUpperCase(), new Integer(8)); //$NON-NLS-1$
-		localizedKeyCodes.put(JFaceResources.getString("Tab").toUpperCase(), new Integer(9)); //$NON-NLS-1$
-		localizedKeyCodes.put(JFaceResources.getString("Return").toUpperCase(), new Integer(13)); //$NON-NLS-1$
-		localizedKeyCodes.put(JFaceResources.getString("Enter").toUpperCase(), new Integer(13)); //$NON-NLS-1$
-		localizedKeyCodes.put(JFaceResources.getString("Escape").toUpperCase(), new Integer(27)); //$NON-NLS-1$
-		localizedKeyCodes.put(JFaceResources.getString("Esc").toUpperCase(), new Integer(27)); //$NON-NLS-1$
-		localizedKeyCodes.put(JFaceResources.getString("Delete").toUpperCase(), new Integer(127)); //$NON-NLS-1$
-
-		localizedKeyCodes.put(JFaceResources.getString("Space").toUpperCase(), new Integer(' ')); //$NON-NLS-1$
-
-		localizedKeyCodes.put(JFaceResources.getString("Arrow_Up").toUpperCase(), new Integer(SWT.ARROW_UP)); //$NON-NLS-1$
-		localizedKeyCodes.put(JFaceResources.getString("Arrow_Down").toUpperCase(), new Integer(SWT.ARROW_DOWN)); //$NON-NLS-1$
-		localizedKeyCodes.put(JFaceResources.getString("Arrow_Left").toUpperCase(), new Integer(SWT.ARROW_LEFT)); //$NON-NLS-1$
-		localizedKeyCodes.put(JFaceResources.getString("Arrow_Right").toUpperCase(), new Integer(SWT.ARROW_RIGHT)); //$NON-NLS-1$
-		localizedKeyCodes.put(JFaceResources.getString("Page_Up").toUpperCase(), new Integer(SWT.PAGE_UP)); //$NON-NLS-1$
-		localizedKeyCodes.put(JFaceResources.getString("Page_Down").toUpperCase(), new Integer(SWT.PAGE_DOWN)); //$NON-NLS-1$
-		localizedKeyCodes.put(JFaceResources.getString("Home").toUpperCase(), new Integer(SWT.HOME)); //$NON-NLS-1$
-		localizedKeyCodes.put(JFaceResources.getString("End").toUpperCase(), new Integer(SWT.END)); //$NON-NLS-1$
-		localizedKeyCodes.put(JFaceResources.getString("Insert").toUpperCase(), new Integer(SWT.INSERT)); //$NON-NLS-1$
-		localizedKeyCodes.put(JFaceResources.getString("F1").toUpperCase(), new Integer(SWT.F1)); //$NON-NLS-1$
-		localizedKeyCodes.put(JFaceResources.getString("F2").toUpperCase(), new Integer(SWT.F2)); //$NON-NLS-1$
-		localizedKeyCodes.put(JFaceResources.getString("F3").toUpperCase(), new Integer(SWT.F3)); //$NON-NLS-1$
-		localizedKeyCodes.put(JFaceResources.getString("F4").toUpperCase(), new Integer(SWT.F4)); //$NON-NLS-1$
-		localizedKeyCodes.put(JFaceResources.getString("F5").toUpperCase(), new Integer(SWT.F5)); //$NON-NLS-1$
-		localizedKeyCodes.put(JFaceResources.getString("F6").toUpperCase(), new Integer(SWT.F6)); //$NON-NLS-1$
-		localizedKeyCodes.put(JFaceResources.getString("F7").toUpperCase(), new Integer(SWT.F7)); //$NON-NLS-1$
-		localizedKeyCodes.put(JFaceResources.getString("F8").toUpperCase(), new Integer(SWT.F8)); //$NON-NLS-1$
-		localizedKeyCodes.put(JFaceResources.getString("F9").toUpperCase(), new Integer(SWT.F9)); //$NON-NLS-1$
-		localizedKeyCodes.put(JFaceResources.getString("F10").toUpperCase(), new Integer(SWT.F10)); //$NON-NLS-1$
-		localizedKeyCodes.put(JFaceResources.getString("F11").toUpperCase(), new Integer(SWT.F11)); //$NON-NLS-1$
-		localizedKeyCodes.put(JFaceResources.getString("F12").toUpperCase(), new Integer(SWT.F12)); //$NON-NLS-1$
-	}
-
-	/**
-	 * Initializes the internal key string table.
-	 */
-	private static void initKeyStrings() {
-		keyStrings = new HashMap(40);
-
-		keyStrings.put(new Integer(8), JFaceResources.getString("Backspace")); //$NON-NLS-1$
-		keyStrings.put(new Integer(9), JFaceResources.getString("Tab")); //$NON-NLS-1$
-		keyStrings.put(new Integer(13), JFaceResources.getString("Return")); //$NON-NLS-1$
-		keyStrings.put(new Integer(13), JFaceResources.getString("Enter")); //$NON-NLS-1$
-		keyStrings.put(new Integer(27), JFaceResources.getString("Escape")); //$NON-NLS-1$
-		keyStrings.put(new Integer(27), JFaceResources.getString("Esc")); //$NON-NLS-1$
-		keyStrings.put(new Integer(127), JFaceResources.getString("Delete")); //$NON-NLS-1$
-
-		keyStrings.put(new Integer(' '), JFaceResources.getString("Space")); //$NON-NLS-1$
-
-		keyStrings.put(new Integer(SWT.ARROW_UP), JFaceResources.getString("Arrow_Up")); //$NON-NLS-1$
-		keyStrings.put(new Integer(SWT.ARROW_DOWN), JFaceResources.getString("Arrow_Down")); //$NON-NLS-1$
-		keyStrings.put(new Integer(SWT.ARROW_LEFT), JFaceResources.getString("Arrow_Left")); //$NON-NLS-1$
-		keyStrings.put(new Integer(SWT.ARROW_RIGHT), JFaceResources.getString("Arrow_Right")); //$NON-NLS-1$
-		keyStrings.put(new Integer(SWT.PAGE_UP), JFaceResources.getString("Page_Up")); //$NON-NLS-1$
-		keyStrings.put(new Integer(SWT.PAGE_DOWN), JFaceResources.getString("Page_Down")); //$NON-NLS-1$
-		keyStrings.put(new Integer(SWT.HOME), JFaceResources.getString("Home")); //$NON-NLS-1$
-		keyStrings.put(new Integer(SWT.END), JFaceResources.getString("End")); //$NON-NLS-1$
-		keyStrings.put(new Integer(SWT.INSERT), JFaceResources.getString("Insert")); //$NON-NLS-1$
-		keyStrings.put(new Integer(SWT.F1), JFaceResources.getString("F1")); //$NON-NLS-1$
-		keyStrings.put(new Integer(SWT.F2), JFaceResources.getString("F2")); //$NON-NLS-1$
-		keyStrings.put(new Integer(SWT.F3), JFaceResources.getString("F3")); //$NON-NLS-1$
-		keyStrings.put(new Integer(SWT.F4), JFaceResources.getString("F4")); //$NON-NLS-1$
-		keyStrings.put(new Integer(SWT.F5), JFaceResources.getString("F5")); //$NON-NLS-1$
-		keyStrings.put(new Integer(SWT.F6), JFaceResources.getString("F6")); //$NON-NLS-1$
-		keyStrings.put(new Integer(SWT.F7), JFaceResources.getString("F7")); //$NON-NLS-1$
-		keyStrings.put(new Integer(SWT.F8), JFaceResources.getString("F8")); //$NON-NLS-1$
-		keyStrings.put(new Integer(SWT.F9), JFaceResources.getString("F9")); //$NON-NLS-1$
-		keyStrings.put(new Integer(SWT.F10), JFaceResources.getString("F10")); //$NON-NLS-1$
-		keyStrings.put(new Integer(SWT.F11), JFaceResources.getString("F11")); //$NON-NLS-1$
-		keyStrings.put(new Integer(SWT.F12), JFaceResources.getString("F12")); //$NON-NLS-1$
-	}
-	/* (non-Javadoc)
-	 * Method declared on IAction.
-	 */
-	public boolean isChecked() {
-		return value == VAL_TOGGLE_BTN_ON || value == VAL_RADIO_BTN_ON;
-	}
-	/* (non-Javadoc)
-	 * Method declared on IAction.
-	 */
-	public boolean isEnabled() {
-		return enabled;
-	}
-	/**
-	 * Convenience method for removing any optional accelerator text from the given string.
-	 * The accelerator text appears at the end of the text, and is separated
-	 * from the main part by a single tab character <code>'\t'</code>.
-	 *
-	 * @param text the text
-	 * @return the text sans accelerator
-	 */
-	public static String removeAcceleratorText(String text) {
-		int index = text.lastIndexOf('\t');
-		if (index == -1)
-			index = text.lastIndexOf('@');
-		if (index >= 0)
-			return text.substring(0, index);
-		return text;
-	}
-	
-	/**
-	 * Convenience method for removing any mnemonics from the given string.
-	 * For example, <code>removeMnemonics("&Open")</code> will return <code>"Open"</code>.
-	 *
-	 * @param text the text
-	 * @return the text sans mnemonics
-	 * 
-	 * @since 3.0
-	 */
-	public static String removeMnemonics(String text) {
-		int index = text.indexOf('&');
-		if (index == -1) {
-			return text;
-		}
-		int len = text.length();
-		StringBuffer sb = new StringBuffer(len);
-		int lastIndex = 0;
-		while (index != -1) {
-			// ignore & at the end
-			if (index == len - 1) {
-				break;
-			}
-			// handle the && case
-			if (text.charAt(index + 1) == '&') {
-				++index;
-			}
-			sb.append(text.substring(lastIndex, index));
-			// skip the &
-			++index;
-			lastIndex = index;
-			index = text.indexOf('&', index);
-		}
-		if (lastIndex < len) {
-			sb.append(text.substring(lastIndex, len));
-		}
-		return sb.toString();
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on IAction.
-	 */
-	public void removePropertyChangeListener(IPropertyChangeListener listener) {
-		listeners.remove(listener);
-	}
-
-	/**
-	 * The default implementation of this <code>IAction</code> method
-	 * does nothing.  Subclasses should override this method
-	 * if they do not need information from the triggering event,
-	 * or override <code>runWithEvent(Event)</code> if they do.
-	 */
-	public void run() {
-	    // do nothing
-	}
-
-	/**
-	 * The default implementation of this <code>IAction</code> method
-	 * ignores the event argument, and simply calls <code>run()</code>.
-	 * Subclasses should override this method if they need information 
-	 * from the triggering event, or override <code>run()</code> if not.
-	 *
-	 * @since 2.0
-	 */
-	public void runWithEvent(Event event) {
-		run();
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IAction.
-	 */
-	public void setActionDefinitionId(String id) {
-		actionDefinitionId = id;
-	}
-	/* (non-Javadoc)
-	 * Method declared on IAction.
-	 */
-	public void setChecked(boolean checked) {
-		Object newValue = null;
-		
-		// For backward compatibility, if the style is not
-		// set yet, then convert it to a toggle button.
-		if (value == null || value == VAL_TOGGLE_BTN_ON || value == VAL_TOGGLE_BTN_OFF) {
-			newValue = checked ? VAL_TOGGLE_BTN_ON : VAL_TOGGLE_BTN_OFF;
-		} else if (value == VAL_RADIO_BTN_ON || value == VAL_RADIO_BTN_OFF) {
-			newValue = checked ? VAL_RADIO_BTN_ON : VAL_RADIO_BTN_OFF;
-		} else {
-			// Some other style already, so do nothing.
-			return;
-		}
-
-		if (newValue != value) {
-			value = newValue;
-			if (checked)
-				firePropertyChange(CHECKED, Boolean.FALSE, Boolean.TRUE);
-			else
-				firePropertyChange(CHECKED, Boolean.TRUE, Boolean.FALSE);
-		}
-	}
-	/* (non-Javadoc)
-	 * Method declared on IAction.
-	 */
-	public void setDescription(String text) {
-
-		if ((description == null && text != null) || (description != null && text == null) || (description != null && text != null && !text.equals(description))) {
-			String oldDescription = description;
-			description = text;
-			firePropertyChange(DESCRIPTION, oldDescription, description);
-		}
-	}
-	/* (non-Javadoc)
-	 * Method declared on IAction.
-	 */
-	public void setDisabledImageDescriptor(ImageDescriptor newImage) {
-		if (disabledImage != newImage) {
-			ImageDescriptor oldImage = disabledImage;
-			disabledImage = newImage;
-			firePropertyChange(IMAGE, oldImage, newImage);
-		}
-	}
-	/* (non-Javadoc)
-	 * Method declared on IAction.
-	 */
-	public void setEnabled(boolean enabled) {
-		if (enabled != this.enabled) {
-			Boolean oldVal = this.enabled ? Boolean.TRUE : Boolean.FALSE;
-			Boolean newVal = enabled ? Boolean.TRUE : Boolean.FALSE;
-			this.enabled = enabled;
-			firePropertyChange(ENABLED, oldVal, newVal);
-		}
-	}
-	/* (non-Javadoc)
-	 * Method declared on IAction.
-	 */
-	public void setHelpListener(HelpListener listener) {
-		helpListener = listener;
-	}
-	/* (non-Javadoc)
-	 * Method declared on IAction.
-	 */
-	public void setHoverImageDescriptor(ImageDescriptor newImage) {
-		if (hoverImage != newImage) {
-			ImageDescriptor oldImage = hoverImage;
-			hoverImage = newImage;
-			firePropertyChange(IMAGE, oldImage, newImage);
-		}
-	}
-	/* (non-Javadoc)
-	 * Method declared on IAction.
-	 */
-	public void setId(String id) {
-		this.id = id;
-	}
-	/* (non-Javadoc)
-	 * Method declared on IAction.
-	 */
-	public void setImageDescriptor(ImageDescriptor newImage) {
-		if (image != newImage) {
-			ImageDescriptor oldImage = image;
-			image = newImage;
-			firePropertyChange(IMAGE, oldImage, newImage);
-		}
-	}
-	/**
-	 * Sets the menu creator for this action.
-	 * <p>
-	 * Note that if this method is called, it overrides the check status.
-	 * </p>
-	 *
-	 * @param creator the menu creator, or <code>null</code> if none
-	 */
-	public void setMenuCreator(IMenuCreator creator) {
-		// For backward compatibility, if the style is not
-		// set yet, then convert it to a drop down menu.
-		if (value == null) {
-			value = creator;
-			return;
-		}
-		
-		if (value instanceof IMenuCreator)
-			value = creator == null ? VAL_DROP_DOWN_MENU : creator;
-	}
-	/**
-	 * Sets the text for this action.
-	 * <p>
-	 * Fires a property change event for the <code>TEXT</code> property
-	 * if the text actually changes as a consequence.
-	 * </p>
-	 * <p>
-	 * The accelerator is identified by the last index of a tab character.  If
-	 * there are no tab characters, then it is identified by the last index of
-	 * a '@' character.  If neither, then there is no accelerator text.  Note
-	 * that if you want to insert a '@' character into the text (but no 
-	 * accelerator, you can simply insert a '@' or a tab at the end of the text. 
-	 * </p>
-	 *
-	 * @param text the text, or <code>null</code> if none
-	 */
-	public void setText(String text) {
-		String oldText = this.text;
-		int oldAccel = this.accelerator;
-		this.text = text;
-		if (text != null) {
-			String acceleratorText = extractAcceleratorText(text);
-			if (acceleratorText != null) {
-				int newAccelerator = convertLocalizedAccelerator(acceleratorText);
-				//Be sure to not wipe out the accelerator if nothing found
-				if (newAccelerator > 0) {
-					setAccelerator(newAccelerator);
-				}
-			}
-		}
-		if (!(this.accelerator == oldAccel && (oldText == null ? this.text == null : oldText.equals(this.text)))) {
-			firePropertyChange(TEXT, oldText, this.text);
-		}
-	}
-	/**
-	 * Sets the tool tip text for this action.
-	 * <p>
-	 * Fires a property change event for the <code>TOOL_TIP_TEXT</code> property
-	 * if the tool tip text actually changes as a consequence.
-	 * </p>
-	 *
-	 * @param toolTipText the tool tip text, or <code>null</code> if none
-	 */
-	public void setToolTipText(String toolTipText) {
-		String oldToolTipText = this.toolTipText;
-		if (!(oldToolTipText == null ? toolTipText == null : oldToolTipText.equals(toolTipText))) {
-			this.toolTipText = toolTipText;
-			firePropertyChange(TOOL_TIP_TEXT, oldToolTipText, toolTipText);
-		}
-	}
-	/*
-	 * @see IAction#setAccelerator(int)
-	 */
-	public void setAccelerator(int keycode) {
-		this.accelerator = keycode;
-	}
-	
-	/**
-	 * Reports the outcome of the running of this action via the
-	 * {@link IAction#RESULT} property.
-	 * 
-	 * @param success <code>true</code> if the action succeeded and 
-	 * <code>false</code> if the action failed or was not completed
-	 * @see IAction#RESULT
-	 * @since 3.0
-	 */
-	public final void notifyResult(boolean success) {
-		firePropertyChange(RESULT, null, Boolean.valueOf(success));
-	}
-
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/ActionContributionItem.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/action/ActionContributionItem.java
deleted file mode 100644
index 9e229b7..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/ActionContributionItem.java
+++ /dev/null
@@ -1,1342 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.action;
-
-import java.lang.ref.Reference;
-import java.lang.ref.ReferenceQueue;
-import java.lang.ref.WeakReference;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.Policy;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.swt.widgets.ToolItem;
-import org.eclipse.swt.widgets.Widget;
-
-/**
- * A contribution item which delegates to an action.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class ActionContributionItem extends ContributionItem {
-
-	/**
-	 * Mode bit: Show text on tool items, even if an image is present.
-	 * If this mode bit is not set, text is only shown on tool items if there is 
-	 * no image present.
-	 */
-	public static int MODE_FORCE_TEXT = 1;
-	/**
-	 * This is the lower bound of the continuous range of accelerator values
-	 * that should be handled specially on GTK.  This is to circumnavigate the
-	 * special input mode in some cases.
-	 */
-	private static final int LOWER_GTK_ACCEL_BOUND = SWT.MOD1 | SWT.MOD2 | 'A';
-	/**
-	 * This is the lower bound of the continuous range of accelerator values
-	 * that should be handled specially on GTK.  This is to circumnavigate the
-	 * special input mode in some cases.
-	 */
-	private static final int UPPER_GTK_ACCEL_BOUND = SWT.MOD1 | SWT.MOD2 | 'F';
-
-	/** a string inserted in the middle of text that has been shortened */
-	private static final String ellipsis = "..."; //$NON-NLS-1$
-	
-	/**
-     * A weakly referenced cache of image descriptors to image instances. This
-     * is used to hold images in memory for action contribution items, while
-     * they are defined. When the image descriptor becomes weakly referred to,
-     * the corresponding image will be disposed.
-     */
-    private static final class ImageCache {
-        
-        /**
-         * This class spoofs a few method calls by passing them through to the
-         * underlying weakly referred object (if available). This allows the
-         * weak reference to be used as a key in a <code>HashMap</code>.
-         * 
-         * @since 3.0
-         */
-        private static final class HashableWeakReference extends WeakReference {
-
-            /**
-             * Constructs a new instance of <code>HashableWeakReference</code>.
-             * 
-             * @param referent
-             *            The object to refer to; may be <code>null</code>.
-             * @param referenceQueue
-             *            The reference queue to use; should not be
-             *            <code>null</code>.
-             */
-            private HashableWeakReference(final Object referent,
-                    final ReferenceQueue referenceQueue) {
-                super(referent, referenceQueue);
-            }
-
-            /**
-             * @see Object#hashCode()
-             */
-            public final int hashCode() {
-                final Object referent = get();
-                if (referent == null) { return super.hashCode(); }
-
-                return referent.hashCode();
-            }
-
-            /**
-             * @see Object#equals(java.lang.Object)
-             */
-            public final boolean equals(Object object) {
-                final Object referent = get();
-                if (referent == null) { return super.equals(object); }
-
-                if (object instanceof HashableWeakReference) {
-                    object = ((HashableWeakReference) object).get();
-                }
-
-                return referent.equals(object);
-            }
-        }
-
-        /**
-         * A thread for cleaner up the reference queues as the garbage collector
-         * fills them. It takes a map and a reference queue. When an item
-         * appears in the reference queue, it uses it as a key to remove values
-         * from the map. If the value is an image, then it is disposed. To
-         * shutdown the thread, call <code>stopCleaning()</code>.
-         * 
-         * @since 3.0
-         */
-        private static class ReferenceCleanerThread extends Thread {
-            
-            /**
-             * The number of reference cleaner threads created.
-             */
-            private static int threads = 0;
-            
-            /**
-             * A marker indicating that the reference cleaner thread should
-             * exit.  This is enqueued when the thread is told to stop.  Any
-             * referenced enqueued after the thread is told to stop will not be
-             * cleaned up.
-             */
-            private final WeakReference endMarker;
-
-            /**
-             * The reference queue to check; will not be <code>null</code>.
-             */
-            private final ReferenceQueue referenceQueue;
-
-            /**
-             * The map from which to remove values. This value will not be
-             * <code>null</code>.
-             */
-            private final Map map;
-
-            /**
-             * Constructs a new instance of <code>ReferenceCleanerThread</code>.
-             * 
-             * @param referenceQueue
-             *            The reference queue to check for garbage; mmmmm....
-             *            garbage. This value must not be <code>null</code>.
-             * @param map
-             *            The map to check for values; must not be
-             *            <code>null</code>. It is expected that the keys are
-             *            <code>Reference</code> instances. The values are
-             *            expected to be <code>Image</code> objects, but it is
-             *            okay if they are not.
-             */
-            private ReferenceCleanerThread(final ReferenceQueue referenceQueue,
-                    final Map map) {
-                super("Reference Cleaner - " + ++threads); //$NON-NLS-1$
-                
-                if (referenceQueue == null) { throw new NullPointerException(
-                        "The reference queue should not be null."); } //$NON-NLS-1$
-
-                if (map == null) { throw new NullPointerException(
-                        "The map should not be null."); } //$NON-NLS-1$
-
-                this.endMarker = new WeakReference(referenceQueue, referenceQueue);
-                this.referenceQueue = referenceQueue;
-                this.map = map;
-            }
-
-            /**
-             * Tells this thread to stop trying to clean up. This is usually run
-             * when the cache is shutting down.
-             */
-            private final void stopCleaning() {
-                endMarker.enqueue();
-            }
-
-            /**
-             * Waits for new garbage. When new garbage arriving, it removes it,
-             * clears it, and disposes of any corresponding images.
-             */
-            public final void run() {
-                while (true) {
-                    // Get the next reference to dispose.
-                    Reference reference = null;
-                    try {
-                        reference = referenceQueue.remove();
-                    } catch (final InterruptedException e) {
-                        // Reference will be null.
-                    }
-                    
-                    // Check to see if we've been told to stop.
-                    if (reference == endMarker) {
-                        break;
-                    }
-
-                    // Remove the image and dispose it.
-                    final Object value = map.remove(reference);
-                    if (value instanceof Image) {
-                        Display.getCurrent().syncExec(new Runnable() {
-
-                            public void run() {
-                                final Image image = (Image) value;
-                                if (!image.isDisposed()) {
-                                    image.dispose();
-                                }
-                            }
-                        });
-                    }
-
-                    // Clear the reference.
-                    if (reference != null) {
-                        reference.clear();
-                    }
-                }
-            }
-        }
-        
-        /**
-         * The thread responsible for cleaning out greyed images that are no
-         * longer needed.
-         */
-        private final ReferenceCleanerThread greyCleaner;
-        
-        /**
-         * A map of image descriptors to the corresponding greyed images. The
-         * image descriptors are actually weak references to image descriptors.
-         * As the weak references become suitable for collection, the
-         * corresponding images (i.e., native resources) will be disposed. This
-         * value may be empty, but it is never <code>null</code>.
-         */
-        private final Map greyMap = new HashMap();
-
-        /**
-         * A queue of references waiting to be garbage collected. This value is
-         * never <code>null</code>. This is the queue for
-         * <code>greyMap</code>.
-         */
-        private final ReferenceQueue greyReferenceQueue = new ReferenceQueue();
-        
-        /**
-         * The thread responsible for cleaning out images that are no longer
-         * needed.
-         */
-        private final ReferenceCleanerThread imageCleaner;
-
-        /**
-         * A map of image descriptors to the corresponding loaded images. The
-         * image descriptors are actually weak references to image descriptors.
-         * As the weak references become suitable for collection, the
-         * corresponding images (i.e., native resources) will be disposed. This
-         * value may be empty, but it is never <code>null</code>.
-         */
-        private final Map imageMap = new HashMap();
-
-        /**
-         * A queue of references waiting to be garbage collected. This value is
-         * never <code>null</code>. This is the queue for
-         * <code>imageMap</code>.
-         */
-        private final ReferenceQueue imageReferenceQueue = new ReferenceQueue();
-
-        /**
-         * The image to display when no image is available. This value is
-         * <code>null</code> until it is first used.
-         */
-        private Image missingImage = null;
-        
-        /**
-         * Constructs a new instance of <code>ImageCache</code>, and starts a
-         * couple of threads to monitor the reference queues.
-         */
-        private ImageCache() {
-            greyCleaner = new ReferenceCleanerThread(greyReferenceQueue,
-                    greyMap);
-            imageCleaner = new ReferenceCleanerThread(imageReferenceQueue,
-                    imageMap);
-            
-            greyCleaner.start();
-            imageCleaner.start();
-
-        }
-
-        /**
-         * Cleans up all images in the cache. This disposes of all of the
-         * images, and drops references to them. This should only be called when
-         * all of the action contribution items are disappearing.
-         */
-        private final void dispose() {
-            // Clean up the missing image.
-            if ((missingImage != null) && (!missingImage.isDisposed())) {
-                missingImage.dispose();
-                missingImage = null;
-            }
-
-            /*
-             * Stop the image cleaner thread, clear all of the weak references
-             * and dispose of all of the images.
-             */
-            imageCleaner.stopCleaning();
-            final Iterator imageItr = imageMap.entrySet().iterator();
-            while (imageItr.hasNext()) {
-                final Map.Entry entry = (Map.Entry) imageItr.next();
-
-                final WeakReference reference = (WeakReference) entry.getKey();
-                reference.clear();
-
-                final Image image = (Image) entry.getValue();
-                if ((image != null) && (!image.isDisposed())) {
-                    image.dispose();
-                }
-            }
-            imageMap.clear();
-
-            /*
-             * Stop the greyed image cleaner thread, clear all of the weak
-             * references and dispose of all of the greyed images.
-             */
-            greyCleaner.stopCleaning();
-            final Iterator greyItr = greyMap.entrySet().iterator();
-            while (greyItr.hasNext()) {
-                final Map.Entry entry = (Map.Entry) greyItr.next();
-
-                final WeakReference reference = (WeakReference) entry.getKey();
-                reference.clear();
-
-                final Image image = (Image) entry.getValue();
-                if ((image != null) && (!image.isDisposed())) {
-                    image.dispose();
-                }
-            }
-            greyMap.clear();
-        }
-
-        /**
-         * Returns the greyed image (i.e., disabled) for the given image
-         * descriptor. This caches the result so that future attempts to get the
-         * greyed image for the same descriptor will only access the cache. When
-         * the last reference to the image descriptor is dropped, the image will
-         * be cleaned up. This clean up makes no time guarantees about how long
-         * this will take.
-         * 
-         * @param descriptor
-         *            The image descriptor for which a greyed image should be
-         *            created; may be <code>null</code>.
-         * @return The greyed image, either newly created or from the cache.
-         *         This value is <code>null</code> if the parameter passed in
-         *         is <code>null</code>.
-         */
-        private final Image getGrayImage(final ImageDescriptor descriptor) {
-            if (descriptor == null) { return null; }
-
-            // Try to load a cached image.
-            final HashableWeakReference key = new HashableWeakReference(
-                    descriptor, imageReferenceQueue);
-            final Object value = greyMap.get(key);
-            if (value instanceof Image) {
-                key.clear();
-                return (Image) value;
-            }
-
-            // Try to create a grey image from the regular image.
-            final Image image = getImage(descriptor);
-            if (image != null) {
-                final Image greyImage = new Image(null, image, SWT.IMAGE_GRAY);
-                greyMap.put(key, greyImage);
-                return greyImage;
-            }
-
-            // All attempts have failed.
-            return null;
-        }
-
-        /**
-         * Returns the regular image (i.e., enabled) for the given image
-         * descriptor. This caches the result so that future attempts to get the
-         * image for the same descriptor will only access the cache. When the
-         * last reference to the image descriptor is dropped, the image will be
-         * cleaned up. This clean up makes no time guarantees about how long
-         * this will take.
-         * 
-         * @param descriptor
-         *            The image descriptor for which an image should be created;
-         *            may be <code>null</code>.
-         * @return The image, either newly created or from the cache. This value
-         *         is <code>null</code> if the parameter passed in is
-         *         <code>null</code>.
-         */
-        private final Image getImage(final ImageDescriptor descriptor) {
-            if (descriptor == null) { return null; }
-
-            // Try to load the cached value.
-            final HashableWeakReference key = new HashableWeakReference(
-                    descriptor, imageReferenceQueue);
-            final Object value = imageMap.get(key);
-            if (value instanceof Image) {
-                key.clear();
-                return (Image) value;
-            }
-
-            // Use the descriptor to create the image.
-            final Image image = descriptor.createImage();
-            imageMap.put(key, image);
-            return image;
-        }
-
-        /**
-         * Returns the image to display when no image can be found, or none is
-         * specified. This image is only disposed when the cache is disposed.
-         * 
-         * @return The image to display for missing images. This value will
-         *         never be <code>null</code>.
-         */
-        private final Image getMissingImage() {
-            if (missingImage == null) {
-                missingImage = getImage(ImageDescriptor
-                        .getMissingImageDescriptor());
-            }
-
-            return missingImage;
-        }
-    }
-
-	private static ImageCache globalImageCache;
-
-	private static boolean USE_COLOR_ICONS = true;
-
-	/**
-	 * Returns whether color icons should be used in toolbars.
-	 * 
-	 * @return <code>true</code> if color icons should be used in toolbars, 
-	 *   <code>false</code> otherwise
-	 */
-	public static boolean getUseColorIconsInToolbars() {
-		return USE_COLOR_ICONS;
-	}
-
-	/**
-	 * Sets whether color icons should be used in toolbars.
-	 * 
-	 * @param useColorIcons <code>true</code> if color icons should be used in toolbars, 
-	 *   <code>false</code> otherwise
-	 */
-	public static void setUseColorIconsInToolbars(boolean useColorIcons) {
-		USE_COLOR_ICONS = useColorIcons;
-	}
-
-	/**
-	 * The presentation mode.
-	 */
-	private int mode = 0;
-
-	/**
-	 * The action.
-	 */
-	private IAction action;
-	
-	/**
-     * The listener for changes to the text of the action contributed by an
-     * external source.
-     */
-    private final IPropertyChangeListener actionTextListener = new IPropertyChangeListener() {
-
-        /**
-         * @see IPropertyChangeListener#propertyChange(PropertyChangeEvent)
-         */
-        public void propertyChange(PropertyChangeEvent event) {
-            update(event.getProperty());
-        }
-    };
-
-	/**
-	 * Listener for SWT button widget events.
-	 */
-	private Listener buttonListener;
-
-	/**
-	 * Listener for SWT menu item widget events.
-	 */
-	private Listener menuItemListener;
-
-	/**
-	 * Listener for action property change notifications.
-	 */
-	private final IPropertyChangeListener propertyListener = new IPropertyChangeListener() {
-		public void propertyChange(PropertyChangeEvent event) {
-			actionPropertyChange(event);
-		}
-	};
-
-	/**
-	 * Listener for SWT tool item widget events.
-	 */
-	private Listener toolItemListener;
-
-	/**
-	 * The widget created for this item; <code>null</code>
-	 * before creation and after disposal.
-	 */
-	private Widget widget = null;
-
-	/**
-     * 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 ActionContributionItem(IAction action) {
-        super(action.getId());
-        this.action = action;
-    }
-	
-	/**
-	 * Handles a property change event on the action (forwarded by nested listener).
-	 */
-	private void actionPropertyChange(final PropertyChangeEvent e) {
-		// This code should be removed. Avoid using free asyncExec
-
-		if (isVisible() && widget != null) {
-			Display display = widget.getDisplay();
-			if (display.getThread() == Thread.currentThread()) {
-				update(e.getProperty());
-			} else {
-				display.asyncExec(new Runnable() {
-					public void run() {
-						update(e.getProperty());
-					}
-				});
-			}
-
-		}
-	}
-
-	/**
-	 * Compares this action contribution item with another object.
-	 * Two action contribution items are equal if they refer to the identical Action.
-	 */
-	public boolean equals(Object o) {
-		if (!(o instanceof ActionContributionItem)) {
-			return false;
-		}
-		return action.equals(((ActionContributionItem) o).action);
-	}
-	/**
-	 * The <code>ActionContributionItem</code> implementation of this
-	 * <code>IContributionItem</code> method creates an SWT <code>Button</code> for
-	 * the action using the action's style. If the action's checked property has
-	 * been set, the button is created and primed to the value of the checked
-	 * property.
-	 */
-	public void fill(Composite parent) {
-		if (widget == null && parent != null) {
-			int flags = SWT.PUSH;
-			if (action != null) {
-				if (action.getStyle() == IAction.AS_CHECK_BOX)
-					flags = SWT.TOGGLE;
-				if (action.getStyle() == IAction.AS_RADIO_BUTTON)
-					flags = SWT.RADIO;
-			}
-
-			Button b = new Button(parent, flags);
-			b.setData(this);
-			b.addListener(SWT.Dispose, getButtonListener());
-			// Don't hook a dispose listener on the parent
-			b.addListener(SWT.Selection, getButtonListener());
-			if (action.getHelpListener() != null)
-				b.addHelpListener(action.getHelpListener());
-			widget = b;
-
-			update(null);
-
-			// Attach some extra listeners.
-			action.addPropertyChangeListener(propertyListener);
-	        if (action != null) {
-	            String commandId = action.getActionDefinitionId();
-	            ExternalActionManager.ICallback callback = ExternalActionManager.getInstance()
-	                    .getCallback();
-
-	            if ((callback != null) && (commandId != null)) {
-	                callback.addPropertyChangeListener(commandId, actionTextListener);
-	            }
-	        }
-		}
-	}
-	/**
-	 * The <code>ActionContributionItem</code> implementation of this
-	 * <code>IContributionItem</code> method creates an SWT <code>MenuItem</code>
-	 * for the action using the action's style. If the action's checked property has
-	 * been set, a button is created and primed to the value of the checked
-	 * property. If the action's menu creator property has been set, a cascading
-	 * submenu is created.
-	 */
-	public void fill(Menu parent, int index) {
-		if (widget == null && parent != null) {
-			Menu subMenu = null;
-			int flags = SWT.PUSH;
-			if (action != null) {
-				int style = action.getStyle();
-				if (style == IAction.AS_CHECK_BOX)
-					flags = SWT.CHECK;
-				else if (style == IAction.AS_RADIO_BUTTON)
-					flags = SWT.RADIO;
-				else if (style == IAction.AS_DROP_DOWN_MENU) {
-					IMenuCreator mc = action.getMenuCreator();
-					if (mc != null) {
-						subMenu = mc.getMenu(parent);
-						flags = SWT.CASCADE;
-					}
-				}
-			}
-
-			MenuItem mi = null;
-			if (index >= 0)
-				mi = new MenuItem(parent, flags, index);
-			else
-				mi = new MenuItem(parent, flags);
-			widget = mi;
-
-			mi.setData(this);
-			mi.addListener(SWT.Dispose, getMenuItemListener());
-			mi.addListener(SWT.Selection, getMenuItemListener());
-			if (action.getHelpListener() != null)
-				mi.addHelpListener(action.getHelpListener());
-
-			if (subMenu != null)
-				mi.setMenu(subMenu);
-
-			update(null);
-
-			// Attach some extra listeners.
-			action.addPropertyChangeListener(propertyListener);
-	        if (action != null) {
-	            String commandId = action.getActionDefinitionId();
-	            ExternalActionManager.ICallback callback = ExternalActionManager.getInstance()
-	                    .getCallback();
-
-	            if ((callback != null) && (commandId != null)) {
-	                callback.addPropertyChangeListener(commandId, actionTextListener);
-	            }
-	        }
-		}
-	}
-	/**
-	 * The <code>ActionContributionItem</code> implementation of this ,
-	 * <code>IContributionItem</code> method creates an SWT <code>ToolItem</code>
-	 * for the action using the action's style. If the action's checked property has
-	 * been set, a button is created and primed to the value of the checked
-	 * property. If the action's menu creator property has been set, a drop-down
-	 * tool item is created.
-	 */
-	public void fill(ToolBar parent, int index) {
-		if (widget == null && parent != null) {
-			int flags = SWT.PUSH;
-			if (action != null) {
-				int style = action.getStyle();
-				if (style == IAction.AS_CHECK_BOX)
-					flags = SWT.CHECK;
-				else if (style == IAction.AS_RADIO_BUTTON)
-					flags = SWT.RADIO;
-				else if (style == IAction.AS_DROP_DOWN_MENU)
-					flags = SWT.DROP_DOWN;
-			}
-
-			ToolItem ti = null;
-			if (index >= 0)
-				ti = new ToolItem(parent, flags, index);
-			else
-				ti = new ToolItem(parent, flags);
-			ti.setData(this);
-			ti.addListener(SWT.Selection, getToolItemListener());
-			ti.addListener(SWT.Dispose, getToolItemListener());
-
-			widget = ti;
-
-			update(null);
-
-			// Attach some extra listeners.
-			action.addPropertyChangeListener(propertyListener);
-	        if (action != null) {
-	            String commandId = action.getActionDefinitionId();
-	            ExternalActionManager.ICallback callback = ExternalActionManager.getInstance()
-	                    .getCallback();
-
-	            if ((callback != null) && (commandId != null)) {
-	                callback.addPropertyChangeListener(commandId, actionTextListener);
-	            }
-	        }
-		}
-	}
-	/**
-	 * Returns the action associated with this contribution item.
-	 *
-	 * @return the action
-	 */
-	public IAction getAction() {
-		return action;
-	}
-	/**
-	 * Returns the listener for SWT button widget events.
-	 * 
-	 * @return a listener for button events
-	 */
-	private Listener getButtonListener() {
-		if (buttonListener == null) {
-			buttonListener = new Listener() {
-				public void handleEvent(Event event) {
-					switch (event.type) {
-						case SWT.Dispose :
-							handleWidgetDispose(event);
-							break;
-						case SWT.Selection :
-							Widget ew = event.widget;
-							if (ew != null) {
-								handleWidgetSelection(event, ((Button) ew).getSelection());
-							}
-							break;
-					}
-				}
-			};
-		}
-		return buttonListener;
-	}
-	/**
-	 * Returns the image cache.
-	 * The cache is global, and is shared by all action contribution items.
-	 * This has the disadvantage that once an image is allocated, it is never freed until the display
-	 * is disposed.  However, it has the advantage that the same image in different contribution managers
-	 * is only ever created once.
-	 */
-	private static ImageCache getImageCache() {
-		ImageCache cache = globalImageCache;
-		if (cache == null) {
-			globalImageCache = cache = new ImageCache();
-			Display display = Display.getDefault();
-			if (display != null) {
-				display.disposeExec(new Runnable() {
-					public void run() {
-						if (globalImageCache != null) {
-							globalImageCache.dispose();
-							globalImageCache = null;
-						}
-					}
-				});
-			}
-		}
-		return cache;
-	}
-	/**
-	 * Returns the listener for SWT menu item widget events.
-	 * 
-	 * @return a listener for menu item events
-	 */
-	private Listener getMenuItemListener() {
-		if (menuItemListener == null) {
-			menuItemListener = new Listener() {
-				public void handleEvent(Event event) {
-					switch (event.type) {
-						case SWT.Dispose :
-							handleWidgetDispose(event);
-							break;
-						case SWT.Selection :
-							Widget ew = event.widget;
-							if (ew != null) {
-								handleWidgetSelection(event, ((MenuItem) ew).getSelection());
-							}
-							break;
-					}
-				}
-			};
-		}
-		return menuItemListener;
-	}
-	/**
-	 * Returns the presentation mode, which is the bitwise-or of the 
-	 * <code>MODE_*</code> constants.  The default mode setting is 0, meaning
-	 * that for menu items, both text and image are shown (if present), but for
-	 * tool items, the text is shown only if there is no image.
-	 * 
-	 * @return the presentation mode settings
-	 * 
-	 * @since 3.0
-	 */
-	public int getMode() {
-		return mode;
-	}
-	
-	/**
-	 * Returns the listener for SWT tool item widget events.
-	 * 
-	 * @return a listener for tool item events
-	 */
-	private Listener getToolItemListener() {
-		if (toolItemListener == null) {
-			toolItemListener = new Listener() {
-				public void handleEvent(Event event) {
-					switch (event.type) {
-						case SWT.Dispose :
-							handleWidgetDispose(event);
-							break;
-						case SWT.Selection :
-							Widget ew = event.widget;
-							if (ew != null) {
-								handleWidgetSelection(event, ((ToolItem) ew).getSelection());
-							}
-							break;
-					}
-				}
-			};
-		}
-		return toolItemListener;
-	}
-	/**
-	 * Handles a widget dispose event for the widget corresponding to this item.
-	 */
-	private void handleWidgetDispose(Event e) {
-	    // Check if our widget is the one being disposed.
-		if (e.widget == widget) {
-			// Dispose of the menu creator.
-			if (action.getStyle() == IAction.AS_DROP_DOWN_MENU) {
-				IMenuCreator mc = action.getMenuCreator();
-				if (mc != null) {
-					mc.dispose();
-				}
-			}
-			
-			// Unhook all of the listeners.
-			action.removePropertyChangeListener(propertyListener);
-	        if (action != null) {
-	            String commandId = action.getActionDefinitionId();
-	            ExternalActionManager.ICallback callback = ExternalActionManager.getInstance()
-	                    .getCallback();
-
-	            if ((callback != null) && (commandId != null)) {
-	                callback.removePropertyChangeListener(commandId, actionTextListener);
-	            }
-	        }
-	        
-	        // Clear the widget field.
-			widget = null;
-		}
-	}
-	/**
-	 * Handles a widget selection event.
-	 */
-	private void handleWidgetSelection(Event e, boolean selection) {
-
-		Widget item = e.widget;
-		if (item != null) {
-			int style = item.getStyle();
-
-			if ((style & (SWT.TOGGLE | SWT.CHECK)) != 0) {
-				if (action.getStyle() == IAction.AS_CHECK_BOX) {
-					action.setChecked(selection);
-				}
-			} else if ((style & SWT.RADIO) != 0) {
-				if (action.getStyle() == IAction.AS_RADIO_BUTTON) {
-					action.setChecked(selection);
-				}
-			} else if ((style & SWT.DROP_DOWN) != 0) {
-				if (e.detail == 4) { // on drop-down button
-					if (action.getStyle() == IAction.AS_DROP_DOWN_MENU) {
-						IMenuCreator mc = action.getMenuCreator();
-						ToolItem ti = (ToolItem) item;
-						// we create the menu as a sub-menu of "dummy" so that we can use
-						// it in a cascading menu too.
-						// If created on a SWT control we would get an SWT error...
-						//Menu dummy= new Menu(ti.getParent());
-						//Menu m= mc.getMenu(dummy);
-						//dummy.dispose();
-						if (mc != null) {
-							Menu m = mc.getMenu(ti.getParent());
-							if (m != null) {
-								// position the menu below the drop down item
-								Rectangle b = ti.getBounds();
-								Point p = ti.getParent().toDisplay(new Point(b.x, b.y + b.height));
-								m.setLocation(p.x, p.y); // waiting for SWT 0.42
-								m.setVisible(true);
-								return; // we don't fire the action
-							}
-						}
-					}
-				}
-			}
-
-			// Ensure action is enabled first.
-			// See 1GAN3M6: ITPUI:WINNT - Any IAction in the workbench can be executed while disabled.
-			if (action.isEnabled()) {
-				boolean trace = Policy.TRACE_ACTIONS;
-				
-				long ms = System.currentTimeMillis();
-				if (trace)
-					System.out.println("Running action: " + action.getText()); //$NON-NLS-1$
-
-				action.runWithEvent(e);
-
-				if (trace)
-					System.out.println((System.currentTimeMillis() - ms) + " ms to run action: " + action.getText()); //$NON-NLS-1$
-			}
-		}
-	}
-	/* (non-Javadoc)
-	 * Method declared on Object.
-	 */
-	public int hashCode() {
-		return action.hashCode();
-	}
-
-	/**
-	 * Returns whether the given action has any images.
-	 * 
-	 * @param actionToCheck the action
-	 * @return <code>true</code> if the action has any images, <code>false</code> if not
-	 */
-	private boolean hasImages(IAction actionToCheck) {
-		return actionToCheck.getImageDescriptor() != null
-			|| actionToCheck.getHoverImageDescriptor() != null
-			|| actionToCheck.getDisabledImageDescriptor() != null;
-	}
-
-	/**
-	 * Returns whether the command corresponding to this action
-	 * is active.
-	 */
-	private boolean isCommandActive() {
-		IAction actionToCheck = getAction();
-
-		if (actionToCheck != null) {
-			String commandId = actionToCheck.getActionDefinitionId();
-			ExternalActionManager.ICallback callback = ExternalActionManager.getInstance().getCallback();
-
-			if (callback != null)
-				return callback.isActive(commandId);
-		}
-		return true;
-	}
-	/**
-	 * The action item implementation of this <code>IContributionItem</code>
-	 * method returns <code>true</code> for menu items and <code>false</code>
-	 * for everything else.
-	 */
-	public boolean isDynamic() {
-		if (widget instanceof MenuItem) {
-			//Optimization. Only recreate the item is the check or radio style has changed. 
-			boolean itemIsCheck = (widget.getStyle() & SWT.CHECK) != 0;
-			boolean actionIsCheck =
-				getAction() != null && getAction().getStyle() == IAction.AS_CHECK_BOX;
-			boolean itemIsRadio = (widget.getStyle() & SWT.RADIO) != 0;
-			boolean actionIsRadio =
-				getAction() != null && getAction().getStyle() == IAction.AS_RADIO_BUTTON;
-			return (itemIsCheck != actionIsCheck) || (itemIsRadio != actionIsRadio);
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IContributionItem.
-	 */
-	public boolean isEnabled() {
-		return action != null && action.isEnabled();
-	}
-	/**
-	 * Returns <code>true</code> if this item is allowed to enable,
-	 * <code>false</code> otherwise.
-	 * 
-	 * @return if this item is allowed to be enabled
-	 * @since 2.0
-	 */
-	protected boolean isEnabledAllowed() {
-		if (getParent() == null)
-			return true;
-		Boolean value = getParent().getOverrides().getEnabled(this);
-		return (value == null) ? true : value.booleanValue();
-	}
-
-	/**
-	 * The <code>ActionContributionItem</code> implementation of this 
-	 * <code>ContributionItem</code> method extends the super implementation
-	 * by also checking whether the command corresponding to this action is active.
-	 */
-	public boolean isVisible() {
-		return super.isVisible() && isCommandActive();
-	}
-
-	/**
-	 * Sets the presentation mode, which is the bitwise-or of the 
-	 * <code>MODE_*</code> constants.
-	 * 
-	 * @return the presentation mode settings
-	 * 
-	 * @since 3.0
-	 */
-	public void setMode(int mode) {
-		this.mode = mode;
-		update();
-	}
-	
-	/**
-	 * The action item implementation of this <code>IContributionItem</code>
-	 * method calls <code>update(null)</code>.
-	 */
-	public final void update() {
-		update(null);
-	}
-	/**
-	 * Synchronizes the UI with the given property.
-	 *
-	 * @param propertyName the name of the property, or <code>null</code> meaning all applicable
-	 *   properties 
-	 */
-	public void update(String propertyName) {
-		if (widget != null) {
-			// determine what to do			
-			boolean textChanged = propertyName == null || propertyName.equals(IAction.TEXT);
-			boolean imageChanged = propertyName == null || propertyName.equals(IAction.IMAGE);
-			boolean tooltipTextChanged =
-				propertyName == null || propertyName.equals(IAction.TOOL_TIP_TEXT);
-			boolean enableStateChanged =
-				propertyName == null
-					|| propertyName.equals(IAction.ENABLED)
-					|| propertyName.equals(IContributionManagerOverrides.P_ENABLED);
-			boolean checkChanged =
-				(action.getStyle() == IAction.AS_CHECK_BOX
-					|| action.getStyle() == IAction.AS_RADIO_BUTTON)
-					&& (propertyName == null || propertyName.equals(IAction.CHECKED));
-
-			if (widget instanceof ToolItem) {
-				ToolItem ti = (ToolItem) widget;
-				String text = action.getText();
-				// the set text is shown only if there is no image or if forced by MODE_FORCE_TEXT
-				boolean showText = text != null && ((getMode() & MODE_FORCE_TEXT) != 0 || !hasImages(action));
-				
-				// only do the trimming if the text will be used
-				if (showText && text != null) {
-					text = Action.removeAcceleratorText(text);
-					text = Action.removeMnemonics(text);
-				}
-
-				if (textChanged) {
-					String textToSet = showText ? text : ""; //$NON-NLS-1$
-					boolean rightStyle = (ti.getParent().getStyle() & SWT.RIGHT) != 0;
-					if (rightStyle || !ti.getText().equals(textToSet)) {
-						// In addition to being required to update the text if it
-						// gets nulled out in the action, this is also a workaround 
-						// for bug 50151: Using SWT.RIGHT on a ToolBar leaves blank space
-						ti.setText(textToSet);
-					}
-				}
-
-				if (imageChanged) {
-					// only substitute a missing image if it has no text
-					updateImages(!showText);
-				}
-
-				if (tooltipTextChanged || textChanged) {
-					String toolTip = action.getToolTipText();
-					// if the text is showing, then only set the tooltip if different
-					if (!showText || toolTip != null && !toolTip.equals(text)) {
-						ti.setToolTipText(action.getToolTipText());
-					}
-					else {
-						ti.setToolTipText(null);
-					}
-				}
-
-				if (enableStateChanged) {
-					boolean shouldBeEnabled = action.isEnabled() && isEnabledAllowed();
-
-					if (ti.getEnabled() != shouldBeEnabled)
-						ti.setEnabled(shouldBeEnabled);
-				}
-
-				if (checkChanged) {
-					boolean bv = action.isChecked();
-
-					if (ti.getSelection() != bv)
-						ti.setSelection(bv);
-				}
-				return;
-			}
-
-			if (widget instanceof MenuItem) {
-				MenuItem mi = (MenuItem) widget;
-
-				if (textChanged) {
-					int accelerator = 0;
-					String acceleratorText = null;
-					IAction updatedAction = getAction();
-					String text = null;
-
-					// Set the accelerator using the action's accelerator.
-					accelerator = updatedAction.getAccelerator();
-					
-					/* Process accelerators on GTK in a special way to avoid
-					 * Bug 42009.  We will override the native input method by
-					 * allowing these reserved accelerators to be placed on the
-					 * menu.  We will only do this for "Ctrl+Shift+[A-F]".
-					 */
-					ExternalActionManager.ICallback callback =
-						ExternalActionManager.getInstance().getCallback();
-					String commandId = updatedAction.getActionDefinitionId();
-					if (SWT.getPlatform().equals("gtk")) { //$NON-NLS-1$
-						if ((callback != null) && (commandId != null)) {
-						    Integer commandAccelerator = callback.getAccelerator(commandId);
-						    if (commandAccelerator != null) {
-						        int accelInt = callback.getAccelerator(commandId).intValue();
-						        if ((accelInt >= LOWER_GTK_ACCEL_BOUND) && (accelInt <= UPPER_GTK_ACCEL_BOUND)) {
-						            accelerator = accelInt;
-						            acceleratorText = callback.getAcceleratorText(commandId);
-						        }
-						    }
-					    }
-					}
-					
-					if (accelerator == 0) {
-						if ((callback != null) && (commandId != null)) {
-						    acceleratorText = callback.getAcceleratorText(commandId);
-						}
-					} else {
-						acceleratorText = Action.convertAccelerator(accelerator);
-					}
-
-					IContributionManagerOverrides overrides = null;
-
-					if (getParent() != null)
-						overrides = getParent().getOverrides();
-
-					if (overrides != null)
-						text = getParent().getOverrides().getText(this);
-
-					mi.setAccelerator(accelerator);
-
-					if (text == null)
-						text = updatedAction.getText();
-
-					if (text == null)
-						text = ""; //$NON-NLS-1$
-					else
-						text = Action.removeAcceleratorText(text);
-
-					if (acceleratorText == null)
-						mi.setText(text);
-					else
-						mi.setText(text + '\t' + acceleratorText);
-				}
-
-				if (imageChanged)
-					updateImages(false);
-
-				if (enableStateChanged) {
-					boolean shouldBeEnabled = action.isEnabled() && isEnabledAllowed();
-
-					if (mi.getEnabled() != shouldBeEnabled)
-						mi.setEnabled(shouldBeEnabled);
-				}
-
-				if (checkChanged) {
-					boolean bv = action.isChecked();
-
-					if (mi.getSelection() != bv)
-						mi.setSelection(bv);
-				}
-
-				return;
-			}
-
-			if (widget instanceof Button) {
-				Button button = (Button) widget;
-
-				if (imageChanged && updateImages(false))
-					textChanged = false; // don't update text if it has an image
-
-				if (textChanged) {
-					String text = action.getText();
-
-					if (text != null)
-						button.setText(text);
-				}
-
-				if (tooltipTextChanged)
-					button.setToolTipText(action.getToolTipText());
-
-				if (enableStateChanged) {
-					boolean shouldBeEnabled = action.isEnabled() && isEnabledAllowed();
-
-					if (button.getEnabled() != shouldBeEnabled)
-						button.setEnabled(shouldBeEnabled);
-				}
-
-				if (checkChanged) {
-					boolean bv = action.isChecked();
-
-					if (button.getSelection() != bv)
-						button.setSelection(bv);
-				}
-				return;
-			}
-		}
-	}
-	/**
-	 * Updates the images for this action.
-	 *
-	 * @param forceImage <code>true</code> if some form of image is compulsory,
-	 *  and <code>false</code> if it is acceptable for this item to have no image
-	 * @return <code>true</code> if there are images for this action, <code>false</code> if not
-	 */
-	private boolean updateImages(boolean forceImage) {
-		ImageCache cache = getImageCache();
-
-		if (widget instanceof ToolItem) {
-			if (USE_COLOR_ICONS) {
-				Image image = cache.getImage(action.getHoverImageDescriptor());
-				if (image == null) {
-					image = cache.getImage(action.getImageDescriptor());
-				}
-				Image disabledImage = cache.getImage(action.getDisabledImageDescriptor());
-
-				// Make sure there is a valid image.
-				if (image == null && forceImage) {
-					image = cache.getMissingImage();
-				}
-
-				// performance: more efficient in SWT to set disabled and hot image before regular image
-				if (disabledImage != null) {
-					// Set the disabled image if we were able to create one.
-					// Assumes that SWT.ToolItem will use platform's default
-					// behavior to show item when it is disabled and a disabled
-					// image has not been set. 
-					 ((ToolItem) widget).setDisabledImage(disabledImage);
-				}
-				((ToolItem) widget).setImage(image);
-
-				return image != null;
-			} else {
-				Image image = cache.getImage(action.getImageDescriptor());
-				Image hoverImage = cache.getImage(action.getHoverImageDescriptor());
-				Image disabledImage = cache.getImage(action.getDisabledImageDescriptor());
-
-				// If there is no regular image, but there is a hover image,
-				// convert the hover image to gray and use it as the regular image.
-				if (image == null && hoverImage != null) {
-					image = cache.getGrayImage(action.getHoverImageDescriptor());
-				} else {
-					// If there is no hover image, use the regular image as the hover image,
-					// and convert the regular image to gray
-					if (hoverImage == null && image != null) {
-						hoverImage = image;
-						image = cache.getGrayImage(action.getImageDescriptor());
-					}
-				}
-
-				// Make sure there is a valid image.
-				if (hoverImage == null && image == null && forceImage) {
-					image = cache.getMissingImage();
-				}
-
-				// performance: more efficient in SWT to set disabled and hot image before regular image
-				if (disabledImage != null) {
-					// Set the disabled image if we were able to create one.
-					// Assumes that SWT.ToolItem will use platform's default
-					// behavior to show item when it is disabled and a disabled
-					// image has not been set. 
-					 ((ToolItem) widget).setDisabledImage(disabledImage);
-				}
-				((ToolItem) widget).setHotImage(hoverImage);
-				((ToolItem) widget).setImage(image);
-
-				return image != null;
-			}
-		} else if (widget instanceof Item || widget instanceof Button) {
-			// Use hover image if there is one, otherwise use regular image.
-			Image image = cache.getImage(action.getHoverImageDescriptor());
-			if (image == null) {
-				image = cache.getImage(action.getImageDescriptor());
-			}
-			// Make sure there is a valid image.
-			if (image == null && forceImage) {
-				image = cache.getMissingImage();
-			}
-			if (widget instanceof Item) {
-				((Item) widget).setImage(image);
-			} else if (widget instanceof Button) {
-				((Button) widget).setImage(image);
-			}
-			return image != null;
-		}
-		return false;
-	}
-
-	/**
-	 * 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(String textValue , ToolItem item) {
-		if (textValue == null)
-			return null;
-
-		GC gc = new GC(item.getDisplay());
-
-		int maxWidth = item.getImage().getBounds().width * 4;
-		
-		if(gc.textExtent(textValue).x < maxWidth) {
-			gc.dispose();
-			return textValue ;
-		}
-		
-		for (int i = textValue.length(); i > 0; i--) {
-			String test = textValue .substring(0, i);
-			test = test + ellipsis;
-			if(gc.textExtent(test).x < maxWidth) {
-				gc.dispose();
-				return test ;
-			}
-				
-		}	
-		gc.dispose();
-		//If for some reason we fall through abort
-		return textValue ;
-	}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/ContributionItem.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/action/ContributionItem.java
deleted file mode 100644
index 30baa4e..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/ContributionItem.java
+++ /dev/null
@@ -1,186 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.action;
-
-import org.eclipse.swt.widgets.*;
-
-/**
- * An abstract base implementation for contribution items.
- */
-public abstract class ContributionItem implements IContributionItem {
-
-	/**
-	 * The identifier for this contribution item, of <code>null</code> if none.
-	 */
-	private String id = null;
-
-	/**
-	 * Indicates this item is visible in its manager; <code>true</code> 
-	 * by default.
-	 */
-	private boolean visible = true;
-
-    /**
-     * The parent contribution manager for this item
-     */
-	private IContributionManager parent;
-/**
- * Creates a contribution item with a <code>null</code> id.
- * Calls <code>this(String)</code> with <code>null</code>.
- */
-protected ContributionItem() {
-	this(null);
-}
-/**
- * Creates a contribution item with the given (optional) id.
- * The given id is used to find items in a contribution manager,
- * and for positioning items relative to other items.
- *
- * @param id the contribution item identifier, or <code>null</code>
- */
-protected ContributionItem(String id) {
-	this.id = id;
-}
-/**
- * The default implementation of this <code>IContributionItem</code>
- * method does nothing. Subclasses may override.
- */
-public void dispose() {
-}
-/**
- * The default implementation of this <code>IContributionItem</code>
- * method does nothing. Subclasses may override.
- */
-public void fill(Composite parent) {
-}
-/**
- * The default implementation of this <code>IContributionItem</code>
- * method does nothing. Subclasses may override.
- */
-public void fill(Menu menu, int index) {
-}
-/**
- * The default implementation of this <code>IContributionItem</code>
- * method does nothing. Subclasses may override.
- */
-public void fill(ToolBar parent, int index) {
-}
-/**
- * The default implementation of this <code>IContributionItem</code>
- * method does nothing. Subclasses may override.
- * 
- * @since 3.0
- */
-public void fill(CoolBar parent, int index) {
-}
-/**
- * The default implementation of this <code>IContributionItem</code>
- * method does nothing. Subclasses may override.
- * 
- * @since 3.0
- */
-public void saveWidgetState() {	
-}
-/* (non-Javadoc)
- * Method declared on IContributionItem.
- */
-public String getId() {
-	return id;
-}
-/**
- * Returns the parent contribution manager.
- * 
- * @return the parent contribution manager
- * @since 2.0
- */
-public IContributionManager getParent() {
-	return parent;
-}
-/**
- * The default implementation of this <code>IContributionItem</code>
- * method returns <code>false</code>. Subclasses may override.
- */
-public boolean isDirty() {
-	// @issue should this be false instead of calling isDynamic()?
-	return isDynamic();
-}
-/**
- * The default implementation of this <code>IContributionItem</code>
- * method returns <code>true</code>. Subclasses may override.
- */
-public boolean isEnabled() {
-	return true;
-}
-/**
- * The default implementation of this <code>IContributionItem</code>
- * method returns <code>false</code>. Subclasses may override.
- */
-public boolean isDynamic() {
-	return false;
-}
-/**
- * The default implementation of this <code>IContributionItem</code>
- * method returns <code>false</code>. Subclasses may override.
- */
-public boolean isGroupMarker() {
-	return false;
-}
-/**
- * The default implementation of this <code>IContributionItem</code>
- * method returns <code>false</code>. Subclasses may override.
- */
-public boolean isSeparator() {
-	return false;
-}
-/**
- * The default implementation of this <code>IContributionItem</code>
- * method returns the value recorded in an internal state variable,
- * which is <code>true</code> by default. <code>setVisible</code>
- * should be used to change this setting.
- */
-public boolean isVisible() {
-	return visible;
-}
-/**
- * The default implementation of this <code>IContributionItem</code>
- * method stores the value in an internal state variable,
- * which is <code>true</code> by default.
- */
-public void setVisible(boolean visible) {
-	this.visible = visible;
-}
-/**
- * Returns a string representation of this contribution item 
- * suitable only for debugging.
- */
-public String toString() {
-	return getClass().getName() + "(id=" + getId() + ")";//$NON-NLS-2$//$NON-NLS-1$
-}
-/**
- * The default implementation of this <code>IContributionItem</code>
- * method does nothing. Subclasses may override.
- */
-public void update() {
-}
-/* (non-Javadoc)
- * Method declared on IContributionItem.
- */
-public void setParent(IContributionManager parent) {
-	this.parent = parent;
-}
-/**
- * The <code>ContributionItem</code> implementation of this 
- * method declared on <code>IContributionItem</code> does nothing.
- * Subclasses should override to update their state.
- */
-public void update(String id) {
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/ContributionManager.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/action/ContributionManager.java
deleted file mode 100644
index bcb56d0..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/ContributionManager.java
+++ /dev/null
@@ -1,476 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.action;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.util.Policy;
-
-/**
- * Abstract base class for all contribution managers, and standard implementation 
- * of <code>IContributionManager</code>. This class provides functionality 
- * common across the specific managers defined by this framework.
- * <p>
- * This class maintains a list of contribution items and a dirty flag, both as 
- * internal state. In addition to providing implementations of most 
- * <code>IContributionManager</code> methods, this class automatically
- * coalesces adjacent separators, hides beginning and ending separators,
- * and deals with dynamically changing sets of contributions. When the set
- * of contributions does change dynamically, the changes are propagated
- * to the control via the <code>update</code> method, which subclasses
- * must implement.
- * </p>
- * <p>
- * Note: A <code>ContributionItem</code> cannot be shared between different
- * <code>ContributionManager</code>s.
- * </p>
- */
-public abstract class ContributionManager implements IContributionManager {
-
-	//	Internal debug flag.
-//	protected static final boolean DEBUG = false;
-
-	/**
-	 * The list of contribution items.
-	 */
-	private List contributions = new ArrayList();
-	
-	/** 
-	 * Indicates whether the widgets are in sync with the contributions.
-	 */
-	private boolean isDirty = true;
-	
-	/** 
-	 * Number of dynamic contribution items.
-	 */
-	private int dynamicItems = 0;
-	
-	/**
-	 * The overrides for items of this manager
-	 */
-	private IContributionManagerOverrides overrides;
-	
-/**
- * Creates a new contribution manager.
- */
-protected ContributionManager() {
-    // Do nothing.
-}
-/* (non-Javadoc)
- * Method declared on IContributionManager.
- */
-public void add(IAction action) {
-	add(new ActionContributionItem(action));
-}
-/* (non-Javadoc)
- * Method declared on IContributionManager.
- */
-public void add(IContributionItem item) {
-    if (allowItem(item)) {
-        item.setParent(this);
-        contributions.add(item);
-        itemAdded(item);
-    }
-}
-/**
- * Adds a contribution item to the start or end of the group 
- * with the given name.
- *
- * @param groupName the name of the group
- * @param item the contribution item
- * @param append <code>true</code> to add to the end of the group, 
- *   and <code>false</code> to add the beginning of the group
- * @exception IllegalArgumentException if there is no group with
- *   the given name
- */
-private void addToGroup(String groupName, IContributionItem item, boolean append) 
-{
-	int i;
-	Iterator items = contributions.iterator();
-	for (i = 0; items.hasNext(); i++) {
-		IContributionItem o = (IContributionItem) items.next();
-		if (o.isGroupMarker()) {
-			String id = o.getId();
-			if (id != null && id.equalsIgnoreCase(groupName)) {
-				i++;
-				if (append) {
-					for (; items.hasNext(); i++) {
-						IContributionItem ci = (IContributionItem) items.next();
-						if (ci.isGroupMarker())
-							break;
-					}
-				}
-				if (allowItem(item)) {
-					item.setParent(this);
-				    contributions.add(i,item);
-				    itemAdded(item);
-				}
-				return;
-			}
-		}
-	}
-	throw new IllegalArgumentException("Group not found: " + groupName);//$NON-NLS-1$
-}
-/* (non-Javadoc)
- * Method declared on IContributionManager.
- */
-public void appendToGroup(String groupName, IAction action) {
-	addToGroup(groupName, new ActionContributionItem(action), true);
-}
-/* (non-Javadoc)
- * Method declared on IContributionManager.
- */
-public void appendToGroup(String groupName, IContributionItem item) {
-	addToGroup(groupName, item, true);
-}
-/**
- * This method allows subclasses of <code>ContributionManager</code> to prevent
- * certain items in the contributions list.  <code>ContributionManager</code>
- * will either block or allow an addition based on the result of this method
- * call.  This can be used to prevent duplication, for example.
- * @param itemToAdd The contribution item to be added; may be <code>null</code>.
- * @return <code>true</code> if the addition should be allowed; 
- * <code>false</code> otherwise.  The default implementation allows all items.
- * @since 3.0
- */
-protected boolean allowItem(IContributionItem itemToAdd) {
-    return true;
-}
-/**
- * Internal debug method for printing statistics about this manager
- * to <code>System.out</code>.
- */
-protected void dumpStatistics() {
-	int size= 0;
-	if (contributions != null)
-		size = contributions.size();
-		
-	System.out.println(this.toString());
-	System.out.println("   Number of elements: " + size);//$NON-NLS-1$
-	int sum= 0;
-	for (int i= 0; i < size; i++)
-		if (((IContributionItem) contributions.get(i)).isVisible())
-			sum++;
-	System.out.println("   Number of visible elements: " + sum);//$NON-NLS-1$
-	System.out.println("   Is dirty: " + isDirty());				//$NON-NLS-1$
-}
-/* (non-Javadoc)
- * Method declared on IContributionManager.
- */
-public IContributionItem find(String id) {
-	Iterator e= contributions.iterator();
-	while (e.hasNext()) {
-		IContributionItem item= (IContributionItem) e.next();
-		String itemId= item.getId();
-		if (itemId != null && itemId.equalsIgnoreCase(id))
-			return item;
-	}
-	return null;
-}
-/* (non-Javadoc)
- * Method declared on IContributionManager.
- */
-public IContributionItem[] getItems() {
-	IContributionItem[] items = new IContributionItem[contributions.size()];
-	contributions.toArray(items);
-	return items;
-}
-/**
- * The <code>ContributionManager</code> implementation of this
- * method declared on <code>IContributionManager</code> returns
- * the current overrides. If there is no overrides it lazily creates
- * one which overrides no item state.
- * 
- * @since 2.0
- */
-public IContributionManagerOverrides getOverrides() {
-	if (overrides == null) {
-		overrides = new IContributionManagerOverrides() {
-			public Boolean getEnabled(IContributionItem item) {
-				return null;
-			}
-			public Integer getAccelerator(IContributionItem item) {
-				return null;
-			}
-			public String getAcceleratorText(IContributionItem item) {
-				return null;
-			}
-			public String getText(IContributionItem item) {
-				return null;
-			}
-		};
-	}
-	return overrides;
-}
-/**
- * Returns whether this contribution manager contains dynamic items. 
- * A dynamic contribution item contributes items conditionally, 
- * dependent on some internal state.
- *
- * @return <code>true</code> if this manager contains dynamic items, and
- *  <code>false</code> otherwise
- */
-protected boolean hasDynamicItems() {
-	return (dynamicItems > 0);
-}
-/**
- * Returns the index of the item with the given id.
- *
- * @return <code>int</code> the index or -1 if the item is not found
- */
-public int indexOf(String id) {
-	for (int i = 0; i < contributions.size(); i++) {
-		IContributionItem item = (IContributionItem) contributions.get(i);
-		String itemId = item.getId();
-		if (itemId != null && itemId.equalsIgnoreCase(id))
-			return i;
-	}
-	return -1;
-}
-
-/**
- * Returns the index of the object in the internal structure. This is different from 
- * <code>indexOf(String id)</code> since some contribution items may not have an id.
- *  
- * @param item the contribution item 
- * @return the index, or -1 if the item is not found
- * @since 3.0
- */
-protected int indexOf(IContributionItem item) {
-	return contributions.indexOf(item);
-}
-/**
- * Insert the item at the given index.
- */
-public void insert(int index, IContributionItem item) {
-	if (index > contributions.size())
-		throw new IndexOutOfBoundsException("inserting " + item.getId() + " at " + index); //$NON-NLS-1$ //$NON-NLS-2$
-	if (allowItem(item)) {
-	    item.setParent(this);
-	    contributions.add(index, item);
-	    itemAdded(item);
-	}
-}
-/* (non-Javadoc)
- * Method declared on IContributionManager.
- */
-public void insertAfter(String ID, IAction action) {
-	insertAfter(ID, new ActionContributionItem(action));
-}
-/* (non-Javadoc)
- * Method declared on IContributionManager.
- */
-public void insertAfter(String ID, IContributionItem item) {
-	IContributionItem ci= find(ID);
-	if (ci == null)
-		throw new IllegalArgumentException("can't find ID");//$NON-NLS-1$
-	int ix= contributions.indexOf(ci);
-	if (ix >= 0) {
-		// System.out.println("insert after: " + ix);
-	    if (allowItem(item)) {
-	        item.setParent(this);
-	        contributions.add(ix+1,item);
-	        itemAdded(item);
-	    }
-	}
-}
-/* (non-Javadoc)
- * Method declared on IContributionManager.
- */
-public void insertBefore(String ID, IAction action) {
-	insertBefore(ID, new ActionContributionItem(action));
-}
-/* (non-Javadoc)
- * Method declared on IContributionManager.
- */
-public void insertBefore(String ID, IContributionItem item) {
-	IContributionItem ci= find(ID);
-	if (ci == null)
-		throw new IllegalArgumentException("can't find ID " + ID);//$NON-NLS-1$
-	int ix = contributions.indexOf(ci);
-	if (ix >= 0) {
-		// System.out.println("insert before: " + ix);
-	    if (allowItem(item)) {
-	        item.setParent(this);
-	        contributions.add(ix,item);
-	        itemAdded(item);
-	    }
-	}
-}
-/* (non-Javadoc)
- * Method declared on IContributionManager.
- */
-public boolean isDirty() {
-	if(isDirty)
-		return true;
-	if(hasDynamicItems()) {
-		for (Iterator iter = contributions.iterator(); iter.hasNext();) {
-			IContributionItem item = (IContributionItem)iter.next();
-			if(item.isDirty())
-				return true;
-		}
-	}
-	return false;
-}
-/* (non-Javadoc)
- * Method declared on IContributionManager.
- */
-public boolean isEmpty() {
-	return contributions.isEmpty();	
-}
-/**
- * The given item was added to the list of contributions.
- * Marks the manager as dirty and updates the number of dynamic items, and the memento.
- */
-protected void itemAdded(IContributionItem item) {
-	markDirty();
-	if (item.isDynamic())
-		dynamicItems++;
-}
-/**
- * The given item was removed from the list of contributions.
- * Marks the manager as dirty and updates the number of dynamic items.
- */
-protected void itemRemoved(IContributionItem item) {
-	markDirty();
-	if (item.isDynamic())
-		dynamicItems--;	
-}
-/* (non-Javadoc)
- * Method declared on IContributionManager.
- */
-public void markDirty() {
-	setDirty(true);
-}
-/* (non-Javadoc)
- * Method declared on IContributionManager.
- */
-public void prependToGroup(String groupName, IAction action) {
-	addToGroup(groupName, new ActionContributionItem(action), false);
-}
-/* (non-Javadoc)
- * Method declared on IContributionManager.
- */
-public void prependToGroup(String groupName, IContributionItem item) {
-	addToGroup(groupName, item, false);
-}
-/* (non-Javadoc)
- * Method declared on IContributionManager.
- */
-public IContributionItem remove(String ID) {
-	IContributionItem ci= find(ID);
-	if (ci == null)
-		return null;
-	return remove(ci);
-}
-/* (non-Javadoc)
- * Method declared on IContributionManager.
- */
-public IContributionItem remove(IContributionItem item) {
-	if (contributions.remove(item)) {
-		itemRemoved(item);
-		return item;
-	}
-	return null;
-}
-/* (non-Javadoc)
- * Method declared on IContributionManager.
- */
-public void removeAll() {
-	contributions.clear();
-	dynamicItems = 0;
-	markDirty();
-}
-
-/**
- * Replaces the item of the given identifier with another contribution item.
- * This can be used, for example, to replace large contribution items with
- * placeholders to avoid memory leaks.  If the identifier cannot be found in the
- * current list of items, then this does nothing.  If multiple occurrences are
- * found, then the replacement items is put in the first position and the other
- * positions are removed.
- * @param identifier The identifier to look for in the list of contributions;
- * should not be <code>null</code>.
- * @param replacementItem The contribution item to replace the old item; must
- * not be <code>null</code>.  Use {@link org.eclipse.jface.action.ContributionManager#remove(java.lang.String) remove} if that is what you want to do.
- * @return <code>true</code> if the given identifier can be; <code>
- * @since 3.0
- */
-public boolean replaceItem(final String identifier, final IContributionItem replacementItem) {
-    if (identifier == null) {
-        return false;
-    }
-    
-    final int index = indexOf(identifier);
-    if (index < 0) {
-        return false; // couldn't find the item.
-    }
-    
-    // Remove the old item.
-	final IContributionItem oldItem = (IContributionItem) contributions.get(index);
-	itemRemoved(oldItem);
-	
-	// Add the new item.
-	contributions.set(index, replacementItem);
-	itemAdded(replacementItem); // throws NPE if (replacementItem == null)
-	
-	// Go through and remove duplicates.
-	for (int i = contributions.size() - 1; i > index; i--) {
-	    IContributionItem item = (IContributionItem) contributions.get(i);
-	    if ((item != null) && (identifier.equals(item.getId()))) {
-            if (Policy.TRACE_TOOLBAR) { //$NON-NLS-1$
-                System.out.println("Removing duplicate on replace: " + identifier); //$NON-NLS-1$
-            }
-	        contributions.remove(i);
-	        itemRemoved(item);
-	    }
-	}
-	
-	return true; // success
-}
-
-/**
- * Sets whether this manager is dirty. When dirty, the list of contributions 
- * is not accurately reflected in the corresponding widgets.
- *
- * @param dirty <code>true</code> if this manager is dirty, and <code>false</code>
- *   if it is up-to-date
- */
-protected void setDirty(boolean dirty) {
-	isDirty = dirty;
-}
-/**
- * Sets the overrides for this contribution manager
- * 
- * @param newOverrides the overrides for the items of this manager
- * @since 2.0
- */
-public void setOverrides(IContributionManagerOverrides newOverrides) {
-	overrides = newOverrides;
-}
-
-/**
- * An internal method for setting the order of the contribution items.
- * 
- * @param items the contribution items in the specified order
- * @since 3.0
- */
-protected void internalSetItems(IContributionItem[] items) {
-	contributions.clear();
-	for (int i=0; i < items.length; i++) {
-	    if (allowItem(items[i])) {
-	        contributions.add(items[i]);
-	    }
-	}
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/ControlContribution.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/action/ControlContribution.java
deleted file mode 100644
index 1d33e9c..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/ControlContribution.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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.action;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.*;
-
-/**
- * An abstract contribution item implementation for adding an arbitrary 
- * SWT control to a tool bar. 
- * Note, however, that these items cannot be contributed to menu bars.
- * <p>
- * The <code>createControl</code> framework method must be implemented
- * by concrete subclasses.
- * </p>
- */
-public abstract class ControlContribution extends ContributionItem {
-/**
- * Creates a control contribution item with the given id.
- *
- * @param id the contribution item id
- */
-protected ControlContribution(String id) {
-	super(id);
-}
-/**
- * Computes the width of the given control which is being added
- * to a tool bar.  This is needed to determine the width of the tool bar item
- * containing the given control.
- * <p>
- * The default implementation of this framework method returns 
- * <code>control.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x</code>.
- * Subclasses may override if required.
- * </p>
- *
- * @param control the control being added
- * @return the width of the control
- */
-protected int computeWidth(Control control) {
-	return control.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x;
-}
-/**
- * Creates and returns the control for this contribution item
- * 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 abstract Control createControl(Composite parent);
-/**
- * The control item implementation of this <code>IContributionItem</code>
- * method calls the <code>createControl</code> framework method.
- * Subclasses must implement <code>createControl</code> rather than
- * overriding this method.
- */
-public final void fill(Composite parent) {
-	createControl(parent);
-}
-/**
- * The control item implementation of this <code>IContributionItem</code>
- * method throws an exception since controls cannot be added to menus.
- */
-public final void fill(Menu parent, int index) {
-	Assert.isTrue(false, "Can't add a control to a menu");//$NON-NLS-1$
-}
-/**
- * The control item implementation of this <code>IContributionItem</code>
- * method calls the <code>createControl</code> framework method to
- * create a control under the given parent, and then creates
- * a new tool item to hold it.
- * Subclasses must implement <code>createControl</code> rather than
- * overriding this method.
- */
-public final void fill(ToolBar parent, int index) {
-	Control control = createControl(parent);
-	ToolItem ti = new ToolItem(parent, SWT.SEPARATOR, index);
-	ti.setControl(control);	
-	ti.setWidth(computeWidth(control));
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/CoolBarManager.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/action/CoolBarManager.java
deleted file mode 100644
index a99daf7..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/CoolBarManager.java
+++ /dev/null
@@ -1,1014 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.action;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.util.Policy;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.CoolBar;
-import org.eclipse.swt.widgets.CoolItem;
-import org.eclipse.swt.widgets.Menu;
-
-/**
- * A cool bar manager is a contribution manager which realizes itself and its
- * items in a cool bar control.
- * <p>
- * This class may be instantiated; it may also be subclassed.
- * </p>
- * 
- * @since 3.0
- */
-public class CoolBarManager extends ContributionManager implements
-        ICoolBarManager {
-
-    /**
-     * A separator created by the end user.
-     */
-    public final static String USER_SEPARATOR = "UserSeparator"; //$NON-NLS-1$
-
-    /**
-     * The original creation order of the contribution items.
-     */
-    private ArrayList cbItemsCreationOrder = new ArrayList();
-
-    /**
-     * MenuManager for cool bar pop-up menu, or null if none.
-     */
-    private MenuManager contextMenuManager = null;
-
-    /**
-     * The cool bar control; <code>null</code> before creation and after
-     * disposal.
-     */
-    private CoolBar coolBar = null;
-
-    /**
-     * The cool bar items style; <code>SWT.NONE</code> by default.
-     */
-    private int itemStyle = SWT.NONE;
-
-    /**
-     * Creates a new cool bar manager with the default style. Equivalent to
-     * <code>CoolBarManager(SWT.NONE)</code>.
-     */
-    public CoolBarManager() {
-        // do nothing
-    }
-
-    /**
-     * Creates a cool bar manager for an existing cool bar control. This
-     * manager becomes responsible for the control, and will dispose of it when
-     * the manager is disposed.
-     * 
-     * @param coolBar
-     *            the cool bar control
-     */
-    public CoolBarManager(CoolBar coolBar) {
-        this();
-        Assert.isNotNull(coolBar);
-        this.coolBar = coolBar;
-        itemStyle = coolBar.getStyle();
-    }
-
-    /**
-     * Creates a cool bar manager with the given SWT style. Calling <code>createControl</code>
-     * will create the cool bar control.
-     * 
-     * @param style
-     *            the cool bar item style; see
-     *            {@link org.eclipse.swt.widgets.CoolBar CoolBar}for for valid
-     *            style bits
-     */
-    public CoolBarManager(int style) {
-        itemStyle = style;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.action.ICoolBarManager#add(org.eclipse.jface.action.IToolBarManager)
-     */
-    public void add(IToolBarManager toolBarManager) {
-        Assert.isNotNull(toolBarManager);
-        super.add(new ToolBarContributionItem(toolBarManager));
-    }
-
-    /**
-     * Collapses consecutive separators and removes a separator from the
-     * beginning and end of the list.
-     * 
-     * @param contributionList
-     *            the list of contributions; must not be <code>null</code>.
-     * @return The contribution list provided with extraneous separators
-     *         removed; this value is never <code>null</code>, but may be
-     *         empty.
-     */
-    private ArrayList adjustContributionList(ArrayList contributionList) {
-        IContributionItem item;
-        // Fist remove a separator if it is the first element of the list
-        if (contributionList.size() != 0) {
-            item = (IContributionItem) contributionList.get(0);
-            if (item.isSeparator()) {
-                contributionList.remove(0);
-            }
-
-            ListIterator iterator = contributionList.listIterator();
-            // collapse consecutive separators
-            while (iterator.hasNext()) {
-                item = (IContributionItem) iterator.next();
-                if (item.isSeparator()) {
-                    while (iterator.hasNext()) {
-                        item = (IContributionItem) iterator.next();
-                        if (item.isSeparator()) {
-                            iterator.remove();
-                        } else {
-                            break;
-                        }
-                    }
-
-                }
-            }
-            // Now check last element to see if there is a separator
-            item = (IContributionItem) contributionList.get(contributionList
-                    .size() - 1);
-            if (item.isSeparator()) {
-                contributionList.remove(contributionList.size() - 1);
-            }
-        }
-        return contributionList;
-
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.action.ContributionManager#checkDuplication(org.eclipse.jface.action.IContributionItem)
-     */
-    protected boolean allowItem(IContributionItem itemToAdd) {
-        /* We will allow as many null entries as they like, though there should
-         * be none.
-         */
-        if (itemToAdd == null) {
-            return true;
-        }
-        
-        /* Null identifiers can be expected in generic contribution items.
-         */
-        String firstId = itemToAdd.getId();
-        if (firstId == null) {
-            return true;
-        }
-        
-        // Cycle through the current list looking for duplicates.
-        IContributionItem[] currentItems = getItems();
-        for (int i = 0; i < currentItems.length; i++) {
-            IContributionItem currentItem = currentItems[i];
-            
-            // We ignore null entries.
-            if (currentItem == null) {
-                continue;
-            }
-            
-            String secondId = currentItem.getId();
-            if (firstId.equals(secondId)) {
-                if (Policy.TRACE_TOOLBAR) { //$NON-NLS-1$
-                    System.out.println("Trying to add a duplicate item."); //$NON-NLS-1$
-                    new Exception().printStackTrace(System.out);
-                    System.out.println("DONE --------------------------"); //$NON-NLS-1$
-                }
-                return false;
-            }
-        }
-        
-        return true;
-    }
-
-    /**
-     * Positions the list iterator to the end of all the separators. Calling
-     * <code>next()</code> the iterator should return the immediate object
-     * following the last separator.
-     * 
-     * @param iterator
-     *            the list iterator.
-     */
-    private void collapseSeparators(ListIterator iterator) {
-
-        while (iterator.hasNext()) {
-            IContributionItem item = (IContributionItem) iterator.next();
-            if (!item.isSeparator()) {
-                iterator.previous();
-                return;
-            }
-        }
-    }
-
-    /**
-     * Returns whether the cool bar control has been created and not yet
-     * disposed.
-     * 
-     * @return <code>true</code> if the control has been created and not yet
-     *         disposed, <code>false</code> otherwise
-     */
-    private boolean coolBarExist() {
-        return coolBar != null && !coolBar.isDisposed();
-    }
-
-    /**
-     * Creates and returns this manager's cool bar control. Does not create a
-     * new control if one already exists.
-     * 
-     * @param parent
-     *            the parent control
-     * @return the cool bar control
-     */
-    public CoolBar createControl(Composite parent) {
-        Assert.isNotNull(parent);
-        if (!coolBarExist()) {
-            coolBar = new CoolBar(parent, itemStyle);
-            coolBar.setMenu(getContextMenuControl());
-            coolBar.setLocked(false);
-            update(false);
-        }
-        return coolBar;
-    }
-
-    /**
-     * Disposes of this cool bar manager and frees all allocated SWT resources.
-     * Notifies all contribution items of the dispose. Note that this method
-     * does not clean up references between this cool bar manager and its
-     * associated contribution items. Use <code>removeAll</code> for that
-     * purpose.
-     */
-    public void dispose() {
-        if (coolBarExist()) {
-            IContributionItem[] items = getItems();
-            for (int i = 0; i < items.length; i++) {
-                // Disposes of the contribution item.
-                // If Contribution Item is a toolbar then it will dispose of
-                // all the nested
-                // contribution items.
-                items[i].dispose();
-            }
-            coolBar.dispose();
-            coolBar = null;
-        }
-        // If a context menu existed then dispose of it.
-        if (contextMenuManager != null) {
-            contextMenuManager.dispose();
-            contextMenuManager = null;
-        }
-
-    }
-
-    /**
-     * Disposes the given cool item.
-     * 
-     * @param item
-     *            the cool item to dispose
-     */
-    private void dispose(CoolItem item) {
-        if ((item != null) && !item.isDisposed()) {
-
-            item.setData(null);
-            Control control = item.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()) {
-                item.setControl(null);
-            }
-            item.dispose();
-        }
-    }
-
-    /**
-     * Finds the cool item associated with the given contribution item.
-     * 
-     * @param item
-     *            the contribution item
-     * @return the associated cool item, or <code>null</code> if not found
-     */
-    private CoolItem findCoolItem(IContributionItem item) {
-        if (coolBar == null) return null;
-        CoolItem[] items = coolBar.getItems();
-        for (int i = 0; i < items.length; i++) {
-            CoolItem coolItem = items[i];
-            IContributionItem data = (IContributionItem) coolItem.getData();
-            if (data != null && data.equals(item)) return coolItem;
-        }
-        return null;
-    }
-
-    /**
-     * 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.
-     * 
-     * @param wraps
-     *            the wrap indicies from the cool bar widget
-     * @return the adjusted wrap indicies.
-     */
-    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;
-    }
-
-    /**
-     * Returns the control of the Menu Manager. If the menu manager does not
-     * have a control then one is created.
-     * 
-     * @return menu control associated with manager, or null if none
-     */
-    private Menu getContextMenuControl() {
-        if ((contextMenuManager != null) && (coolBar != null)) {
-            Menu menuWidget = contextMenuManager.getMenu();
-            if ((menuWidget == null) || (menuWidget.isDisposed())) {
-                menuWidget = contextMenuManager.createContextMenu(coolBar);
-            }
-            return menuWidget;
-        }
-        return null;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.action.ICoolBarManager#isLayoutLocked()
-     */
-    public IMenuManager getContextMenuManager() {
-        return contextMenuManager;
-    }
-
-    /**
-     * Returns the cool bar control for this manager.
-     * 
-     * @return the cool bar control, or <code>null</code> if none
-     */
-    public CoolBar getControl() {
-        return coolBar;
-    }
-
-    /**
-     * Returns an array list of all the contribution items in the manager.
-     * 
-     * @return an array list of contribution items.
-     */
-    private ArrayList getItemList() {
-        IContributionItem[] cbItems = getItems();
-        ArrayList list = new ArrayList(cbItems.length);
-        for (int i = 0; i < cbItems.length; i++) {
-            list.add(cbItems[i]);
-        }
-        return list;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.action.ICoolBarManager#isLayoutLocked()
-     */
-    public boolean getLockLayout() {
-        if (!coolBarExist()) { return false; }
-        return coolBar.getLocked();
-    }
-
-    /**
-     * Returns the number of rows that should be displayed visually.
-     * 
-     * @param items
-     *            the array of contributin items
-     * @return the number of rows
-     */
-    private int getNumRows(IContributionItem[] items) {
-        int numRows = 1;
-        boolean separatorFound = false;
-        for (int i = 0; i < items.length; i++) {
-            if (items[i].isSeparator()) {
-                separatorFound = true;
-            }
-            if ((separatorFound) && (items[i].isVisible())
-                    && (!items[i].isGroupMarker()) && (!items[i].isSeparator())) {
-                numRows++;
-                separatorFound = false;
-            }
-        }
-        return numRows;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.action.ICoolBarManager#getStyle()
-     */
-    public int getStyle() {
-        return itemStyle;
-    }
-
-    /**
-     * Subclasses may extend this <code>ContributionManager</code> method,
-     * but must call <code>super.itemAdded</code>.
-     * 
-     * @see org.eclipse.jface.action.ContributionManager#itemAdded(org.eclipse.jface.action.IContributionItem)
-     */
-    protected void itemAdded(IContributionItem item) {
-        Assert.isNotNull(item);
-        super.itemAdded(item);
-        int insertedAt = indexOf(item);
-        boolean replaced = false;
-        final int size = cbItemsCreationOrder.size();
-        for (int i = 0; i < size; i++) {
-            IContributionItem created = (IContributionItem) cbItemsCreationOrder
-                    .get(i);
-            if (created.getId() != null && created.getId().equals(item.getId())) {
-                cbItemsCreationOrder.set(i, item);
-                replaced = true;
-                break;
-            }
-        }
-
-        if (!replaced) {
-            cbItemsCreationOrder.add(Math.min(Math.max(insertedAt, 0),
-                    cbItemsCreationOrder.size()), item);
-        }
-    }
-
-    /**
-     * Subclasses may extend this <code>ContributionManager</code> method,
-     * but must call <code>super.itemRemoved</code>.
-     * 
-     * @see org.eclipse.jface.action.ContributionManager#itemRemoved(org.eclipse.jface.action.IContributionItem)
-     */
-    protected void itemRemoved(IContributionItem item) {
-        Assert.isNotNull(item);
-        super.itemRemoved(item);
-        CoolItem coolItem = findCoolItem(item);
-        if (coolItem != null) {
-            coolItem.setData(null);
-        }
-    }
-
-    /**
-     * Positions the list iterator to the starting of the next row. By calling
-     * next on the returned iterator, it will return the first element of the
-     * next row.
-     * 
-     * @param iterator
-     *            the list iterator of contribution items
-     * @param ignoreCurrentItem
-     *            Whether the current item in the iterator should be considered
-     *            (as well as subsequent items).
-     */
-    private void nextRow(ListIterator iterator, boolean ignoreCurrentItem) {
-
-        IContributionItem currentElement = null;
-        if (!ignoreCurrentItem && iterator.hasPrevious()) {
-            currentElement = (IContributionItem) iterator.previous();
-            iterator.next();
-        }
-
-        if ((currentElement != null) && (currentElement.isSeparator())) {
-            collapseSeparators(iterator);
-            return;
-        } else {
-            //Find next separator
-            while (iterator.hasNext()) {
-                IContributionItem item = (IContributionItem) iterator.next();
-                if (item.isSeparator()) {
-                    // we we find a separator, collapse any consecutive
-                    // separators
-                    // and return
-                    collapseSeparators(iterator);
-                    return;
-                }
-            }
-        }
-    }
-
-    /*
-     * Used for debuging. Prints all the items in the internal structures.
-     */
-//    private void printContributions(ArrayList contributionList) {
-//        int index = 0;
-//        System.out.println("----------------------------------\n"); //$NON-NLS-1$
-//        for (Iterator i = contributionList.iterator(); i.hasNext(); index++) {
-//            IContributionItem item = (IContributionItem) i.next();
-//            if (item.isSeparator()) {
-//                System.out.println("Separator"); //$NON-NLS-1$
-//            } else {
-//                System.out.println(index + ". Item id: " + item.getId() //$NON-NLS-1$
-//                        + " - is Visible: " //$NON-NLS-1$
-//                        + item.isVisible());
-//            }
-//        }
-//    }
-
-    /**
-     * Synchronizes the visual order of the cool items in the control with this
-     * manager's internal data structures. This method should be called before
-     * requesting the order of the contribution items to ensure that the order
-     * is accurate.
-     * <p>
-     * Note that <code>update()</code> and <code>refresh()</code> are
-     * converses: <code>update()</code> changes the visual order to match the
-     * internal structures, and <code>refresh</code> changes the internal
-     * structures to match the visual order.
-     * </p>
-     */
-    public void refresh() {
-        if (!coolBarExist()) {
-            return;
-        }
-        
-        // Retreives the list of contribution items as an array list
-        ArrayList contributionList = getItemList();
-
-        // Check the size of the list
-        if (contributionList.size() == 0) return;
-
-        // The list of all the cool items in their visual order
-        CoolItem[] coolItems = coolBar.getItems();
-        // The wrap indicies of the coolbar
-        int[] wrapIndicies = getAdjustedWrapIndices(coolBar.getWrapIndices());
-
-        int row = 0;
-        int coolItemIndex = 0;
-
-        // Traverse through all cool items in the coolbar add them to a new
-        // data structure
-        // in the correct order
-        ArrayList displayedItems = new ArrayList(coolBar.getItemCount());
-        for (int i = 0; i < coolItems.length; i++) {
-            CoolItem coolItem = coolItems[i];
-            if (coolItem.getData() instanceof IContributionItem) {
-                IContributionItem cbItem = (IContributionItem) coolItem
-                        .getData();
-                displayedItems.add(Math.min(i, displayedItems.size()), cbItem);
-            }
-        }
-
-        // Add separators to the displayed Items data structure
-        int offset = 0;
-        for (int i = 1; i < wrapIndicies.length; i++) {
-            int insertAt = wrapIndicies[i] + offset;
-            displayedItems.add(insertAt, new Separator(USER_SEPARATOR));
-            offset++;
-        }
-
-        // Determine which rows are invisible
-        ArrayList existingVisibleRows = new ArrayList(4);
-        ListIterator rowIterator = contributionList.listIterator();
-        collapseSeparators(rowIterator);
-        int numRow = 0;
-        while (rowIterator.hasNext()) {
-            // Scan row
-            while (rowIterator.hasNext()) {
-                IContributionItem cbItem = (IContributionItem) rowIterator
-                        .next();
-                if (displayedItems.contains(cbItem)) {
-                    existingVisibleRows.add(new Integer(numRow));
-                    break;
-                }
-                if (cbItem.isSeparator()) {
-                    break;
-                }
-            }
-            nextRow(rowIterator, false);
-            numRow++;
-        }
-
-        Iterator existingRows = existingVisibleRows.iterator();
-        // Adjust row number to the first visible
-        if (existingRows.hasNext()) {
-            row = ((Integer) existingRows.next()).intValue();
-        }
-
-        HashMap itemLocation = new HashMap();
-        for (ListIterator locationIterator = displayedItems.listIterator(); locationIterator
-                .hasNext();) {
-            IContributionItem item = (IContributionItem) locationIterator
-                    .next();
-            if (item.isSeparator()) {
-                if (existingRows.hasNext()) {
-                    Integer value = (Integer) existingRows.next();
-                    row = value.intValue();
-                } else {
-                    row++;
-                }
-            } else {
-                itemLocation.put(item, new Integer(row));
-            }
-
-        }
-
-        // Insert the contribution items in their correct location
-        for (ListIterator iterator = displayedItems.listIterator(); iterator
-                .hasNext();) {
-            IContributionItem cbItem = (IContributionItem) iterator.next();
-            if (cbItem.isSeparator()) {
-                coolItemIndex = 0;
-            } else {
-                relocate(cbItem, coolItemIndex, contributionList, itemLocation);
-                cbItem.saveWidgetState();
-                coolItemIndex++;
-            }
-        }
-
-        if (contributionList.size() != 0) {
-            contributionList = adjustContributionList(contributionList);
-            IContributionItem[] array = new IContributionItem[contributionList
-                    .size() - 1];
-            array = (IContributionItem[]) contributionList.toArray(array);
-            internalSetItems(array);
-        }
-
-    }
-
-    /**
-     * Relocates the given contribution item to the specified index.
-     * 
-     * @param cbItem
-     *            the conribution item to relocate
-     * @param index
-     *            the index to locate this item
-     * @param contributionList
-     *            the current list of conrtributions
-     * @param itemLocation
-     */
-    private void relocate(IContributionItem cbItem, int index,
-            ArrayList contributionList, HashMap itemLocation) {
-
-        if (!(itemLocation.get(cbItem) instanceof Integer)) return;
-        int targetRow = ((Integer) itemLocation.get(cbItem)).intValue();
-
-        int cbInternalIndex = contributionList.indexOf(cbItem);
-
-        //	by default add to end of list
-        int insertAt = contributionList.size();
-        // Find the row to place this item in.
-        ListIterator iterator = contributionList.listIterator();
-        // bypass any separators at the begining
-        collapseSeparators(iterator);
-        int currentRow = -1;
-        while (iterator.hasNext()) {
-
-            currentRow++;
-            if (currentRow == targetRow) {
-                // We found the row to insert the item
-                int virtualIndex = 0;
-                insertAt = iterator.nextIndex();
-                // first check the position of the current element (item)
-                // then get the next element
-                while (iterator.hasNext()) {
-                    IContributionItem item = (IContributionItem) iterator
-                            .next();
-                    Integer itemRow = (Integer) itemLocation.get(item);
-                    if (item.isSeparator()) break;
-                    // if the item has an associate widget
-                    if ((itemRow != null) && (itemRow.intValue() == targetRow)) {
-                        // if the next element is the index we are looking for
-                        // then break
-                        if (virtualIndex >= index) break;
-                        virtualIndex++;
-
-                    }
-                    insertAt++;
-                }
-                // If we don't need to move it then we return
-                if (cbInternalIndex == insertAt) return;
-                break;
-            }
-            nextRow(iterator, true);
-        }
-        contributionList.remove(cbItem);
-
-        // Adjust insertAt index
-        if (cbInternalIndex < insertAt) {
-            insertAt--;
-        }
-
-        // if we didn't find the row then add a new row
-        if (currentRow != targetRow) {
-            contributionList.add(new Separator(USER_SEPARATOR));
-            insertAt = contributionList.size();
-        }
-        insertAt = Math.min(insertAt, contributionList.size());
-        contributionList.add(insertAt, cbItem);
-
-    }
-
-    /**
-     * Restores the canonical order of this cool bar manager. The canonical
-     * order is the order in which the contribution items where added.
-     */
-    public void resetItemOrder() {
-        for (ListIterator iterator = cbItemsCreationOrder.listIterator(); iterator
-                .hasNext();) {
-            IContributionItem item = (IContributionItem) iterator.next();
-            // if its a user separator then do not include in original order.
-            if ((item.getId() != null) && (item.getId().equals(USER_SEPARATOR))) {
-                iterator.remove();
-            }
-        }
-        IContributionItem[] itemsToSet = new IContributionItem[cbItemsCreationOrder.size()];
-        cbItemsCreationOrder.toArray(itemsToSet);
-        setItems(itemsToSet);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.action.ICoolBarManager#setContextMenuManager(org.eclipse.jface.action.IMenuManager)
-     */
-    public void setContextMenuManager(IMenuManager contextMenuManager) {
-        this.contextMenuManager = (MenuManager) contextMenuManager;
-        if (coolBar != null) {
-            coolBar.setMenu(getContextMenuControl());
-        }
-    }
-
-    /**
-     * Replaces the current items with the given items.
-     * Forces an update.
-     * 
-     * @param newItems the items with which to replace the current items
-     */
-    public void setItems(IContributionItem[] newItems) {
-        // dispose of all the cool items on the cool bar manager
-        if (coolBar != null) {
-            CoolItem[] coolItems = coolBar.getItems();
-            for (int i = 0; i < coolItems.length; i++) {
-                dispose(coolItems[i]);
-            }
-        }
-        // Set the internal structure to this order
-        internalSetItems(newItems);
-        // Force and update
-        update(true);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.action.ICoolBarManager#lockLayout(boolean)
-     */
-    public void setLockLayout(boolean value) {
-        if (!coolBarExist()) { return; }
-        coolBar.setLocked(value);
-    }
-
-    /**
-     * Subclasses may extend this <code>IContributionManager</code> method,
-     * but must call <code>super.update</code>.
-     * 
-     * @see org.eclipse.jface.action.IContributionManager#update(boolean)
-     */
-    public void update(boolean force) {
-        if ((!isDirty() && !force) || (!coolBarExist())) { return; }
-
-        boolean relock = false;
-        boolean changed = false;
-
-        try {
-            coolBar.setRedraw(false);
-
-            // Refresh the widget data with the internal data structure.
-            refresh();
-
-            if (coolBar.getLocked()) {
-                coolBar.setLocked(false);
-                relock = true;
-            }
-
-            /*
-             * Make a list of items including only those items that are
-             * visible. Separators should stay because they mark line breaks in
-             * a cool bar.
-             */
-            final IContributionItem[] items = getItems();
-            final List visibleItems = new ArrayList(items.length);
-            for (int i = 0; i < items.length; i++) {
-                final IContributionItem item = items[i];
-                if (item.isVisible()) {
-                    visibleItems.add(item);
-                }
-            }
-
-            /*
-             * Make a list of CoolItem widgets in the cool bar for which there
-             * is no current visible contribution item. These are the widgets
-             * to be disposed. Dynamic items are also removed.
-             */
-            CoolItem[] coolItems = coolBar.getItems();
-            final ArrayList coolItemsToRemove = new ArrayList(coolItems.length);
-            for (int i = 0; i < coolItems.length; i++) {
-                final Object data = coolItems[i].getData();
-                if ((data == null)
-                        || (!visibleItems.contains(data))
-                        || ((data instanceof IContributionItem) && ((IContributionItem) data)
-                                .isDynamic())) {
-                    coolItemsToRemove.add(coolItems[i]);
-                }
-            }
-
-            // Dispose of any items in the list to be removed.
-            for (int i = coolItemsToRemove.size() - 1; i >= 0; i--) {
-                CoolItem coolItem = (CoolItem) coolItemsToRemove.get(i);
-                if (!coolItem.isDisposed()) {
-                    Control control = coolItem.getControl();
-                    if (control != null) {
-                        coolItem.setControl(null);
-                        control.dispose();
-                    }
-                    coolItem.dispose();
-                }
-            }
-
-            // Add any new items by telling them to fill.
-            coolItems = coolBar.getItems();
-            IContributionItem sourceItem;
-            IContributionItem destinationItem;
-            int sourceIndex = 0;
-            int destinationIndex = 0;
-            final Iterator visibleItemItr = visibleItems.iterator();
-            while (visibleItemItr.hasNext()) {
-                sourceItem = (IContributionItem) visibleItemItr.next();
-
-                // Retrieve the corresponding contribution item from SWT's
-                // data.
-                if (sourceIndex < coolItems.length) {
-                    destinationItem = (IContributionItem) coolItems[sourceIndex]
-                            .getData();
-                } else {
-                    destinationItem = null;
-                }
-
-                // The items match is they are equal or both separators.
-                if (destinationItem != null) {
-                    if (sourceItem.equals(destinationItem)) {
-                        sourceIndex++;
-                        destinationIndex++;
-                        sourceItem.update();
-                        continue;
-
-                    } else if ((destinationItem.isSeparator())
-                            && (sourceItem.isSeparator())) {
-                        coolItems[sourceIndex].setData(sourceItem);
-                        sourceIndex++;
-                        destinationIndex++;
-                        sourceItem.update();
-                        continue;
-
-                    }
-                }
-
-                // Otherwise, a new item has to be added.
-                final int start = coolBar.getItemCount();
-                sourceItem.fill(coolBar, destinationIndex);
-                final int newItems = coolBar.getItemCount() - start;
-                for (int i = 0; i < newItems; i++) {
-                    coolBar.getItem(destinationIndex++).setData(sourceItem);
-                }
-                changed = true;
-            }
-
-            // Remove any old widgets not accounted for.
-            for (int i = coolItems.length - 1; i >= sourceIndex; i--) {
-                final CoolItem item = coolItems[i];
-                if (!item.isDisposed()) {
-                    Control control = item.getControl();
-                    if (control != null) {
-                        item.setControl(null);
-                        control.dispose();
-                    }
-                    item.dispose();
-                    changed = true;
-                }
-            }
-
-            // Update wrap indices.
-            updateWrapIndices();
-
-            // Update the sizes.
-            for (int i = 0; i < items.length; i++) {
-                IContributionItem item = items[i];
-                item.update(SIZE);
-            }
-
-            // if the coolBar was previously locked then lock it
-            if (relock) {
-                coolBar.setLocked(true);
-            }
-
-            if (changed) {
-                updateTabOrder();
-            }
-
-            // We are no longer dirty.
-            setDirty(false);
-        } finally {
-            coolBar.setRedraw(true);
-        }
-    }
-
-    /**
-     * Sets the tab order of the coolbar to the visual order of its items.
-     */
-    /* package */void updateTabOrder() {
-        if (coolBar != null) {
-            CoolItem[] items = coolBar.getItems();
-            if (items != null) {
-                ArrayList children = new ArrayList(items.length);
-                for (int i = 0; i < items.length; i++) {
-                    if ((items[i].getControl() != null)
-                            && (!items[i].getControl().isDisposed())) {
-                        children.add(items[i].getControl());
-                    }
-                }
-                // Convert array
-                Control[] childrenArray = new Control[0];
-                childrenArray = (Control[]) children.toArray(childrenArray);
-
-                if (childrenArray != null) {
-                    coolBar.setTabList(childrenArray);
-                }
-
-            }
-        }
-    }
-
-    /**
-     * Updates the indices at which the cool bar should wrap.
-     */
-    private void updateWrapIndices() {
-        final IContributionItem[] items = getItems();
-        final int numRows = getNumRows(items) - 1;
-
-        // Generate the list of wrap indices.
-        final int[] wrapIndices = new int[numRows];
-        boolean foundSeparator = false;
-        int j = 0;
-        for (int i = 0; i < items.length; i++) {
-            IContributionItem item = items[i];
-            CoolItem coolItem = findCoolItem(item);
-            if (item.isSeparator()) {
-                foundSeparator = true;
-            }
-            if ((!item.isSeparator()) && (!item.isGroupMarker())
-                    && (item.isVisible()) && (coolItem != null)
-                    && (foundSeparator)) {
-                wrapIndices[j] = coolBar.indexOf(coolItem);
-                j++;
-                foundSeparator = false;
-            }
-        }
-
-        /*
-         * Check to see if these new wrap indices are different than the old
-         * ones.
-         */
-        final int[] oldIndices = coolBar.getWrapIndices();
-        boolean shouldUpdate = false;
-        if (oldIndices.length == wrapIndices.length) {
-            for (int i = 0; i < oldIndices.length; i++) {
-                if (oldIndices[i] != wrapIndices[i]) {
-                    shouldUpdate = true;
-                    break;
-                }
-            }
-        } else {
-            shouldUpdate = true;
-        }
-
-        if (shouldUpdate) {
-            coolBar.setWrapIndices(wrapIndices);
-        }
-    }
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/ExternalActionManager.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/action/ExternalActionManager.java
deleted file mode 100644
index 90430e4..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/ExternalActionManager.java
+++ /dev/null
@@ -1,188 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.action;
-
-import org.eclipse.jface.util.IPropertyChangeListener;
-
-/**
- * <p>
- * A manager for a callback facility which is capable of querying external
- * interfaces for additional information about actions and action contribution
- * items. This information typically includes things like accelerators and
- * textual representations.
- * </p>
- * <p>
- * For example, in the Eclipse workbench, this mechanism is used to allow the
- * command architecture to override certain values in action contribution items.
- * </p>
- * <p>
- * This class is not intended to be called or extended by any external clients.
- * This API is still under flux, and is expected to change in 3.1.
- * </p>
- * 
- * @since 3.0
- */
-public final class ExternalActionManager {
-
-    /**
-     * A callback mechanism for some external tool to communicate extra
-     * information to actions and action contribution items.
-     * 
-     * @since 3.0
-     */
-    public static interface ICallback {
-
-        /**
-         * <p>
-         * Adds a listener to the object referenced by <code>identifier</code>.
-         * This listener will be notified if a property of the item is to be
-         * changed. This identifier is specific to mechanism being used. In the
-         * case of the Eclipse workbench, this is the command identifier.
-         * </p>
-         * <p>
-         * A single instance of the listener may only ever be associated with
-         * one identifier. Attempts to add the listener twice (without a removal
-         * inbetween) has undefined behaviour.
-         * </p>
-         * 
-         * @param identifier
-         *            The identifier of the item to which the listener should be
-         *            attached; must not be <code>null</code>.
-         * @param listener
-         *            The listener to be added; must not be <code>null</code>.
-         */
-        public void addPropertyChangeListener(String identifier,
-                IPropertyChangeListener listener);
-
-        /**
-         * An accessor for the accelerator associated with the item indicated by
-         * the identifier. This identifier is specific to mechanism being used.
-         * In the case of the Eclipse workbench, this is the command identifier.
-         * 
-         * @param identifier
-         *            The identifier of the item from which the accelerator
-         *            should be obtained ; must not be <code>null</code>.
-         * @return An integer representation of the accelerator. This is the
-         *         same accelerator format used by SWT.
-         */
-        public Integer getAccelerator(String identifier);
-
-        /**
-         * An accessor for the accelerator text associated with the item
-         * indicated by the identifier. This identifier is specific to mechanism
-         * being used. In the case of the Eclipse workbench, this is the command
-         * identifier.
-         * 
-         * @param identifier
-         *            The identifier of the item from which the accelerator text
-         *            should be obtained ; must not be <code>null</code>.
-         * @return A string representation of the accelerator. This is the
-         *         string representation that should be displayed to the user.
-         */
-        public String getAcceleratorText(String identifier);
-
-        /**
-         * Checks to see whether the given accelerator is being used by some
-         * other mechanism (outside of the menus controlled by JFace). This is
-         * used to keep JFace from trying to grab accelerators away from someone
-         * else.
-         * 
-         * @param accelerator
-         *            The accelerator to check -- in SWT's internal accelerator
-         *            format.
-         * @return <code>true</code> if the accelerator is already being used
-         *         and shouldn't be used again; <code>false</code> otherwise.
-         */
-        public boolean isAcceleratorInUse(int accelerator);
-
-        /**
-         * Checks whether the item matching this identifier is active. This is
-         * used to decide whether a contribution item with this identifier
-         * should be made visible. An inactive item is not visible.
-         * 
-         * @param identifier
-         *            The identifier of the item from which the active state
-         *            should be retrieved; must not be <code>null</code>.
-         * @return <code>true</code> if the item is active; <code>false</code>
-         *         otherwise.
-         */
-        public boolean isActive(String identifier);
-
-        /**
-         * Removes a listener from the object referenced by
-         * <code>identifier</code>. This identifier is specific to mechanism
-         * being used. In the case of the Eclipse workbench, this is the command
-         * identifier.
-         * 
-         * @param identifier
-         *            The identifier of the item to from the listener should be
-         *            removed; must not be <code>null</code>.
-         * @param listener
-         *            The listener to be removed; must not be <code>null</code>.
-         */
-        public void removePropertyChangeListener(String identifier,
-                IPropertyChangeListener listener);
-    }
-
-    /**
-     * The singleton instance of this class. This value may be <code>null</code>--
-     * if it has not yet been initialized.
-     */
-    private static ExternalActionManager instance;
-
-    /**
-     * Retrieves the current singleton instance of this class.
-     * 
-     * @return The singleton instance; this value is never <code>null</code>.
-     */
-    public static ExternalActionManager getInstance() {
-        if (instance == null) instance = new ExternalActionManager();
-
-        return instance;
-    }
-
-    /**
-     * The callback mechanism to use to retrieve extra information.
-     */
-    private ICallback callback;
-
-    /**
-     * Constructs a new instance of <code>ExternalActionManager</code>.
-     */
-    private ExternalActionManager() {
-        // This is a singleton class. Only this class should create an instance.
-    }
-
-    /**
-     * An accessor for the current call back.
-     * 
-     * @return The current callback mechanism being used. This is the callback
-     *         that should be queried for extra information about actions and
-     *         action contribution items. This value may be <code>null</code>
-     *         if there is no extra information.
-     */
-    public ICallback getCallback() {
-        return callback;
-    }
-
-    /**
-     * A mutator for the current call back
-     * 
-     * @param callbackToUse
-     *            The new callback mechanism to use; this value may be
-     *            <code>null</code> if the default is acceptable (i.e., no
-     *            extra information will provided to actions).
-     */
-    public void setCallback(ICallback callbackToUse) {
-        callback = callbackToUse;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/GroupMarker.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/action/GroupMarker.java
deleted file mode 100644
index d3cb0f5..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/GroupMarker.java
+++ /dev/null
@@ -1,43 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.action;
-
-
-/**
- * A group marker is a special kind of contribution item denoting
- * the beginning of a group. These groups are used to structure
- * the list of items. Unlike regular contribution items and
- * separators, group markers have no visual representation.
- * The name of the group is synonymous with the contribution item id.
- * <p>
- * This class may be instantiated; it is not intended to be 
- * subclassed outside the framework.
- * </p>
- */
-public class GroupMarker extends AbstractGroupMarker {
-/**
- * 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.
- * 
- * @param groupName the name of the group
- */
-public GroupMarker(String groupName) {
-	super(groupName);
-}
-/**
- * The <code>GroupMarker</code> implementation of this method
- * returns <code>false</code> since group markers are always invisible.
- */
-public boolean isVisible() {
-	return false;
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/IAction.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/action/IAction.java
deleted file mode 100644
index b6d24dc..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/IAction.java
+++ /dev/null
@@ -1,465 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.action;
-
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.swt.events.HelpListener;
-import org.eclipse.swt.widgets.Event;
-
-/**
- * An action represents the non-UI side of a command which can be triggered
- * by the end user. Actions are typically associated with buttons, menu items,
- * and items in tool bars. The controls for a command are built by some container,
- * which furnished the context where these controls appear and configures 
- * them with data from properties declared by the action. When the end user
- * triggers the command via its control, the action's <code>run</code>
- * method is invoked to do the real work.
- * <p>
- * Actions support a predefined set of properties (and possibly others as well).
- * Clients of an action may register property change listeners so that they get 
- * notified whenever the value of a property changes.
- * </p>
- * <p>
- * Clients should subclass the abstract base class <code>Action</code> to define 
- * concrete actions rather than implementing <code>IAction</code> from scratch.
- * </p>
- * <p>
- * This interface exists only to define the API for actions.
- * It is not intended to be implemented by clients.
- * </p>
- * 
- * @see Action
- */
-public interface IAction {
-
-	/**
-	 * Action style constant (value <code>0</code>) indicating action style 
-	 * is not specified yet. By default, the action will assume a push button
-	 * style. If <code>setChecked</code> is called, then the style will change
-	 * to a check box, or if <code>setMenuCreator</code> is called, then the
-	 * style will change to a drop down menu.
-	 * 
-	 * @since 2.1
-	 */
-	public static int AS_UNSPECIFIED = 0x00;
-
-	/**
-	 * Action style constant (value <code>1</code>) indicating action is 
-	 * a simple push button.
-	 */
-	public static int AS_PUSH_BUTTON = 0x01;
-
-	/**
-	 * Action style constant (value <code>2</code>) indicating action is 
-	 * a check box (or a toggle button).
-	 */
-	public static int AS_CHECK_BOX = 0x02;
-
-	/**
-	 * Action style constant (value <code>4</code>) indicating action is 
-	 * a drop down menu.
-	 */
-	public static int AS_DROP_DOWN_MENU = 0x04;
-
-	/**
-	 * Action style constant (value <code>8</code>) indicating action is 
-	 * a radio button.
-	 * 
-	 * @since 2.1
-	 */
-	public static int AS_RADIO_BUTTON = 0x08;
-
-	/**
-	 * Property name of an action's text (value <code>"text"</code>).
-	 */
-	public static final String TEXT= "text"; //$NON-NLS-1$
-	
-	
-	/**
-	 * Property name of an action's enabled state
-	 * (value <code>"enabled"</code>).
-	 */
-	public static final String ENABLED= "enabled"; //$NON-NLS-1$
-
-	
-	/**
-	 * Property name of an action's image (value <code>"image"</code>).
-	 */
-	public static final String IMAGE= "image"; //$NON-NLS-1$
-	
-	/**
-	 * Property name of an action's tooltip text (value <code>"toolTipText"</code>).
-	 */
-	public static final String TOOL_TIP_TEXT= "toolTipText"; //$NON-NLS-1$
-
-	
-	/**
-	 * Property name of an action's description (value <code>"description"</code>).
-	 * Typically the description is shown as a (longer) help text in the status line.
-	 */
-	public static final String DESCRIPTION= "description"; //$NON-NLS-1$
-	
-	/**
-	 * Property name of an action's checked status (value
-	 * <code>"checked"</code>). Applicable when the style is
-	 * <code>AS_CHECK_BOX</code> or <code>AS_RADIO_BUTTON</code>.
-	 */
-	public static final String CHECKED= "checked"; //$NON-NLS-1$
-
-	/**
-	 * Property name of an action's success/fail result
-	 * (value <code>"result"</code>). The values are
-	 * <code>Boolean.TRUE</code> if running the action succeeded and 
-	 * <code>Boolean.FALSE</code> if running the action failed or did not
-	 * complete.
-	 * <p>
-	 * Not all actions report whether they succeed or fail. This property
-	 * is provided for use by actions that may be invoked by clients that can
-	 * take advantage of this information when present (for example, actions
-	 * used in cheat sheets). Clients should always assume that running the
-	 * action succeeded in the absence of notification to the contrary. 
-	 * </p>
-	 * 
-	 * @since 3.0
-	 */
-	public static final String RESULT= "result"; //$NON-NLS-1$
-
-/**
- * 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);
-/**
- * Returns the accelerator keycode for this action.
- * The result is the bit-wise OR of zero or more modifier masks
- * and a key, as explained in <code>MenuItem.getAccelerator</code>.
- *
- * @return the accelerator keycode
- * @see org.eclipse.swt.widgets.MenuItem#getAccelerator()
- */
-public int getAccelerator();
-/**
- * Returns the action definition id of this action.
- * 
- * @return the action definition id of this action, or
- * <code>null</code> if none
- * @since 2.0
- */
-public String getActionDefinitionId();
-/**
- * Returns the action's description if it has one.
- * Otherwise it returns <code>getToolTipText()</code>.
- */
-public String getDescription();
-/**
- * Returns the disabled image for this action as an image descriptor.
- * <p>
- * This method is associated with the <code>IMAGE</code> property;
- * property change events are reported when its value changes.
- * </p>
- *
- * @return the image, or <code>null</code> if this action has no image
- * @see #IMAGE
- */
-public ImageDescriptor getDisabledImageDescriptor();
-/**
- * Returns a help listener for this action. 
- *
- * @return a help listener for this action
- */
-public HelpListener getHelpListener();
-/**
- * Returns the hover image for this action as an image descriptor.
- * <p>
- * Hover images will be used on platforms that support changing the image
- * when the user hovers over the item. This method is associated with 
- * the <code>IMAGE</code> property;
- * property change events are reported when its value changes.
- * </p>
- *
- * @return the image, or <code>null</code> if this action has no image
- * @see #IMAGE
- */
-public ImageDescriptor getHoverImageDescriptor();
-/**
- * Returns a unique identifier for this action, or <code>null</code> if it has
- * none.
- *
- * @return the action id, or <code>null</code> if none
- */
-public String getId();
-/**
- * Returns the image for this action as an image descriptor.
- * <p>
- * This method is associated with the <code>IMAGE</code> property;
- * property change events are reported when its value changes.
- * </p>
- *
- * @return the image, or <code>null</code> if this action has no image
- * @see #IMAGE
- */
-public ImageDescriptor getImageDescriptor();
-/**
- * Returns the menu creator for this action.
- *
- * @return the menu creator, or <code>null</code> if none
- */
-public IMenuCreator getMenuCreator();
-/**
- * Return this action's style.
- *
- * @return one of <code>AS_PUSH_BUTTON</code>, <code>AS_CHECK_BOX</code>,
- * <code>AS_RADIO_BUTTON</code> and <code>AS_DROP_DOWN_MENU</code>.
- */
-public int getStyle();
-/**
- * Returns the text for this action.
- * <p>
- * This method is associated with the <code>TEXT</code> property;
- * property change events are reported when its value changes.
- * </p>
- *
- * @return the text, or <code>null</code> if none
- * @see #TEXT
- */
-public String getText();
-/**
- * Returns the tool tip text for this action.
- * <p>
- * This method is associated with the <code>TOOL_TIP_TEXT</code> property;
- * property change events are reported when its value changes.
- * </p>
- *
- * @return the tool tip text, or <code>null</code> if none
- * @see #TOOL_TIP_TEXT
- */
-public String getToolTipText();
-/**
- * Returns the checked status of this action. Applicable only if the style is
- * <code>AS_CHECK_BOX</code> or <code>AS_RADIO_BUTTON</code>.
- * <p>
- * This method is associated with the <code>CHECKED</code> property;
- * property change events are reported when its value changes.
- * </p>
- *
- * @return the checked status
- * @see #CHECKED
- */
-public boolean isChecked();
-/**
- * Returns whether this action is enabled.
- * <p>
- * This method is associated with the <code>ENABLED</code> property;
- * property change events are reported when its value changes.
- * </p>
- *
- * @return <code>true</code> if enabled, and
- *   <code>false</code> if disabled
- * @see #ENABLED
- */
-public boolean isEnabled();
-/**
- * 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);
-
-/**
- * Runs this action.
- * Each action implementation must define the steps needed to carry out this action.
- * The default implementation of this method in <code>Action</code>
- * does nothing.
- */
-public void run();
-
-/**
- * Runs this action, passing the triggering SWT event.
- * As of 2.0, <code>ActionContributionItem</code> calls this method
- * instead of <code>run()</code>.  
- * The default implementation of this method in <code>Action</code>
- * simply calls <code>run()</code> for backwards compatibility.
- * 
- * @param event the SWT event which triggered this action being run 
- * @since 2.0
- */
-public void runWithEvent(Event event);
-/**
- * Sets the action definition id of this action.
- * 
- * @param id the action definition id
- * @since 2.0
- */
-public void setActionDefinitionId(String id);
-/**
- * Sets the checked status of this action. Applicable for the styles
- * <code>AS_CHECK_BOX</code> or <code>AS_RADIO_BUTTON</code>.
- * <p>
- * Fires a property change event for the <code>CHECKED</code> property
- * if the checked status actually changes as a consequence.
- * </p>
- *
- * @param checked the new checked status
- * @see #CHECKED
- */
-public void setChecked(boolean checked);
-/**
- * Sets this action's description.
- * Typically the description is shown as a (longer) help text in the status line.
- * <p>
- * Fires a property change event for the <code>DESCRIPTION</code> property
- * if the description actually changes as a consequence.
- * </p>
- *
- * @param text the description, or <code>null</code> to clear the description
- * @see #DESCRIPTION
- */
-public void setDescription(String text);
-/**
- * Sets the disabled image for this action, as an image descriptor.
- * <p>
- * Disabled images will be used on platforms that support changing the image
- * when the item is disabled.Fires a property change event for 
- * the <code>IMAGE</code> property
- * if the image actually changes as a consequence.
- * </p>
- *
- * @param newImage the image, or <code>null</code> if this 
- *   action should not have an image
- * @see #IMAGE
- */
-public void setDisabledImageDescriptor(ImageDescriptor newImage);
-/**
- * Sets the enabled state of this action.
- * <p>
- * When an action is in the enabled state, the control associated with 
- * it is active; triggering it will end up inkoking this action's 
- * <code>run</code> method.
- * </p>
- * <p>
- * Fires a property change event for the <code>ENABLED</code> property
- * if the enabled state actually changes as a consequence.
- * </p>
- *
- * @param enabled <code>true</code> to enable, and
- *   <code>false</code> to disable
- * @see #ENABLED
- */
-public void setEnabled(boolean enabled);
-/**
- * Sets a help listener for this action. 
- *
- * @param listener a help listener for this action
- */
-public void setHelpListener(HelpListener listener);
-/**
- * Sets the hover image for this action, as an image descriptor.
- * <p>
- * Hover images will be used on platforms that support changing the image
- * when the user hovers over the item.Fires a property change event for 
- * the <code>IMAGE</code> property
- * if the image actually changes as a consequence.
- * </p>
- *
- * @param newImage the image, or <code>null</code> if this 
- *   action should not have an image
- * @see #IMAGE
- */
-public void setHoverImageDescriptor(ImageDescriptor newImage);
-/**
- * Sets the unique identifier for this action. This is used to identify actions
- * when added to a contribution manager.
- * It should be set when the action is created.  It should not be modified once
- * the action is part of an action contribution item.
- *
- * @param id the action id
- *
- * @see ActionContributionItem
- * @see IContributionItem#getId
- */
-public void setId(String id);
-/**
- * Sets the image for this action, as an image descriptor.
- * <p>
- * Fires a property change event for the <code>IMAGE</code> property
- * if the image actually changes as a consequence.
- * </p>
- *
- * @param newImage the image, or <code>null</code> if this 
- *   action should not have an image
- * @see #IMAGE
- */
-public void setImageDescriptor(ImageDescriptor newImage);
-/**
- * Sets the menu creator for this action. Applicable for style
- * <code>AS_DROP_DOWN_MENU</code>.
- *
- * @param creator the menu creator, or <code>null</code> if none
- */
-public void setMenuCreator(IMenuCreator creator); 
-/**
- * Sets the text for this action.
- * <p>
- * An accelerator specification may follow the actual text, separated from it by
- * an '@' or a '\t' character.  An accelerator specification consists of zero or more 
- * modifier tokens followed by a key code token.  The tokens are separated by a '+' character.
- * </p>
- * <p>
- * Fires a property change event for the <code>TEXT</code> property
- * if the text actually changes as a consequence.
- * </p>
- *
- * @param text the text, or <code>null</code> if none
- * @see #TEXT
- * @see Action#findModifier
- * @see Action#findKeyCode
- */
-public void setText(String text);
-/**
- * Sets the tool tip text for this action.
- * <p>
- * Fires a property change event for the <code>TOOL_TIP_TEXT</code> property
- * if the tool tip text actually changes as a consequence.
- * </p>
- *
- * @param text the tool tip text, or <code>null</code> if none
- * @see #TOOL_TIP_TEXT
- */
-public void setToolTipText(String text);
-
-/**
- * <p>
- * Sets the accelerator keycode that this action maps to. This is a bitwise OR
- * of zero or more SWT key modifier masks (i.e. SWT.CTRL or SWT.ALT) and a
- * character code. For example, for Ctrl+Z, use <code>SWT.CTRL | 'Z'</code>.
- * Use 0 for no accelerator.
- * </p>
- * <p>
- * This method should no longer be used for actions in the Eclipse workbench.
- * <code>IWorkbenchCommandSupport</code> and
- * <code>IWorkbenchContextSupport</code> provide all the functionality
- * required for key bindings. If you set an accelerator using this method, then
- * it will not work in the workbench if it conflicts any existing key binding,
- * or if there is a different key binding defined for this action's definition
- * id. The definition id should be used instead -- referring to the command in
- * the workbench from which the key binding should be retrieved.
- * </p>
- * 
- * @param keycode
- *            the keycode to be accepted.
- */
-public void setAccelerator(int keycode);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/IContributionItem.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/action/IContributionItem.java
deleted file mode 100644
index 33b875a..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/IContributionItem.java
+++ /dev/null
@@ -1,173 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.action;
-
-import org.eclipse.swt.widgets.*;
-
-/**
- * A contribution item represents a contribution to a shared UI resource such as a
- * menu or tool bar. More generally, contribution items are managed by a contribution
- * manager.
- * For instance, in a tool bar a contribution item is a tool bar button or a separator.
- * In a menu bar a contribution item is a menu, and in a menu a contribution item 
- * is a menu item or separator.
- * <p>
- * A contribution item can realize itself in different SWT widgets, using the different 
- * <code>fill</code> methods.  The same type of contribution item can be used with a 
- * <code>MenuBarManager</code>, <code>ToolBarManager</code>, <code>CoolBarManager</code>, 
- * </code>or a <code>StatusLineManager</code>.
- * </p>
- * <p>
- * This interface is internal to the framework; it should not be implemented outside
- * the framework.
- * </p>
- *
- * @see IContributionManager
- */
-public interface IContributionItem {
-
-	/**
-	 * Disposes of this contribution item. Called by the parent
-	 * contribution manager when the manager is being disposed.
-	 * Clients should not call this method directly.
-	 * 
-	 * @since 2.1
-	 */
-	public void dispose();
-	/**
-	 * 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);
-	/**
-	 * 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);
-	/**
-	 * 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);
-	/**
-	 * Fills the given cool bar with controls representing this contribution item.
-	 * Used by <code>CoolBarManager</code>.
-	 *
-	 * @param parent the parent cool bar
-	 * @param index the index where the controls are inserted,
-	 *   or <code>-1</code> to insert at the end
-	 * @since 3.0
-	 */
-	public void fill(CoolBar parent, int index);
-	/**
-	 * Returns the identifier of this contribution item.
-	 * The id is used for retrieving an item from its manager.
-	 *
-	 * @return the contribution item identifier, or <code>null</code>
-	 *   if none
-	 */
-	public String getId();
-	/**
-	 * Returns whether this contribution item is enabled.
-	 * 
-	 * @return <code>true</code> if this item is enabled
-	 */
-	public boolean isEnabled();
-	/**
-	 * Returns whether this contribution item is dirty. A dirty item will be
-	 * recreated when the action bar is updated.
-	 * 
-	 * @return <code>true</code> if this item is dirty
-	 */
-	public boolean isDirty();
-	/**
-	 * 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();
-	/**
-	 * 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 GroupMarker
-	 * @see IContributionManager#appendToGroup
-	 * @see IContributionManager#prependToGroup
-	 */
-	public boolean isGroupMarker();
-	/**
-	 * 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();
-	/**
-	 * Returns whether this contribution item is visibile within its manager.
-	 *
-	 * @return <code>true</code> if this item is visible, and
-	 *  <code>false</code> otherwise
-	 */
-	public boolean isVisible();
-	/**
-	 * Saves any state information of the control(s) owned by this contribution item.
-	 * The contribution manager calls this method before disposing of the controls.
-	 * 
-	 * @since 3.0
-	 */
-	public void saveWidgetState();
-	/**
-	 * Sets the parent manager of this item
-	 * 
-	 * @param parent the parent contribution manager
-	 * @since 2.0
-	 */
-	public void setParent(IContributionManager parent);
-	/**
-	 * Sets whether this contribution item is visibile within its manager.
-	 *
-	 * @param visible <code>true</code> if this item should be visible, and
-	 *  <code>false</code> otherwise
-	 */
-	public void setVisible(boolean visible);
-	/**
-	 * 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();
-	/**
-	 * Updates any SWT controls cached by this contribution item with changes
-	 * for the the given property. 
-	 * 
-	 * @param id the id of the changed property
-	 * @since 2.0
-	 */
-	public void update(String id);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/IContributionManager.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/action/IContributionManager.java
deleted file mode 100644
index 0ba8fa1..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/IContributionManager.java
+++ /dev/null
@@ -1,210 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.action;
-
-
-/**
- * A contribution manager organizes contributions to such UI components
- * as menus, toolbars and status lines.
- * <p>
- * A contribution manager keeps track of a list of contribution
- * items. Each contribution item may has an optional identifier, which can be used
- * to retrieve items from a manager, and for positioning items relative to
- * each other. The list of contribution items can be subdivided into named groups 
- * using special contribution items that serve as group markers.
- * </p>
- * <p>
- * The <code>IContributionManager</code> interface provides general
- * protocol for adding, removing, and retrieving contribution items.
- * It also provides convenience methods that make it convenient
- * to contribute actions. This interface should be implemented
- * by all objects that wish to manage contributions.
- * </p>
- * <p>
- * There are several implementions of this interface in this package,
- * including ones for menus ({@link MenuManager <code>MenuManager</code>}),
- * tool bars ({@link ToolBarManager <code>ToolBarManager</code>}),
- * and status lines ({@link StatusLineManager <code>StatusLineManager</code>}).
- * </p>
- */
-public interface IContributionManager {
-/**
- * Adds an action as a contribution item to this manager.
- * Equivalent to <code>add(new ActionContributionItem(action))</code>.
- *
- * @param action the action
- */
-public void add(IAction action);
-/**
- * Adds a contribution item to this manager.
- *
- * @param item the contribution item
- */
-public void add(IContributionItem item);
-/**
- * Adds a contribution item for the given action at the end of the group
- * with the given name.
- * Equivalent to
- * <code>appendToGroup(groupName,new ActionContributionItem(action))</code>.
- *
- * @param groupName the name of the group
- * @param action the action
- * @exception IllegalArgumentException if there is no group with
- *   the given name
- */
-public void appendToGroup(String groupName, IAction action);
-/**
- * Adds a contribution item to this manager at the end of the group
- * with the given name.
- *
- * @param groupName the name of the group
- * @param item the contribution item
- * @exception IllegalArgumentException if there is no group with
- *   the given name
- */
-public void appendToGroup(String groupName, IContributionItem item);
-/**
- * Finds the contribution item with the given id.
- *
- * @param id the contribution item id
- * @return the contribution item, or <code>null</code> if
- *   no item with the given id can be found
- */
-public IContributionItem find(String id);
-/**
- * Returns all contribution items known to this manager.
- *
- * @return a list of contribution items
- */
-public IContributionItem[] getItems();
-/**
- * Returns the overrides for the items of this manager.
- * 
- * @return the overrides for the items of this manager
- * @since 2.0 
- */
-public IContributionManagerOverrides getOverrides();
-/**
- * Inserts a contribution item for the given action after the item 
- * with the given id.
- * Equivalent to
- * <code>insertAfter(id,new ActionContributionItem(action))</code>.
- *
- * @param id the contribution item id
- * @param action the action to insert
- * @exception IllegalArgumentException if there is no item with
- *   the given id
- */
-public void insertAfter(String id, IAction action);
-/**
- * Inserts a contribution item after the item with the given id.
- *
- * @param id the contribution item id
- * @param item the contribution item to insert
- * @exception IllegalArgumentException if there is no item with
- *   the given id
- */
-public void insertAfter(String id, IContributionItem item);
-/**
- * Inserts a contribution item for the given action before the item 
- * with the given id.
- * Equivalent to
- * <code>insertBefore(id,new ActionContributionItem(action))</code>.
- *
- * @param id the contribution item id
- * @param action the action to insert
- * @exception IllegalArgumentException if there is no item with
- *   the given id
- */
-public void insertBefore(String id, IAction action);
-/**
- * Inserts a contribution item before the item with the given id.
- *
- * @param id the contribution item id
- * @param item the contribution item to insert
- * @exception IllegalArgumentException if there is no item with
- *   the given id
- */
-public void insertBefore(String id, IContributionItem item);
-/**
- * Returns whether the list of contributions has recently changed and
- * has yet to be reflected in the corresponding widgets.
- *
- * @return <code>true</code> if this manager is dirty, and <code>false</code>
- *   if it is up-to-date
- */
-public boolean isDirty();
-/**
- * Returns whether this manager has any contribution items.
- *
- * @return <code>true</code> if there are no items, and
- *   <code>false</code> otherwise
- */
-public boolean isEmpty();
-/**
- * Marks this contribution manager as dirty.
- */
-public void markDirty();
-/**
- * Adds a contribution item for the given action at the beginning of the 
- * group with the given name.
- * Equivalent to
- * <code>prependToGroup(groupName,new ActionContributionItem(action))</code>.
- *
- * @param groupName the name of the group
- * @param action the action
- * @exception IllegalArgumentException if there is no group with
- *   the given name
- */
-public void prependToGroup(String groupName, IAction action);
-/**
- * Adds a contribution item to this manager at the beginning of the 
- * group with the given name.
- *
- * @param groupName the name of the group
- * @param item the contribution item
- * @exception IllegalArgumentException if there is no group with
- *   the given name
- */
-public void prependToGroup(String groupName, IContributionItem item);
-/**
- * Removes and returns the contribution item with the given id from this manager.  
- * Returns <code>null</code> if this manager has no contribution items
- * with the given id.
- *
- * @param id the contribution item id
- * @return the item that was found and removed, or <code>null</code> if none
- */
-public IContributionItem remove(String id);
-/**
- * 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
- */
-public IContributionItem remove(IContributionItem item);
-/**
- * Removes all contribution items from this manager.
- */
-public void removeAll();
-/**
- * Updates this manager's underlying widget(s) with any changes which
- * have been made to it or its items.  Normally changes to a contribution
- * manager merely mark it as dirty, without updating the underlying widgets.
- * This brings the underlying widgets up to date with any changes.
- *
- * @param force <code>true</code> means update even if not dirty,
- *   and <code>false</code> for normal incremental updating
- */
-public void update(boolean force);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/IContributionManagerOverrides.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/action/IContributionManagerOverrides.java
deleted file mode 100644
index cfbd94a..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/IContributionManagerOverrides.java
+++ /dev/null
@@ -1,67 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.action;
-
-
-/**
- * This interface is used by instances of <code>IContributionItem</code>
- * to determine if the values for certain properties have been overriden
- * by their manager.
- * <p>
- * This interface is internal to the framework; it should not be implemented outside
- * the framework.
- * </p>
- * 
- * @since 2.0
- */
-public interface IContributionManagerOverrides {
-	/**
-	 * Id for the enabled property. Value is <code>"enabled"</code>.
-	 * 
-	 * @since 2.0
-	 */
-	public final static String P_ENABLED = "enabled"; //$NON-NLS-1$
-	
-	/**
-	 * Returns <code>Boolean.TRUE</code> if the given contribution item should 
-	 * be enabled, <code>Boolean.FALSE</code> if the item should be disabled, and
-	 * <code>null</code> if the item may determine its own enablement.
-	 * 
-	 * @param item the contribution item for which the enable override value is 
-	 * determined
-	 * @since 2.0
-	 */
-	public Boolean getEnabled(IContributionItem item);
-	
-	/**
-     * This is not intended to be called outside of the workbench. This method
-     * is intended to be deprecated in 3.1.
-     * 
-     * TODO deprecate for 3.1
-     */
-    public Integer getAccelerator(IContributionItem item);
-
-    /**
-     * This is not intended to be called outside of the workbench. This method
-     * is intended to be deprecated in 3.1.
-     * 
-     * TODO deprecate for 3.1
-     */
-    public String getAcceleratorText(IContributionItem item);
-
-    /**
-     * This is not intended to be called outside of the workbench. This method
-     * is intended to be deprecated in 3.1.
-     * 
-     * TODO deprecate for 3.1
-     */
-    public String getText(IContributionItem item);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/ICoolBarManager.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/action/ICoolBarManager.java
deleted file mode 100644
index 02a9107..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/ICoolBarManager.java
+++ /dev/null
@@ -1,101 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.action;
-
-/**
- * The <code>ICoolBarManager</code> interface provides protocol for managing
- * contributions to a cool bar. A cool bar manager delegates responsibility for
- * creating child controls to its contribution items by calling
- * {@link IContributionItem#fill(CoolBar, int)}.
- * <p>
- * This interface is internal to the framework; it should not be implemented
- * outside the framework. This package provides a concrete cool bar manager
- * implementation, {@link CoolBarManager}, which
- * clients may instantiate or subclass.
- * </p>
- * 
- * @see ToolBarContributionItem
- * @since 3.0
- */
-public interface ICoolBarManager extends IContributionManager {
-
-    /**
-     * Property name of a cool item's size (value <code>"size"</code>).
-     * <p>
-     * The cool bar manager uses this property to tell its cool items to update
-     * their size.
-     * </p>
-     * 
-     * @see IContributionItem#update(String) @issue consider declaring this
-     *      constant elsewhere
-     */
-    public static final String SIZE = "size"; //$NON-NLS-1$
-
-    /**
-     * A convenience method to add a tool bar as a contribution item to this
-     * cool bar manager. Equivalent to <code>add(new ToolBarContributionManager(toolBarManager))</code>.
-     * 
-     * @param toolBarManager
-     *            the tool bar manager to be added
-     * @see ToolBarContributionItem
-     */
-    public void add(IToolBarManager toolBarManager);
-
-    /**
-     * Returns the context menu manager used by this cool bar manager. This
-     * context menu manager is used by the cool bar manager except for cool
-     * items that provide their own.
-     * 
-     * @return the context menu manager, or <code>null</code> if none
-     * @see #setContextMenuManager
-     */
-    public IMenuManager getContextMenuManager();
-
-    /**
-     * Returns whether the layout of the underlying cool bar widget is locked.
-     * 
-     * @return <code>true</code> if cool bar layout is locked, <code>false</code>
-     *         otherwise
-     */
-    public boolean getLockLayout();
-
-    /**
-     * Returns the style of the underlying cool bar widget.
-     * 
-     * @return the style of the cool bar
-     */
-    public int getStyle();
-
-    /**
-     * Sets the context menu of this cool bar manager to the given menu
-     * manager.
-     * 
-     * @param menuManager
-     *            the context menu manager, or <code>null</code> if none
-     * @see #getContextMenuManager
-     */
-    public void setContextMenuManager(IMenuManager menuManager);
-
-    /**
-     * Locks or unlocks the layout of the underlying cool bar widget. Once the
-     * cool bar is locked, cool items cannot be repositioned by the user.
-     * <p>
-     * Note that items can be added or removed programmatically even while the
-     * cool bar is locked.
-     * </p>
-     * 
-     * @param value
-     *            <code>true</code> to lock the cool bar, <code>false</code>
-     *            to unlock
-     */
-    public void setLockLayout(boolean value);
-
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/IMenuCreator.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/action/IMenuCreator.java
deleted file mode 100644
index 55cf411..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/IMenuCreator.java
+++ /dev/null
@@ -1,52 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.action;
-
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-
-/**
- * Interface for something that creates and disposes of SWT menus.  Note that
- * it is the responsibility of the implementor to dispose of SWT menus it
- * creates. 
- */
-public interface IMenuCreator {
-/**
- * Disposes the menu returned by <code>getMenu</code>. Does nothing
- * if there is no menu.  This method will be executed only when the
- * parent of the menu is disposed.  
- */
-public void dispose();
-/**
- * Returns the SWT menu, created as a pop up menu parented by the
- * given control.  In most cases, this menu can be created once, cached and reused
- * when the pop-up/drop-down action occurs.  If the menu must be dynamically
- * created (i.e., each time it is popped up or dropped down), the old menu
- * should be disposed of before replacing it with the new menu.
- *
- * @param parent the parent control
- * @return the menu, or <code>null</code> if the menu could not
- *  be created
- */
-public Menu getMenu(Control parent);
-/**
- * Returns an SWT menu created as a drop down menu parented by the
- * given menu.  In most cases, this menu can be created once, cached and reused
- * when the pop-up/drop-down action occurs.  If the menu must be dynamically
- * created (i.e., each time it is popped up or dropped down), the old menu
- * should be disposed of before replacing it with the new menu.
- *
- * @param parent the parent menu
- * @return the menu, or <code>null</code> if the menu could not
- *  be created
- */
-public Menu getMenu(Menu parent);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/IMenuListener.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/action/IMenuListener.java
deleted file mode 100644
index a1199b2..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/IMenuListener.java
+++ /dev/null
@@ -1,27 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.action;
-
- 
-/**
- * A menu listener that gets informed when a menu is about to show.
- *
- * @see MenuManager#addMenuListener
- */
-public interface IMenuListener {
-/**
- * Notifies this listener that the menu is about to be shown by
- * the given menu manager.
- *
- * @param manager the menu manager
- */
-public void menuAboutToShow(IMenuManager manager);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/IMenuManager.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/action/IMenuManager.java
deleted file mode 100644
index 6e02b30..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/IMenuManager.java
+++ /dev/null
@@ -1,97 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.action;
-
-
-/**
- * The <code>IMenuManager</code> interface provides protocol for managing
- * contributions to a menu bar and its sub menus.
- * An <code>IMenuManager</code> is also an <code>IContributionItem</code>,
- * allowing sub-menus to be nested in parent menus.
- * <p>
- * This interface is internal to the framework; it should not be implemented outside
- * the framework.
- * </p>
- * <p>
- * This package provides a concrete menu manager implementation,
- * {@link MenuManager <code>MenuManager</code>}.
- * </p>
- */
-public interface IMenuManager extends IContributionManager, IContributionItem {
-/**
- * Adds a menu listener to this menu.
- * Has no effect if an identical listener is already registered.
- *
- * @param listener a menu listener
- */
-public void addMenuListener(IMenuListener listener);
-/**
- * Finds the manager for the menu at the given path. A path
- * consists of contribution item ids separated by the separator 
- * character.  The path separator character is <code>'/'</code>.
- * <p>
- * Convenience for <code>findUsingPath(path)</code> which
- * extracts an <code>IMenuManager</code> if possible.
- * </p>
- *
- * @param path the path string
- * @return the menu contribution item, or <code>null</code>
- *   if there is no such contribution item or if the item does
- *   not have an associated menu manager
- */
-public IMenuManager findMenuUsingPath(String path);
-/**
- * Finds the contribution item at the given path. A path
- * consists of contribution item ids separated by the separator 
- * character. The path separator character is <code>'/'</code>.
- *
- * @param path the path string
- * @return the contribution item, or <code>null</code> if there is no
- *   such contribution item
- */
-public IContributionItem findUsingPath(String path);
-/**
- * Returns whether all items should be removed when the menu is first shown,
- * but before notifying menu listeners.  The default is <code>false</code>.
- *
- * @return <code>true</code> if all items should be removed when shown, <code>false</code> if not 
- */
-public boolean getRemoveAllWhenShown();
-/**
- * Returns whether this menu should be enabled or not.
- *
- * @return <code>true</code> if enabled, and
- *   <code>false</code> if disabled
- */
-public boolean isEnabled();
-/**
- * Removes the given menu listener from this menu.
- * Has no effect if an identical listener is not registered.
- *
- * @param listener the menu listener
- */
-public void removeMenuListener(IMenuListener listener);
-/**
- * Sets whether all items should be removed when the menu is first shown,
- * but before notifying menu listeners.
- *
- * @param removeAll <code>true</code> if all items should be removed when shown, <code>false</code> if not 
- */
-public void setRemoveAllWhenShown(boolean removeAll);
-/**
- * Incrementally builds the menu from the contribution items, and
- * does so recursively for all submenus.
- *
- * @param force <code>true</code> means update even if not dirty,
- *   and <code>false</code> for normal incremental updating
- */
-public void updateAll(boolean force);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/IStatusLineManager.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/action/IStatusLineManager.java
deleted file mode 100644
index ceb42a3..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/IStatusLineManager.java
+++ /dev/null
@@ -1,101 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.action;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * The <code>IStatusLineManager</code> interface provides protocol
- * for displaying messages on a status line, for monitoring progress,
- * and for managing contributions to the status line.
- * <p>
- * <b>Note:</b> An error message overrides the current message until
- * the error message is cleared.
- * </p><p>
- * This package also provides a concrete status line manager implementation,
- * {@link StatusLineManager <code>StatusLineManager</code>}.
- * </p>
- */
-public interface IStatusLineManager extends IContributionManager {
-/**
- * Returns a progress monitor which reports progress
- * in the status line.
- *
- * @return the progress monitor
- * 
- * @issue There is a delay after a beginTask message before the monitor is shown.
- *   This may not be appropriate for all apps.
- */
-public IProgressMonitor getProgressMonitor();
-/**
- * Returns whether the cancel button on the status line's progress monitor
- * is enabled.
- *
- * @return <code>true</code> if the cancel button is enabled, or <code>false</code> if not
- */
-public boolean isCancelEnabled();
-/**
- * Sets whether the cancel button on the status line's progress monitor
- * is enabled.
- *
- * @param enabled <code>true</code> if the cancel button is enabled, or <code>false</code> if not
- */
-public void setCancelEnabled(boolean enabled);
-/**
- * Sets the error message text to be displayed on the status line.
- * The image on the status line is cleared.
- * <p>
- * An error message overrides the current message until the error 
- * message is cleared (set to <code>null</code>).
- * </p>
- *
- * @param message the error message, or <code>null</code> to clear
- * 		the current error message.
- */
-public void setErrorMessage(String message);
-/**
- * Sets the image and error message to be displayed on the status line.
- * <p>
- * An error message overrides the current message until the error 
- * message is cleared (set to <code>null</code>).
- * </p>
- *
- * @param image the image to use, or <code>null</code> for no image
- * @param message the error message, or <code>null</code> to clear
- * 		the current error message.
- */
-public void setErrorMessage(Image image, String message);
-/**
- * Sets the message text to be displayed on the status line.
- * The image on the status line is cleared.
- * <p>
- * This method replaces the current message but does not affect the 
- * error message. That is, the error message, if set, will continue
- * to be displayed until it is cleared (set to <code>null</code>).
- * </p>
- *
- * @param message the message, or <code>null</code> for no message
- */
-public void setMessage(String message);
-/**
- * Sets the image and message to be displayed on the status line.
- * <p>
- * This method replaces the current message but does not affect the 
- * error message. That is, the error message, if set, will continue
- * to be displayed until it is cleared (set to <code>null</code>).
- * </p>
- *
- * @param image the image to use, or <code>null</code> for no image
- * @param message the message, or <code>null</code> for no message
- */
-public void setMessage(Image image, String message);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/IToolBarManager.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/action/IToolBarManager.java
deleted file mode 100644
index d0a80e1..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/IToolBarManager.java
+++ /dev/null
@@ -1,25 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.action;
-
-
-/**
- * The <code>IToolBarManager</code> interface provides protocol for managing
- * contributions to a tool bar. It extends <code>IContributionManager</code>
- * but does not declare any new members; it exists only to increase the
- * readability of code using tool bars.
- * <p>
- * This package also provides a concrete tool bar manager implementation,
- * {@link ToolBarManager <code>ToolBarManager</code>}.
- * </p>
- */
-public interface IToolBarManager extends IContributionManager {
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/MenuManager.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/action/MenuManager.java
deleted file mode 100644
index a6d82be..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/MenuManager.java
+++ /dev/null
@@ -1,739 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.action;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.MenuAdapter;
-import org.eclipse.swt.events.MenuEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.CoolBar;
-import org.eclipse.swt.widgets.Decorations;
-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.jface.util.ListenerList;
-
-/**
- * A menu manager is a contribution manager which realizes itself and its items
- * in a menu control; either as a menu bar, a sub-menu, or a context menu.
- * <p>
- * This class may be instantiated; it may also be subclassed.
- * </p>
- */
-public class MenuManager extends ContributionManager implements IMenuManager {
-
-	/**
-	 * The menu id.
-	 */
-	private String id;
-
-	/**
-	 * List of registered menu listeners (element type: <code>IMenuListener</code>).
-	 */
-	private ListenerList listeners = new ListenerList(1);
-
-	/**
-	 * The menu control; <code>null</code> before
-	 * creation and after disposal.
-	 */
-	private Menu menu = null;
-
-	/**
-	 * The menu item widget; <code>null</code> before
-	 * creation and after disposal. This field is used
-	 * when this menu manager is a sub-menu.
-	 */
-	private MenuItem menuItem;
-
-	/**
-	 * The text for a sub-menu.
-	 */
-	private String menuText;
-
-	/**
-	 * The overrides for items of this manager
-	 */
-	private IContributionManagerOverrides overrides;
-
-	/**
-	 * The parent contribution manager.
-	 */
-	private IContributionManager parent;
-
-	/**
-	 * Indicates whether <code>removeAll</code> should be
-	 * called just before the menu is displayed.
-	 */
-	private boolean removeAllWhenShown = false;
-
-	/**
-	 * Indicates this item is visible in its manager; <code>true</code> 
-	 * by default.
-	 */
-	private boolean visible = true;
-
-	/**
-	 * Creates a menu manager.  The text and id are <code>null</code>.
-	 * Typically used for creating a context menu, where it doesn't need to be referred to by id.
-	 */
-	public MenuManager() {
-		this(null, null);
-	}
-
-	/**
-	 * Creates a menu manager with the given text. The id of the menu
-	 * is <code>null</code>.
-	 * Typically used for creating a sub-menu, where it doesn't need to be referred to by id.
-	 *
-	 * @param text the text for the menu, or <code>null</code> if none
-	 */
-	public MenuManager(String text) {
-		this(text, null);
-	}
-
-	/**
-	 * Creates a menu manager with the given text and id.
-	 * Typically used for creating a sub-menu, where it needs to be referred to by id.
-	 *
-	 * @param text the text for the menu, or <code>null</code> if none
-	 * @param id the menu id, or <code>null</code> if it is to have no id
-	 */
-	public MenuManager(String text, String id) {
-		this.menuText = text;
-		this.id = id;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IMenuManager#addMenuListener(org.eclipse.jface.action.IMenuListener)
-	 */
-	public void addMenuListener(IMenuListener listener) {
-		listeners.add(listener);
-	}
-
-	/**
-	 * Creates and returns an SWT context menu control for this menu,
-	 * and installs all registered contributions.
-	 * Does not create a new control if one already exists.
-	 * <p>
-	 * Note that the menu is not expected to be dynamic.
-	 * </p>
-	 *
-	 * @param parent the parent control
-	 * @return the menu control
-	 */
-	public Menu createContextMenu(Control parent) {
-		if (!menuExist()) {
-			menu = new Menu(parent);
-			initializeMenu();
-		}
-		return menu;
-	}
-
-	/**
-	 * Creates and returns an SWT menu bar control for this menu,
-	 * for use in the given <code>Decorations</code>, and installs all registered
-	 * contributions. Does not create a new control if one already exists.
-	 *
-	 * @param parent the parent decorations
-	 * @return the menu control
-	 * @since 2.1
-	 */
-	public Menu createMenuBar(Decorations parent) {
-		if (!menuExist()) {
-			menu = new Menu(parent, SWT.BAR);
-			update(false);
-		}
-		return menu;
-	}
-
-	/**
-	 * Creates and returns an SWT menu bar control for this menu, for use in the
-	 * given <code>Shell</code>, and installs all registered contributions. Does not
-	 * create a new control if one already exists. This implementation simply calls
-	 * the <code>createMenuBar(Decorations)</code> method
-	 *
-	 * @param parent the parent decorations
-	 * @return the menu control
-	 * @deprecated use <code>createMenuBar(Decorations)</code> instead.
-	 */
-	public Menu createMenuBar(Shell parent) {
-		return createMenuBar((Decorations) parent);
-	}
-
-	/**
-	 * Disposes of this menu manager and frees all allocated SWT resources.
-	 * Notifies all contribution items of the dispose. Note that this method does
-	 * not clean up references between this menu manager and its associated
-	 * contribution items. Use <code>removeAll</code> for that purpose.
-	 */
-	public void dispose() {
-		if (menuExist())
-			menu.dispose();
-		menu = null;
-
-		if (menuItem != null) {
-			menuItem.dispose();
-			menuItem = null;
-		}
-
-		IContributionItem[] items = getItems();
-		for (int i = 0; i < items.length; i++) {
-			items[i].dispose();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IContributionItem#fill(org.eclipse.swt.widgets.Composite)
-	 */
-	public void fill(Composite parent) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IContributionItem#fill(org.eclipse.swt.widgets.CoolBar, int)
-	 */
-	public void fill(CoolBar parent, int index) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IContributionItem#fill(org.eclipse.swt.widgets.Menu, int)
-	 */
-	public void fill(Menu parent, int index) {
-		if (menuItem == null || menuItem.isDisposed()) {
-			if (index >= 0)
-				menuItem = new MenuItem(parent, SWT.CASCADE, index);
-			else
-				menuItem = new MenuItem(parent, SWT.CASCADE);
-
-			menuItem.setText(getMenuText());
-
-			if (!menuExist())
-				menu = new Menu(parent);
-
-			menuItem.setMenu(menu);
-
-			initializeMenu();
-
-			// populate the submenu, in order to enable accelerators
-			// and to set enabled state on the menuItem properly
-			update(true);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IContributionItem#fill(org.eclipse.swt.widgets.ToolBar, int)
-	 */
-	public void fill(ToolBar parent, int index) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IMenuManager#findMenuUsingPath(java.lang.String)
-	 */
-	public IMenuManager findMenuUsingPath(String path) {
-		IContributionItem item = findUsingPath(path);
-		if (item instanceof IMenuManager)
-			return (IMenuManager) item;
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IMenuManager#findUsingPath(java.lang.String)
-	 */
-	public IContributionItem findUsingPath(String path) {
-		String id = path;
-		String rest = null;
-		int separator = path.indexOf('/');
-		if (separator != -1) {
-			id = path.substring(0, separator);
-			rest = path.substring(separator + 1);
-		} else {
-			return super.find(path);
-		}
-
-		IContributionItem item = super.find(id);
-		if (item instanceof IMenuManager) {
-			IMenuManager manager = (IMenuManager) item;
-			return manager.findUsingPath(rest);
-		}
-		return null;
-	}
-
-	/**
-	 * Notifies any menu listeners that a menu is about to show.
-	 * Only listeners registered at the time this method is called are notified.
-	 *
-	 * @param manager the menu manager
-	 *
-	 * @see IMenuListener#menuAboutToShow
-	 */
-	private void fireAboutToShow(IMenuManager manager) {
-		Object[] listeners = this.listeners.getListeners();
-		for (int i = 0; i < listeners.length; ++i) {
-			((IMenuListener) listeners[i]).menuAboutToShow(manager);
-		}
-	}
-
-	/**
-	 * Returns the menu id.
-	 * The menu id is used when creating a contribution item 
-	 * for adding this menu as a sub menu of another.
-	 *
-	 * @return the menu id
-	 */
-	public String getId() {
-		return id;
-	}
-
-	/**
-	 * Returns the SWT menu control for this menu manager.
-	 *
-	 * @return the menu control
-	 */
-	public Menu getMenu() {
-		return menu;
-	}
-
-	/**
-	 * Returns the text shown in the menu.
-	 *
-	 * @return the menu text
-	 */
-	public String getMenuText() {
-		return menuText;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IContributionManager#getOverrides()
-	 */
-	public IContributionManagerOverrides getOverrides() {
-		if (overrides == null) {
-			if (parent == null) {
-				overrides = new IContributionManagerOverrides() {
-					public Integer getAccelerator(IContributionItem item) {
-						return null;
-					}
-					public String getAcceleratorText(IContributionItem item) {
-						return null;
-					}
-					public Boolean getEnabled(IContributionItem item) {
-						return null;
-					}
-					public String getText(IContributionItem item) {
-						return null;
-					}
-				};
-			} else {
-				overrides = parent.getOverrides();
-			}
-			super.setOverrides(overrides);
-		}
-		return overrides;
-	}
-
-	/**
-	 * Returns the parent contribution manager of this manger.
-	 * 
-	 * @return the parent contribution manager
-	 * @since 2.0
-	 */
-	public IContributionManager getParent() {
-		return parent;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IMenuManager#getRemoveAllWhenShown()
-	 */
-	public boolean getRemoveAllWhenShown() {
-		return removeAllWhenShown;
-	}
-
-	/**
-	 * Notifies all listeners that this menu is about to appear.
-	 */
-	private void handleAboutToShow() {
-		if (removeAllWhenShown)
-			removeAll();
-		fireAboutToShow(this);
-		update(false, true);
-	}
-
-	/**
-	 * Initializes the menu control.
-	 */
-	private void initializeMenu() {
-		menu.addMenuListener(new MenuAdapter() {
-			public void menuHidden(MenuEvent e) {
-				//			ApplicationWindow.resetDescription(e.widget);
-			}
-			public void menuShown(MenuEvent e) {
-				handleAboutToShow();
-			}
-		});
-		markDirty();
-		// Don't do an update(true) here, in case menu is never opened.
-		// Always do it lazily in handleAboutToShow().
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IContributionItem#isDynamic()
-	 */
-	public boolean isDynamic() {
-		return false;
-	}
-
-	/**
-	 * Returns whether this menu should be enabled or not.
-	 * Used to enable the menu item containing this menu when it is realized as a sub-menu.
-	 * <p>
-	 * The default implementation of this framework method
-	 * returns <code>true</code>. Subclasses may reimplement.
-	 * </p>
-	 *
-	 * @return <code>true</code> if enabled, and
-	 *   <code>false</code> if disabled
-	 */
-	public boolean isEnabled() {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IContributionItem#isGroupMarker()
-	 */
-	public boolean isGroupMarker() {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IContributionItem#isSeparator()
-	 */
-	public boolean isSeparator() {
-		return false;
-	}
-
-	/**
-	 * @deprecated this method is no longer a part of the 
-	 *   {@link org.eclipse.jface.action.IContributionItem} API.
-	 */
-	public boolean isSubstituteFor(IContributionItem item) {
-		return this.equals(item);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IContributionItem#isVisible()
-	 */
-	public boolean isVisible() {	
-		if (!visible)
-			return false; // short circut calculations in this case
-		
-		// menus arent visible if all of its children are invisible (or only contains visible separators).
-		IContributionItem [] childItems = getItems();
-		boolean visibleChildren = false;
-		for (int j = 0; j < childItems.length; j++) {
-			if (childItems[j].isVisible() && !childItems[j].isSeparator()) {
-				visibleChildren = true;
-				break;
-			}
-		}
-		
-		return visibleChildren;	
-	}
-
-	/**
-	 * Returns whether the menu control is created
-	 * and not disposed.
-	 * 
-	 * @return <code>true</code> if the control is created
-	 *	and not disposed, <code>false</code> otherwise
-	 */
-	private boolean menuExist() {
-		return menu != null && !menu.isDisposed();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IMenuManager#removeMenuListener(org.eclipse.jface.action.IMenuListener)
-	 */
-	public void removeMenuListener(IMenuListener listener) {
-		listeners.remove(listener);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IContributionItem#saveWidgetState()
-	 */
-	public void saveWidgetState() {
-	}
-
-	/**
-	 * Sets the overrides for this contribution manager
-	 * 
-	 * @param newOverrides the overrides for the items of this manager
-	 * @since 2.0
-	 */
-	public void setOverrides(IContributionManagerOverrides newOverrides) {
-		overrides = newOverrides;
-		super.setOverrides(overrides);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IContributionItem#setParent(org.eclipse.jface.action.IContributionManager)
-	 */
-	public void setParent(IContributionManager manager) {
-		parent = manager;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IMenuManager#setRemoveAllWhenShown(boolean)
-	 */
-	public void setRemoveAllWhenShown(boolean removeAll) {
-		this.removeAllWhenShown = removeAll;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IContributionItem#setVisible(boolean)
-	 */
-	public void setVisible(boolean visible) {
-		this.visible = visible;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IContributionItem#update()
-	 */
-	public void update() {
-		updateMenuItem();
-	}
-
-	/**
-	 * The <code>MenuManager</code> implementation of this <code>IContributionManager</code>
-	 * updates this menu, but not any of its submenus.
-	 *
-	 * @see #updateAll
-	 */
-	public void update(boolean force) {
-		update(force, false);
-	}
-
-	/**
-	 * Incrementally builds the menu from the contribution items.
-	 * This method leaves out double separators and separators in the first 
-	 * or last position.
-	 *
-	 * @param force <code>true</code> means update even if not dirty,
-	 *   and <code>false</code> for normal incremental updating
-	 * @param recursive <code>true</code> means recursively update 
-	 *   all submenus, and <code>false</code> means just this menu
-	 */
-	protected void update(boolean force, boolean recursive) {
-		if (isDirty() || force) {
-			if (menuExist()) {
-				// clean contains all active items without double separators
-				IContributionItem[] items = getItems();
-				List clean = new ArrayList(items.length);
-				IContributionItem separator = null;
-				for (int i = 0; i < items.length; ++i) {
-					IContributionItem ci = items[i];
-					if (!ci.isVisible())
-						continue;
-					if (ci.isSeparator()) {
-						// delay creation until necessary 
-						// (handles both adjacent separators, and separator at end)
-						separator = ci;
-					} else {
-						if (separator != null) {
-							if (clean.size() > 0) // no separator if first item
-								clean.add(separator);
-							separator = null;
-						}
-						clean.add(ci);
-					}
-				}
-
-				// remove obsolete (removed or non active)
-				MenuItem[] mi = menu.getItems();
-
-				for (int i = 0; i < mi.length; i++) {
-					Object data = mi[i].getData();
-
-					if (data == null || !clean.contains(data)) {
-						mi[i].dispose();
-					} else if (
-						data instanceof IContributionItem
-							&& ((IContributionItem) data).isDynamic()
-							&& ((IContributionItem) data).isDirty()) {
-						mi[i].dispose();
-					}
-				}
-
-				// add new
-				mi = menu.getItems();
-				int srcIx = 0;
-				int destIx = 0;
-
-				for (Iterator e = clean.iterator(); e.hasNext();) {
-					IContributionItem src = (IContributionItem) e.next();
-					IContributionItem dest;
-
-					// get corresponding item in SWT widget
-					if (srcIx < mi.length)
-						dest = (IContributionItem) mi[srcIx].getData();
-					else
-						dest = null;
-
-					if (dest != null && src.equals(dest)) {
-						srcIx++;
-						destIx++;
-					} else if (dest != null && dest.isSeparator() && src.isSeparator()) {
-						mi[srcIx].setData(src);
-						srcIx++;
-						destIx++;
-					} else {
-						int start = menu.getItemCount();
-						src.fill(menu, destIx);
-						int newItems = menu.getItemCount() - start;
-						for (int i = 0; i < newItems; i++) {
-							MenuItem item = menu.getItem(destIx++);
-							item.setData(src);
-						}
-					}
-
-					// May be we can optimize this call. If the menu has just
-					// been created via the call src.fill(fMenuBar, destIx) then
-					// the menu has already been updated with update(true) 
-					// (see MenuManager). So if force is true we do it again. But
-					// we can't set force to false since then information for the
-					// sub sub menus is lost.
-					if (recursive) {
-						IContributionItem item = src;
-						if (item instanceof SubContributionItem)
-							item = ((SubContributionItem) item).getInnerItem();
-						if (item instanceof IMenuManager)
-							 ((IMenuManager) item).updateAll(force);
-					}
-
-				}
-
-				// remove any old menu items not accounted for
-				for (; srcIx < mi.length; srcIx++)
-					mi[srcIx].dispose();
-
-				setDirty(false);
-			}
-		} else {
-			// I am not dirty. Check if I must recursivly walk down the hierarchy.
-			if (recursive) {
-				IContributionItem[] items = getItems();
-				for (int i = 0; i < items.length; ++i) {
-					IContributionItem ci = items[i];
-					if (ci instanceof IMenuManager) {
-						IMenuManager mm = (IMenuManager) ci;
-						if (mm.isVisible()) {
-							mm.updateAll(force);
-						}
-					}
-				}
-			}
-		}
-		updateMenuItem();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IContributionItem#update(java.lang.String)
-	 */
-	public void update(String property) {
-		IContributionItem items[] = getItems();
-
-		for (int i = 0; i < items.length; i++)
-			items[i].update(property);
-
-		if (menu != null
-			&& !menu.isDisposed()
-			&& menu.getParentItem() != null
-			&& IAction.TEXT.equals(property)) {
-			String text = getOverrides().getText(this);
-
-			if (text == null)
-				text = getMenuText();
-
-			if (text != null) {
-				ExternalActionManager.ICallback callback =
-					ExternalActionManager.getInstance().getCallback();
-
-				if (callback != null) {
-					int index = text.indexOf('&');
-
-					if (index >= 0 && index < text.length() - 1) {
-						char character = Character.toUpperCase(text.charAt(index + 1));
-
-						if (callback.isAcceleratorInUse(SWT.ALT | character)) {
-							if (index == 0)
-								text = text.substring(1);
-							else
-								text = text.substring(0, index) + text.substring(index + 1);
-						}
-					}
-				}
-
-				menu.getParentItem().setText(text);
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IMenuManager#updateAll(boolean)
-	 */
-	public void updateAll(boolean force) {
-		update(force, true);
-	}
-
-	/**
-	 * Updates the menu item for this sub menu.
-	 * The menu item is disabled if this sub menu is empty.
-	 * Does nothing if this menu is not a submenu.
-	 */
-	private void updateMenuItem() {
-		/*
-		 * Commented out until proper solution to enablement of
-		 * menu item for a sub-menu is found. See bug 30833 for
-		 * more details.
-		 *  
-			if (menuItem != null && !menuItem.isDisposed() && menuExist()) {
-				IContributionItem items[] = getItems();
-				boolean enabled = false;
-				for (int i = 0; i < items.length; i++) {
-					IContributionItem item = items[i];
-					enabled = item.isEnabled();
-					if(enabled) break;
-				}
-				// Workaround for 1GDDCN2: SWT:Linux - MenuItem.setEnabled() always causes a redraw
-				if (menuItem.getEnabled() != enabled)
-					menuItem.setEnabled(enabled);
-			}
-		*/
-		// Partial fix for bug #34969 - diable the menu item if no
-		// items in sub-menu (for context menus).
-		if (menuItem != null && !menuItem.isDisposed() && menuExist()) {
-			boolean enabled = menu.getItemCount() > 0;
-			// Workaround for 1GDDCN2: SWT:Linux - MenuItem.setEnabled() always causes a redraw
-			if (menuItem.getEnabled() != enabled) {
-				// We only do this for context menus (for bug #34969)
-				Menu topMenu = menu;
-				while (topMenu.getParentMenu() != null)
-					topMenu = topMenu.getParentMenu();
-				if ((topMenu.getStyle() & SWT.BAR) == 0)
-					menuItem.setEnabled(enabled);
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/Separator.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/action/Separator.java
deleted file mode 100644
index d333d9c..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/Separator.java
+++ /dev/null
@@ -1,71 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.action;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.*;
-
-/**
- * A separator is a special kind of contribution item which acts
- * as a visual separator and, optionally, acts as a group marker.
- * Unlike group markers, separators do have a visual representation for
- * menus and toolbars.
- * <p>
- * This class may be instantiated; it is not intended to be 
- * subclassed outside the framework.
- * </p>
- */
-public class Separator extends AbstractGroupMarker {
-/**
- * Creates a separator which does not start a new group.
- */
-public Separator() {
-	super();
-}
-/**
- * Creates a new separator which also defines a new group having the given group name.
- * The group name must not be <code>null</code> or the empty string.
- * The group name is also used as the item id.
- * 
- * @param groupName the group name of the separator
- */
-public Separator(String groupName) {
-	super(groupName);
-}
-/* (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);
-}
-
-/** 
- * The <code>Separator</code> implementation of this <code>IContributionItem</code> 
- * method returns <code>true</code>
- */
-public boolean isSeparator() {
-	return true;
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/StatusLine.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/action/StatusLine.java
deleted file mode 100644
index 2ad6254..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/StatusLine.java
+++ /dev/null
@@ -1,544 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.action;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.ProgressIndicator;
-import org.eclipse.jface.resource.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-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.*;
-
-/**
- * A StatusLine control is a SWT Composite with a horizontal layout which hosts
- * a number of status indication controls.
- * Typically it is situated below the content area of the window.
- * <p>
- * By default a StatusLine has two predefined status controls: a MessageLine and a
- * ProgressIndicator and it provides API for easy access.
- * </p>
- * <p>
- * This is an internal class, not intended to be used outside the JFace framework.
- * </p>
- */
-/* package */ class StatusLine extends Composite implements IProgressMonitor {
-	
-	/** Horizontal gaps between items. */
-	public static final int GAP= 3;
-	/** Progress bar creation is delayed by this ms */
-	public static final int DELAY_PROGRESS= 500;	
-
-	// state
-	protected boolean fProgressIsVisible= false;
-	protected boolean fCancelButtonIsVisible= false;
-	protected boolean fCancelEnabled= false;
-	protected String fTaskName;
-	protected boolean fIsCanceled;
-	protected long fStartTime;
-	private Cursor fStopButtonCursor;
-	protected String fMessageText;
-	protected Image fMessageImage;
-	protected String fErrorText;
-	protected Image fErrorImage;
-	
-	// SWT widgets
-	protected CLabel fMessageLabel;
-	protected Composite fProgressBarComposite;
-	protected ProgressIndicator fProgressBar;
-	protected ToolBar fToolBar;
-	protected ToolItem fCancelButton;
-	
-	protected static ImageDescriptor fgStopImage= ImageDescriptor.createFromFile(StatusLine.class, "images/stop.gif");//$NON-NLS-1$
-	static {
-		JFaceResources.getImageRegistry().put("org.eclipse.jface.parts.StatusLine.stopImage", fgStopImage);//$NON-NLS-1$
-	}
-	
-	/**
-	 * Layout the contribution item controls on the status line.
-	 */
-	public class StatusLineLayout extends Layout {
-		private final StatusLineLayoutData DEFAULT_DATA = new StatusLineLayoutData();
-	
-		public Point computeSize(Composite composite, int wHint, int hHint, boolean changed) {
-				
-			if (wHint != SWT.DEFAULT && hHint != SWT.DEFAULT)
-				return new Point(wHint, hHint);
-	
-			Control[] children= composite.getChildren();
-			int totalWidth= 0;
-			int maxHeight= 0;
-			int totalCnt= 0;
-			for (int i= 0; i < children.length; i++) {
-				boolean useWidth= true;
-				Control w= children[i];
-				if (w == fProgressBarComposite && !fProgressIsVisible)
-					useWidth= false;
-				else if (w == fToolBar && !fCancelButtonIsVisible)
-					useWidth= false;
-				StatusLineLayoutData data = (StatusLineLayoutData)w.getLayoutData();
-				if (data == null)
-					data = DEFAULT_DATA;
-				Point e= w.computeSize(data.widthHint, data.heightHint, changed);
-				if (useWidth) {
-					totalWidth+= e.x;
-					totalCnt++;
-				}
-				maxHeight= Math.max(maxHeight, e.y);
-			}
-			if (totalCnt > 0)
-				totalWidth+= (totalCnt-1) * GAP;
-			if (totalWidth <= 0)
-				totalWidth= maxHeight*4;
-			return new Point(totalWidth, maxHeight);
-		}
-	
-		public void layout(Composite composite, boolean flushCache) {
-		
-			if (composite == null)
-				return;
-				
-			// StatusLineManager skips over the standard status line widgets 
-			// in its update method. There is thus a dependency
-			// between the layout of the standard widgets and the update method.
-			
-			// Make sure cancel button and progress bar are before contributions.
-			fMessageLabel.moveAbove(null);
-			fToolBar.moveBelow(fMessageLabel);
-			fProgressBarComposite.moveBelow(fToolBar);
-			
-			Rectangle rect= composite.getClientArea();
-			Control[] children= composite.getChildren();
-			int count= children.length;
-	
-			int ws[]= new int[count];
-			
-			int h= rect.height;
-			int totalWidth= -GAP;
-			for (int i= 0; i < count; i++) {
-				Control w= children[i];
-				if (w == fProgressBarComposite && !fProgressIsVisible)
-					continue;
-				if (w == fToolBar && !fCancelButtonIsVisible)
-					continue;
-				StatusLineLayoutData data = (StatusLineLayoutData)w.getLayoutData();
-				if (data == null)
-					data = DEFAULT_DATA;
-				int width= w.computeSize(data.widthHint, h, flushCache).x;
-				ws[i]= width;
-				totalWidth+= width + GAP;
-			}
-	
-			int diff= rect.width-totalWidth;
-			ws[0]+= diff;	// make the first StatusLabel wider
-			
-			// Check against minimum recommended width
-			final int msgMinWidth = rect.width/3;
-			if (ws[0] < msgMinWidth) {
-				diff = ws[0] - msgMinWidth;
-				ws[0] = msgMinWidth;
-			} else {
-				diff = 0;
-			}
-			
-			// Take space away from the contributions first.
-			for (int i = count -1; i >= 0 && diff < 0; --i) {
-				int min = Math.min(ws[i], -diff);
-				ws[i] -= min;
-				diff += min + GAP;
-			}
-			
-			int x= rect.x;
-			int y= rect.y;
-			for (int i= 0; i < count; i++) {
-				Control w= children[i];
-				/*
-				 * Workaround for Linux Motif:
-				 * Even if the progress bar and cancel button are
-				 * not set to be visible ad of width 0, they still
-				 * draw over the first pixel of the editor 
-				 * contributions.
-				 * 
-				 * The fix here is to draw the progress bar and
-				 * cancel button off screen if they are not visible.
-				 */
-				if (w == fProgressBarComposite && !fProgressIsVisible ||
-					w == fToolBar && !fCancelButtonIsVisible) {
-					w.setBounds(x + rect.width, y, ws[i], h);
-					continue;
-				}
-				w.setBounds(x, y, ws[i], h);
-				if (ws[i] > 0) x+= ws[i] + GAP;
-			}
-		}
-	}
-	
-	
-	/**
-	 * Create a new StatusLine as a child of the given parent.
-	 */
-	public StatusLine(Composite parent, int style) {
-		super(parent, style);
-		
-		addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				handleDispose();
-			}
-		});
-
-		// StatusLineManager skips over the standard status line widgets 
-		// in its update method. There is thus a dependency
-		// between this code defining the creation and layout of the standard 
-		// widgets and the update method.
-
-		setLayout(new StatusLineLayout());
-
-		fMessageLabel= new CLabel(this, SWT.NONE);//SWT.SHADOW_IN);
-//		Color[] colors = new Color[2];
-//		colors[0] = parent.getDisplay().getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW);
-//		colors[1] = fMessageLabel.getBackground();
-//		int[] gradient = new int[] {JFaceColors.STATUS_PERCENT};
-//		fMessageLabel.setBackground(colors, gradient);
-		
-		fProgressIsVisible= false;
-		fCancelEnabled= false;
-
-		fToolBar= new ToolBar(this, SWT.FLAT);
-		fCancelButton= new ToolItem(fToolBar, SWT.PUSH);
-		fCancelButton.setImage(fgStopImage.createImage());
-		fCancelButton.setToolTipText(JFaceResources.getString("Cancel_Current_Operation")); //$NON-NLS-1$
-		fCancelButton.addSelectionListener(
-			new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					setCanceled(true);
-				}
-			}
-		);
-		fCancelButton.addDisposeListener(new DisposeListener(){
-			public void widgetDisposed(DisposeEvent e) {
-				Image i = fCancelButton.getImage();
-				if((i != null) && (!i.isDisposed()))
-					i.dispose();
-			}
-		});
-
-		// We create a composite to create the progress bar in
-		// so that it can be centered. See bug #32331
-		fProgressBarComposite = new Composite(this, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.horizontalSpacing = 0;
-		layout.verticalSpacing = 0;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		fProgressBarComposite.setLayout(layout);
-		fProgressBar= new ProgressIndicator(fProgressBarComposite);
-		fProgressBar.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL));
-		
-		fStopButtonCursor= new Cursor(getDisplay(), SWT.CURSOR_ARROW);
-	}
-	/**
-	 * Notifies that the main task is beginning.
-	 * 
-	 * @param name the name (or description) of the main task
-	 * @param totalWork the total number of work units into which
-	 * the main task is been subdivided. If the value is 0 or UNKNOWN the 
-	 * implemenation is free to indicate progress in a way which doesn't 
-	 * require the total number of work units in advance. In general users 
-	 * should use the UNKNOWN value if they don't know the total amount of
-	 * work units. 
-	 */
-	public void beginTask(String name, int totalWork) {
-		final long timestamp = System.currentTimeMillis();
-		fStartTime = timestamp;
-		final boolean animated = (totalWork == UNKNOWN || totalWork == 0);
-		// make sure the progress bar is made visible while
-		// the task is running. Fixes bug 32198 for the non-animated case.
-		Runnable timer = new Runnable() {
-			public void run() {
-				StatusLine.this.startTask(timestamp, animated);
-			}
-		};
-		if(fProgressBar == null)
-			return;
-		
-		fProgressBar.getDisplay().timerExec(DELAY_PROGRESS, timer);
-		if (!animated) {
-			fProgressBar.beginTask(totalWork);
-		}		
-		if (name == null)
-			fTaskName= "";//$NON-NLS-1$
-		else
-			fTaskName= name;
-		setMessage(fTaskName);
-	}
-	/**
-	 * Notifies that the work is done; that is, either the main task is completed or the
-	 * user cancelled it.
-	 * Done() can be called more than once; an implementation should be prepared to handle
-	 * this case.
-	 */
-	public void done() {
-	
-		fStartTime= 0;
-		
-		if (fProgressBar != null) {
-			fProgressBar.sendRemainingWork();
-			fProgressBar.done();
-		}	
-		setMessage("");//$NON-NLS-1$
-		
-		hideProgress();
-	}
-	/**
-	 * Returns the status line's progress monitor
-	 */
-	public IProgressMonitor getProgressMonitor() {
-		return this;
-	}
-	/**
-	 * @private
-	 */
-	protected void handleDispose() {
-		fStopButtonCursor.dispose();
-		fStopButtonCursor= null;
-		fProgressBar.dispose();
-		fProgressBar = null;
-	}
-	/**
-	 * Hides the Cancel button and ProgressIndicator.
-	 * @private
-	 */
-	protected void hideProgress() {
-	
-		if (fProgressIsVisible && !isDisposed()) {
-			fProgressIsVisible = false;
-			fCancelEnabled = false;
-			fCancelButtonIsVisible = false;
-			if (fToolBar != null && !fToolBar.isDisposed())
-				fToolBar.setVisible(false);
-			if (fProgressBarComposite != null && !fProgressBarComposite.isDisposed())
-				fProgressBarComposite.setVisible(false);
-			layout();
-		}
-	}
-	/**
-	 * @see IProgressMonitor#internalWorked(double)
-	 */
-	public void internalWorked(double work) {
-		if (! fProgressIsVisible) {
-			if (System.currentTimeMillis() - fStartTime > DELAY_PROGRESS)
-				showProgress();
-		}
-			
-		if (fProgressBar != null) {
-			fProgressBar.worked(work);
-		}	
-	}
-	/**
-	 * Returns true if the user does some UI action to cancel this operation.
-	 * (like hitting the Cancel button on the progress dialog).
-	 * The long running operation typically polls isCanceled().
-	 */
-	public boolean isCanceled() {
-		return fIsCanceled;
-	}
-	/**
-	 * Returns <code>true</true> if the ProgressIndication provides UI for canceling
-	 * a long running operation.
-	 */
-	public boolean isCancelEnabled() {
-		return fCancelEnabled;
-	}
-	/**
-	 * Sets the cancel status. This method is usually called with the 
-	 * argument false if a client wants to abort a cancel action.
-	 */
-	public void setCanceled(boolean b) {
-		fIsCanceled = b;
-		if (fCancelButton != null)
-			fCancelButton.setEnabled(!b);
-	}
-	/**
-	 * Controls whether the ProgressIndication provides UI for canceling
-	 * a long running operation.
-	 * If the ProgressIndication is currently visible calling this method may have
-	 * a direct effect on the layout because it will make a cancel button visible. 
-	 */
-	public void setCancelEnabled(boolean enabled) {
-		fCancelEnabled= enabled; 
-		if (fProgressIsVisible && !fCancelButtonIsVisible && enabled) {
-			showButton();
-			layout();
-		}
-		if (fCancelButton != null && !fCancelButton.isDisposed())
-			fCancelButton.setEnabled(enabled);
-	}
-	/**
-	 * Sets the error message text to be displayed on the status line.
-	 * The image on the status line is cleared.
-	 * 
-	 * @param message the error message, or <code>null</code> for no error message
-	 */
-	public void setErrorMessage(String message) {
-		setErrorMessage(null, message);
-	}
-	/**
-	 * Sets an image and error message text to be displayed on the status line.
-	 * 
-	 * @param image the image to use, or <code>null</code> for no image
-	 * @param message the error message, or <code>null</code> for no error message
-	 */
-	public void setErrorMessage(Image image, String message) {
-		fErrorText = trim(message);
-		fErrorImage = image;
-		updateMessageLabel();
-	}
-	/**
-	 * Applies the given font to this status line.
-	 */
-	public void setFont(Font font) {
-		super.setFont(font);
-		Control[] children= getChildren();
-		for (int i= 0; i < children.length; i++) {
-			children[i].setFont(font);
-		}
-	}
-	/**
-	 * Sets the message text to be displayed on the status line.
-	 * The image on the status line is cleared.
-	 * 
-	 * @param message the error message, or <code>null</code> for no error message
-	 */
-	public void setMessage(String message) {
-		setMessage(null, message);
-	}
-	/**
-	 * Sets an image and a message text to be displayed on the status line.
-	 * 
-	 * @param image the image to use, or <code>null</code> for no image
-	 * @param message the message, or <code>null</code> for no message
-	 */
-	public void setMessage(Image image, String message) {
-		fMessageText = trim(message);
-		fMessageImage = image;
-		updateMessageLabel();
-	}
-	/**
-	 * @see IProgressMonitor#setTaskName(java.lang.String)
-	 */
-	public void setTaskName(String name) {
-		fTaskName= name;
-	}
-	/**
-	 * Makes the Cancel button visible.
-	 * @private
-	 */
-	protected void showButton() {
-		if (fToolBar != null && !fToolBar.isDisposed()) {
-			fToolBar.setVisible(true);
-			fToolBar.setEnabled(true);
-			fToolBar.setCursor(fStopButtonCursor);
-			fCancelButtonIsVisible= true;
-		}
-	}
-	/**
-	 * Shows the Cancel button and ProgressIndicator.
-	 * @private
- 	 */
-	protected void showProgress() {
-		if (!fProgressIsVisible && !isDisposed()) {
-			fProgressIsVisible= true;
-			if (fCancelEnabled)
-				showButton();
-			if (fProgressBarComposite != null && !fProgressBarComposite.isDisposed())
-				fProgressBarComposite.setVisible(true);
-			layout();
-		}
-	}
-	/**
-	 * @private
-	 */
-	void startTask(final long timestamp, final boolean animated) {
-		if (!fProgressIsVisible && fStartTime == timestamp) {
-			showProgress();
-			if (animated) {
-				if (fProgressBar != null && !fProgressBar.isDisposed()) {
-					fProgressBar.beginAnimatedTask();
-				}
-			}
-		}
-	}
-	/**
-	 * Notifies that a subtask of the main task is beginning.
-	 * Subtasks are optional; the main task might not have subtasks.
-	 * @param name the name (or description) of the subtask
-	 * @see IProgressMonitor#subTask(String)
-	 */
-	public void subTask(String name) {
-		String text;
-		if (fTaskName.length() == 0)
-			text= name;
-		else
-			text = JFaceResources.format("Set_SubTask", new Object[] {fTaskName, name});//$NON-NLS-1$
-		setMessage(text);		
-	}
-	
-	/**
-	 * Trims the message to be displayable in the status line.
-	 * This just pulls out the first line of the message.
-	 * Allows null.
-	 */
-	String trim(String message) {
-		if (message == null)
-			return null;
-		int cr = message.indexOf('\r');
-		int lf = message.indexOf('\n');
-		if (cr == -1 && lf == -1)
-			return message;
-		int len;
-		if (cr == -1)
-			len = lf;
-		else if (lf == -1)
-			len = cr;
-		else 
-			len = Math.min(cr, lf);
-		return message.substring(0, len);
-	}
-	
-	/**
-	 * Updates the message label widget.
-	 */
-	protected void updateMessageLabel() {
-		if (fMessageLabel != null && !fMessageLabel.isDisposed()) {
-			Display display = fMessageLabel.getDisplay();
-			if ((fErrorText != null && fErrorText.length() > 0) || fErrorImage != null) {
-				fMessageLabel.setForeground(JFaceColors.getErrorText(display));
-				fMessageLabel.setText(fErrorText);
-				fMessageLabel.setImage(fErrorImage);
-			}
-			else {
-				fMessageLabel.setForeground(display.getSystemColor(SWT.COLOR_WIDGET_FOREGROUND));
-				fMessageLabel.setText(fMessageText == null ? "" : fMessageText); //$NON-NLS-1$
-				fMessageLabel.setImage(fMessageImage);
-			}
-		}
-	}
-	/**
-	 * @see IProgressMonitor#worked(int)
-	 */
-	public void worked(int work) {
-		internalWorked(work);
-	}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/StatusLineLayoutData.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/action/StatusLineLayoutData.java
deleted file mode 100644
index 34732be..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/StatusLineLayoutData.java
+++ /dev/null
@@ -1,54 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.action;
-
-import org.eclipse.swt.SWT;
-
-/**
- * Represents the layout data object for <code>Control</code> within the status line.
- * To set a <code>StatusLineLayoutData</code> object into a <code>Control</code>, use
- * the <code>setLayoutData()</code> method. 
- * <p>
- * NOTE: Do not reuse <code>StatusLineLayoutData</code> objects. Every control in the
- * status line must have a unique <code>StatusLineLayoutData</code> instance or
- * <code>null</code>.
- * </p>
- * 
- * @since 2.1
- */
-public class StatusLineLayoutData {
-	/**
-	 * The <code>widthHint</code> specifies a minimum width for
-	 * the <code>Control</code>. A value of <code>SWT.DEFAULT</code>
-	 * indicates that no minimum width is specified.
-	 *
-	 * The default value is <code>SWT.DEFAULT</code>.
-	 */
-	public int widthHint = SWT.DEFAULT;
-	
-	/**
-	 * The <code>heightHint</code> specifies a minimum height for
-	 * the <code>Control</code>. A value of <code>SWT.DEFAULT</code>
-	 * indicates that no minimum height is specified.
-	 *
-	 * The default value is <code>SWT.DEFAULT</code>.
-	 */
-	public int heightHint = SWT.DEFAULT;
-
-
-	/**
-	 * Creates an initial status line layout data object.
-	 */
-	public StatusLineLayoutData() {
-		super();
-	}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/StatusLineManager.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/action/StatusLineManager.java
deleted file mode 100644
index 170be55..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/StatusLineManager.java
+++ /dev/null
@@ -1,318 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.action;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IProgressMonitorWithBlocking;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * A status line manager is a contribution manager which realizes itself and its items
- * in a status line control.
- * <p>
- * This class may be instantiated; it may also be subclassed if a more
- * sophisticated layout is required.
- * </p>
- */
-public class StatusLineManager extends ContributionManager implements IStatusLineManager {
-
-	/**
-	 * Global group marker used to control positioning of contributions
-	 */
-	public static final String BEGIN_GROUP = "BEGIN_GROUP"; //$NON-NLS-1$
-	
-	/**
-	 * Global group marker used to control positioning of contributions
-	 */
-	public static final String MIDDLE_GROUP = "MIDDLE_GROUP"; //$NON-NLS-1$
-	
-	/**
-	 * Global group marker used to control positioning of contributions
-	 */
-	public static final String END_GROUP = "END_GROUP"; //$NON-NLS-1$
-	
-	/**
-	 * The status line control; <code>null</code> before
-	 * creation and after disposal.
-	 */
-	private Composite statusLine = null;
-	
-/**
- * Creates a new status line manager.
- * Use the <code>createControl</code> method to create the 
- * status line control.
- */
-public StatusLineManager() {
-    // do nothing
-}
-
-/**
- * Creates and returns this manager's status line control. 
- * Does not create a new control if one already exists.
- * <p>
- * Note: Since 3.0 the return type is <code>Control</code>.  Before 3.0, the return type was 
- *   the package-private class <code>StatusLine</code>.
- * </p>
- *
- * @param parent the parent control
- * @return the status line control
- */
-public Control createControl(Composite parent) {
-    return createControl(parent, SWT.NONE);
-}
-
-/**
- * Creates and returns this manager's status line control. 
- * Does not create a new control if one already exists.
- *
- * @param parent the parent control
- * @param style the style for the control
- * @return the status line control
- * @since 3.0
- */
-public Control createControl(Composite parent, int style) {
-	if (!statusLineExist() && parent != null) {
-		statusLine= new StatusLine(parent, style);
-		add(new GroupMarker(BEGIN_GROUP));
-		add(new GroupMarker (MIDDLE_GROUP));
-		add(new GroupMarker(END_GROUP));
-		update(false);
-	}
-	return statusLine;
-}
-/**
- * Disposes of this status line manager and frees all allocated SWT resources.
- * Notifies all contribution items of the dispose. Note that this method does
- * not clean up references between this status line manager and its associated
- * contribution items. Use <code>removeAll</code> for that purpose.
- */
-public void dispose() {
-	if (statusLineExist())
-		statusLine.dispose();
-	statusLine = null;
-	
-	IContributionItem items[] = getItems();
-	for (int i = 0; i < items.length; i++) {
-		items[i].dispose();
-	}
-}
-/**
- * Returns the control used by this StatusLineManager.
- * 
- * @return the control used by this manager
- */
-public Control getControl() {
-	return statusLine;
-}
-/**
- * Returns the progress monitor delegate. Override this method
- * to provide your own object used to handle progress.
- * 
- * @return the IProgressMonitor delegate
- * @since 3.0
- */
-protected IProgressMonitor getProgressMonitorDelegate() {
-	return (IProgressMonitor)getControl();
-}
-/*
- * (non-Javadoc)
- * Method declared on IStatusLineManager
- */
-public IProgressMonitor getProgressMonitor() {
-	
-	return new IProgressMonitorWithBlocking(){
-		
-		IProgressMonitor progressDelegate = getProgressMonitorDelegate();
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.IProgressMonitor#beginTask(java.lang.String, int)
-		 */
-		public void beginTask(String name, int totalWork) {
-			progressDelegate.beginTask(name,totalWork);
-
-		}
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.IProgressMonitor#done()
-		 */
-		public void done() {
-			progressDelegate.done();
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.IProgressMonitor#internalWorked(double)
-		 */
-		public void internalWorked(double work) {
-			progressDelegate.internalWorked(work);
-
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.IProgressMonitor#isCanceled()
-		 */
-		public boolean isCanceled() {
-			return progressDelegate.isCanceled();
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.IProgressMonitor#setCanceled(boolean)
-		 */
-		public void setCanceled(boolean value) {
-			//Don't bother updating for disposed status
-			if(statusLine.isDisposed())
-				return;
-			progressDelegate.setCanceled(value);
-
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.IProgressMonitor#setTaskName(java.lang.String)
-		 */
-		public void setTaskName(String name) {
-			progressDelegate.setTaskName(name);
-
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.IProgressMonitor#subTask(java.lang.String)
-		 */
-		public void subTask(String name) {
-			progressDelegate.subTask(name);
-
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.IProgressMonitor#worked(int)
-		 */
-		public void worked(int work) {
-			progressDelegate.worked(work);
-		}  
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.IProgressMonitorWithBlocking#clearBlocked()
-		 */
-		public void clearBlocked() {
-			//Do nothing here as we let the modal context handle it
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.IProgressMonitorWithBlocking#setBlocked(org.eclipse.core.runtime.IStatus)
-		 */
-		public void setBlocked(IStatus reason) {
-//			Do nothing here as we let the modal context handle it
-		}
-	};
-}
-/* (non-Javadoc)
- * Method declared on IStatueLineManager
- */
-public boolean isCancelEnabled() {
-	return statusLineExist() && ((StatusLine)statusLine).isCancelEnabled();
-}
-/* (non-Javadoc)
- * Method declared on IStatueLineManager
- */
-public void setCancelEnabled(boolean enabled) {
-	if (statusLineExist())
-		((StatusLine) statusLine).setCancelEnabled(enabled);
-}
-/* (non-Javadoc)
- * Method declared on IStatusLineManager.
- */
-public void setErrorMessage(String message) {
-	if (statusLineExist())
-		((StatusLine) statusLine).setErrorMessage(message);
-}
-/* (non-Javadoc)
- * Method declared on IStatusLineManager.
- */
-public void setErrorMessage(Image image, String message) {
-	if (statusLineExist())
-		((StatusLine) statusLine).setErrorMessage(image, message);
-}
-/* (non-Javadoc)
- * Method declared on IStatusLineManager.
- */
-public void setMessage(String message) {
-	if (statusLineExist())
-		((StatusLine) statusLine).setMessage(message);
-}
-/* (non-Javadoc)
- * Method declared on IStatusLineManager.
- */
-public void setMessage(Image image, String message) {
-	if (statusLineExist())
-		((StatusLine) statusLine).setMessage(image, message);
-}
-
-/**
- * Returns whether the status line control is created
- * and not disposed.
- * 
- * @return <code>true</code> if the control is created
- *	and not disposed, <code>false</code> otherwise
- */
-private boolean statusLineExist() {
-	return statusLine != null && !statusLine.isDisposed(); 
-}
-/* (non-Javadoc)
- * Method declared on IContributionManager.
- */
-public void update(boolean force) {
-	
-	//boolean DEBUG= false;
-	
-	if (isDirty() || force) {
-		
-		if (statusLineExist()) {
-			statusLine.setRedraw(false);
-
-			// NOTE: the update algorithm is non-incremental.
-			// An incremental algorithm requires that SWT items can be created in the middle of the list
-			// but the ContributionItem.fill(Composite) method used here does not take an index, so this
-			// is not possible.
-			
-			Control ws[]= statusLine.getChildren();
-			for (int i= 0; i < ws.length; i++) {
-				Control w = ws[i];
-				Object data = w.getData();
-				if (data instanceof IContributionItem) {
-					w.dispose();
-				}
-			}
-				
-			int oldChildCount = statusLine.getChildren().length;
-			IContributionItem[] items= getItems();
-			for (int i = 0; i < items.length; ++i) {
-				IContributionItem ci= items[i];
-				if (ci.isVisible()) {						
-					ci.fill(statusLine);
-					// associate controls with contribution item
-					Control[] newChildren = statusLine.getChildren();
-					for (int j = oldChildCount; j < newChildren.length; j++) {
-						newChildren[j].setData(ci);
-					}
-					oldChildCount = newChildren.length;							
-				}
-			}
-				
-			setDirty(false);
-			
-			statusLine.layout();
-			statusLine.setRedraw(true);
-		}
-	}
-}
-
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/SubContributionItem.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/action/SubContributionItem.java
deleted file mode 100644
index 442a1db..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/SubContributionItem.java
+++ /dev/null
@@ -1,155 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.action;
-
-import org.eclipse.swt.widgets.*;
-
-/**
- * A <code>SubContributionItem</code> is a wrapper for an <code>IContributionItem</code>.  
- * It is used within a <code>SubContributionManager</code> to control the visibility
- * of items.
- * <p>
- * This class is not intended to be subclassed.
- * </p>
- */
-public class SubContributionItem implements IContributionItem {
-	/**
-	 * The visibility of the item.
-	 */
-	private boolean visible;
-
-	/**
-	 * The inner item for this contribution.  
-	 */
-	private IContributionItem innerItem;
-/**
- * Creates a new <code>SubContributionItem</code>.
- */
-public SubContributionItem(IContributionItem item) {
-	innerItem = item;
-}
-/**
- * The default implementation of this <code>IContributionItem</code>
- * delegates to the inner item. Subclasses may override.
- */
-public void dispose() {
-	innerItem.dispose();
-}
-/* (non-Javadoc)
- * Method declared on IContributionItem.
- */
-public void fill(Composite parent) {
-	if (visible)
-		innerItem.fill(parent);
-}
-/* (non-Javadoc)
- * Method declared on IContributionItem.
- */
-public void fill(Menu parent, int index) {
-	if (visible)
-		innerItem.fill(parent, index);
-}
-/* (non-Javadoc)
- * Method declared on IContributionItem.
- */
-public void fill(ToolBar parent, int index) {
-	if (visible)
-		innerItem.fill(parent, index);
-}
-/* (non-Javadoc)
- * Method declared on IContributionItem.
- */
-public String getId() {
-	return innerItem.getId();
-}
-/**
- * Returns the inner contribution item.
- *
- * @return the inner contribution item
- */
-public IContributionItem getInnerItem() {
-	return innerItem;
-}
-/* (non-Javadoc)
- * Method declared on IContributionItem.
- */
-public boolean isEnabled() {
-	return innerItem.isEnabled();
-}
-/* (non-Javadoc)
- * Method declared on IContributionItem.
- */
-public boolean isDirty() {
-	return innerItem.isDirty();
-}
-/* (non-Javadoc)
- * Method declared on IContributionItem.
- */
-public boolean isDynamic() {
-	return innerItem.isDynamic();
-}
-/* (non-Javadoc)
- * Method declared on IContributionItem.
- */
-public boolean isGroupMarker() {
-	return innerItem.isGroupMarker();
-}
-/* (non-Javadoc)
- * Method declared on IContributionItem.
- */
-public boolean isSeparator() {
-	return innerItem.isSeparator();
-}
-/* (non-Javadoc)
- * Method declared on IContributionItem.
- */
-public boolean isVisible() {
-	return visible && innerItem.isVisible();
-}
-/* (non-Javadoc)
- * Method declared on IContributionItem.
- */
-public void setParent(IContributionManager parent) {
-	// do nothing, the parent of our inner item
-	// is its SubContributionManager
-}
-/* (non-Javadoc)
- * Method declared on IContributionItem.
- */
-public void setVisible(boolean visible) {
-	this.visible = visible;
-}
-/* (non-Javadoc)
- * Method declared on IContributionItem.
- */
-public void update() {
-	innerItem.update();
-}
-/* (non-Javadoc)
- * Method declared on IContributionItem.
- */
-public void update(String id) {
-	innerItem.update(id);
-}
-/* (non-Javadoc)
- * @see org.eclipse.jface.action.IContributionItem#fill(org.eclipse.swt.widgets.CoolBar, int)
- */
-public void fill(CoolBar parent, int index) {
-	
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.jface.action.IContributionItem#saveWidgetState()
- */
-public void saveWidgetState() {	
-}
-
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/SubContributionManager.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/action/SubContributionManager.java
deleted file mode 100644
index 7367056..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/SubContributionManager.java
+++ /dev/null
@@ -1,321 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.action;
-
-
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-/**
- * A <code>SubContributionManager</code> is used to define a set of contribution
- * items within a parent manager.  Once defined, the visibility of the entire set can 
- * be changed as a unit.
- */
-public abstract class SubContributionManager implements IContributionManager {
-	/**
-	 * The parent contribution manager.
-	 */
-	private IContributionManager parentMgr;
-
-	/**
-	 * Maps each item in the manager to a wrapper.  The wrapper is used to 
-	 * control the visibility of each item.
-	 */
-	private Map mapItemToWrapper = new HashMap();
-
-	/**
-	 * The visibility of the manager,
-	 */
-	private boolean visible = false;
-
-	/**
-	 * Constructs a new <code>SubContributionManager</code>
-	 *
-	 * @param mgr the parent contribution manager.  All contributions made to the
-	 *      <code>SubContributionManager</code> are forwarded and appear in the
-	 *      parent manager.
-	 */
-	public SubContributionManager(IContributionManager mgr) {
-		super();
-		parentMgr = mgr;
-	}
-	/* (non-Javadoc)
-	 * Method declared on IContributionManager.
-	 */
-	public void add(IAction action) {
-		add(new ActionContributionItem(action));
-	}
-	/* (non-Javadoc)
-	 * Method declared on IContributionManager.
-	 */
-	public void add(IContributionItem item) {
-		item.setParent(this);
-		SubContributionItem wrap = wrap(item);
-		wrap.setVisible(visible);
-		parentMgr.add(wrap);
-		itemAdded(item, wrap);
-	}
-	/* (non-Javadoc)
-	 * Method declared on IContributionManager.
-	 */
-	public void appendToGroup(String groupName, IAction action) {
-		appendToGroup(groupName, new ActionContributionItem(action));
-	}
-	/* (non-Javadoc)
-	 * Method declared on IContributionManager.
-	 */
-	public void appendToGroup(String groupName, IContributionItem item) {
-		item.setParent(this);
-		SubContributionItem wrap = wrap(item);
-		wrap.setVisible(visible);
-		parentMgr.appendToGroup(groupName, wrap);
-		itemAdded(item, wrap);
-	}
-	
-	/**
-	 * Disposes this sub contribution manager, removing all its items
-	 * and cleaning up any other resources allocated by it.
-	 * This must leave no trace of this sub contribution manager
-	 * in the parent manager.  Subclasses may extend.
-	 * 
-	 * @since 3.0
-	 */
-	public void disposeManager() {
-	    removeAll();
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on IContributionManager.
-	 *
-	 * Returns the item passed to us, not the wrapper.
-	 */
-	public IContributionItem find(String id) {
-		IContributionItem item = parentMgr.find(id);
-		// Return the item passed to us, not the wrapper.
-		item = unwrap(item);
-		return item;
-	}
-	/* (non-Javadoc)
-	 * Method declared on IContributionManager.
-	 *
-	 * Returns the items passed to us, not the wrappers.
-	 */
-	public IContributionItem[] getItems() {
-		IContributionItem[] result = new IContributionItem[mapItemToWrapper.size()];
-		mapItemToWrapper.keySet().toArray(result);
-		return result;
-	}
-	/**
-	 * Returns the parent manager.
-	 *
-	 * @return the parent manager
-	 */
-	public IContributionManager getParent() {
-		return parentMgr;
-	}
-	/* (non-Javadoc)
-	 * Method declared on IContributionManager.
-	 */
-	public IContributionManagerOverrides getOverrides() {
-		return parentMgr.getOverrides();
-	}
-	/* (non-Javadoc)
-	 * Method declared on IContributionManager.
-	 */
-	public void insertAfter(String id, IAction action) {
-		insertAfter(id, new ActionContributionItem(action));
-	}
-	/* (non-Javadoc)
-	 * Method declared on IContributionManager.
-	 */
-	public void insertAfter(String id, IContributionItem item) {
-		item.setParent(this);
-		SubContributionItem wrap = wrap(item);
-		wrap.setVisible(visible);
-		parentMgr.insertAfter(id, wrap);
-		itemAdded(item, wrap);
-	}
-	/* (non-Javadoc)
-	 * Method declared on IContributionManager.
-	 */
-	public void insertBefore(String id, IAction action) {
-		insertBefore(id, new ActionContributionItem(action));
-	}
-	/* (non-Javadoc)
-	 * Method declared on IContributionManager.
-	 */
-	public void insertBefore(String id, IContributionItem item) {
-		item.setParent(this);
-		SubContributionItem wrap = wrap(item);
-		wrap.setVisible(visible);
-		parentMgr.insertBefore(id, wrap);
-		itemAdded(item, wrap);
-	}
-	/* (non-Javadoc)
-	 * Method declared on IContributionManager.
-	 */
-	public boolean isDirty() {
-		return parentMgr.isDirty();
-	}
-	/* (non-Javadoc)
-	 * Method declared on IContributionManager.
-	 */
-	public boolean isEmpty() {
-		return parentMgr.isEmpty();
-	}
-	/**
-	 * 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() {
-		return visible;
-	}
-	/**
-	 * Notifies that an item has been added.
-	 * <p>
-	 * Subclasses are not expected to override this method.
-	 * </p>
-	 *
-	 * @param item the item contributed by the client
-	 * @param wrap the item contributed to the parent manager as a proxy for the item
-	 *      contributed by the client
-	 */
-	protected void itemAdded(IContributionItem item, SubContributionItem wrap) {
-		mapItemToWrapper.put(item, wrap);
-	}
-	/**
-	 * Notifies that an item has been removed.
-	 * <p>
-	 * Subclasses are not expected to override this method.
-	 * </p>
-	 *
-	 * @param item the item contributed by the client
-	 */
-	protected void itemRemoved(IContributionItem item) {
-		mapItemToWrapper.remove(item);
-	}
-	/**
-	  * @deprecated Use getItems(String value) instead.
-	 */
-	public Enumeration items() {
-		final Iterator i = mapItemToWrapper.values().iterator();
-		return new Enumeration() {
-			public boolean hasMoreElements() {
-				return i.hasNext();
-			}
-			public Object nextElement() {
-				return i.next();
-			}
-		};
-	}
-	/* (non-Javadoc)
-	 * Method declared on IContributionManager.
-	 */
-	public void markDirty() {
-		parentMgr.markDirty();
-	}
-	/* (non-Javadoc)
-	 * Method declared on IContributionManager.
-	 */
-	public void prependToGroup(String groupName, IAction action) {
-		prependToGroup(groupName, new ActionContributionItem(action));
-	}
-	/* (non-Javadoc)
-	 * Method declared on IContributionManager.
-	 */
-	public void prependToGroup(String groupName, IContributionItem item) {
-		item.setParent(this);
-		SubContributionItem wrap = wrap(item);
-		wrap.setVisible(visible);
-		parentMgr.prependToGroup(groupName, wrap);
-		itemAdded(item, wrap);
-	}
-	/* (non-Javadoc)
-	 * Method declared on IContributionManager.
-	 */
-	public IContributionItem remove(String id) {
-		IContributionItem result = parentMgr.remove(id);
-		if (result != null)
-			itemRemoved(result);
-		return result;
-	}
-	/* (non-Javadoc)
-	 * Method declared on IContributionManager.
-	 */
-	public IContributionItem remove(IContributionItem item) {
-		SubContributionItem wrap = (SubContributionItem) mapItemToWrapper.get(item);
-		if (wrap == null)
-			return null;
-		IContributionItem result = parentMgr.remove(wrap);
-		if (result == null)
-			return null;
-		itemRemoved(item);
-		return item;
-	}
-	/* (non-Javadoc)
-	 * Method declared on IContributionManager.
-	 */
-	public void removeAll() {
-		Iterator enum = mapItemToWrapper.values().iterator();
-		while (enum.hasNext()) {
-			IContributionItem item = (IContributionItem) enum.next();
-			parentMgr.remove(item);
-		}
-		mapItemToWrapper.clear();
-	}
-	/**
-	 * 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 (mapItemToWrapper.size() > 0) {
-			Iterator enum = mapItemToWrapper.values().iterator();
-			while (enum.hasNext()) {
-				IContributionItem item = (IContributionItem) enum.next();
-				item.setVisible(visible);
-			}
-			parentMgr.markDirty();
-		}
-	}
-	/**
-	 * Wraps a contribution item in a sub contribution item, and returns the new wrapper.
-	 */
-	protected SubContributionItem wrap(IContributionItem item) {
-		return new SubContributionItem(item);
-	}
-	
-	/**
-     * Unwraps a nested contribution item. If the contribution item is an
-     * instance of <code>SubContributionItem</code>, then its inner item is
-     * returned. Otherwise, the item itself is returned.
-     * 
-     * @param item
-     *            The item to unwrap; may be <code>null</code>.
-     * @return The inner item of <code>item</code>, if <code>item</code> is
-     *         a <code>SubContributionItem</code>;<code>item</code>
-     *         otherwise.
-     */
-    protected IContributionItem unwrap(IContributionItem item) {
-        if (item instanceof SubContributionItem) { return ((SubContributionItem) item)
-                .getInnerItem(); }
-
-        return item;
-    }
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/SubCoolBarManager.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/action/SubCoolBarManager.java
deleted file mode 100644
index 4e48baa..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/SubCoolBarManager.java
+++ /dev/null
@@ -1,100 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.action;
-
-import org.eclipse.jface.util.Assert;
-
-/**
- * A <code>SubCoolBarManager</code> monitors the additional and removal of 
- * items from a parent manager so that visibility of the entire set can be changed as a
- * unit.
- * 
- * @since 3.0
- */
-public class SubCoolBarManager extends SubContributionManager implements ICoolBarManager {
-
-	/**
-	 * Constructs a new manager.
-	 *
-	 * @param mgr the parent manager.  All contributions made to the 
-	 *      <code>SubCoolBarManager</code> are forwarded and appear in the
-	 *      parent manager.
-	 */
-	public SubCoolBarManager(ICoolBarManager mgr) {
-		super(mgr);
-		Assert.isNotNull(mgr);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.ICoolBarManager#add(org.eclipse.jface.action.IToolBarManager)
-	 */
-	public void add(IToolBarManager toolBarManager) {
-		Assert.isNotNull(toolBarManager);
-		super.add(new ToolBarContributionItem(toolBarManager));
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.ICoolBarManager#getStyle()
-	 */
-	public int getStyle() {
-		// It is okay to cast down since we only accept coolBarManager objects in the
-		// constructor
-		return ((CoolBarManager)getParent()).getStyle();
-	}
-	
-	/**
-	 * Returns the parent cool bar manager that this sub-manager contributes to.
-	 * 
-	 * @return the parent cool bar manager 
-	 */
-	protected final ICoolBarManager getParentCoolBarManager() {
-		// Cast is ok because that's the only
-		// thing we accept in the construtor.
-		return (ICoolBarManager)getParent();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.ICoolBarManager#isLayoutLocked()
-	 */
-	public boolean getLockLayout() {
-		return getParentCoolBarManager().getLockLayout();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.ICoolBarManager#lockLayout(boolean)
-	 */
-	public void setLockLayout(boolean value) {}
-
-	/* (non-Javadoc)
-	 * SubCoolBarManagers do not have control of the global context menu.
-	 */
-	public IMenuManager getContextMenuManager() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * In SubCoolBarManager we do nothing.
-	 */
-	public void setContextMenuManager(IMenuManager menuManager) {
-		// do nothing
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IContributionManager#update(boolean)
-	 */
-	public void update(boolean force) {
-		// This method is not governed by visibility.  The client may
-		// call <code>setVisible</code> and then force an update.  At that
-		// point we need to update the parent.
-		getParentCoolBarManager().update(force);
-	}
-
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/SubMenuManager.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/action/SubMenuManager.java
deleted file mode 100644
index 7605fc8..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/SubMenuManager.java
+++ /dev/null
@@ -1,379 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.action;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.CoolBar;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.ToolBar;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.util.ListenerList;
-
-/**
- * A <code>SubMenuManager</code> is used to define a set of contribution
- * items within a parent manager.  Once defined, the visibility of the entire set can 
- * be changed as a unit.
- * <p>
- * A client may ask for and make additions to a submenu.  The visibility of these items
- * is also controlled by the visibility of the <code>SubMenuManager</code>.
- * </p>
- */
-public class SubMenuManager extends SubContributionManager implements IMenuManager {
-
-	/**
-	 * Maps each submenu in the manager to a wrapper.  The wrapper is used to
-	 * monitor additions and removals.  If the visibility of the manager is modified
-	 * the visibility of the submenus is also modified.
-	 */
-	private Map mapMenuToWrapper;
-
-	/**
-	 * List of registered menu listeners (element type: <code>IMenuListener</code>).
-	 */
-	private ListenerList menuListeners = new ListenerList(1);
-	
-	/**
-	 * The menu listener added to the parent.  Lazily initialized
-	 * in addMenuListener.
-	 */
-	private IMenuListener menuListener;
-	
-	/**
-	 * Constructs a new manager.
-	 *
-	 * @param mgr the parent manager.  All contributions made to the 
-	 *      <code>SubMenuManager</code> are forwarded and appear in the
-	 *      parent manager.
-	 */
-	public SubMenuManager(IMenuManager mgr) {
-		super(mgr);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IMenuManager#addMenuListener(org.eclipse.jface.action.IMenuListener)
-	 */
-	public void addMenuListener(IMenuListener listener) {
-	    menuListeners.add(listener);
-	    if (menuListener == null) {
-	        menuListener = new IMenuListener() {
-                public void menuAboutToShow(IMenuManager manager) {
-            		Object[] listeners = menuListeners.getListeners();
-            		for (int i = 0; i < listeners.length; ++i) {
-            			((IMenuListener) listeners[i]).menuAboutToShow(SubMenuManager.this);
-            		}
-                }
-            };
-	    }
-		getParentMenuManager().addMenuListener(menuListener);
-	}
-
-	/**
-	 * The default implementation of this <code>IContributionItem</code>
-	 * method does nothing. Subclasses may override.
-	 */
-	public void dispose() {
-	    // do nothing
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.action.SubContributionManager#disposeManager()
-     */
-    public void disposeManager() {
-        if (menuListener != null) {
-            getParentMenuManager().removeMenuListener(menuListener);
-            menuListener = null;
-            menuListeners.clear();
-        }
-        super.disposeManager();
-    }
-    
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IContributionItem#fill(org.eclipse.swt.widgets.Composite)
-	 */
-	public void fill(Composite parent) {
-		if (isVisible())
-			getParentMenuManager().fill(parent);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IContributionItem#fill(org.eclipse.swt.widgets.CoolBar, int)
-	 */
-	public void fill(CoolBar parent, int index) {
-	    // do nothing
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IContributionItem#fill(org.eclipse.swt.widgets.Menu, int)
-	 */
-	public void fill(Menu parent, int index) {
-		if (isVisible())
-			getParentMenuManager().fill(parent, index);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IContributionItem#fill(org.eclipse.swt.widgets.ToolBar, int)
-	 */
-	public void fill(ToolBar parent, int index) {
-		if (isVisible())
-			getParentMenuManager().fill(parent, index);
-	}
-
-	/* (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;
-			item = getWrapper(menu);
-		}
-
-		return item;
-	}
-
-	/**
-	 * <p>
-	 * The menu returned is wrapped within a <code>SubMenuManager</code> to
-	 * monitor additions and removals.  If the visibility of this menu is modified
-	 * the visibility of the submenus is also modified.
-	 * </p>
-	 */
-	public IMenuManager findMenuUsingPath(String path) {
-		IContributionItem item = findUsingPath(path);
-		if (item instanceof IMenuManager) {
-			return (IMenuManager) item;
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IMenuManager.
-	 *
-	 * Returns the item passed to us, not the wrapper.
-	 *
-	 * We use use the same algorithm as MenuManager.findUsingPath, but unwrap
-	 * submenus along so that SubMenuManagers are visible.
-	 */
-	public IContributionItem findUsingPath(String path) {
-		String id = path;
-		String rest = null;
-		int separator = path.indexOf('/');
-		if (separator != -1) {
-			id = path.substring(0, separator);
-			rest = path.substring(separator + 1);
-		}
-		IContributionItem item = find(id); // unwraps item
-		if (rest != null && item instanceof IMenuManager) {
-			IMenuManager menu = (IMenuManager) item;
-			item = menu.findUsingPath(rest);
-		}
-		return item;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IContributionItem#getId()
-	 */
-	public String getId() {
-		return getParentMenuManager().getId();
-	}
-
-	/**
-	 * Returns the parent menu manager that this sub-manager contributes to.
-	 */
-	protected final IMenuManager getParentMenuManager() {
-		// Cast is ok because that's the only
-		// thing we accept in the construtor.
-		return (IMenuManager) getParent();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IMenuManager#getRemoveAllWhenShown()
-	 */
-	public boolean getRemoveAllWhenShown() {
-		return false;
-	}
-
-	/**
-	 * Returns the menu wrapper for a menu manager.
-	 * <p>
-	 * The sub menus within this menu are wrapped within a <code>SubMenuManager</code> to
-	 * monitor additions and removals.  If the visibility of this menu is modified
-	 * the visibility of the sub menus is also modified.
-	 * <p>
-	 *
-	 * @return the menu wrapper
-	 */
-	protected IMenuManager getWrapper(IMenuManager mgr) {
-		if (mapMenuToWrapper == null) {
-			mapMenuToWrapper = new HashMap(4);
-		}
-		SubMenuManager wrapper = (SubMenuManager) mapMenuToWrapper.get(mgr);
-		if (wrapper == null) {
-			wrapper = wrapMenu(mgr);
-			mapMenuToWrapper.put(mgr, wrapper);
-		}
-		return wrapper;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IContributionItem#isDynamic()
-	 */
-	public boolean isDynamic() {
-		return getParentMenuManager().isDynamic();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IContributionItem#isEnabled()
-	 */
-	public boolean isEnabled() {
-		return isVisible() && getParentMenuManager().isEnabled();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IContributionItem#isGroupMarker()
-	 */
-	public boolean isGroupMarker() {
-		return getParentMenuManager().isGroupMarker();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IContributionItem#isSeparator()
-	 */
-	public boolean isSeparator() {
-		return getParentMenuManager().isSeparator();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.SubContributionManager#isVisible()
-	 */
-	public boolean isVisible() {
-		return super.isVisible() && getParentMenuManager().isVisible();
-	}
-
-	/**
-	 * Remove all contribution items.
-	 */
-	public void removeAll() {
-		super.removeAll();
-		if (mapMenuToWrapper != null) {
-			Iterator iter = mapMenuToWrapper.values().iterator();
-			while (iter.hasNext()) {
-				SubMenuManager wrapper = (SubMenuManager) iter.next();
-				wrapper.removeAll();
-			}
-			mapMenuToWrapper.clear();
-			mapMenuToWrapper = null;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IMenuManager#removeMenuListener(org.eclipse.jface.action.IMenuListener)
-	 */
-	public void removeMenuListener(IMenuListener listener) {
-	    menuListeners.remove(listener);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IContributionItem#saveWidgetState()
-	 */
-	public void saveWidgetState() {
-	    // do nothing
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IContributionItem#setParent(org.eclipse.jface.action.IContributionManager)
-	 */
-	public void setParent(IContributionManager parent) {
-		// do nothing, our "parent manager's" parent 
-		// is set when it is added to a manager
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IMenuManager#setRemoveAllWhenShown(boolean)
-	 */
-	public void setRemoveAllWhenShown(boolean removeAll) {
-		Assert.isTrue(false, "Should not be called on submenu manager"); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.SubContributionManager#setVisible(boolean)
-	 */
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-		if (mapMenuToWrapper != null) {
-			Iterator iter = mapMenuToWrapper.values().iterator();
-			while (iter.hasNext()) {
-				SubMenuManager wrapper = (SubMenuManager) iter.next();
-				wrapper.setVisible(visible);
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IContributionItem#update()
-	 */
-	public void update() {
-		// This method is not governed by visibility.  The client may
-		// call <code>setVisible</code> and then force an update.  At that
-		// point we need to update the parent.
-		getParentMenuManager().update();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IContributionManager#update(boolean)
-	 */
-	public void update(boolean force) {
-		// This method is not governed by visibility.  The client may
-		// call <code>setVisible</code> and then force an update.  At that
-		// point we need to update the parent.
-		getParentMenuManager().update(force);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IContributionItem#update(java.lang.String)
-	 */
-	public void update(String id) {
-		getParentMenuManager().update(id);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IMenuManager#updateAll(boolean)
-	 */
-	public void updateAll(boolean force) {
-		// This method is not governed by visibility.  The client may
-		// call <code>setVisible</code> and then force an update.  At that
-		// point we need to update the parent.
-		getParentMenuManager().updateAll(force);
-	}
-
-	/**
-	 * Wraps a menu manager in a sub menu manager, and returns the new wrapper.
-	 */
-	protected SubMenuManager wrapMenu(IMenuManager menu) {
-		SubMenuManager mgr = new SubMenuManager(menu);
-		mgr.setVisible(isVisible());
-		return mgr;
-	}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/SubStatusLineManager.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/action/SubStatusLineManager.java
deleted file mode 100644
index 66c06cf..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/SubStatusLineManager.java
+++ /dev/null
@@ -1,138 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.action;
-
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * A <code>SubStatusLineManager</code> is used to define a set of contribution
- * items within a parent manager.  Once defined, the visibility of the entire set can 
- * be changed as a unit.
- */
-public class SubStatusLineManager extends SubContributionManager implements IStatusLineManager {
-	/**
-	 * Current status line message.
-	 */
-	private String message;
-
-	/**
-	 * Current status line error message.
-	 */
-	private String errorMessage;
-
-	/**
-	 * Current status line message image.
-	 */
-	private Image messageImage;
-	
-	/**
-	 * Current status line error image
-	 */
-	private Image errorImage;
-	
-	/**
-	 * Constructs a new manager.
-	 *
-	 * @param mgr the parent manager.  All contributions made to the 
-	 *      <code>SubStatusLineManager</code> are forwarded and appear in the
-	 *      parent manager.
-	 */
-	public SubStatusLineManager(IStatusLineManager mgr) {
-		super(mgr);
-	}
-	/**
-	 * Returns the parent status line manager that this sub-manager contributes
-	 * to.
-	 */
-	protected final IStatusLineManager getParentStatusLineManager() {
-		// Cast is ok because that's the only
-		// thing we accept in the construtor.
-		return (IStatusLineManager)getParent();
-	}
-	/* (non-Javadoc)
-	 * Method declared on IStatusLineManager.
-	 */
-	public IProgressMonitor getProgressMonitor() {
-		return getParentStatusLineManager().getProgressMonitor();
-	}
-	/* (non-Javadoc)
-	 * Method declared on IStatusLineManager.
-	 */
-	public boolean isCancelEnabled() {
-		return getParentStatusLineManager().isCancelEnabled();
-	}
-	/* (non-Javadoc)
-	 * Method declared on IStatusLineManager.
-	 */
-	public void setCancelEnabled(boolean enabled) {
-		getParentStatusLineManager().setCancelEnabled(enabled);
-	}
-	/* (non-Javadoc)
-	 * Method declared on IStatusLineManager.
-	 */
-	public void setErrorMessage(String message) {
-		this.errorImage = null;
-		this.errorMessage = message;
-		if (isVisible())
-			getParentStatusLineManager().setErrorMessage(errorMessage);
-	}
-	/* (non-Javadoc)
-	 * Method declared on IStatusLineManager.
-	 */
-	public void setErrorMessage(Image image, String message) {
-		this.errorImage = image;
-		this.errorMessage = message;
-		if (isVisible())
-			getParentStatusLineManager().setErrorMessage(errorImage, errorMessage);
-	}
-	/* (non-Javadoc)
-	 * Method declared on IStatusLineManager.
-	 */
-	public void setMessage(String message) {
-		this.messageImage = null;
-		this.message = message;
-		if (isVisible())
-			getParentStatusLineManager().setMessage(message);
-	}
-	/* (non-Javadoc)
-	 * Method declared on IStatusLineManager.
-	 */
-	public void setMessage(Image image, String message) {
-		this.messageImage = image;
-		this.message = message;
-		if (isVisible())
-			getParentStatusLineManager().setMessage(messageImage, message);
-	}
-	/* (non-Javadoc)
-	 * Method declared on SubContributionManager.
-	 */
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-		if (visible) {
-			getParentStatusLineManager().setErrorMessage(errorImage, errorMessage);
-			getParentStatusLineManager().setMessage(messageImage, message);
-		} else {
-			getParentStatusLineManager().setMessage(null, null);
-			getParentStatusLineManager().setErrorMessage(null, null);
-		}
-	}
-	/* (non-Javadoc)
-	 * Method declared on IStatusLineManager.
-	 */
-	public void update(boolean force) {
-		// This method is not governed by visibility.  The client may
-		// call <code>setVisible</code> and then force an update.  At that
-		// point we need to update the parent.
-		getParentStatusLineManager().update(force);
-	}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/SubToolBarManager.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/action/SubToolBarManager.java
deleted file mode 100644
index 6823a8d..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/SubToolBarManager.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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.action;
-
-
-/**
- * A <code>SubToolBarManager</code> monitors the additional and removal of 
- * items from a parent manager so that visibility of the entire set can be changed as a
- * unit.
- */
-public class SubToolBarManager extends SubContributionManager implements IToolBarManager {
-	
-	/**
-	 * Constructs a new manager.
-	 *
-	 * @param mgr the parent manager.  All contributions made to the 
-	 *      <code>SubToolBarManager</code> are forwarded and appear in the
-	 *      parent manager.
-	 */
-	public SubToolBarManager(IToolBarManager mgr) {
-		super(mgr);
-	}
-
-	/**
-	 * Returns the parent toolbar manager that this sub-manager contributes to.
-	 */
-	protected final IToolBarManager getParentToolBarManager() {
-		// Cast is ok because that's the only
-		// thing we accept in the construtor.
-		return (IToolBarManager)getParent();
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IToolBarManager.
-	 */
-	public void update(boolean force) {
-		// This method is not governed by visibility.  The client may
-		// call <code>setVisible</code> and then force an update.  At that
-		// point we need to update the parent.
-		getParentToolBarManager().update(force);
-	}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/ToolBarContributionItem.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/action/ToolBarContributionItem.java
deleted file mode 100644
index 86cbd6c..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/ToolBarContributionItem.java
+++ /dev/null
@@ -1,631 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.action;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-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.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.CoolBar;
-import org.eclipse.swt.widgets.CoolItem;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.swt.widgets.ToolItem;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.util.Policy;
-
-/**
- * The <code>ToolBarContributionItem</code> class provides a wrapper for tool
- * bar managers when used in cool bar managers. It extends <code>ContributionItem</code>
- * but and provides some additional methods to customize the size of the cool
- * item and to retrieve the underlying tool bar manager.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * 
- * @since 3.0
- */
-public class ToolBarContributionItem extends ContributionItem {
-
-    /**
-     * A constant used by <code>setMinimumItemsToShow</code> and <code>getMinimumItemsToShow</code>
-     * to indicate that all tool items should be shown in the cool item.
-     */
-    public static final int SHOW_ALL_ITEMS = -1;
-
-    /**
-     * The pull down menu used to list all hidden tool items if the current
-     * size is less than the preffered size.
-     */
-    private MenuManager chevronMenuManager = null;
-
-    /**
-     * The widget created for this item; <code>null</code> before creation
-     * and after disposal.
-     */
-    private CoolItem coolItem = null;
-
-    /**
-     * Current height of cool item
-     */
-    private int currentHeight = -1;
-
-    /**
-     * Current width of cool item.
-     */
-    private int currentWidth = -1;
-
-    /**
-     * A flag indicating that this item has been disposed. This prevents future
-     * method invocations from doing things they shouldn't.
-     */
-    private boolean disposed = false;
-
-    /**
-     * Mininum number of tool items to show in the cool item widget.
-     */
-    private int minimumItemsToShow = SHOW_ALL_ITEMS;
-
-    /**
-     * The tool bar manager used to manage the tool items contained in the cool
-     * item widget.
-     */
-    private ToolBarManager toolBarManager = null;
-
-    /**
-     * Enable/disable chevron support.
-     */
-    private boolean useChevron = true;
-
-    /**
-     * Convenience method equivalent to <code>ToolBarContributionItem(new ToolBarManager(), null)</code>.
-     */
-    public ToolBarContributionItem() {
-        this(new ToolBarManager(), null);
-    }
-
-    /**
-     * Convenience method equivalent to <code>ToolBarContributionItem(toolBarManager, null)</code>.
-     * 
-     * @param toolBarManager
-     *            the tool bar manager
-     */
-    public ToolBarContributionItem(IToolBarManager toolBarManager) {
-        this(toolBarManager, null);
-    }
-
-    /**
-     * Creates a tool bar contribution item.
-     * 
-     * @param toolBarManager
-     *            the tool bar manager to wrap
-     * @param id
-     *            the contribution item id, or <code>null</code> if none
-     */
-    public ToolBarContributionItem(IToolBarManager toolBarManager, String id) {
-        super(id);
-        Assert.isTrue(toolBarManager instanceof ToolBarManager);
-        this.toolBarManager = (ToolBarManager) toolBarManager;
-    }
-
-    /**
-     * Checks whether this contribution item has been disposed. If it has, and
-     * the tracing options are active, then it prints some debugging
-     * information.
-     * 
-     * @return <code>true</code> if the item is disposed; <code>false</code>
-     *         otherwise.
-     *  
-     */
-    private final boolean checkDisposed() {
-        if (disposed) {
-            if (Policy.TRACE_TOOLBAR) { //$NON-NLS-1$
-                System.out
-                        .println("Method invocation on a disposed tool bar contribution item."); //$NON-NLS-1$
-                new Exception().printStackTrace(System.out);
-            }
-
-            return true;
-        }
-
-        return false;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.action.IContributionItem#dispose()
-     */
-    public void dispose() {
-        // Dispose of the ToolBar and all its contributions
-        if (toolBarManager != null) {
-            toolBarManager.dispose();
-            toolBarManager = null;
-        }
-
-        /*
-         * We need to dispose the cool item or we might be left holding a cool
-         * item with a disposed control.
-         */
-        if ((coolItem != null) && (!coolItem.isDisposed())) {
-            coolItem.dispose();
-            coolItem = null;
-        }
-
-        // Mark this item as disposed.
-        disposed = true;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.action.IContributionItem#fill(org.eclipse.swt.widgets.CoolBar,
-     *      int)
-     */
-    public void fill(CoolBar coolBar, int index) {
-        if (checkDisposed()) { return; }
-
-        if (coolItem == null && coolBar != null) {
-            ToolBar oldToolBar = toolBarManager.getControl();
-            ToolBar toolBar = toolBarManager.createControl(coolBar);
-            if ((oldToolBar != null) && (oldToolBar.equals(toolBar))) {
-                // We are using an old tool bar, so we need to update.
-                toolBarManager.update(true);
-            }
-            
-            // Do not create a coolItem if the toolbar is empty
-            if (toolBar.getItemCount() < 1) return;
-            int flags = SWT.DROP_DOWN;
-            if (index >= 0) {
-                coolItem = new CoolItem(coolBar, flags, index);
-            } else {
-                coolItem = new CoolItem(coolBar, flags);
-            }
-            // sets the back reference
-            coolItem.setData(this);
-            // Add the toolbar to the CoolItem widget
-            coolItem.setControl(toolBar);
-
-            // Handle Context Menu
-            toolBar.addListener(SWT.MenuDetect, new Listener() {
-
-                public void handleEvent(Event event) {
-                    // if the toolbar does not have its own context menu then
-                    // handle the event
-                    if (toolBarManager.getContextMenuManager() == null) {
-                        handleContextMenu(event);
-                    }
-                }
-            });
-
-            // Handle for chevron clicking
-            if (getUseChevron()) {
-                // Chevron Support
-                coolItem.addSelectionListener(new SelectionAdapter() {
-
-                    public void widgetSelected(SelectionEvent event) {
-                        if (event.detail == SWT.ARROW) {
-                            handleChevron(event);
-                        }
-                    }
-                });
-            }
-
-            // Handle for disposal
-            coolItem.addDisposeListener(new DisposeListener() {
-
-                public void widgetDisposed(DisposeEvent event) {
-                    handleWidgetDispose(event);
-                }
-            });
-
-            // Sets the size of the coolItem
-            updateSize(true);
-        }
-    }
-
-    /**
-     * Returns 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;
-    }
-
-    /**
-     * Returns the current height of the corresponding cool item.
-     * 
-     * @return the current height
-     */
-    public int getCurrentHeight() {
-        if (checkDisposed()) { return -1; }
-        return currentHeight;
-    }
-
-    /**
-     * Returns the current width of the corresponding cool item.
-     * 
-     * @return the current size
-     */
-    public int getCurrentWidth() {
-        if (checkDisposed()) { return -1; }
-        return currentWidth;
-    }
-
-    /**
-     * Returns the minimum number of tool items to show in the cool item.
-     * 
-     * @return the minimum number of tool items to show, or <code>SHOW_ALL_ITEMS</code>
-     *         if a value was not set
-     * @see #setMinimumItemsToShow(int)
-     */
-    public int getMinimumItemsToShow() {
-        if (checkDisposed()) { return -1; }
-        return minimumItemsToShow;
-    }
-
-    /**
-     * Returns the internal tool bar manager of the contribution item.
-     * 
-     * @return the tool bar manager, or <code>null</code> if one is not
-     *         defined.
-     * @see IToolBarManager
-     */
-    public IToolBarManager getToolBarManager() {
-        if (checkDisposed()) { return null; }
-        return toolBarManager;
-    }
-
-    /**
-     * Returns whether chevron support is enabled.
-     * 
-     * @return <code>true</code> if chevron support is enabled, <code>false</code>
-     *         otherwise
-     */
-    public boolean getUseChevron() {
-        if (checkDisposed()) { return false; }
-        return useChevron;
-    }
-
-    /**
-     * 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; }
-        CoolBar coolBar = item.getParent();
-        ToolBar toolBar = (ToolBar) control;
-        Rectangle toolBarBounds = toolBar.getBounds();
-        ToolItem[] items = toolBar.getItems();
-        ArrayList hidden = new ArrayList();
-        for (int i = 0; i < items.length; ++i) {
-            Rectangle itemBounds = items[i].getBounds();
-            if (!((itemBounds.x + itemBounds.width <= toolBarBounds.width) && (itemBounds.y + itemBounds.height <= toolBarBounds.height))) {
-                hidden.add(items[i]);
-            }
-        }
-
-        // Create a pop-up menu with items for each of the hidden buttons.
-        if (chevronMenuManager != null) {
-            chevronMenuManager.dispose();
-        }
-        chevronMenuManager = new MenuManager();
-        for (Iterator i = hidden.iterator(); i.hasNext(); ) {
-            ToolItem toolItem = (ToolItem) i.next();
-            IContributionItem data = (IContributionItem) toolItem.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);
-        Point chevronPosition = coolBar.toDisplay(event.x, event.y);
-        popup.setLocation(chevronPosition.x, chevronPosition.y);
-        popup.setVisible(true);
-    }
-
-    /**
-     * Handles the event when the toobar item does not have its own context
-     * menu.
-     * 
-     * @param event
-     *            the event object
-     */
-    private void handleContextMenu(Event event) {
-        ToolBar toolBar = toolBarManager.getControl();
-        // If parent has a menu then use that one
-        Menu parentMenu = toolBar.getParent().getMenu();
-        if ((parentMenu != null) && (!parentMenu.isDisposed())) {
-            toolBar.setMenu(parentMenu);
-            // Hook listener to remove menu once it has disapeared
-            parentMenu.addListener(SWT.Hide, new Listener() {
-
-                public void handleEvent(Event innerEvent) {
-                    ToolBar innerToolBar = toolBarManager.getControl();
-                    if (innerToolBar != null) {
-                        innerToolBar.setMenu(null);
-                        Menu innerParentMenu = innerToolBar.getParent()
-                                .getMenu();
-                        if (innerParentMenu != null) {
-                            innerParentMenu.removeListener(SWT.Hide, this);
-                        }
-                    }
-                }
-            });
-        }
-    }
-
-    /**
-     * Handles the disposal of the widget.
-     * 
-     * @param event
-     *            the event object
-     */
-    private void handleWidgetDispose(DisposeEvent event) {
-        coolItem = null;
-    }
-
-    /**
-     * A contribution item is visible iff its internal state is visible <em>or</em>
-     * the tool bar manager contains something other than group markers and
-     * separators.
-     * 
-     * @return <code>true</code> if the tool bar manager contains something
-     *         other than group marks and separators, and the internal state is
-     *         set to be visible.
-     */
-    public boolean isVisible() {
-        if (checkDisposed()) { return false; }
-
-        boolean visibleItem = false;
-        if (toolBarManager != null) {
-            IContributionItem[] contributionItems = toolBarManager.getItems();
-            for (int i = 0; i < contributionItems.length; i++) {
-                IContributionItem contributionItem = contributionItems[i];
-                if ((!contributionItem.isGroupMarker())
-                        && (!contributionItem.isSeparator())) {
-                    visibleItem = true;
-                    break;
-                }
-            }
-        }
-
-        return (visibleItem || super.isVisible());
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.action.IContributionItem#saveWidgetState()
-     */
-    public void saveWidgetState() {
-        if (checkDisposed()) { return; }
-        if (coolItem == null) return;
-
-        //1. Save current size
-        CoolBar coolBar = coolItem.getParent();
-        boolean isLastOnRow = false;
-        int lastIndex = coolBar.getItemCount() - 1;
-        int coolItemIndex = coolBar.indexOf(coolItem);
-        int[] wrapIndicies = getAdjustedWrapIndices(coolBar.getWrapIndices());
-        // Traverse through all wrap indicies backwards
-        for (int row = wrapIndicies.length - 1; row >= 0; row--) {
-            if (wrapIndicies[row] <= coolItemIndex) {
-
-                int nextRow = row + 1;
-                int nextRowStartIndex;
-                if (nextRow > (wrapIndicies.length - 1)) {
-                    nextRowStartIndex = lastIndex + 1;
-                } else {
-                    nextRowStartIndex = wrapIndicies[nextRow];
-                }
-
-                // Check to see if its the last item on the row
-                if (coolItemIndex == (nextRowStartIndex - 1)) {
-                    isLastOnRow = true;
-                }
-                break;
-            }
-        }
-
-        // Save the preferred size as actual size for the last item on a row
-        int nCurrentWidth;
-        if (isLastOnRow) {
-            nCurrentWidth = coolItem.getPreferredSize().x;
-        } else {
-            nCurrentWidth = coolItem.getSize().x;
-        }
-        setCurrentWidth(nCurrentWidth);
-        setCurrentHeight(coolItem.getSize().y);
-    }
-
-    /**
-     * Sets the current height of the cool item. Update(SIZE) should be called
-     * to adjust the widget.
-     * 
-     * @param currentHeight
-     *            the current height to set
-     */
-    public void setCurrentHeight(int currentHeight) {
-        if (checkDisposed()) { return; }
-        this.currentHeight = currentHeight;
-    }
-
-    /**
-     * Sets the current width of the cool item. Update(SIZE) should be called
-     * to adjust the widget.
-     * 
-     * @param currentWidth
-     *            the current width to set
-     */
-    public void setCurrentWidth(int currentWidth) {
-        if (checkDisposed()) { return; }
-        this.currentWidth = currentWidth;
-    }
-
-    /**
-     * Sets the minimum number of tool items to show in the cool item. If this
-     * number is less than the total tool items, a chevron will appear and the
-     * hidden tool items appear in a drop down menu. By default, all the tool
-     * items are shown in the cool item.
-     * 
-     * @param minimumItemsToShow
-     *            the minimum number of tool items to show.
-     * @see #getMinimumItemsToShow()
-     * @see #setUseChevron(boolean)
-     */
-    public void setMinimumItemsToShow(int minimumItemsToShow) {
-        if (checkDisposed()) { return; }
-        this.minimumItemsToShow = minimumItemsToShow;
-    }
-
-    /**
-     * Enables or disables chevron support for the cool item. By default,
-     * chevron support is enabled.
-     * 
-     * @param value
-     *            <code>true</code> to enable chevron support, <code>false</code>
-     *            otherwise.
-     */
-    public void setUseChevron(boolean value) {
-        if (checkDisposed()) { return; }
-        useChevron = value;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.action.IContributionItem#update(java.lang.String)
-     */
-    public void update(String propertyName) {
-        if (checkDisposed()) { return; }
-        if (coolItem != null) {
-            IToolBarManager manager = getToolBarManager();
-            if (manager != null) {
-                manager.update(true);
-            }
-            
-            if ((propertyName == null)
-                    || propertyName.equals(ICoolBarManager.SIZE)) {
-                updateSize(true);
-            }
-        }
-    }
-
-    /**
-     * Updates the cool items' preferred, minimum, and current size. The
-     * preferred size is calculated based on the tool bar size and extra trim.
-     * 
-     * @param changeCurrentSize
-     *            <code>true</code> if the current size should be changed to
-     *            the preferred size, <code>false</code> to not change the
-     *            current size
-     */
-    private void updateSize(boolean changeCurrentSize) {
-        if (checkDisposed()) { return; }
-        // cannot set size if coolItem is null
-        if (coolItem == null || coolItem.isDisposed()) { return; }
-        boolean locked = false;
-        CoolBar coolBar = coolItem.getParent();
-        try {
-            // Fix odd behaviour with locked tool bars
-            if (coolBar != null) {
-                if (coolBar.getLocked()) {
-                    coolBar.setLocked(false);
-                    locked = true;
-                }
-            }
-            ToolBar toolBar = (ToolBar) coolItem.getControl();
-            if ((toolBar == null) || (toolBar.isDisposed())
-                    || (toolBar.getItemCount() <= 0)) {
-                // if the toolbar does not contain any items then dispose of
-                // coolItem
-                coolItem.setData(null);
-                Control control = coolItem.getControl();
-                if ((control != null) && !control.isDisposed()) {
-                    control.dispose();
-                    coolItem.setControl(null);
-                }
-                if (!coolItem.isDisposed()) {
-                    coolItem.dispose();
-                }
-            } else {
-                // If the toolbar item exists then adjust the size of the cool
-                // item
-                Point toolBarSize = toolBar.computeSize(SWT.DEFAULT,
-                        SWT.DEFAULT);
-                // Set the preffered size to the size of the toolbar plus trim
-                Point preferredSize = coolItem.computeSize(toolBarSize.x,
-                        toolBarSize.y);
-                coolItem.setPreferredSize(preferredSize);
-                // note setMinimumSize must be called before setSize, see PR
-                // 15565
-                // Set minimum size
-                if (getMinimumItemsToShow() != SHOW_ALL_ITEMS) {
-                    int toolItemWidth = toolBar.getItems()[0].getWidth();
-                    int minimumWidth = toolItemWidth * getMinimumItemsToShow();
-                    coolItem.setMinimumSize(minimumWidth, toolBarSize.y);
-                } else {
-                    coolItem.setMinimumSize(toolBarSize.x, toolBarSize.y);
-                }
-                if (changeCurrentSize) {
-                    // Set current size to preferred size
-                    coolItem.setSize(preferredSize);
-                }
-            }
-        } finally {
-            // If the cool bar was locked, then set it back to locked
-            if ((locked) && (coolBar != null)) {
-                coolBar.setLocked(true);
-            }
-        }
-    }
-
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/ToolBarManager.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/action/ToolBarManager.java
deleted file mode 100644
index 57c0111..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/ToolBarManager.java
+++ /dev/null
@@ -1,340 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.action;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.*;
-
-/**
- * A tool bar manager is a contribution manager which realizes itself and its items
- * in a tool bar control.
- * <p>
- * This class may be instantiated; it may also be subclassed if a more
- * sophisticated layout is required.
- * </p>
- */
-public class ToolBarManager extends ContributionManager implements IToolBarManager {
-
-	/** 
-	 * The tool bar items style; <code>SWT.NONE</code> by default.
-	 */
-	private int itemStyle = SWT.NONE;
-
-	/** 
-	 * The tool bat control; <code>null</code> before creation
-	 * and after disposal.
-	 */
-	private ToolBar toolBar = null;
-	
-	/**
-	 * The menu manager to the context menu associated with the toolbar.
-	 * 
-	 * @since 3.0
-	 */
-	private MenuManager contextMenuManager = null;
-	
-	/**
-	 * Creates a new tool bar manager with the default SWT button style.
-	 * Use the <code>createControl</code> method to create the 
-	 * tool bar control.
-	 */
-	public ToolBarManager() {
-	}
-	/**
-	 * Creates a tool bar manager with the given SWT button style.
-	 * Use the <code>createControl</code> method to create the 
-	 * tool bar control.
-	 *
-	 * @param style the tool bar item style
-	 * @see org.eclipse.swt.widgets.ToolBar for valid style bits
-	 */
-	public ToolBarManager(int style) {
-		itemStyle= style;
-	}
-	/**
-	 * Creates a tool bar manager for an existing tool bar control.
-	 * This manager becomes responsible for the control, and will
-	 * dispose of it when the manager is disposed.
-	 *
-	 * @param toolbar the tool bar control
-	 */
-	public ToolBarManager(ToolBar toolbar) {
-		this();
-		this.toolBar = toolbar;
-	}
-	
-	/**
-	 * Creates and returns this manager's tool bar control. 
-	 * Does not create a new control if one already exists.
-	 *
-	 * @param parent the parent control
-	 * @return the tool bar control
-	 */
-	public ToolBar createControl(Composite parent) {
-		if (!toolBarExist() && parent != null) {
-			toolBar = new ToolBar(parent, itemStyle);
-			toolBar.setMenu(getContextMenuControl());
-			update(false);
-		}
-		return toolBar;
-	}
-	
-	/**
-	 * Disposes of this tool bar manager and frees all allocated SWT resources.
-	 * Notifies all contribution items of the dispose. 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 (toolBarExist()) {
-			toolBar.dispose();
-		}
-		toolBar = null;
-		
-		IContributionItem[] items = getItems();
-		for (int i = 0; i < items.length; i++) {
-			items[i].dispose();
-		}
-		
-		if (getContextMenuManager() != null) {
-			getContextMenuManager().dispose();
-			setContextMenuManager(null);
-		}
-	}
-	
-	/**
-	 * Returns the tool bar control for this manager.
-	 *
-	 * @return the tool bar control, or <code>null</code>
-	 *  if none (before creating or after disposal)
-	 */
-	public ToolBar getControl() {
-		return toolBar;
-	}
-	/**
-	 * Re-lays out the tool bar.
-	 * <p>
-	 * The default implementation of this framework method re-lays out
-	 * the parent when the number of items crosses the zero threshold. 
-	 * Subclasses should override this method to implement their own 
-	 * re-layout strategy
-	 *
-	 * @param toolBar the tool bar control
-	 * @param oldCount the old number of items
-	 * @param newCount the new number of items
-	 */
-	protected void relayout(ToolBar toolBar, int oldCount, int newCount) {
-		if ((oldCount == 0) != (newCount == 0))
-			toolBar.getParent().layout();
-	}
-	/**
-	 * Returns whether the tool bar control is created
-	 * and not disposed.
-	 * 
-	 * @return <code>true</code> if the control is created
-	 *	and not disposed, <code>false</code> otherwise
-	 */
-	private boolean toolBarExist() {
-		return toolBar != null && !toolBar.isDisposed(); 
-	}
-	/* (non-Javadoc)
-	 * Method declared on IContributionManager.
-	 */
-	public void update(boolean force) {
-	
-	//	long startTime= 0;
-	//	if (DEBUG) {
-	//		dumpStatistics();
-	//		startTime= (new Date()).getTime();
-	//	}	
-					
-		if (isDirty() || force) {
-			
-			if (toolBarExist()) {
-			
-				int oldCount= toolBar.getItemCount();
-	
-				// clean contains all active items without double separators
-				IContributionItem[] items= getItems();
-				ArrayList clean= new ArrayList(items.length);
-				IContributionItem separator= null;
-	//			long cleanStartTime= 0;
-	//			if (DEBUG) {
-	//				cleanStartTime= (new Date()).getTime(); 
-	//			}
-				for (int i = 0; i < items.length; ++i) {
-					IContributionItem ci= items[i];
-					if (!ci.isVisible())
-						continue;
-					if (ci.isSeparator()) {
-						// delay creation until necessary 
-						// (handles both adjacent separators, and separator at end)
-						separator= ci;
-					} else {
-						if (separator != null) {
-							if (clean.size() > 0)	// no separator if first item
-								clean.add(separator);
-							separator= null;
-						}
-						clean.add(ci);
-					}
-				}
-	//			if (DEBUG) {
-	//				System.out.println("   Time needed to build clean vector: " + ((new Date()).getTime() - cleanStartTime));
-	//			}
-	
-				// determine obsolete items (removed or non active)
-				ToolItem[] mi= toolBar.getItems();
-				ArrayList toRemove = new ArrayList(mi.length);
-				for (int i= 0; i < mi.length; i++) {
-					Object data= mi[i].getData();
-					if (data == null || !clean.contains(data) ||
-							(data instanceof IContributionItem && ((IContributionItem)data).isDynamic())) {
-						toRemove.add(mi[i]);
-					}
-				}
-	
-				// Turn redraw off if the number of items to be added 
-				// is above a certain threshold, to minimize flicker,
-				// otherwise the toolbar can be seen to redraw after each item.
-				// Do this before any modifications are made.
-				// We assume each contribution item will contribute at least one toolbar item.
-				boolean useRedraw = (clean.size() - (mi.length - toRemove.size())) >= 3;
-				if (useRedraw) {
-					toolBar.setRedraw(false);
-				}
-	
-				// remove obsolete items
-				for (int i = toRemove.size(); --i >= 0;) {
-					ToolItem item = (ToolItem) toRemove.get(i);
-					if (!item.isDisposed()) {
-						Control ctrl = item.getControl();
-						if (ctrl != null) {
-							item.setControl(null);
-							ctrl.dispose();
-						}
-						item.dispose();
-					}
-				}
-	
-				// add new items
-				IContributionItem src, dest;
-				mi= toolBar.getItems();
-				int srcIx= 0;
-				int destIx= 0;
-				for (Iterator e = clean.iterator(); e.hasNext();) {
-					src= (IContributionItem) e.next();
-						
-					// get corresponding item in SWT widget
-					if (srcIx < mi.length)
-						dest= (IContributionItem) mi[srcIx].getData();
-					else
-						dest= null;
-						
-					if (dest != null && src.equals(dest)) {
-						srcIx++;
-						destIx++;
-						continue;
-					}
-					
-					if (dest != null && dest.isSeparator() && src.isSeparator()) {
-						mi[srcIx].setData(src);
-						srcIx++;
-						destIx++;
-						continue;
-					}						
-																									
-					int start= toolBar.getItemCount();
-					src.fill(toolBar, destIx);
-					int newItems = toolBar.getItemCount()-start;
-					for (int i = 0; i < newItems; i++) {
-						ToolItem item = toolBar.getItem(destIx++);
-						item.setData(src);
-					}
-				}
-	
-				// remove any old tool items not accounted for
-				for (int i = mi.length; --i >= srcIx;) {
-					ToolItem item = mi[i];
-					if (!item.isDisposed()) {
-						Control ctrl = item.getControl();
-						if (ctrl != null) {
-							item.setControl(null);
-							ctrl.dispose();
-						}
-						item.dispose();
-					}
-				}
-				
-				setDirty(false);
-				
-				// turn redraw back on if we turned it off above
-				if (useRedraw) {
-					toolBar.setRedraw(true);
-				}
-				
-				int newCount= toolBar.getItemCount();
-				relayout(toolBar, oldCount, newCount);
-			}
-	
-		}
-		
-	//	if (DEBUG) {
-	//		System.out.println("   Time needed for update: " + ((new Date()).getTime() - startTime));
-	//		System.out.println();
-	//	}		
-	}
-	
-	/**
-	 * Returns the control of the Menu Manager. If the menu manager does not have a control
-	 * then one is created.
-	 * @return menu widget associated with manager
-	 */
-	private Menu getContextMenuControl() {
-		if ( (contextMenuManager != null) && ( toolBar != null) ) {
-			Menu menuWidget = contextMenuManager.getMenu();
-			if ( (menuWidget == null) || (menuWidget.isDisposed()) ){
-				menuWidget = contextMenuManager.createContextMenu(toolBar);
-			}
-			return menuWidget;
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the context menu manager for this tool bar manager.
-	 * 	
-	 * @return the context menu manager, or <code>null</code> if none
-	 * @since 3.0
-	 */
-	public MenuManager getContextMenuManager() {
-		return contextMenuManager;
-	}
-	
-	/**
-	 * Sets the context menu manager for this tool bar manager to the given menu manager.
-	 * If the tool bar control exists, it also adds the menu control to the tool bar.
-	 * 	
-	 * @param contextMenuManager the context menu manager, or <code>null</code> if none
-	 * @since 3.0
-	 */
-	public void setContextMenuManager(MenuManager contextMenuManager) {
-		this.contextMenuManager = contextMenuManager;
-		if (toolBar != null) {
-			toolBar.setMenu(getContextMenuControl());
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/images/stop.gif b/bundles/org.eclipse.jface/src/org/eclipse/jface/action/images/stop.gif
deleted file mode 100644
index d47876f..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/images/stop.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/package.html b/bundles/org.eclipse.jface/src/org/eclipse/jface/action/package.html
deleted file mode 100644
index f4356bd..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/package.html
+++ /dev/null
@@ -1,31 +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 support for shared UI resources such as menus,
-tool bars, and status lines.
-<h2>
-Package Specification</h2>
-Contribution managers coordinate contributions to shared UI resources such
-as menus, menu bars, tool bars, and status lines. <tt>ContributionManager</tt>
-maintains the contributions as a dynamic list of contribution items (<tt>IContributionItems</tt>).
-Separators (<tt>Separator</tt>) can be included in contribution lists to
-break up the list's visual representation. Internally, contribution lists
-can be organized into named groups via special group markers (<tt>GroupMarker</tt>)
-to facilitate programatic insertion at specific positions within the list.
-<p>Three specific contribution managers are provided: a status line manager
-(<tt>StatusLineManager</tt>), a tool bar manager (<tt>ToolBarManager</tt>),
-and a hierarchical menu manager (<tt>MenuManager</tt>).
-<p>Actions (<tt>IAction</tt>) are commands which can be triggered from
-the UI, like the ones found in menus, toolbars, and buttons. Menus and
-tools bars are typically populated with contribution items that delegate
-to actions (<tt>ActionContributionItem</tt>).
-<p>Note: None of the classes in this package maintain global state.
-<br>&nbsp;
-</body>
-</html>
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/ControlEnableState.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/ControlEnableState.java
deleted file mode 100644
index 47fa629..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/ControlEnableState.java
+++ /dev/null
@@ -1,140 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.dialogs;
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-/**
- * Helper class to save the enable/disable state of a control including all its
- * descendent controls.
- */
-public class ControlEnableState {
-	/**
-	 * List of exception controls (element type: <code>Control</code>);
-	 * <code>null</code> if none.
-	 */
-	private List exceptions = null;
-	/**
-	 * List of saved states (element type: <code>ItemState</code>).
-	 */
-	private List states;
-	/**
-	 * Internal class for recording the enable/disable state of a single
-	 * control.
-	 */
-	private class ItemState {
-		protected Control item;
-		protected boolean state;
-		/**
-		 * Create a new instance of the receiver.
-		 * 
-		 * @param item
-		 * @param state
-		 */
-		public ItemState(Control item, boolean state) {
-			this.item = item;
-			this.state = state;
-		}
-		/**
-		 * Restore the enabled state to the original value.
-		 *  
-		 */
-		public void restore() {
-			if (item == null || item.isDisposed())
-				return;
-			item.setEnabled(state);
-		}
-	}
-	/**
-	 * Creates a new object and saves in it the current enable/disable state of
-	 * the given control and its descendents; the controls that are saved are
-	 * also disabled.
-	 * 
-	 * @param w
-	 *            the control
-	 */
-	protected ControlEnableState(Control w) {
-		this(w, null);
-	}
-	/**
-	 * Creates a new object and saves in it the current enable/disable state of
-	 * the given control and its descendents except for the given list of
-	 * exception cases; the controls that are saved are also disabled.
-	 * 
-	 * @param w
-	 *            the control
-	 * @param exceptions
-	 *            the list of controls to not disable (element type:
-	 *            <code>Control</code>), or <code>null</code> if none
-	 */
-	protected ControlEnableState(Control w, List exceptions) {
-		super();
-		states = new ArrayList();
-		this.exceptions = exceptions;
-		readStateForAndDisable(w);
-	}
-	/**
-	 * Saves the current enable/disable state of the given control and its
-	 * descendents in the returned object; the controls are all disabled.
-	 * 
-	 * @param w
-	 *            the control
-	 * @return an object capturing the enable/disable state
-	 */
-	public static ControlEnableState disable(Control w) {
-		return new ControlEnableState(w);
-	}
-	/**
-	 * Saves the current enable/disable state of the given control and its
-	 * descendents in the returned object except for the given list of exception
-	 * cases; the controls that are saved are also disabled.
-	 * 
-	 * @param w
-	 *            the control
-	 * @param exceptions
-	 *            the list of controls to not disable (element type:
-	 *            <code>Control</code>)
-	 * @return an object capturing the enable/disable state
-	 */
-	public static ControlEnableState disable(Control w, List exceptions) {
-		return new ControlEnableState(w, exceptions);
-	}
-	/**
-	 * Recursively reads the enable/disable state for the given window and
-	 * disables all controls.
-	 * @param control Control
-	 */
-	private void readStateForAndDisable(Control control) {
-		if ((exceptions != null && exceptions.contains(control)))
-			return;
-		if (control instanceof Composite) {
-			Composite c = (Composite) control;
-			Control[] children = c.getChildren();
-			for (int i = 0; i < children.length; i++) {
-				readStateForAndDisable(children[i]);
-			}
-		}
-		// XXX: Workaround for 1G2Q8SS: ITPUI:Linux - Combo box is not enabled
-		// in "File->New->Solution"
-		states.add(new ItemState(control, control.getEnabled()));
-		control.setEnabled(false);
-	}
-	/**
-	 * Restores the window enable state saved in this object.
-	 */
-	public void restore() {
-		int size = states.size();
-		for (int i = 0; i < size; i++) {
-			((ItemState) states.get(i)).restore();
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/Dialog.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/Dialog.java
deleted file mode 100644
index 4c2feb0..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/Dialog.java
+++ /dev/null
@@ -1,947 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.dialogs;
-import java.util.Arrays;
-import java.util.HashMap;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.util.Policy;
-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.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.FormData;
-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;
-/**
- * A dialog is a specialized window used for narrow-focused communication with
- * the user.
- * <p>
- * Dialogs are usually modal. Consequently, it is generally bad practice to open
- * a dialog without a parent. A modal dialog without a parent is not prevented
- * from disappearing behind the application's other windows, making it very
- * confusing for the user.
- * </p>
- */
-public abstract class Dialog extends Window {
-	/**
-	 * Image registry key for error image (value
-	 * <code>"dialog_error_image"</code>).
-	 * 
-	 * @deprecated  use org.eclipse.swt.widgets.Display.getSystemImage(SWT.ICON_ERROR) 
-	 */
-	public static final String DLG_IMG_ERROR = "dialog_error_image"; //$NON-NLS-1$
-	/**
-	 * Image registry key for info image (value <code>"dialog_info_image"</code>).
-	 * 
-	 * @deprecated  use org.eclipse.swt.widgets.Display.getSystemImage(SWT.ICON_INFORMATION) 
-	 */
-	public static final String DLG_IMG_INFO = "dialog_info_imageg"; //$NON-NLS-1$
-	/**
-	 * Image registry key for question image (value
-	 * <code>"dialog_question_image"</code>).
-	 *  
-	 * @deprecated  org.eclipse.swt.widgets.Display.getSystemImage(SWT.ICON_QUESTION) 
-	 */
-	public static final String DLG_IMG_QUESTION = "dialog_question_image"; //$NON-NLS-1$
-	/**
-	 * Image registry key for warning image (value
-	 * <code>"dialog_warning_image"</code>).
-	 * 
-	 * @deprecated  use org.eclipse.swt.widgets.Display.getSystemImage(SWT.ICON_WARNING)
-	 */
-	public static final String DLG_IMG_WARNING = "dialog_warning_image"; //$NON-NLS-1$
-	/**
-	 * Image registry key for info message image (value
-	 * <code>"dialog_messasge_info_image"</code>).
-	 * 
-	 * @since 2.0
-	 */
-	public static final String DLG_IMG_MESSAGE_INFO = "dialog_messasge_info_image"; //$NON-NLS-1$
-	/**
-	 * Image registry key for info message image (value
-	 * <code>"dialog_messasge_warning_image"</code>).
-	 * 
-	 * @since 2.0
-	 */
-	public static final String DLG_IMG_MESSAGE_WARNING = "dialog_messasge_warning_image"; //$NON-NLS-1$
-	/**
-	 * Image registry key for info message image (value
-	 * <code>"dialog_message_error_image"</code>).
-	 * 
-	 * @since 2.0
-	 */
-	public static final String DLG_IMG_MESSAGE_ERROR = "dialog_message_error_image"; //$NON-NLS-1$
-	
-	/**
-	 * The ellipsis is the string that is used to represent shortened
-	 * text.
-	 * @since 3.0
-	 */
-	public static final String ELLIPSIS = "..."; //$NON-NLS-1$
-
-	/**
-	 * NOTE: Dialog does not the following images in the registry
-	 * 	 	DLG_IMG_ERROR
-	 * 		DLG_IMG_INFO
-	 * 		DLG_IMG_QUESTION
-	 * 		DLG_IMG_WARNING
-	 * 
-	 * They are now coming directly from SWT see ImageRegistry.  For backwards 
-	 * compatibility they are still supported, however new code should use SWT
-	 * for these.
-	 * 
-	 * @see Display.getSystemIcon(int ID)
-	 */
-	static {
-		ImageRegistry reg = JFaceResources.getImageRegistry();
-		reg.put(DLG_IMG_MESSAGE_INFO, ImageDescriptor.createFromFile(
-				Dialog.class, "images/message_info.gif")); //$NON-NLS-1$
-		reg.put(DLG_IMG_MESSAGE_WARNING, ImageDescriptor.createFromFile(
-				Dialog.class, "images/message_warning.gif")); //$NON-NLS-1$
-		reg.put(DLG_IMG_MESSAGE_ERROR, ImageDescriptor.createFromFile(
-				Dialog.class, "images/message_error.gif")); //$NON-NLS-1$
-	}
-	/**
-	 * The dialog area; <code>null</code> until dialog is layed out.
-	 */
-	protected Control dialogArea;
-	/**
-	 * The button bar; <code>null</code> until dialog is layed out.
-	 */
-	public Control buttonBar;
-	/**
-	 * Collection of buttons created by the <code>createButton</code> method.
-	 */
-	private HashMap buttons = new HashMap();
-	/**
-	 * Font metrics to use for determining pixel sizes.
-	 */
-	private FontMetrics fontMetrics;
-	/**
-	 * Number of horizontal dialog units per character, value <code>4</code>.
-	 */
-	private static final int HORIZONTAL_DIALOG_UNIT_PER_CHAR = 4;
-	/**
-	 * Number of vertical dialog units per character, value <code>8</code>.
-	 */
-	private static final int VERTICAL_DIALOG_UNITS_PER_CHAR = 8;
-	/**
-	 * Returns the number of pixels corresponding to the height of the given
-	 * number of characters.
-	 * <p>
-	 * The required <code>FontMetrics</code> parameter may be created in the
-	 * following way: <code>
-	 * 	GC gc = new GC(control);
-	 *	gc.setFont(control.getFont());
-	 *	fontMetrics = gc.getFontMetrics();
-	 *	gc.dispose();
-	 * </code>
-	 * </p>
-	 * 
-	 * @param fontMetrics
-	 *            used in performing the conversion
-	 * @param chars
-	 *            the number of characters
-	 * @return the number of pixels
-	 * @since 2.0
-	 */
-	public static int convertHeightInCharsToPixels(FontMetrics fontMetrics,
-			int chars) {
-		return fontMetrics.getHeight() * chars;
-	}
-	/**
-	 * Returns the number of pixels corresponding to the given number of
-	 * horizontal dialog units.
-	 * <p>
-	 * The required <code>FontMetrics</code> parameter may be created in the
-	 * following way: <code>
-	 * 	GC gc = new GC(control);
-	 *	gc.setFont(control.getFont());
-	 *	fontMetrics = gc.getFontMetrics();
-	 *	gc.dispose();
-	 * </code>
-	 * </p>
-	 * 
-	 * @param fontMetrics
-	 *            used in performing the conversion
-	 * @param dlus
-	 *            the number of horizontal dialog units
-	 * @return the number of pixels
-	 * @since 2.0
-	 */
-	public static int convertHorizontalDLUsToPixels(FontMetrics fontMetrics,
-			int dlus) {
-		// round to the nearest pixel
-		return (fontMetrics.getAverageCharWidth() * dlus + HORIZONTAL_DIALOG_UNIT_PER_CHAR / 2)
-				/ HORIZONTAL_DIALOG_UNIT_PER_CHAR;
-	}
-	/**
-	 * Returns the number of pixels corresponding to the given number of
-	 * vertical dialog units.
-	 * <p>
-	 * The required <code>FontMetrics</code> parameter may be created in the
-	 * following way: <code>
-	 * 	GC gc = new GC(control);
-	 *	gc.setFont(control.getFont());
-	 *	fontMetrics = gc.getFontMetrics();
-	 *	gc.dispose();
-	 * </code>
-	 * </p>
-	 * 
-	 * @param fontMetrics
-	 *            used in performing the conversion
-	 * @param dlus
-	 *            the number of vertical dialog units
-	 * @return the number of pixels
-	 * @since 2.0
-	 */
-	public static int convertVerticalDLUsToPixels(FontMetrics fontMetrics,
-			int dlus) {
-		// round to the nearest pixel
-		return (fontMetrics.getHeight() * dlus + VERTICAL_DIALOG_UNITS_PER_CHAR / 2)
-				/ VERTICAL_DIALOG_UNITS_PER_CHAR;
-	}
-	/**
-	 * Returns the number of pixels corresponding to the width of the given
-	 * number of characters.
-	 * <p>
-	 * The required <code>FontMetrics</code> parameter may be created in the
-	 * following way: <code>
-	 * 	GC gc = new GC(control);
-	 *	gc.setFont(control.getFont());
-	 *	fontMetrics = gc.getFontMetrics();
-	 *	gc.dispose();
-	 * </code>
-	 * </p>
-	 * 
-	 * @param fontMetrics
-	 *            used in performing the conversion
-	 * @param chars
-	 *            the number of characters
-	 * @return the number of pixels
-	 * @since 2.0
-	 */
-	public static int convertWidthInCharsToPixels(FontMetrics fontMetrics,
-			int chars) {
-		return fontMetrics.getAverageCharWidth() * chars;
-	}
-	/**
-	 * Shortens the given text <code>textValue</code> so that its width in
-	 * pixels does not exceed the width of the given control. Overrides
-	 * characters in the center of the original string with an ellipsis ("...")
-	 * if necessary. If a <code>null</code> value is given, <code>null</code>
-	 * is returned.
-	 * 
-	 * @param textValue
-	 *            the original string or <code>null</code>
-	 * @param control
-	 *            the control the string will be displayed on
-	 * @return the string to display, or <code>null</code> if null was passed
-	 *         in
-	 * 
-	 * @since 3.0
-	 */
-	public static String shortenText(String textValue, Control control) {
-		if (textValue == null)
-			return null;
-		GC gc = new GC(control);
-		int maxWidth = control.getBounds().width - 5;
-		if (gc.textExtent(textValue).x < maxWidth) {
-			gc.dispose();
-			return textValue;
-		}
-		int length = textValue.length();
-		int pivot = length / 2;
-		int start = pivot;
-		int end = pivot + 1;
-		while (start >= 0 && end < length) {
-			String s1 = textValue.substring(0, start);
-			String s2 = textValue.substring(end, length);
-			String s = s1 + ELLIPSIS + s2;
-			int l = gc.textExtent(s).x;
-			if (l < maxWidth) {
-				gc.dispose();
-				return s;
-			}
-			start--;
-			end++;
-		}
-		gc.dispose();
-		return textValue;
-	}
-	/**
-	 * Create a default instance of the blocked handler which does not do
-	 * anything.
-	 */
-	public static IDialogBlockedHandler blockedHandler = new IDialogBlockedHandler() {
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.dialogs.IDialogBlockedHandler#clearBlocked()
-		 */
-		public void clearBlocked() {
-			// No default behaviour
-		}
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.dialogs.IDialogBlockedHandler#showBlocked(org.eclipse.core.runtime.IProgressMonitor,
-		 *      org.eclipse.core.runtime.IStatus, java.lang.String)
-		 */
-		public void showBlocked(IProgressMonitor blocking,
-				IStatus blockingStatus, String blockedName) {
-			//No default behaviour
-		}
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.dialogs.IDialogBlockedHandler#showBlocked(org.eclipse.swt.widgets.Shell,
-		 *      org.eclipse.core.runtime.IProgressMonitor,
-		 *      org.eclipse.core.runtime.IStatus, java.lang.String)
-		 */
-		public void showBlocked(Shell parentShell, IProgressMonitor blocking,
-				IStatus blockingStatus, String blockedName) {
-			//No default behaviour
-		}
-	};
-	/**
-	 * Creates a dialog instance. Note that the window will have no visual
-	 * representation (no widgets) until it is told to open. By default,
-	 * <code>open</code> blocks for dialogs.
-	 * 
-	 * @param parentShell
-	 *            the parent shell, or <code>null</code> to create a top-level
-	 *            shell
-	 */
-	protected Dialog(Shell parentShell) {
-		super(parentShell);
-		setShellStyle(SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);
-		setBlockOnOpen(true);
-		if (parentShell == null && Policy.DEBUG_DIALOG_NO_PARENT)
-			Policy.getLog().log(
-					new Status(IStatus.INFO, Policy.JFACE, IStatus.INFO, this
-							.getClass()
-							+ " created with no shell",//$NON-NLS-1$
-							new Exception()));
-	}
-	/**
-	 * Notifies that this dialog's button with the given id has been pressed.
-	 * <p>
-	 * The <code>Dialog</code> implementation of this framework method calls
-	 * <code>okPressed</code> if the ok button is the pressed, and
-	 * <code>cancelPressed</code> if the cancel button is the pressed. All
-	 * other button presses are ignored. Subclasses may override to handle other
-	 * buttons, but should call <code>super.buttonPressed</code> if the
-	 * default handling of the ok and cancel buttons is desired.
-	 * </p>
-	 * @param buttonId
-	 *            the id of the button that was pressed (see
-	 *            <code>IDialogConstants.*_ID</code> constants)
-	 */
-	protected void buttonPressed(int buttonId) {
-		if (IDialogConstants.OK_ID == buttonId)
-			okPressed();
-		else if (IDialogConstants.CANCEL_ID == buttonId)
-			cancelPressed();
-	}
-	/**
-	 * Notifies that the cancel 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>Window.CANCEL</code> and closes the
-	 * dialog. Subclasses may override if desired.
-	 * </p>
-	 */
-	protected void cancelPressed() {
-		setReturnCode(CANCEL);
-		close();
-	}
-	/**
-	 * Returns the number of pixels corresponding to the height of the given
-	 * number of characters.
-	 * <p>
-	 * This method may only be called after <code>initializeDialogUnits</code>
-	 * has been called.
-	 * </p>
-	 * <p>
-	 * Clients may call this framework method, but should not override it.
-	 * </p>
-	 * 
-	 * @param chars
-	 *            the number of characters
-	 * @return the number of pixels
-	 */
-	protected int convertHeightInCharsToPixels(int chars) {
-		// test for failure to initialize for backward compatibility
-		if (fontMetrics == null)
-			return 0;
-		return convertHeightInCharsToPixels(fontMetrics, chars);
-	}
-	/**
-	 * Returns the number of pixels corresponding to the given number of
-	 * horizontal dialog units.
-	 * <p>
-	 * This method may only be called after <code>initializeDialogUnits</code>
-	 * has been called.
-	 * </p>
-	 * <p>
-	 * Clients may call this framework method, but should not override it.
-	 * </p>
-	 * 
-	 * @param dlus
-	 *            the number of horizontal dialog units
-	 * @return the number of pixels
-	 */
-	protected int convertHorizontalDLUsToPixels(int dlus) {
-		// test for failure to initialize for backward compatibility
-		if (fontMetrics == null)
-			return 0;
-		return convertHorizontalDLUsToPixels(fontMetrics, dlus);
-	}
-	/**
-	 * Returns the number of pixels corresponding to the given number of
-	 * vertical dialog units.
-	 * <p>
-	 * This method may only be called after <code>initializeDialogUnits</code>
-	 * has been called.
-	 * </p>
-	 * <p>
-	 * Clients may call this framework method, but should not override it.
-	 * </p>
-	 * 
-	 * @param dlus
-	 *            the number of vertical dialog units
-	 * @return the number of pixels
-	 */
-	protected int convertVerticalDLUsToPixels(int dlus) {
-		// test for failure to initialize for backward compatibility
-		if (fontMetrics == null)
-			return 0;
-		return convertVerticalDLUsToPixels(fontMetrics, dlus);
-	}
-	/**
-	 * Returns the number of pixels corresponding to the width of the given
-	 * number of characters.
-	 * <p>
-	 * This method may only be called after <code>initializeDialogUnits</code>
-	 * has been called.
-	 * </p>
-	 * <p>
-	 * Clients may call this framework method, but should not override it.
-	 * </p>
-	 * 
-	 * @param chars
-	 *            the number of characters
-	 * @return the number of pixels
-	 */
-	protected int convertWidthInCharsToPixels(int chars) {
-		// test for failure to initialize for backward compatibility
-		if (fontMetrics == null)
-			return 0;
-		return convertWidthInCharsToPixels(fontMetrics, chars);
-	}
-	/**
-	 * Creates a new button with the given id.
-	 * <p>
-	 * The <code>Dialog</code> implementation of this framework method creates
-	 * a standard push button, registers it for selection events including
-	 * button presses, and registers default buttons with its shell. The button
-	 * id is stored as the button's client data. If the button id is
-	 * <code>IDialogConstants.CANCEL_ID</code>, the new button will be
-	 * accessible from <code>getCancelButton()</code>. If the button id is
-	 * <code>IDialogConstants.OK_ID</code>, the new button will be accesible
-	 * from <code>getOKButton()</code>. Note that the parent's layout is
-	 * assumed to be a <code>GridLayout</code> 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
-	 * 
-	 * @return the new button
-	 * 
-	 * @see #getCancelButton
-	 * @see #getOKButton()
-	 */
-	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.setText(label);
-		button.setFont(JFaceResources.getDialogFont());
-		button.setData(new Integer(id));
-		button.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				buttonPressed(((Integer) event.widget.getData()).intValue());
-			}
-		});
-		if (defaultButton) {
-			Shell shell = parent.getShell();
-			if (shell != null) {
-				shell.setDefaultButton(button);
-			}
-		}
-		buttons.put(new Integer(id), button);
-		setButtonLayoutData(button);
-		return button;
-	}
-	/**
-	 * Creates and returns the contents of this dialog's button bar.
-	 * <p>
-	 * The <code>Dialog</code> implementation of this framework method lays
-	 * out a button bar and calls the <code>createButtonsForButtonBar</code>
-	 * framework method to populate it. Subclasses may override.
-	 * </p>
-	 * <p>
-	 * The returned control's layout data must be an instance of
-	 * <code>GridData</code>.
-	 * </p>
-	 * 
-	 * @param parent
-	 *            the parent composite to contain the button bar
-	 * @return the button bar control
-	 */
-	protected Control createButtonBar(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		// create a layout with spacing and margins appropriate for the font
-		// size.
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 0; // this is incremented by createButton
-		layout.makeColumnsEqualWidth = true;
-		layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-		layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-		composite.setLayout(layout);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_END
-				| GridData.VERTICAL_ALIGN_CENTER);
-		composite.setLayoutData(data);
-		composite.setFont(parent.getFont());
-		// Add the buttons to the button bar.
-		createButtonsForButtonBar(composite);
-		return composite;
-	}
-	/**
-	 * Adds buttons to this dialog's button bar.
-	 * <p>
-	 * The <code>Dialog</code> implementation of this framework method adds
-	 * standard ok and cancel buttons using the <code>createButton</code>
-	 * framework method. These standard buttons will be accessible from
-	 * <code>getCancelButton</code>, and <code>getOKButton</code>.
-	 * Subclasses may override.
-	 * </p>
-	 * 
-	 * @param parent
-	 *            the button bar composite
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		// create OK and Cancel buttons by default
-		createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL,
-				true);
-		createButton(parent, IDialogConstants.CANCEL_ID,
-				IDialogConstants.CANCEL_LABEL, false);
-	}
-	/*
-	 * @see Window.initializeBounds()
-	 */
-	protected void initializeBounds() {
-		String platform = SWT.getPlatform();
-		if ("carbon".equals(platform)) { //$NON-NLS-1$
-			// On Mac OS X the default button must be the right-most button
-			Shell shell = getShell();
-			if (shell != null) {
-				Button defaultButton = shell.getDefaultButton();
-				if (defaultButton != null
-						&& isContained(buttonBar, defaultButton))
-					defaultButton.moveBelow(null);
-			}
-		}
-		super.initializeBounds();
-	}
-	/**
-	 * Returns true if the given Control is a direct or indirect child of
-	 * container.
-	 * @param container the potential parent
-	 * @param control
-	 * @return boolean <code>true</code> if control is a child
-	 *  of container
-	 */
-	private boolean isContained(Control container, Control control) {
-		Composite parent;
-		while ((parent = control.getParent()) != null) {
-			if (parent == container)
-				return true;
-			control = parent;
-		}
-		return false;
-	}
-	/**
-	 * The <code>Dialog</code> implementation of this <code>Window</code>
-	 * method creates and lays out the top level composite for the dialog, and
-	 * determines the appropriate horizontal and vertical dialog units based on
-	 * the font size. It then calls the <code>createDialogArea</code> and
-	 * <code>createButtonBar</code> methods to create the dialog area and
-	 * button bar, respectively. Overriding <code>createDialogArea</code> and
-	 * <code>createButtonBar</code> are recommended rather than overriding
-	 * this method.
-	 */
-	protected Control createContents(Composite parent) {
-		// create the top level composite for the dialog
-		Composite composite = new Composite(parent, 0);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		layout.verticalSpacing = 0;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		applyDialogFont(composite);
-		// initialize the dialog units
-		initializeDialogUnits(composite);
-		// create the dialog area and button bar
-		dialogArea = createDialogArea(composite);
-		buttonBar = createButtonBar(composite);
-		return composite;
-	}
-	/**
-	 * Creates and returns the contents of the upper part of this dialog (above
-	 * the button bar).
-	 * <p>
-	 * The <code>Dialog</code> implementation of this framework method creates
-	 * and returns a new <code>Composite</code> with standard margins and
-	 * spacing.
-	 * </p>
-	 * <p>
-	 * The returned control's layout data must be an instance of
-	 * <code>GridData</code>. This method must not modify the parent's
-	 * layout.
-	 * </p>
-	 * <p>
-	 * Subclasses must override this method but may call <code>super</code> as
-	 * in the following example:
-	 * </p>
-	 * 
-	 * <pre>
-	 * Composite composite = (Composite) super.createDialogArea(parent);
-	 * //add controls to composite as necessary
-	 * return composite;
-	 * </pre>
-	 * 
-	 * @param parent
-	 *            the parent composite to contain the dialog area
-	 * @return the dialog area control
-	 */
-	protected Control createDialogArea(Composite parent) {
-		// create a composite with standard margins and spacing
-		Composite composite = new Composite(parent, 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));
-		applyDialogFont(composite);
-		return composite;
-	}
-	/**
-	 * Returns the button created by the method <code>createButton</code> for
-	 * the specified ID as defined on <code>IDialogConstants</code>. If
-	 * <code>createButton</code> was never called with this ID, or if
-	 * <code>createButton</code> is overridden, this method will return
-	 * <code>null</code>.
-	 * 
-	 * @param id the id of the button to look for
-	 * 
-	 * @return the button for the ID or <code>null</code>
-	 * 
-	 * @see #createButton(Composite, int, String, boolean)
-	 * @since 2.0
-	 */
-	protected Button getButton(int id) {
-		return (Button) buttons.get(new Integer(id));
-	}
-	/**
-	 * Returns the button bar control.
-	 * <p>
-	 * Clients may call this framework method, but should not override it.
-	 * </p>
-	 * 
-	 * @return the button bar, or <code>null</code> if the button bar has not
-	 *         been created yet
-	 */
-	protected Control getButtonBar() {
-		return buttonBar;
-	}
-	/**
-	 * Returns the button created when <code>createButton</code> is called
-	 * with an ID of <code>IDialogConstants.CANCEL_ID</code>. If
-	 * <code>createButton</code> was never called with this parameter, or if
-	 * <code>createButton</code> is overridden, <code>getCancelButton</code>
-	 * will return <code>null</code>.
-	 * 
-	 * @return the cancel button or <code>null</code>
-	 * 
-	 * @see #createButton(Composite, int, String, boolean)
-	 * @since 2.0
-	 * @deprecated Use <code>getButton(IDialogConstants.CANCEL_ID)</code>
-	 *             instead. This method will be removed soon.
-	 */
-	protected Button getCancelButton() {
-		return getButton(IDialogConstants.CANCEL_ID);
-	}
-	/**
-	 * Returns the dialog area control.
-	 * <p>
-	 * Clients may call this framework method, but should not override it.
-	 * </p>
-	 * 
-	 * @return the dialog area, or <code>null</code> if the dialog area has
-	 *         not been created yet
-	 */
-	protected Control getDialogArea() {
-		return dialogArea;
-	}
-	/**
-	 * Returns the standard dialog image with the given key. Note that these
-	 * images are managed by the dialog framework, and must not be disposed by
-	 * another party.
-	 * 
-	 * @param key
-	 *            one of the <code>Dialog.DLG_IMG_* </code> constants
-	 * @return the standard dialog image
-	 */
-	public static Image getImage(String key) {
-		return JFaceResources.getImageRegistry().get(key);
-	}
-	/**
-	 * Returns the button created when <code>createButton</code> is called
-	 * with an ID of <code>IDialogConstants.OK_ID</code>. If
-	 * <code>createButton</code> was never called with this parameter, or if
-	 * <code>createButton</code> is overridden, <code>getOKButton</code>
-	 * will return <code>null</code>.
-	 * 
-	 * @return the OK button or <code>null</code>
-	 * 
-	 * @see #createButton(Composite, int, String, boolean)
-	 * @since 2.0
-	 * @deprecated Use <code>getButton(IDialogConstants.OK_ID)</code> instead.
-	 *             This method will be removed soon.
-	 */
-	protected Button getOKButton() {
-		return getButton(IDialogConstants.OK_ID);
-	}
-	/**
-	 * Initializes the computation of horizontal and vertical dialog units based
-	 * on the size of current font.
-	 * <p>
-	 * This method must be called before any of the dialog unit based conversion
-	 * methods are 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(JFaceResources.getDialogFont());
-		fontMetrics = gc.getFontMetrics();
-		gc.dispose();
-	}
-	/**
-	 * Notifies that the ok 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>Window.OK</code> and closes the
-	 * dialog. Subclasses may override.
-	 * </p>
-	 */
-	protected void okPressed() {
-		setReturnCode(OK);
-		close();
-	}
-	/**
-	 * Set the layout data of the button to a GridData with appropriate heights
-	 * and widths.
-	 * 
-	 * @param button
-	 */
-	protected void setButtonLayoutData(Button button) {
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.heightHint = convertVerticalDLUsToPixels(IDialogConstants.BUTTON_HEIGHT);
-		int widthHint = convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-		data.widthHint = Math.max(widthHint, button.computeSize(SWT.DEFAULT,
-				SWT.DEFAULT, true).x);
-		button.setLayoutData(data);
-	}
-	/**
-	 * Set the layout data of the button to a FormData with appropriate heights
-	 * and widths.
-	 * 
-	 * @param button
-	 */
-	protected void setButtonLayoutFormData(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);
-	}
-	/**
-	 * @see org.eclipse.jface.window.Window#close()
-	 */
-	public boolean close() {
-		boolean returnValue = super.close();
-		if (returnValue) {
-			buttons = new HashMap();
-			buttonBar = null;
-			dialogArea = null;
-		}
-		return returnValue;
-	}
-	/**
-	 * Applies the dialog font to all controls that currently have the default
-	 * font.
-	 * 
-	 * @param control
-	 *            the control to apply the font to. Font will also be applied to
-	 *            its children. If the control is <code>null</code> nothing
-	 *            happens.
-	 */
-	public static void applyDialogFont(Control control) {
-		if (control == null || dialogFontIsDefault())
-			return;
-		Font dialogFont = JFaceResources.getDialogFont();
-		applyDialogFont(control, dialogFont);
-	}
-	/**
-	 * Sets the dialog font on the control and any of its children if thier font
-	 * is not otherwise set.
-	 * 
-	 * @param control
-	 *            the control to apply the font to. Font will also be applied to
-	 *            its children.
-	 * @param dialogFont
-	 *            the dialog font to set
-	 */
-	private static void applyDialogFont(Control control, Font dialogFont) {
-		if (hasDefaultFont(control))
-			control.setFont(dialogFont);
-		if (control instanceof Composite) {
-			Control[] children = ((Composite) control).getChildren();
-			for (int i = 0; i < children.length; i++)
-				applyDialogFont(children[i], dialogFont);
-		}
-	}
-	/**
-	 * Return whether or not this control has the same font as it's default.
-	 * 
-	 * @param control
-	 *            Control
-	 * @return boolean
-	 */
-	private static boolean hasDefaultFont(Control control) {
-		FontData[] controlFontData = control.getFont().getFontData();
-		FontData[] defaultFontData = getDefaultFont(control).getFontData();
-		if (controlFontData.length == defaultFontData.length) {
-			for (int i = 0; i < controlFontData.length; i++) {
-				if (controlFontData[i].equals(defaultFontData[i]))
-					continue;
-				return false;
-			}
-			return true;
-		}
-		return false;
-	}
-	/**
-	 * Get the default font for this type of control.
-	 * 
-	 * @param control
-	 * @return
-	 */
-	private static Font getDefaultFont(Control control) {
-		String fontName = "DEFAULT_FONT_" + control.getClass().getName(); //$NON-NLS-1$
-		if (JFaceResources.getFontRegistry().hasValueFor(fontName))
-			return JFaceResources.getFontRegistry().get(fontName);
-		Font cached = control.getFont();
-		control.setFont(null);
-		Font defaultFont = control.getFont();
-		control.setFont(cached);
-		JFaceResources.getFontRegistry().put(fontName,
-				defaultFont.getFontData());
-		return defaultFont;
-	}
-	/**
-	 * Return whether or not the dialog font is currently the same as the
-	 * default font.
-	 * 
-	 * @return boolean if the two are the same
-	 */
-	protected static boolean dialogFontIsDefault() {
-		FontData[] dialogFontData = JFaceResources.getFontRegistry()
-				.getFontData(JFaceResources.DIALOG_FONT);
-		FontData[] defaultFontData = JFaceResources.getFontRegistry()
-				.getFontData(JFaceResources.DEFAULT_FONT);
-		return Arrays.equals(dialogFontData, defaultFontData);
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.window.Window#create()
-	 */
-	public void create() {
-		super.create();
-		applyDialogFont(buttonBar);
-	}
-	/**
-	 * Get the IDialogBlockedHandler to be used by WizardDialogs and
-	 * ModalContexts.
-	 * 
-	 * @return Returns the blockedHandler.
-	 */
-	public static IDialogBlockedHandler getBlockedHandler() {
-		return blockedHandler;
-	}
-	/**
-	 * Set the IDialogBlockedHandler to be used by WizardDialogs and
-	 * ModalContexts.
-	 * 
-	 * @param blockedHandler
-	 *            The blockedHandler for the dialogs.
-	 */
-	public static void setBlockedHandler(IDialogBlockedHandler blockedHandler) {
-		Dialog.blockedHandler = blockedHandler;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/DialogMessageArea.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/DialogMessageArea.java
deleted file mode 100644
index 1297824..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/DialogMessageArea.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.dialogs;
-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.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.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.jface.resource.JFaceColors;
-import org.eclipse.jface.resource.JFaceResources;
-/**
- * The DialogMessageArea is a resusable component for adding an accessible
- * message area to a dialog.
- * 
- * When the message is normal a CLabel is used but an errors replaces the
- * message area with a non editable text that can take focus for use by screen
- * readers.
- * 
- * @since 3.0
- */
-public class DialogMessageArea extends Object {
-	private Text messageText;
-	private Label messageImageLabel;
-	private Composite messageComposite;
-	private String lastMessageText;
-	private int lastMessageType;
-	private CLabel titleLabel;
-	/**
-	 * Create a new instance of the receiver.
-	 */
-	public DialogMessageArea() {
-		//No initial behaviour
-	}
-	/**
-	 * Create the contents for the receiver.
-	 * 
-	 * @param parent
-	 *            the Composite that the children will be created in
-	 */
-	public void createContents(Composite parent) {
-		Display display = parent.getDisplay();
-		Color background = JFaceColors.getBannerBackground(display);
-		Color foreground = JFaceColors.getBannerForeground(display);
-		// Message label
-		titleLabel = new CLabel(parent, SWT.NONE);
-		JFaceColors.setColors(titleLabel, foreground, background);
-		titleLabel.setFont(JFaceResources.getBannerFont());
-		messageComposite = new Composite(parent, SWT.NONE);
-		GridLayout messageLayout = new GridLayout();
-		messageLayout.numColumns = 2;
-		messageLayout.marginWidth = 0;
-		messageLayout.marginHeight = 0;
-		messageLayout.makeColumnsEqualWidth = false;
-		messageComposite.setLayout(messageLayout);
-		messageImageLabel = new Label(messageComposite, SWT.NONE);
-		messageImageLabel.setImage(JFaceResources
-				.getImage(Dialog.DLG_IMG_MESSAGE_INFO));
-		messageImageLabel.setLayoutData(new GridData(
-				GridData.VERTICAL_ALIGN_CENTER));
-		messageImageLabel.setBackground(parent.getDisplay().getSystemColor(
-				SWT.COLOR_YELLOW));
-		messageText = new Text(messageComposite, SWT.NONE);
-		messageText.setEditable(false);
-		messageText.setBackground(parent.getDisplay().getSystemColor(
-				SWT.COLOR_RED));
-		GridData textData = new GridData(GridData.GRAB_HORIZONTAL
-				| GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_CENTER);
-		messageText.setLayoutData(textData);
-		setMessageColors(JFaceColors.getBannerBackground(messageComposite
-				.getDisplay()));
-	}
-	/**
-	 * Set the layoutData for the title area. In most cases this will be a copy
-	 * of the layoutData used in setMessageLayoutData.
-	 * 
-	 * @param layoutData
-	 *            the layoutData for the title
-	 * @see #setMessageLayoutData(Object)
-	 */
-	public void setTitleLayoutData(Object layoutData) {
-		titleLabel.setLayoutData(layoutData);
-	}
-	/**
-	 * Set the layoutData for the messageArea. In most cases this will be a copy
-	 * of the layoutData used in setTitleLayoutData.
-	 * 
-	 * @param layoutData
-	 *            the layoutData for the message area composite.
-	 * @see #setTitleLayoutData(Object)
-	 */
-	public void setMessageLayoutData(Object layoutData) {
-		messageComposite.setLayoutData(layoutData);
-	}
-	/**
-	 * Show the title.
-	 * 
-	 * @param titleMessage
-	 *            String for the titke
-	 * @param titleImage
-	 *            Image or <code>null</code>
-	 */
-	public void showTitle(String titleMessage, Image titleImage) {
-		titleLabel.setImage(titleImage);
-		titleLabel.setText(titleMessage);
-		restoreTitle();
-		return;
-	}
-	/**
-	 * Enable the title and disable the message text and image.
-	 */
-	public void restoreTitle() {
-		titleLabel.setVisible(true);
-		messageComposite.setVisible(false);
-		lastMessageText = null;
-		lastMessageType = IMessageProvider.NONE;
-	}
-	/**
-	 * Show the new message in the message text and update the image. Base the
-	 * background color on whether or not there are errors.
-	 * 
-	 * @param newMessage
-	 *            The new value for the message
-	 * @param newType
-	 *            One of the IMessageProvider constants. If newType is
-	 *            IMessageProvider.NONE show the title.
-	 * @see IMessageProvider
-	 */
-	public void updateText(String newMessage, int newType) {
-		Image newImage = null;
-		boolean showingError = false;
-		switch (newType) {
-			case IMessageProvider.NONE :
-				if (newMessage == null)
-					restoreTitle();
-				else
-					showTitle(newMessage, null);
-				return;
-			case IMessageProvider.INFORMATION :
-				newImage = JFaceResources.getImage(Dialog.DLG_IMG_MESSAGE_INFO);
-				break;
-			case IMessageProvider.WARNING :
-				newImage = JFaceResources
-						.getImage(Dialog.DLG_IMG_MESSAGE_WARNING);
-				break;
-			case IMessageProvider.ERROR :
-				newImage = JFaceResources
-						.getImage(Dialog.DLG_IMG_MESSAGE_ERROR);
-				showingError = true;
-				break;
-		}
-		messageComposite.setVisible(true);
-		titleLabel.setVisible(false);
-		// Any more updates required
-		if (newMessage.equals(messageText.getText())
-				&& newImage == messageImageLabel.getImage())
-			return;
-		messageImageLabel.setImage(newImage);
-		messageText.setText(newMessage);
-		if (showingError)
-			setMessageColors(JFaceColors.getErrorBackground(messageComposite
-					.getDisplay()));
-		else {
-			lastMessageText = newMessage;
-			setMessageColors(JFaceColors.getBannerBackground(messageComposite
-					.getDisplay()));
-		}
-	}
-	/**
-	 * Set the colors of the message area.
-	 * 
-	 * @param color
-	 *            The color to be use in the message area.
-	 */
-	private void setMessageColors(Color color) {
-		messageText.setBackground(color);
-		messageComposite.setBackground(color);
-		messageImageLabel.setBackground(color);
-	}
-	/**
-	 * Clear the error message. Restore the previously displayed message if
-	 * there is one, if not restore the title label.
-	 *  
-	 */
-	public void clearErrorMessage() {
-		if (lastMessageText == null)
-			restoreTitle();
-		else
-			updateText(lastMessageText, lastMessageType);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/DialogPage.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/DialogPage.java
deleted file mode 100644
index d1ee604..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/DialogPage.java
+++ /dev/null
@@ -1,420 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.dialogs;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.*;
-/**
- * Abstract base implementation of a dialog page. All dialog pages are
- * subclasses of this one.
- */
-public abstract class DialogPage implements IDialogPage, IMessageProvider {
-	/**
-	 * The control for this dialog page.
-	 */
-	private Control control;
-	/**
-	 * Optional title; <code>null</code> if none.
-	 * 
-	 * @see #setTitle
-	 */
-	private String title = null;
-	/**
-	 * Optional description; <code>null</code> if none.
-	 * 
-	 * @see #setDescription
-	 */
-	private String description = null;
-	/**
-	 * Cached image; <code>null</code> if none.
-	 * 
-	 * @see #setImageDescriptor(ImageDescriptor)
-	 */
-	private Image image = null;
-	/**
-	 * Optional image; <code>null</code> if none.
-	 * 
-	 * @see #setImageDescriptor(ImageDescriptor)
-	 */
-	private ImageDescriptor imageDescriptor = null;
-	/**
-	 * The current message; <code>null</code> if none.
-	 */
-	private String message = null;
-	/**
-	 * The current message type; default value <code>NONE</code>.
-	 */
-	private int messageType = NONE;
-	/**
-	 * The current error message; <code>null</code> if none.
-	 */
-	private String errorMessage = null;
-	/**
-	 * Font metrics to use for determining pixel sizes.
-	 */
-	private FontMetrics fontMetrics;
-	/**
-	 * Creates a new empty dialog page.
-	 */
-	protected DialogPage() {
-		//No initial behaviour
-	}
-	/**
-	 * Creates a new dialog page with the given title.
-	 * 
-	 * @param title
-	 *            the title of this dialog page, or <code>null</code> if none
-	 */
-	protected DialogPage(String title) {
-		this.title = title;
-	}
-	/**
-	 * Creates a new dialog page with the given title and image.
-	 * 
-	 * @param title
-	 *            the title of this dialog page, or <code>null</code> if none
-	 * @param image
-	 *            the image for this dialog page, or <code>null</code> if none
-	 */
-	protected DialogPage(String title, ImageDescriptor image) {
-		this(title);
-		imageDescriptor = image;
-	}
-	/**
-	 * Returns the number of pixels corresponding to the height of the given
-	 * number of characters.
-	 * <p>
-	 * This method may only be called after <code>initializeDialogUnits</code>
-	 * has been called.
-	 * </p>
-	 * <p>
-	 * Clients may call this framework method, but should not override it.
-	 * </p>
-	 * 
-	 * @param chars
-	 *            the number of characters
-	 * @return the number of pixels
-	 */
-	protected int convertHeightInCharsToPixels(int chars) {
-		// test for failure to initialize for backward compatibility
-		if (fontMetrics == null)
-			return 0;
-		return Dialog.convertHeightInCharsToPixels(fontMetrics, chars);
-	}
-	/**
-	 * Returns the number of pixels corresponding to the given number of
-	 * horizontal dialog units.
-	 * <p>
-	 * This method may only be called after <code>initializeDialogUnits</code>
-	 * has been called.
-	 * </p>
-	 * <p>
-	 * Clients may call this framework method, but should not override it.
-	 * </p>
-	 * 
-	 * @param dlus
-	 *            the number of horizontal dialog units
-	 * @return the number of pixels
-	 */
-	protected int convertHorizontalDLUsToPixels(int dlus) {
-		// test for failure to initialize for backward compatibility
-		if (fontMetrics == null)
-			return 0;
-		return Dialog.convertHorizontalDLUsToPixels(fontMetrics, dlus);
-	}
-	/**
-	 * Returns the number of pixels corresponding to the given number of
-	 * vertical dialog units.
-	 * <p>
-	 * This method may only be called after <code>initializeDialogUnits</code>
-	 * has been called.
-	 * </p>
-	 * <p>
-	 * Clients may call this framework method, but should not override it.
-	 * </p>
-	 * 
-	 * @param dlus
-	 *            the number of vertical dialog units
-	 * @return the number of pixels
-	 */
-	protected int convertVerticalDLUsToPixels(int dlus) {
-		// test for failure to initialize for backward compatibility
-		if (fontMetrics == null)
-			return 0;
-		return Dialog.convertVerticalDLUsToPixels(fontMetrics, dlus);
-	}
-	/**
-	 * Returns the number of pixels corresponding to the width of the given
-	 * number of characters.
-	 * <p>
-	 * This method may only be called after <code>initializeDialogUnits</code>
-	 * has been called.
-	 * </p>
-	 * <p>
-	 * Clients may call this framework method, but should not override it.
-	 * </p>
-	 * 
-	 * @param chars
-	 *            the number of characters
-	 * @return the number of pixels
-	 */
-	protected int convertWidthInCharsToPixels(int chars) {
-		// test for failure to initialize for backward compatibility
-		if (fontMetrics == null)
-			return 0;
-		return Dialog.convertWidthInCharsToPixels(fontMetrics, chars);
-	}
-	/**
-	 * The <code>DialogPage</code> implementation of an
-	 * <code>IDialogPage</code> method does nothing. Subclasses may extend.
-	 */
-	public void dispose() {
-		// deallocate SWT resources
-		if (image != null) {
-			image.dispose();
-			image = null;
-		}
-	}
-	/**
-	 * Returns the top level control for this dialog page.
-	 * 
-	 * @return the top level control
-	 */
-	public Control getControl() {
-		return control;
-	}
-	/*
-	 * (non-Javadoc) Method declared on IDialogPage.
-	 */
-	public String getDescription() {
-		return description;
-	}
-	/**
-	 * Returns the symbolic font name used by dialog pages.
-	 * 
-	 * @return the symbolic font name
-	 */
-	protected String getDialogFontName() {
-		return JFaceResources.DIALOG_FONT;
-	}
-	/*
-	 * (non-Javadoc) Method declared on IDialogPage.
-	 */
-	public String getErrorMessage() {
-		return errorMessage;
-	}
-	/**
-	 * Returns the default font to use for this dialog page.
-	 * 
-	 * @return the font
-	 */
-	protected Font getFont() {
-		return JFaceResources.getFontRegistry().get(getDialogFontName());
-	}
-	/*
-	 * (non-Javadoc) Method declared on IDialogPage.
-	 */
-	public Image getImage() {
-		if (image == null) {
-			if (imageDescriptor != null) {
-				image = imageDescriptor.createImage();
-			}
-		}
-		return image;
-	}
-	/*
-	 * (non-Javadoc) Method declared on IDialogPage.
-	 */
-	public String getMessage() {
-		return message;
-	}
-	/*
-	 * (non-Javadoc) Method declared on IMessageProvider.
-	 */
-	public int getMessageType() {
-		return messageType;
-	}
-	/**
-	 * Returns this dialog page's shell. Convenience method for
-	 * <code>getControl().getShell()</code>. This method may only be called
-	 * after the page's control has been created.
-	 * 
-	 * @return the shell
-	 */
-	public Shell getShell() {
-		return getControl().getShell();
-	}
-	/*
-	 * (non-Javadoc) Method declared on IDialogPage.
-	 */
-	public String getTitle() {
-		return title;
-	}
-	/**
-	 * Returns the tool tip text for the widget with the given id.
-	 * <p>
-	 * The default implementation of this framework method does nothing and
-	 * returns <code>null</code>. Subclasses may override.
-	 * </p>
-	 * 
-	 * @param widgetId
-	 *            the id of the widget for which hover help is requested
-	 * @return the tool tip text, or <code>null</code> if none
-	 * @deprecated 
-	 */
-	protected final String getToolTipText(int widgetId) {
-		// return nothing by default
-		return null;
-	}
-	/**
-	 * Initializes the computation of horizontal and vertical dialog units based
-	 * on the size of current font.
-	 * <p>
-	 * This method must be called before any of the dialog unit based conversion
-	 * methods are called.
-	 * </p>
-	 * 
-	 * @param testControl
-	 *            a control from which to obtain the current font
-	 */
-	protected void initializeDialogUnits(Control testControl) {
-		// Compute and store a font metric
-		GC gc = new GC(testControl);
-		gc.setFont(JFaceResources.getDialogFont());
-		fontMetrics = gc.getFontMetrics();
-		gc.dispose();
-	}
-	/**
-	 * 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
-	 */
-	protected GridData setButtonLayoutData(Button button) {
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.heightHint = convertVerticalDLUsToPixels(IDialogConstants.BUTTON_HEIGHT);
-		int widthHint = convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-		data.widthHint = Math.max(widthHint, button.computeSize(SWT.DEFAULT,
-				SWT.DEFAULT, true).x);
-		button.setLayoutData(data);
-		return data;
-	}
-	/**
-	 * Tests whether this page's UI content has already been created.
-	 * 
-	 * @return <code>true</code> if the control has been created, and
-	 *         <code>false</code> if not
-	 */
-	protected boolean isControlCreated() {
-		return control != null;
-	}
-	/**
-	 * This default implementation of an <code>IDialogPage</code> method does
-	 * nothing. Subclasses should override to take some action in response to a
-	 * help request.
-	 */
-	public void performHelp() {
-		//No default help
-	}
-	/**
-	 * Set the control for the receiver.
-	 * @param newControl
-	 */
-	protected void setControl(Control newControl) {
-		control = newControl;
-	}
-	/*
-	 * (non-Javadoc) Method declared on IDialogPage.
-	 */
-	public void setDescription(String description) {
-		this.description = description;
-	}
-	/**
-	 * Sets or clears the error message for this page.
-	 * 
-	 * @param newMessage
-	 *            the message, or <code>null</code> to clear the error message
-	 */
-	public void setErrorMessage(String newMessage) {
-		errorMessage = newMessage;
-	}
-	/*
-	 * (non-Javadoc) Method declared on IDialogPage.
-	 */
-	public void setImageDescriptor(ImageDescriptor desc) {
-		imageDescriptor = desc;
-		if (image != null) {
-			image.dispose();
-			image = null;
-		}
-	}
-	/**
-	 * Sets or clears the message for this page.
-	 * <p>
-	 * This is a shortcut for <code>setMessage(newMesasge, NONE)</code>
-	 * </p>
-	 * 
-	 * @param newMessage
-	 *            the message, or <code>null</code> to clear the message
-	 */
-	public void setMessage(String newMessage) {
-		setMessage(newMessage, NONE);
-	}
-	/**
-	 * Sets the message for this page with an indication of what type of message
-	 * it is.
-	 * <p>
-	 * The valid message types are one of <code>NONE</code>,
-	 * <code>INFORMATION</code>,<code>WARNING</code>, or
-	 * <code>ERROR</code>.
-	 * </p>
-	 * <p>
-	 * Note that for backward compatibility, a message of type
-	 * <code>ERROR</code> is different than an error message (set using
-	 * <code>setErrorMessage</code>). An error message overrides the current
-	 * message until the error message is cleared. This method replaces the
-	 * current message and does not affect the error message.
-	 * </p>
-	 * 
-	 * @param newMessage
-	 *            the message, or <code>null</code> to clear the message
-	 * @param newType
-	 *            the message type
-	 * @since 2.0
-	 */
-	public void setMessage(String newMessage, int newType) {
-		message = newMessage;
-		messageType = newType;
-	}
-	/**
-	 * The <code>DialogPage</code> implementation of this
-	 * <code>IDialogPage</code> method remembers the title in an internal
-	 * state variable. Subclasses may extend.
-	 */
-	public void setTitle(String title) {
-		this.title = title;
-	}
-	/**
-	 * The <code>DialogPage</code> implementation of this
-	 * <code>IDialogPage</code> method sets the control to the given
-	 * visibility state. Subclasses may extend.
-	 */
-	public void setVisible(boolean visible) {
-		control.setVisible(visible);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/DialogSettings.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/DialogSettings.java
deleted file mode 100644
index 3e2e5d1..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/DialogSettings.java
+++ /dev/null
@@ -1,393 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.dialogs;
-
-import java.io.BufferedReader;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.OutputStreamWriter;
-import java.io.Reader;
-import java.io.Writer;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Result;
-import javax.xml.transform.Source;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-
-/**
- * Concrete implementation of a dialog settings (<code>IDialogSettings</code>)
- * using a hash table and XML. The dialog store can be read
- * from and saved to a stream. All keys and values must be strings or array of
- * strings. Primitive types are converted to strings.
- * <p>
- * This class was not designed to be subclassed.
- *
- * Here is an example of using a DialogSettings:
- * </p>
- * <code>
- * DialogSettings settings = new DialogSettings("root");
- * settings.put("Boolean1",true);
- * settings.put("Long1",100);
- * settings.put("Array1",new String[]{"aaaa1","bbbb1","cccc1"});
- * DialogSettings section = new DialogSettings("sectionName");
- * settings.addSection(section);
- * section.put("Int2",200);
- * section.put("Float2",1.1);
- * section.put("Array2",new String[]{"aaaa2","bbbb2","cccc2"});
- * settings.save("c:\\temp\\test\\dialog.xml");
- * </code>
- */
- 
-public class DialogSettings implements IDialogSettings {
-	// The name of the DialogSettings.
-	private String name;
-	/* A Map of DialogSettings representing each sections in a DialogSettings.
-	   It maps the DialogSettings' name to the DialogSettings */
-	private Map sections;
-	/* A Map with all the keys and values of this sections.
-	   Either the keys an values are restricted to strings. */
-	private Map items;
-	// A Map with all the keys mapped to array of strings.
-	private Map arrayItems;
-
-	private final String TAG_SECTION = "section";//$NON-NLS-1$
-	private final String TAG_NAME = "name";//$NON-NLS-1$
-	private final String TAG_KEY = "key";//$NON-NLS-1$
-	private final String TAG_VALUE = "value";//$NON-NLS-1$
-	private final String TAG_LIST = "list";//$NON-NLS-1$
-	private final String TAG_ITEM = "item";//$NON-NLS-1$
-/**
- * Create an empty dialog settings which loads and saves its
- * content to a file.
- * Use the methods <code>load(String)</code> and <code>store(String)</code>
- * to load and store this dialog settings.
- *
- * @param sectionName the name of the section in the settings.
- */
-public DialogSettings(String sectionName) {
-	name = sectionName;
-	items = new HashMap();
-	arrayItems = new HashMap();
-	sections = new HashMap();
-}
-/* (non-Javadoc)
- * Method declared on IDialogSettings.
- */
-public IDialogSettings addNewSection(String sectionName) {
-	DialogSettings section = new DialogSettings(sectionName);
-	addSection(section);
-	return section;
-}
-/* (non-Javadoc)
- * Method declared on IDialogSettings.
- */
-public void addSection(IDialogSettings section) { 
-	sections.put(section.getName(),section);
-}
-/* (non-Javadoc)
- * Method declared on IDialogSettings.
- */
-public String get(String key) {
-	return (String)items.get(key);
-}
-/* (non-Javadoc)
- * Method declared on IDialogSettings.
- */
-public String[] getArray(String key) {
-	return (String[])arrayItems.get(key);
-}
-/* (non-Javadoc)
- * Method declared on IDialogSettings.
- */
-public boolean getBoolean(String key) {
-	return new Boolean((String)items.get(key)).booleanValue();
-}
-/* (non-Javadoc)
- * Method declared on IDialogSettings.
- */
-public double getDouble(String key) throws NumberFormatException {
-	String setting = (String)items.get(key);
-	if(setting == null)
-		throw new NumberFormatException("There is no setting associated with the key \"" + key + "\"");//$NON-NLS-1$ //$NON-NLS-2$
-		
-	return new Double(setting).doubleValue();
-}
-/* (non-Javadoc)
- * Method declared on IDialogSettings.
- */
-public float getFloat(String key) throws NumberFormatException {
-	String setting = (String)items.get(key);
-	if(setting == null)
-		throw new NumberFormatException("There is no setting associated with the key \"" + key + "\"");//$NON-NLS-1$ //$NON-NLS-2$
-		
-	return new Float(setting).floatValue();
-}
-/* (non-Javadoc)
- * Method declared on IDialogSettings.
- */
-public int getInt(String key) throws NumberFormatException {
-	String setting = (String)items.get(key);
-	if(setting == null) {
-		//new Integer(null) will throw a NumberFormatException and meet our spec, but this message
-		//is clearer.
-		throw new NumberFormatException("There is no setting associated with the key \"" + key + "\"");//$NON-NLS-1$ //$NON-NLS-2$
-	}
-		
-	return new Integer(setting).intValue();
-}
-/* (non-Javadoc)
- * Method declared on IDialogSettings.
- */
-public long getLong(String key) throws NumberFormatException {
-	String setting = (String)items.get(key);
-	if(setting == null) {
-		//new Long(null) will throw a NumberFormatException and meet our spec, but this message
-		//is clearer.
-		throw new NumberFormatException("There is no setting associated with the key \"" + key + "\"");//$NON-NLS-1$ //$NON-NLS-2$
-	}
-		
-	return new Long(setting).longValue();
-}
-/* (non-Javadoc)
- * Method declared on IDialogSettings.
- */
-public String getName() {
-	return name;
-}
-/* (non-Javadoc)
- * Method declared on IDialogSettings.
- */
-public IDialogSettings getSection(String sectionName) {
-	return (IDialogSettings)sections.get(sectionName);
-}
-/* (non-Javadoc)
- * Method declared on IDialogSettings.
- */
-public IDialogSettings[] getSections() {
-	Collection values = sections.values();
-	DialogSettings[] result = new DialogSettings[values.size()];
-	values.toArray(result);
-	return result;
-}
-/* (non-Javadoc)
- * Method declared on IDialogSettings.
- */
-public void load(Reader r) {
-	Document document = null;
-	try {
-		DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
-//		parser.setProcessNamespace(true);
-		document = parser.parse(new InputSource(r));
-		
-		//Strip out any comments first
-		Node root = document.getFirstChild();
-		while(root.getNodeType() == Node.COMMENT_NODE){
-			document.removeChild(root);
-			root = document.getFirstChild();
-		}
-		load(document, (Element) root);
-	} catch (ParserConfigurationException e) {
-		// ignore
-	} catch (IOException e) {
-		// ignore
-	} catch (SAXException e) {
-		// ignore
-	}
-}
-/* (non-Javadoc)
- * Method declared on IDialogSettings.
- */
-public void load(String fileName) throws IOException {
-	FileInputStream stream = new FileInputStream(fileName);
-	BufferedReader reader = new BufferedReader(new InputStreamReader(stream, "utf-8"));//$NON-NLS-1$
-	load(reader);
-	reader.close();
-}
-/* (non-Javadoc)
- * Load the setting from the <code>document</code>
- */
-private void load(Document document,Element root) {
-	name = root.getAttribute(TAG_NAME);
-	NodeList l = root.getElementsByTagName(TAG_ITEM);
-	for (int i = 0; i < l.getLength(); i++){
-		Node n = l.item(i);
-		if(root == n.getParentNode()) {
-			String key = ((Element)l.item(i)).getAttribute(TAG_KEY);
-			String value = ((Element)l.item(i)).getAttribute(TAG_VALUE);
-			items.put(key,value);
-		}
-	}
-	l = root.getElementsByTagName(TAG_LIST);
-	for (int i = 0; i < l.getLength(); i++){
-		Node n = l.item(i);
-		if(root == n.getParentNode()) {
-			Element child = (Element)l.item(i);
-			String key = child.getAttribute(TAG_KEY);
-			NodeList list = child.getElementsByTagName(TAG_ITEM);
-			List valueList = new ArrayList();
-			for (int j = 0; j < list.getLength(); j++){
-				Element node = (Element)list.item(j);
-				if(child == node.getParentNode()) {
-					valueList.add(node.getAttribute(TAG_VALUE));
-				}
-			}
-			String[] value = new String[valueList.size()];
-			valueList.toArray(value);
-			arrayItems.put(key,value);
-		}
-	}
-	l = root.getElementsByTagName(TAG_SECTION);
-	for (int i = 0; i < l.getLength(); i++){
-		Node n = l.item(i);
-		if(root == n.getParentNode()) {
-			DialogSettings s = new DialogSettings("NoName");//$NON-NLS-1$
-			s.load(document,(Element)n);
-			addSection(s);
-		}
-	}
-}
-/* (non-Javadoc)
- * Method declared on IDialogSettings.
- */
-public void put(String key,String[] value) {
-	arrayItems.put(key,value);
-}
-/* (non-Javadoc)
- * Method declared on IDialogSettings.
- */
-public void put(String key,double value) {
-	put(key,String.valueOf(value));
-}
-/* (non-Javadoc)
- * Method declared on IDialogSettings.
- */
-public void put(String key,float value) {
-	put(key,String.valueOf(value));
-}
-/* (non-Javadoc)
- * Method declared on IDialogSettings.
- */
-public void put(String key,int value) {
-	put(key,String.valueOf(value));
-}
-/* (non-Javadoc)
- * Method declared on IDialogSettings.
- */
-public void put(String key,long value) {
-	put(key,String.valueOf(value));
-}
-/* (non-Javadoc)
- * Method declared on IDialogSettings.
- */
-public void put(String key,String value) {
-	items.put(key,value);
-}
-/* (non-Javadoc)
- * Method declared on IDialogSettings.
- */
-public void put(String key,boolean value) {
-	put(key,String.valueOf(value));
-}
-/* (non-Javadoc)
- * Method declared on IDialogSettings.
- */
-public void save(Writer writer) throws IOException {    
-    try {
-        Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
-        save(document, document);
-        Result result = new StreamResult(writer);        
-        Source source = new DOMSource(document);
-
-        Transformer transformer = TransformerFactory.newInstance().newTransformer();
-        transformer.setOutputProperty(OutputKeys.METHOD, "xml"); //$NON-NLS-1$            
-        transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); //$NON-NLS-1$
-        transformer.transform(source, result);            
-    }
-    catch (TransformerConfigurationException e) {
-        throw (IOException) (new IOException().initCause(e));
-    }
-    catch (TransformerException e) {
-        throw (IOException) (new IOException().initCause(e));
-    }        
-    catch (ParserConfigurationException e) {
-        throw (IOException) (new IOException().initCause(e));
-    }
-}
-/* (non-Javadoc)
- * Method declared on IDialogSettings.
- */
-public void save(String fileName) throws IOException {
-	FileOutputStream stream = new FileOutputStream(fileName);
-	OutputStreamWriter writer = new OutputStreamWriter(stream, "utf-8");//$NON-NLS-1$
-	save(writer);
-	writer.close();
-}
-/* (non-Javadoc)
- * Save the settings in the <code>document</code>.
- */
-private void save(Document document,Node parent) {
-	Element root = document.createElement(TAG_SECTION);
-	parent.appendChild(root);
-	root.setAttribute(TAG_NAME, name == null ? "" : name); //$NON-NLS-1$
-	
-	for(Iterator i = items.keySet().iterator();i.hasNext();) {
-		String key = (String)i.next();
-		Element child = document.createElement(TAG_ITEM);
-		root.appendChild(child);
-		child.setAttribute(TAG_KEY, key == null ? "" : key); //$NON-NLS-1$
-		String string = (String)items.get(key);
-        child.setAttribute(TAG_VALUE, string == null ? "" : string); //$NON-NLS-1$        
-	}
-
-	for(Iterator i = arrayItems.keySet().iterator();i.hasNext();) {
-		String key = (String)i.next();
-		Element child = document.createElement(TAG_LIST);
-		root.appendChild(child);
-		child.setAttribute(TAG_KEY, key == null ? "" : key); //$NON-NLS-1$
-		String[] value = (String[])arrayItems.get(key);
-		if (value != null) {
-			for (int index = 0; index < value.length; index++){
-				Element c = document.createElement(TAG_ITEM);
-				child.appendChild(c);
-				String string = value[index];
-	            c.setAttribute(TAG_VALUE, string == null ? "" : string); //$NON-NLS-1$
-			}
-		}
-	}
-	for(Iterator i = sections.values().iterator();i.hasNext();) {
-		((DialogSettings)i.next()).save(document,root);
-	}	
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/ErrorDialog.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/ErrorDialog.java
deleted file mode 100644
index c4b4fbb..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/ErrorDialog.java
+++ /dev/null
@@ -1,437 +0,0 @@
-package org.eclipse.jface.dialogs;
-/******************************************************************************* 
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation 
- * 		Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog font should
- * 			be activated and used by other components.
- ******************************************************************************/
-import java.util.Arrays;
-import java.util.Iterator;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-/**
- * A dialog to display one or more errors to the user, as contained in an
- * <code>IStatus</code> object. If an error contains additional detailed
- * information then a Details button is automatically supplied, which shows or
- * hides an error details viewer when pressed by the user.
- * 
- * @see org.eclipse.core.runtime.IStatus
- */
-public class ErrorDialog extends IconAndMessageDialog {
-	/**
-	 * Static to prevent opening of error dialogs for automated testing.
-	 */
-	public static boolean AUTOMATED_MODE = false;
-	/**
-	 * Reserve room for this many list items.
-	 */
-	private static final int LIST_ITEM_COUNT = 7;
-	/**
-	 * The nesting indent.
-	 */
-	private static final String NESTING_INDENT = "  "; //$NON-NLS-1$
-	/**
-	 * The Details button.
-	 */
-	private Button detailsButton;
-	/**
-	 * The title of the dialog.
-	 */
-	private String title;
-	/**
-	 * The SWT list control that displays the error details.
-	 */
-	private List list;
-	/**
-	 * Indicates whether the error details viewer is currently created.
-	 */
-	private boolean listCreated = false;
-	/**
-	 * Filter mask for determining which status items to display.
-	 */
-	private int displayMask = 0xFFFF;
-	/**
-	 * The main status object.
-	 */
-	private IStatus status;
-	/**
-	 * The current clipboard. To be disposed when closing the dialog.
-	 */
-	private Clipboard clipboard;
-	/**
-	 * List of the main error object's detailed errors (element type:
-	 * <code>IStatus</code>).
-	 */
-	private java.util.List statusList;
-	/**
-	 * Creates an error dialog. Note that the dialog will have no visual
-	 * representation (no widgets) until it is told to open.
-	 * <p>
-	 * Normally one should use <code>openError</code> to create and open one
-	 * of these. This constructor is useful only if the error object being
-	 * displayed contains child items <it>and </it> you need to specify a mask
-	 * which will be used to filter the displaying of these children.
-	 * </p>
-	 * 
-	 * @param parentShell
-	 *            the shell under which to create this dialog
-	 * @param dialogTitle
-	 *            the title to use for this dialog, or <code>null</code> to
-	 *            indicate that the default title should be used
-	 * @param message
-	 *            the message to show in this dialog, or <code>null</code> to
-	 *            indicate that the error's message should be shown as the
-	 *            primary message
-	 * @param status
-	 *            the error to show to the user
-	 * @param displayMask
-	 *            the mask to use to filter the displaying of child items, as
-	 *            per <code>IStatus.matches</code>
-	 * @see org.eclipse.core.runtime.IStatus#matches(int)
-	 */
-	public ErrorDialog(Shell parentShell, String dialogTitle, String message,
-			IStatus status, int displayMask) {
-		super(parentShell);
-		this.title = dialogTitle == null ? JFaceResources
-				.getString("Problem_Occurred") : //$NON-NLS-1$
-				dialogTitle;
-		this.message = message == null ? status.getMessage() : JFaceResources
-				.format("Reason", new Object[]{message, status.getMessage()}); //$NON-NLS-1$
-		this.status = status;
-		statusList = Arrays.asList(status.getChildren());
-		this.displayMask = displayMask;
-		setShellStyle(SWT.DIALOG_TRIM | SWT.RESIZE | SWT.APPLICATION_MODAL);
-	}
-	/*
-	 * (non-Javadoc) Method declared on Dialog. Handles the pressing of the Ok
-	 * or Details button in this dialog. If the Ok button was pressed then close
-	 * this dialog. If the Details button was pressed then toggle the displaying
-	 * of the error details area. Note that the Details button will only be
-	 * visible if the error being displayed specifies child details.
-	 */
-	protected void buttonPressed(int id) {
-		if (id == IDialogConstants.DETAILS_ID) {
-			// was the details button pressed?
-			toggleDetailsArea();
-		} else {
-			super.buttonPressed(id);
-		}
-	}
-	/*
-	 * (non-Javadoc) Method declared in Window.
-	 */
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		shell.setText(title);
-	}
-	/*
-	 * (non-Javadoc) Method declared on Dialog.
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		// create OK and Details buttons
-		createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL,
-				true);
-		if (status.isMultiStatus()) {
-			detailsButton = createButton(parent, IDialogConstants.DETAILS_ID,
-					IDialogConstants.SHOW_DETAILS_LABEL, false);
-		}
-	}
-	/**
-	 * This implementation of the <code>Dialog</code> framework method creates
-	 * and lays out a composite and calls <code>createMessageArea</code> and
-	 * <code>createCustomArea</code> to populate it. Subclasses should
-	 * override <code>createCustomArea</code> to add contents below the
-	 * message.
-	 */
-	protected Control createDialogArea(Composite parent) {
-		createMessageArea(parent);
-		// create a composite with standard margins and spacing
-		Composite composite = new Composite(parent, 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;
-		composite.setLayout(layout);
-		GridData childData = new GridData(GridData.FILL_BOTH);
-		childData.horizontalSpan = 2;
-		composite.setLayoutData(childData);
-		composite.setFont(parent.getFont());
-		return composite;
-	}
-	/*
-	 * @see IconAndMessageDialog#createDialogAndButtonArea(Composite)
-	 */
-	protected void createDialogAndButtonArea(Composite parent) {
-		super.createDialogAndButtonArea(parent);
-		if (this.dialogArea instanceof Composite) {
-			//Create a label if there are no children to force a smaller layout
-			Composite dialogComposite = (Composite) dialogArea;
-			if (dialogComposite.getChildren().length == 0)
-				new Label(dialogComposite, SWT.NULL);
-		}
-	}
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.IconAndMessageDialog#getImage()
-	 */
-	protected Image getImage() {
-		if (status != null) {
-			if (status.getSeverity() == IStatus.WARNING)
-				return getWarningImage();
-			if (status.getSeverity() == IStatus.INFO)
-				return getInfoImage();
-		}
-		//If it was not a warning or an error then return the error image
-		return getErrorImage();
-	}
-	/**
-	 * Create this dialog's drop-down list component.
-	 * 
-	 * @param parent
-	 *            the parent composite
-	 * @return the drop-down list component
-	 */
-	protected List createDropDownList(Composite parent) {
-		// create the list
-		list = new List(parent, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL
-				| SWT.MULTI);
-		// fill the list
-		populateList(list);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL
-				| GridData.GRAB_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL
-				| GridData.GRAB_VERTICAL);
-		data.heightHint = list.getItemHeight() * LIST_ITEM_COUNT;
-		data.horizontalSpan = 2;
-		list.setLayoutData(data);
-		list.setFont(parent.getFont());
-		Menu copyMenu = new Menu(list);
-		MenuItem copyItem = new MenuItem(copyMenu, SWT.NONE);
-		copyItem.addSelectionListener(new SelectionListener() {
-			/*
-			 * @see SelectionListener.widgetSelected (SelectionEvent)
-			 */
-			public void widgetSelected(SelectionEvent e) {
-				copyToClipboard();
-			}
-			/*
-			 * @see SelectionListener.widgetDefaultSelected(SelectionEvent)
-			 */
-			public void widgetDefaultSelected(SelectionEvent e) {
-				copyToClipboard();
-			}
-		});
-		copyItem.setText(JFaceResources.getString("copy")); //$NON-NLS-1$
-		list.setMenu(copyMenu);
-		listCreated = true;
-		return list;
-	}
-	/*
-	 * (non-Javadoc) Method declared on Window.
-	 */
-	/**
-	 * Extends <code>Window.open()</code>. Opens an error dialog to display
-	 * the error. If you specified a mask to filter the displaying of these
-	 * children, the error dialog will only be displayed if there is at least
-	 * one child status matching the mask.
-	 */
-	public int open() {
-		if (!AUTOMATED_MODE && shouldDisplay(status, displayMask)) {
-			return super.open();
-		}
-		setReturnCode(OK);
-		return OK;
-	}
-	/**
-	 * Opens an error dialog to display the given error. Use this method if the
-	 * error object being displayed does not contain child items, or if you wish
-	 * to display all such items without filtering.
-	 * 
-	 * @param parent
-	 *            the parent shell of the dialog, or <code>null</code> if none
-	 * @param dialogTitle
-	 *            the title to use for this dialog, or <code>null</code> to
-	 *            indicate that the default title should be used
-	 * @param message
-	 *            the message to show in this dialog, or <code>null</code> to
-	 *            indicate that the error's message should be shown as the
-	 *            primary message
-	 * @param status
-	 *            the error to show to the user
-	 * @return the code of the button that was pressed that resulted in this
-	 *         dialog closing. This will be <code>Dialog.OK</code> if the OK
-	 *         button was pressed, or <code>Dialog.CANCEL</code> if this
-	 *         dialog's close window decoration or the ESC key was used.
-	 */
-	public static int openError(Shell parent, String dialogTitle,
-			String message, IStatus status) {
-		return openError(parent, dialogTitle, message, status, IStatus.OK
-				| IStatus.INFO | IStatus.WARNING | IStatus.ERROR);
-	}
-	/**
-	 * Opens an error dialog to display the given error. Use this method if the
-	 * error object being displayed contains child items <it>and </it> you wish
-	 * to specify a mask which will be used to filter the displaying of these
-	 * children. The error dialog will only be displayed if there is at least
-	 * one child status matching the mask.
-	 * 
-	 * @param parentShell
-	 *            the parent shell of the dialog, or <code>null</code> if none
-	 * @param title
-	 *            the title to use for this dialog, or <code>null</code> to
-	 *            indicate that the default title should be used
-	 * @param message
-	 *            the message to show in this dialog, or <code>null</code> to
-	 *            indicate that the error's message should be shown as the
-	 *            primary message
-	 * @param status
-	 *            the error to show to the user
-	 * @param displayMask
-	 *            the mask to use to filter the displaying of child items, as
-	 *            per <code>IStatus.matches</code>
-	 * @return the code of the button that was pressed that resulted in this
-	 *         dialog closing. This will be <code>Dialog.OK</code> if the OK
-	 *         button was pressed, or <code>Dialog.CANCEL</code> if this
-	 *         dialog's close window decoration or the ESC key was used.
-	 * @see org.eclipse.core.runtime.IStatus#matches(int)
-	 */
-	public static int openError(Shell parentShell, String title,
-			String message, IStatus status, int displayMask) {
-		ErrorDialog dialog = new ErrorDialog(parentShell, title, message,
-				status, displayMask);
-		return dialog.open();
-	}
-	/**
-	 * Populates the list using this error dialog's status object. This walks
-	 * the child static of the status object and displays them in a list. The
-	 * format for each entry is status_path : status_message If the status's
-	 * path was null then it (and the colon) are omitted.
-	 * @param listToPopulate The list to fill.
-	 */
-	private void populateList(List listToPopulate) {
-		Iterator enum = statusList.iterator();
-		while (enum.hasNext()) {
-			IStatus childStatus = (IStatus) enum.next();
-			populateList(listToPopulate, childStatus, 0);
-		}
-	}
-	private void populateList(List listToPopulate, IStatus buildingStatus, int nesting) {
-		if (!buildingStatus.matches(displayMask)) {
-			return;
-		}
-		StringBuffer sb = new StringBuffer();
-		for (int i = 0; i < nesting; i++) {
-			sb.append(NESTING_INDENT); //$NON-NLS-1$
-		}
-		sb.append(buildingStatus.getMessage());
-		listToPopulate.add(sb.toString());
-		IStatus[] children = buildingStatus.getChildren();
-		for (int i = 0; i < children.length; i++) {
-			populateList(listToPopulate, children[i], nesting + 1);
-		}
-	}
-	/**
-	 * Returns whether the given status object should be displayed.
-	 * 
-	 * @param status
-	 *            a status object
-	 * @param mask
-	 *            a mask as per <code>IStatus.matches</code>
-	 * @return <code>true</code> if the given status should be displayed, and
-	 *         <code>false</code> otherwise
-	 * @see org.eclipse.core.runtime.IStatus#matches(int)
-	 */
-	protected static boolean shouldDisplay(IStatus status, int mask) {
-		IStatus[] children = status.getChildren();
-		if (children == null || children.length == 0) {
-			return status.matches(mask);
-		}
-		for (int i = 0; i < children.length; i++) {
-			if (children[i].matches(mask))
-				return true;
-		}
-		return false;
-	}
-	/**
-	 * 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 = getShell().computeSize(SWT.DEFAULT, SWT.DEFAULT);
-		if (listCreated) {
-			list.dispose();
-			listCreated = false;
-			detailsButton.setText(IDialogConstants.SHOW_DETAILS_LABEL);
-		} else {
-			list = createDropDownList((Composite) getContents());
-			detailsButton.setText(IDialogConstants.HIDE_DETAILS_LABEL);
-		}
-		Point newSize = getShell().computeSize(SWT.DEFAULT, SWT.DEFAULT);
-		getShell()
-				.setSize(
-						new Point(windowSize.x, windowSize.y
-								+ (newSize.y - oldSize.y)));
-	}
-	/**
-	 * Put the details of the status of the error onto the stream.
-	 * 
-	 * @param buildingStatus
-	 * @param buffer
-	 * @param nesting
-	 */
-	private void populateCopyBuffer(IStatus buildingStatus, StringBuffer buffer,
-			int nesting) {
-		if (!buildingStatus.matches(displayMask)) {
-			return;
-		}
-		for (int i = 0; i < nesting; i++) {
-			buffer.append(NESTING_INDENT); //$NON-NLS-1$
-		}
-		buffer.append(buildingStatus.getMessage());
-		buffer.append("\n"); //$NON-NLS-1$
-		IStatus[] children = buildingStatus.getChildren();
-		for (int i = 0; i < children.length; i++) {
-			populateCopyBuffer(children[i], buffer, nesting + 1);
-		}
-	}
-	/**
-	 * Copy the contents of the statuses to the clipboard.
-	 */
-	private void copyToClipboard() {
-		if (clipboard != null)
-			clipboard.dispose();
-		StringBuffer statusBuffer = new StringBuffer();
-		populateCopyBuffer(status, statusBuffer, 0);
-		clipboard = new Clipboard(list.getDisplay());
-		clipboard.setContents(new Object[]{statusBuffer.toString()},
-				new Transfer[]{TextTransfer.getInstance()});
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.window.Window#close()
-	 */
-	public boolean close() {
-		if (clipboard != null)
-			clipboard.dispose();
-		return super.close();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/IDialogBlockedHandler.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/IDialogBlockedHandler.java
deleted file mode 100644
index 60abaa6..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/IDialogBlockedHandler.java
+++ /dev/null
@@ -1,68 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.dialogs;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Shell;
-/**
- * The IDialogBlockedHandler is the handler used by
- * JFace to provide extra information when a
- * blocking has occured. There is one static instance
- * of this class used by WizardDialog and ModalContext.
- * @see org.eclipse.core.runtime.IProgressMonitorWithBlocking#clearBlocked()
- * @see  org.eclipse.core.runtime.IProgressMonitorWithBlocking#setBlocked(IStatus)
- * @see WizardDialog
- * @since 3.0
- */
-public interface IDialogBlockedHandler {
-	/**
-	 * The blockage has been cleared. Clear the
-	 * extra information and resume.
-	 */
-	public void clearBlocked();
-	
-	/**
-	 * A blockage has occured. Show the blockage and 
-	 * forward any actions to blockingMonitor. 
-	 * <b>NOTE:</b> This will open any blocked notification immediately
-	 * even if there is a modal shell open.
-	 * 
-	 * @param parentShell The shell this is being sent from. If the parent
-	 * shell is <code>null</code> the behavior will be the same as
-	 * IDialogBlockedHandler#showBlocked(IProgressMonitor, IStatus, String)
-	 * 
-	 * @param blocking The monitor to forward to. This is most
-	 * important for calls to <code>cancel()</code>.
-	 * @param blockingStatus The status that describes the blockage
-	 * @param blockedName The name of the locked operation.
-	 * @see IDialogBlockedHandler#showBlocked(IProgressMonitor, IStatus, String)
-	 */
-	public void showBlocked(Shell parentShell, IProgressMonitor blocking, IStatus blockingStatus,
-			String blockedName);
-	
-	/**
-	 * A blockage has occured. Show the blockage when there is 
-	 * no longer any modal shells in the UI and forward any actions 
-	 * to blockingMonitor. 
-	 * 
-	 * <b>NOTE:</b> As no shell has been specified this method will
-	 * not open any blocked notification until all other modal shells
-	 * have been closed.
-	 * 
-	 * @param blocking The monitor to forward to. This is most
-	 * important for calls to <code>cancel()</code>.
-	 * @param blockingStatus The status that describes the blockage
-	 * @param blockedName The name of the locked operation.
-	 */
-	public void showBlocked(IProgressMonitor blocking, IStatus blockingStatus,
-			String blockedName);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/IDialogConstants.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/IDialogConstants.java
deleted file mode 100644
index e50f197..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/IDialogConstants.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.dialogs;
-/**
- * Various dialog-related constants.
- * <p>
- * Within the dialog framework, all buttons are referred to by a button id.
- * Various common buttons, like "OK", "Cancel", and "Finish", have pre-assigned
- * button ids for convenience. If an application requires other dialog buttons,
- * they should be assigned application-specific button ids counting up from
- * <code>CLIENT_ID</code>.
- * </p>
- * <p>
- * Button label constants are also provided for the common buttons. JFace
- * automatically localizes these strings to the current locale; that is,
- * <code>YES_LABEL</code> would be bound to the string <code>"Si"</code> in
- * a Spanish locale, but to <code>"Oui"</code> in a French one.
- * </p>
- * <p>
- * All margins, spacings, and sizes are given in "dialog units" (DLUs), where
- * <ul>
- * <li>1 horizontal DLU = 1/4 average character width</li>
- * <li>1 vertical DLU = 1/8 average character height</li>
- * </ul>
- * </p>
- */
-import org.eclipse.jface.resource.JFaceResources;
-
-/**
- * IDialogConstants is the interface for common dialog strings and ids
- * used throughout JFace.
- * It is recommended that you use these labels and ids whereever 
- * for consistency with the JFace dialogs.
- */
-public interface IDialogConstants {
-	// button ids
-	/**
-	 * Button id for an "Ok" button (value 0).
-	 */
-	public int OK_ID = 0;
-	/**
-	 * Button id for a "Cancel" button (value 1).
-	 */
-	public int CANCEL_ID = 1;
-	/**
-	 * Button id for a "Yes" button (value 2).
-	 */
-	public int YES_ID = 2;
-	/**
-	 * Button id for a "No" button (value 3).
-	 */
-	public int NO_ID = 3;
-	/**
-	 * Button id for a "Yes to All" button (value 4).
-	 */
-	public int YES_TO_ALL_ID = 4;
-	/**
-	 * Button id for a "Skip" button (value 5).
-	 */
-	public int SKIP_ID = 5;
-	/**
-	 * Button id for a "Stop" button (value 6).
-	 */
-	public int STOP_ID = 6;
-	/**
-	 * Button id for an "Abort" button (value 7).
-	 */
-	public int ABORT_ID = 7;
-	/**
-	 * Button id for a "Retry" button (value 8).
-	 */
-	public int RETRY_ID = 8;
-	/**
-	 * Button id for an "Ignore" button (value 9).
-	 */
-	public int IGNORE_ID = 9;
-	/**
-	 * Button id for a "Proceed" button (value 10).
-	 */
-	public int PROCEED_ID = 10;
-	/**
-	 * Button id for an "Open" button (value 11).
-	 */
-	public int OPEN_ID = 11;
-	/**
-	 * Button id for a "Close" button (value 12).
-	 */
-	public int CLOSE_ID = 12;
-	/**
-	 * Button id for a "Details" button (value 13).
-	 */
-	public int DETAILS_ID = 13;
-	/**
-	 * Button id for a "Back" button (value 14).
-	 */
-	public int BACK_ID = 14;
-	/**
-	 * Button id for a "Next" button (value 15).
-	 */
-	public int NEXT_ID = 15;
-	/**
-	 * Button id for a "Finish" button (value 16).
-	 */
-	public int FINISH_ID = 16;
-	/**
-	 * Button id for a "Help" button (value 17).
-	 */
-	public int HELP_ID = 17;
-	/**
-	 * Button id for a "Select All" button (value 18).
-	 */
-	public int SELECT_ALL_ID = 18;
-	/**
-	 * Button id for a "Deselect All" button (value 19).
-	 */
-	public int DESELECT_ALL_ID = 19;
-	/**
-	 * Button id for a "Select types" button (value 20).
-	 */
-	public int SELECT_TYPES_ID = 20;
-	/**
-	 * Button id for a "No to All" button (value 21).
-	 */
-	public int NO_TO_ALL_ID = 21;
-	/**
-	 * Starting button id reserved for internal use by JFace (value 256). JFace
-	 * classes make ids by adding to this number.
-	 */
-	public int INTERNAL_ID = 256;
-	/**
-	 * Starting button id reserved for use by clients of JFace (value 1024).
-	 * Clients of JFace should make ids by adding to this number.
-	 */
-	public int CLIENT_ID = 1024;
-	// button labels
-	/**
-	 * The label for OK buttons.
-	 */
-	public String OK_LABEL = JFaceResources.getString("ok"); //$NON-NLS-1$
-	/**
-	 * The label for cancel buttons.
-	 */
-	public String CANCEL_LABEL = JFaceResources.getString("cancel"); //$NON-NLS-1$
-	/**
-	 * The label for yes buttons.
-	 */
-	public String YES_LABEL = JFaceResources.getString("yes"); //$NON-NLS-1$
-	/**
-	 * The label for no buttons.
-	 */
-	public String NO_LABEL = JFaceResources.getString("no"); //$NON-NLS-1$
-	/**
-	 * The label for not to all buttons.
-	 */
-	public String NO_TO_ALL_LABEL = JFaceResources.getString("notoall"); //$NON-NLS-1$
-	/**
-	 * The label for yes to all buttons.
-	 */
-	public String YES_TO_ALL_LABEL = JFaceResources.getString("yestoall"); //$NON-NLS-1$
-	/**
-	 * The label for skip buttons.
-	 */
-	public String SKIP_LABEL = JFaceResources.getString("skip"); //$NON-NLS-1$
-	/**
-	 * The label for stop buttons.
-	 */
-	public String STOP_LABEL = JFaceResources.getString("stop"); //$NON-NLS-1$
-	/**
-	 * The label for abort buttons.
-	 */
-	public String ABORT_LABEL = JFaceResources.getString("abort"); //$NON-NLS-1$
-	/**
-	 * The label for retry buttons.
-	 */
-	public String RETRY_LABEL = JFaceResources.getString("retry"); //$NON-NLS-1$
-	/**
-	 * The label for ignore buttons.
-	 */
-	public String IGNORE_LABEL = JFaceResources.getString("ignore"); //$NON-NLS-1$
-	/**
-	 * The label for proceed buttons.
-	 */
-	public String PROCEED_LABEL = JFaceResources.getString("proceed"); //$NON-NLS-1$
-	/**
-	 * The label for open buttons.
-	 */
-	public String OPEN_LABEL = JFaceResources.getString("open"); //$NON-NLS-1$
-	/**
-	 * The label for close buttons.
-	 */
-	public String CLOSE_LABEL = JFaceResources.getString("close"); //$NON-NLS-1$
-	/**
-	 * The label for show details buttons.
-	 */
-	public String SHOW_DETAILS_LABEL = JFaceResources.getString("showDetails"); //$NON-NLS-1$
-	/**
-	 * The label for hide details buttons.
-	 */
-	public String HIDE_DETAILS_LABEL = JFaceResources.getString("hideDetails"); //$NON-NLS-1$
-	/**
-	 * The label for back buttons.
-	 */
-	public String BACK_LABEL = JFaceResources.getString("backButton"); //$NON-NLS-1$
-	/**
-	 * The label for next buttons.
-	 */
-	public String NEXT_LABEL = JFaceResources.getString("nextButton"); //$NON-NLS-1$
-	/**
-	 * The label for finish buttons.
-	 */
-	public String FINISH_LABEL = JFaceResources.getString("finish"); //$NON-NLS-1$
-	/**
-	 * The label for help buttons.
-	 */
-	public String HELP_LABEL = JFaceResources.getString("help"); //$NON-NLS-1$
-	// Margins, spacings, and sizes
-	/**
-	 * Vertical margin in dialog units (value 7).
-	 */
-	public int VERTICAL_MARGIN = 7;
-	/**
-	 * Vertical spacing in dialog units (value 4).
-	 */
-	public int VERTICAL_SPACING = 4;
-	/**
-	 * Horizontal margin in dialog units (value 7).
-	 */
-	public int HORIZONTAL_MARGIN = 7;
-	/**
-	 * Horizontal spacing in dialog units (value 4).
-	 */
-	public int HORIZONTAL_SPACING = 4;
-	/**
-	 * Height of button bar in dialog units (value 25).
-	 */
-	public int BUTTON_BAR_HEIGHT = 25;
-	/**
-	 * Left margin in dialog units (value 20).
-	 */
-	public int LEFT_MARGIN = 20;
-	/**
-	 * Button margin in dialog units (value 4).
-	 */
-	public int BUTTON_MARGIN = 4;
-	/**
-	 * Button height in dialog units (value 14).
-	 */
-	public int BUTTON_HEIGHT = 14;
-	/**
-	 * Button width in dialog units (value 61).
-	 */
-	public int BUTTON_WIDTH = 61;
-	/**
-	 * Indent in dialog units (value 21).
-	 */
-	public int INDENT = 21;
-	/**
-	 * Small indent in dialog units (value 7).
-	 */
-	public int SMALL_INDENT = 7;
-	/**
-	 * Entry field width in dialog units (value 200).
-	 */
-	public int ENTRY_FIELD_WIDTH = 200;
-	/**
-	 * Minimum width of message area in dialog units (value 300).
-	 */
-	public int MINIMUM_MESSAGE_AREA_WIDTH = 300;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/IDialogPage.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/IDialogPage.java
deleted file mode 100644
index 2cf10c2..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/IDialogPage.java
+++ /dev/null
@@ -1,124 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.dialogs;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * Interface for a page in a multi-page dialog.
- */
-public interface IDialogPage {
-/**
- * Creates the top level control for this dialog
- * page under the given parent composite.
- * <p>
- * Implementors are responsible for ensuring that
- * the created control can be accessed via <code>getControl</code>
- * </p>
- *
- * @param parent the parent composite
- */
-public void createControl(Composite parent);
-/**
- * Disposes the SWT resources allocated by this
- * dialog page.
- */
-public void dispose();
-/**
- * Returns the top level control for this dialog page.
- * <p>
- * May return <code>null</code> if the control
- * has not been created yet.
- * </p>
- *
- * @return the top level control or <code>null</code>
- */
-public Control getControl();
-/**
- * Returns this dialog page's description text.
- *
- * @return the description text for this dialog page, 
- *  or <code>null</code> if none
- */
-public String getDescription();
-/**
- * Returns the current error message for this dialog page.
- * May be <code>null</null> to indicate no error message.
- * <p>
- * An error message should describe some error state,
- * as opposed to a message which may simply provide instruction
- * or information to the user.
- * </p>
- * 
- * @return the error message, or <code>null</code> if none
- */
-public String getErrorMessage();
-/**
- * Returns this dialog page's image.
- *
- * @return the image for this dialog page, or <code>null</code>
- *  if none
- */
-public Image getImage();
-/**
- * Returns the current message for this wizard page.
- * <p>
- * A message provides instruction or information to the 
- * user, as opposed to an error message which should 
- * describe some error state.
- * </p>
- * 
- * @return the message, or <code>null</code> if none
- */
-public String getMessage();
-/**
- * Returns this dialog page's title.
- *
- * @return the title of this dialog page, 
- *  or <code>null</code> if none
- */
-public String getTitle();
-/**
- * Notifies that help has been requested for this dialog page.
- */
-public void performHelp();
-/**
- * Sets this dialog page's description text.
- * 
- * @param description the description text for this dialog
- *  page, or <code>null</code> if none
- */
-public void setDescription(String description);
-/**
- * Sets this dialog page's image.
- *
- * @param image the image for this dialog page, 
- *  or <code>null</code> if none
- */
-public void setImageDescriptor(ImageDescriptor image);
-/**
- * Set this dialog page's title.
- *
- * @param title the title of this dialog page, 
- *  or <code>null</code> if none
- */
-public void setTitle(String title);
-/**
- * Sets the visibility of this dialog page.
- *
- * @param visible <code>true</code> to make this page visible,
- *  and <code>false</code> to hide it
- */
-public void setVisible(boolean visible);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/IDialogSettings.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/IDialogSettings.java
deleted file mode 100644
index 37cfd41..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/IDialogSettings.java
+++ /dev/null
@@ -1,240 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.dialogs;
-import java.io.*;
-/**
- * An interface to a storage mechanism for making dialog settings persistent.
- * The store manages a collection of key/value pairs. The keys must be strings
- * and the values can be either, strings or array of strings. Convenience API to
- * convert primitive types to strings is provided.
- */
-public interface IDialogSettings {
-	/**
-	 * Create a new section in the receiver and return it.
-	 * 
-	 * @param name
-	 *            the name of the new section
-	 * @return the new section
-	 */
-	public IDialogSettings addNewSection(String name);
-	/**
-	 * Add a section in the receiver.
-	 * 
-	 * @param section
-	 *            the section to be added
-	 */
-	public void addSection(IDialogSettings section);
-	/**
-	 * Returns the value of the given key in this dialog settings.
-	 * 
-	 * @param key
-	 *            the key
-	 * @return the value, or <code>null</code> if none
-	 */
-	public String get(String key);
-	/**
-	 * Returns the value, an array of strings, of the given key in this dialog
-	 * settings.
-	 * 
-	 * @param key
-	 *            the key
-	 * @return the array of string, or <code>null</code> if none
-	 */
-	public String[] getArray(String key);
-	/**
-	 * Convenience API. Convert the value of the given key in this dialog
-	 * settings to a boolean and return it.
-	 * 
-	 * @param key
-	 *            the key
-	 * @return the boolean value, or <code>false</code> if none
-	 */
-	public boolean getBoolean(String key);
-	/**
-	 * Convenience API. Convert the value of the given key in this dialog
-	 * settings to a double and return it.
-	 * 
-	 * @param key
-	 *            the key
-	 * @return the value coverted to double, or throws
-	 *         <code>NumberFormatException</code> if none
-	 * 
-	 * @exception NumberFormatException
-	 *                if the string value does not contain a parsable number.
-	 * @see java.lang.Double#valueOf(java.lang.String)
-	 */
-	public double getDouble(String key) throws NumberFormatException;
-	/**
-	 * Convenience API. Convert the value of the given key in this dialog
-	 * settings to a float and return it.
-	 * 
-	 * @param key
-	 *            the key
-	 * @return the value coverted to float, or throws
-	 *         <code>NumberFormatException</code> if none
-	 * 
-	 * @exception NumberFormatException
-	 *                if the string value does not contain a parsable number.
-	 * @see java.lang.Float#valueOf(java.lang.String)
-	 */
-	public float getFloat(String key) throws NumberFormatException;
-	/**
-	 * Convenience API. Convert the value of the given key in this dialog
-	 * settings to a int and return it.
-	 * 
-	 * @param key
-	 *            the key
-	 * @return the value coverted to int, or throws
-	 *         <code>NumberFormatException</code> if none
-	 * 
-	 * @exception NumberFormatException
-	 *                if the string value does not contain a parsable number.
-	 * @see java.lang.Integer#valueOf(java.lang.String)
-	 */
-	public int getInt(String key) throws NumberFormatException;
-	/**
-	 * Convenience API. Convert the value of the given key in this dialog
-	 * settings to a long and return it.
-	 * 
-	 * @param key
-	 *            the key
-	 * @return the value coverted to long, or throws
-	 *         <code>NumberFormatException</code> if none
-	 * 
-	 * @exception NumberFormatException
-	 *                if the string value does not contain a parsable number.
-	 * @see java.lang.Long#valueOf(java.lang.String)
-	 */
-	public long getLong(String key) throws NumberFormatException;
-	/**
-	 * Returns the IDialogSettings name.
-	 * 
-	 * @return the name
-	 */
-	public String getName();
-	/**
-	 * Returns the section with the given name in this dialog settings.
-	 * 
-	 * @param sectionName
-	 *            the key
-	 * @return IDialogSettings (the section), or <code>null</code> if none
-	 */
-	public IDialogSettings getSection(String sectionName);
-	/**
-	 * Returns all the sections in this dialog settings.
-	 * 
-	 * @return the section, or <code>null</code> if none
-	 */
-	public IDialogSettings[] getSections();
-	/**
-	 * Load a dialog settings from a stream and fill the receiver with its
-	 * content.
-	 * 
-	 * @param reader
-	 *            a Reader specifying the stream where the settings are read
-	 *            from.
-	 * @throws IOException
-	 */
-	public void load(Reader reader) throws IOException;
-	/**
-	 * Load a dialog settings from a file and fill the receiver with its
-	 * content.
-	 * 
-	 * @param fileName
-	 *            the name of the file the settings are read from.
-	 * @throws IOException
-	 */
-	public void load(String fileName) throws IOException;
-	/**
-	 * Adds the pair <code>key/value</code> to this dialog settings.
-	 * 
-	 * @param key
-	 *            the key.
-	 * @param value
-	 *            the value to be associated with the <code>key</code>
-	 */
-	public void put(String key, String[] value);
-	/**
-	 * Convenience API. Converts the double <code>value</code> to a string and
-	 * adds the pair <code>key/value</code> to this dialog settings.
-	 * 
-	 * @param key
-	 *            the key.
-	 * @param value
-	 *            the value to be associated with the <code>key</code>
-	 */
-	public void put(String key, double value);
-	/**
-	 * Convenience API. Converts the float <code>value</code> to a string and
-	 * adds the pair <code>key/value</code> to this dialog settings.
-	 * 
-	 * @param key
-	 *            the key.
-	 * @param value
-	 *            the value to be associated with the <code>key</code>
-	 */
-	public void put(String key, float value);
-	/**
-	 * Convenience API. Converts the int <code>value</code> to a string and
-	 * adds the pair <code>key/value</code> to this dialog settings.
-	 * 
-	 * @param key
-	 *            the key.
-	 * @param value
-	 *            the value to be associated with the <code>key</code>
-	 */
-	public void put(String key, int value);
-	/**
-	 * Convenience API. Converts the long <code>value</code> to a string and
-	 * adds the pair <code>key/value</code> to this dialog settings.
-	 * 
-	 * @param key
-	 *            the key.
-	 * @param value
-	 *            the value to be associated with the <code>key</code>
-	 */
-	public void put(String key, long value);
-	/**
-	 * Adds the pair <code>key/value</code> to this dialog settings.
-	 * 
-	 * @param key
-	 *            the key.
-	 * @param value
-	 *            the value to be associated with the <code>key</code>
-	 */
-	public void put(String key, String value);
-	/**
-	 * Convenience API. Converts the boolean <code>value</code> to a string
-	 * and adds the pair <code>key/value</code> to this dialog settings.
-	 * 
-	 * @param key
-	 *            the key.
-	 * @param value
-	 *            the value to be associated with the <code>key</code>
-	 */
-	public void put(String key, boolean value);
-	/**
-	 * Save a dialog settings to a stream
-	 * 
-	 * @param writer
-	 *            a Writer specifying the stream the settings are written in.
-	 * @throws IOException
-	 */
-	public void save(Writer writer) throws IOException;
-	/**
-	 * Save a dialog settings to a file.
-	 * 
-	 * @param fileName
-	 *            the name of the file the settings are written in.
-	 * @throws IOException
-	 */
-	public void save(String fileName) throws IOException;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/IInputValidator.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/IInputValidator.java
deleted file mode 100644
index 48e57b0..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/IInputValidator.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.dialogs;
-
- 
-/**
- * The IInputValidator is the interface for simple validators. 
- * @see org.eclipse.jface.dialogs.InputDialog
- */
-public interface IInputValidator {
-/**
- * Validates the given string.  Returns an error message to display
- * if the new text is invalid.  Returns <code>null</code> if there
- * is no error.  Note that the empty string is not treated the same
- * as <code>null</code>; it indicates an error state but with no message
- * to display.
- * 
- * @param newText the text to check for validity
- * 
- * @return an error message or <code>null</code> if no error
- */
-public String isValid(String newText);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/IMessageProvider.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/IMessageProvider.java
deleted file mode 100644
index 63d10df..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/IMessageProvider.java
+++ /dev/null
@@ -1,59 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.dialogs;
-/**
- * Minimal interface to a message provider. Used for dialog pages which can
- * provide a message with an icon.
- * 
- * @since 2.0
- */
-public interface IMessageProvider {
-	/**
-	 * Constant for a regular message (value 0).
-	 * <p>
-	 * Typically this indicates that the message should be shown without an
-	 * icon.
-	 * </p>
-	 */
-	public final static int NONE = 0;
-	/**
-	 * Constant for an info message (value 1).
-	 */
-	public final static int INFORMATION = 1;
-	/**
-	 * Constant for a warning message (value 2).
-	 */
-	public final static int WARNING = 2;
-	/**
-	 * Constant for an error message (value 3).
-	 */
-	public final static int ERROR = 3;
-	/**
-	 * Returns the current message for this message provider.
-	 * <p>
-	 * A message provides instruction or information to the user.
-	 * </p>
-	 * 
-	 * @return the message, or <code>null</code> if none
-	 */
-	public String getMessage();
-	/**
-	 * Returns a value indicating if the message is a an information message, a
-	 * warning message, or an error message.
-	 * <p>
-	 * Returns one of <code>NONE</code>,<code>INFORMATION</code>,
-	 * <code>WARNING</code>, or <code>ERROR</code>.
-	 * </p>
-	 * 
-	 * @return the message type
-	 */
-	public int getMessageType();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/IconAndMessageDialog.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/IconAndMessageDialog.java
deleted file mode 100644
index a69493c..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/IconAndMessageDialog.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.dialogs;
-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.*;
-/**
- * The IconAndMessageDialog is the abstract superclass of dialogs that have an
- * icon and a message as the first two widgets. In this dialog the icon and
- * message are direct children of the shell in order that they can be read by
- * accessibility tools more easily.
- */
-public abstract class IconAndMessageDialog extends Dialog {
-	/**
-	 * Message (a localized string).
-	 */
-	protected String message;
-	/**
-	 * Message label is the label the message is shown on.
-	 */
-	protected Label messageLabel;
-	/**
-	 * Return the label for the image.
-	 */
-	protected Label imageLabel;
-	/**
-	 * Constructor for IconAndMessageDialog.
-	 * 
-	 * @param parentShell
-	 *            the parent shell, or <code>null</code> to create a top-level
-	 *            shell
-	 */
-	public IconAndMessageDialog(Shell parentShell) {
-		super(parentShell);
-	}
-	/**
-	 * Create the area the message will be shown in.
-	 * @param composite The composite to parent from.
-	 * @return Control
-	 */
-	protected Control createMessageArea(Composite composite) {
-		// create composite
-		// create image
-		Image image = getImage();
-		if (image != null) {
-			imageLabel = new Label(composite, SWT.NULL);
-			image.setBackground(imageLabel.getBackground());
-			imageLabel.setImage(image);
-			imageLabel.setLayoutData(new GridData(
-					GridData.HORIZONTAL_ALIGN_CENTER
-							| GridData.VERTICAL_ALIGN_BEGINNING));
-		}
-		// create message
-		if (message != null) {
-			messageLabel = new Label(composite, getMessageLabelStyle());
-			messageLabel.setText(message);
-			GridData data = new GridData(GridData.GRAB_HORIZONTAL
-					| GridData.HORIZONTAL_ALIGN_FILL
-					| GridData.VERTICAL_ALIGN_BEGINNING);
-			data.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.MINIMUM_MESSAGE_AREA_WIDTH);
-			messageLabel.setLayoutData(data);
-		}
-		return composite;
-	}
-	/**
-	 * Returns the style for the message label.
-	 * 
-	 * @return the style for the message label
-	 * 
-	 * @since 3.0
-	 */
-	protected int getMessageLabelStyle() {
-		return SWT.WRAP;
-	}
-	/*
-	 * @see Dialog.createButtonBar()
-	 */
-	protected Control createButtonBar(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		// create a layout with spacing and margins appropriate for the font
-		// size.
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 0; // this is incremented by createButton
-		layout.makeColumnsEqualWidth = true;
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-		composite.setLayout(layout);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_END
-				| GridData.VERTICAL_ALIGN_CENTER);
-		data.horizontalSpan = 2;
-		composite.setLayoutData(data);
-		composite.setFont(parent.getFont());
-		// Add the buttons to the button bar.
-		createButtonsForButtonBar(composite);
-		return composite;
-	}
-	/**
-	 * Returns the image to display beside the message in this dialog.
-	 * <p>
-	 * Subclasses may override.
-	 * </p>
-	 * 
-	 * @return the image to display beside the message
-	 * @since 2.0
-	 */
-	protected abstract Image getImage();
-	/*
-	 * @see Dialog.createContents(Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		// initialize the dialog units
-		initializeDialogUnits(parent);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN) * 3 / 2;
-		layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING) * 2;
-		layout.makeColumnsEqualWidth = false;
-		parent.setLayout(layout);
-		parent.setLayoutData(new GridData(GridData.FILL_BOTH));
-		createDialogAndButtonArea(parent);
-		return parent;
-	}
-	/**
-	 * Create the dialog area and the button bar for the receiver.
-	 * 
-	 * @param parent
-	 */
-	protected void createDialogAndButtonArea(Composite parent) {
-		// create the dialog area and button bar
-		dialogArea = createDialogArea(parent);
-		buttonBar = createButtonBar(parent);
-		//Apply to the parent so that the message gets it too.
-		applyDialogFont(parent);
-	}
-	
-	/**
-	 * Return the <code>Image</code> to be used when 
-	 * displaying an error. 
-	 * 
-	 * @return image  the error image
-	 */
-	public Image getErrorImage() {
-		return getSWTImage(SWT.ICON_ERROR);
-	}
-
-	/**
-	 * Return the <code>Image</code> to be used when 
-	 * displaying a warning. 
-	 * 
-	 * @return image  the warning image
-	 */
-	public Image getWarningImage() {
-		return getSWTImage(SWT.ICON_WARNING);
-	}
-
-	/**
-	 * Return the <code>Image</code> to be used when 
-	 * displaying information. 
-	 * 
-	 * @return image  the information image
-	 */
-	public Image getInfoImage() {
-		return getSWTImage(SWT.ICON_INFORMATION);
-	}
-
-	/**
-	 * Return the <code>Image</code> to be used when 
-	 * displaying a question. 
-	 * 
-	 * @return image  the question image
-	 */
-	public Image getQuestionImage() {
-		return getSWTImage(SWT.ICON_QUESTION);
-	}
-
-	
-	/**
-	 * Get an <code>Image</code> from the provide SWT image
-	 * constant.
-	 * 
-	 * @param imageID the SWT image constant
-	 * @return image  the image
-	 */
-	private Image getSWTImage(final int imageID) {
-		Shell shell = getShell();
-		final Display display;
-		if (shell == null){
-			shell = getParentShell();
-		}
-		if (shell == null) {
-			display = Display.getCurrent();
-		} else {
-			display = shell.getDisplay();
-		}
-	
-		final Image[] image = new Image[1];
-		display.syncExec(new Runnable() {
-				public void run() {
-					image[0] = display.getSystemImage(imageID);
-				}
-		});
-		
-		return image[0];
-				
-	}
-	
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/InputDialog.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/InputDialog.java
deleted file mode 100644
index f176b78..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/InputDialog.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 200$ 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.dialogs;
-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.widgets.*;
-/**
- * A simple input dialog for soliciting an input string from the user.
- * <p>
- * This concrete dialog class can be instantiated as is, or further subclassed as
- * required.
- * </p>
- */
-public class InputDialog extends Dialog {
-	/**
-	 * The title of the dialog.
-	 */
-	private String title;
-	/**
-	 * The message to display, or <code>null</code> if none.
-	 */
-	private String message;
-	/**
-	 * The input value; the empty string by default.
-	 */
-	private String value = "";//$NON-NLS-1$
-	/**
-	 * The input validator, or <code>null</code> if none.
-	 */
-	private IInputValidator validator;
-	/**
-	 * Ok button widget.
-	 */
-	private Button okButton;
-	/**
-	 * Input text widget.
-	 */
-	private Text text;
-	/**
-	 * Error message label widget.
-	 */
-	private Text errorMessageText;
-	/**
-	 * Creates an input dialog with OK and Cancel buttons. Note that the dialog
-	 * will have no visual representation (no widgets) until it is told to open.
-	 * <p>
-	 * Note that the <code>open</code> method blocks for input dialogs.
-	 * </p>
-	 * 
-	 * @param parentShell
-	 *            the parent shell
-	 * @param dialogTitle
-	 *            the dialog title, or <code>null</code> if none
-	 * @param dialogMessage
-	 *            the dialog message, or <code>null</code> if none
-	 * @param initialValue
-	 *            the initial input value, or <code>null</code> if none
-	 *            (equivalent to the empty string)
-	 * @param validator
-	 *            an input validator, or <code>null</code> if none
-	 */
-	public InputDialog(Shell parentShell, String dialogTitle,
-			String dialogMessage, String initialValue, IInputValidator validator) {
-		super(parentShell);
-		this.title = dialogTitle;
-		message = dialogMessage;
-		if (initialValue == null)
-			value = "";//$NON-NLS-1$
-		else
-			value = initialValue;
-		this.validator = validator;
-	}
-	/*
-	 * (non-Javadoc) Method declared on Dialog.
-	 */
-	protected void buttonPressed(int buttonId) {
-		if (buttonId == IDialogConstants.OK_ID) {
-			value = text.getText();
-		} else {
-			value = null;
-		}
-		super.buttonPressed(buttonId);
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell)
-	 */
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		if (title != null)
-			shell.setText(title);
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.dialogs.Dialog#createButtonsForButtonBar(org.eclipse.swt.widgets.Composite)
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		// create OK and Cancel buttons by default
-		okButton = createButton(parent, IDialogConstants.OK_ID,
-				IDialogConstants.OK_LABEL, true);
-		createButton(parent, IDialogConstants.CANCEL_ID,
-				IDialogConstants.CANCEL_LABEL, false);
-		//do this here because setting the text will set enablement on the ok
-		// button
-		text.setFocus();
-		if (value != null) {
-			text.setText(value);
-			text.selectAll();
-		}
-	}
-	/*
-	 * (non-Javadoc) Method declared on Dialog.
-	 */
-	protected Control createDialogArea(Composite parent) {
-		// create composite
-		Composite composite = (Composite) super.createDialogArea(parent);
-		// create message
-		if (message != null) {
-			Label label = new Label(composite, SWT.WRAP);
-			label.setText(message);
-			GridData data = new GridData(GridData.GRAB_HORIZONTAL
-					| GridData.GRAB_VERTICAL | GridData.HORIZONTAL_ALIGN_FILL
-					| GridData.VERTICAL_ALIGN_CENTER);
-			data.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.MINIMUM_MESSAGE_AREA_WIDTH);
-			label.setLayoutData(data);
-			label.setFont(parent.getFont());
-		}
-		text = new Text(composite, SWT.SINGLE | SWT.BORDER);
-		text.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL
-				| GridData.HORIZONTAL_ALIGN_FILL));
-		text.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				validateInput();
-			}
-		});
-		errorMessageText = new Text(composite, SWT.READ_ONLY);
-		errorMessageText.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL
-				| GridData.HORIZONTAL_ALIGN_FILL));
-		errorMessageText.setBackground(errorMessageText.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
-
-		applyDialogFont(composite);
-		return composite;
-	}
-	/**
-	 * Returns the error message label.
-	 * 
-	 * @return the error message label
-	 * @deprecated use setErrorMessage(String) instead
-	 */
-	protected Label getErrorMessageLabel() {
-		return null;
-	}
-	/**
-	 * Returns the ok button.
-	 * 
-	 * @return the ok button
-	 */
-	protected Button getOkButton() {
-		return okButton;
-	}
-	/**
-	 * Returns the text area.
-	 * 
-	 * @return the text area
-	 */
-	protected Text getText() {
-		return text;
-	}
-	/**
-	 * Returns the validator.
-	 * 
-	 * @return the validator
-	 */
-	protected IInputValidator getValidator() {
-		return validator;
-	}
-	/**
-	 * Returns the string typed into this input dialog.
-	 * 
-	 * @return the input string
-	 */
-	public String getValue() {
-		return value;
-	}
-	/**
-	 * Validates the input.
-	 * <p>
-	 * The default implementation of this framework method delegates the request
-	 * to the supplied input validator object; if it finds the input invalid,
-	 * the error message is displayed in the dialog's message line. This hook
-	 * method is called whenever the text changes in the input field.
-	 * </p>
-	 */
-	protected void validateInput() {
-		String errorMessage = null;
-		if (validator != null) {
-			errorMessage = validator.isValid(text.getText());
-		}
-		// Bug 16256: important not to treat "" (blank error) the same as null
-		// (no error)
-		setErrorMessage(errorMessage);
-	}
-	/**
-	 * Sets or clears the error message.
-	 * If not <code>null</code>, the OK button is disabled.
-	 * 
-	 * @param errorMessage
-	 *            the error message, or <code>null</code> to clear
-	 * @since 3.0
-	 */
-	public void setErrorMessage(String errorMessage) {
-		errorMessageText.setText(errorMessage == null ? "" : errorMessage); //$NON-NLS-1$
-		okButton.setEnabled(errorMessage == null);
-		errorMessageText.getParent().update();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/MessageDialog.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/MessageDialog.java
deleted file mode 100644
index 2a53fcc..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/MessageDialog.java
+++ /dev/null
@@ -1,441 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.dialogs;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-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.Label;
-import org.eclipse.swt.widgets.Shell;
-/**
- * A dialog for showing messages to the user.
- * <p>
- * This concrete dialog class can be instantiated as is, or further subclassed
- * as required.
- * </p>
- */
-public class MessageDialog extends IconAndMessageDialog {
-	/**
-	 * Constant for a dialog with no image (value 0).
-	 */
-	public final static int NONE = 0;
-	/**
-	 * Constant for a dialog with an error image (value 1).
-	 */
-	public final static int ERROR = 1;
-	/**
-	 * Constant for a dialog with an info image (value 2).
-	 */
-	public final static int INFORMATION = 2;
-	/**
-	 * Constant for a dialog with a question image (value 3).
-	 */
-	public final static int QUESTION = 3;
-	/**
-	 * Constant for a dialog with a warning image (value 4).
-	 */
-	public final static int WARNING = 4;
-	/**
-	 * Labels for buttons in the button bar (localized strings).
-	 */
-	private String[] buttonLabels;
-	/**
-	 * The buttons. Parallels <code>buttonLabels</code>.
-	 */
-	private Button[] buttons;
-	/**
-	 * Index into <code>buttonLabels</code> of the default button.
-	 */
-	private int defaultButtonIndex;
-	/**
-	 * Dialog title (a localized string).
-	 */
-	private String title;
-	/**
-	 * Dialog title image.
-	 */
-	private Image titleImage;
-	/**
-	 * Image, or <code>null</code> if none.
-	 */
-	private Image image = null;
-	/**
-	 * The custom dialog area.
-	 */
-	private Control customArea;
-	/**
-	 * Create a message dialog. Note that the dialog will have no visual
-	 * representation (no widgets) until it is told to open.
-	 * <p>
-	 * The labels of the buttons to appear in the button bar are supplied in
-	 * this constructor as an array. The <code>open</code> method will return
-	 * the index of the label in this array corresponding to the button that was
-	 * pressed to close the dialog. If the dialog was dismissed without pressing
-	 * a button (ESC, etc.) then -1 is returned. Note that the <code>open</code>
-	 * method blocks.
-	 * </p>
-	 * 
-	 * @param parentShell
-	 *            the parent shell
-	 * @param dialogTitle
-	 *            the dialog title, or <code>null</code> if none
-	 * @param dialogTitleImage
-	 *            the dialog title image, or <code>null</code> if none
-	 * @param dialogMessage
-	 *            the dialog message
-	 * @param dialogImageType
-	 *            one of the following values:
-	 *            <ul>
-	 *            <li><code>MessageDialog.NONE</code> for a dialog with no
-	 *            image</li>
-	 *            <li><code>MessageDialog.ERROR</code> for a dialog with an
-	 *            error image</li>
-	 *            <li><code>MessageDialog.INFORMATION</code> for a dialog
-	 *            with an information image</li>
-	 *            <li><code>MessageDialog.QUESTION </code> for a dialog with a
-	 *            question image</li>
-	 *            <li><code>MessageDialog.WARNING</code> for a dialog with a
-	 *            warning image</li>
-	 *            </ul>
-	 * @param dialogButtonLabels
-	 *            an array of labels for the buttons in the button bar
-	 * @param defaultIndex
-	 *            the index in the button label array of the default button
-	 */
-	public MessageDialog(Shell parentShell, String dialogTitle,
-			Image dialogTitleImage, String dialogMessage, int dialogImageType,
-			String[] dialogButtonLabels, int defaultIndex) {
-		super(parentShell);
-		this.title = dialogTitle;
-		this.titleImage = dialogTitleImage;
-		this.message = dialogMessage;
-		
-		switch (dialogImageType) {
-			case ERROR : {
-				this.image = getErrorImage();
-				break;
-			}
-			case INFORMATION : {
-				this.image = getInfoImage();
-				break;
-			}
-			case QUESTION : {
-				this.image = getQuestionImage();
-				break;
-			}
-			case WARNING : {
-				this.image = getWarningImage();
-				break;
-			}
-		}
-		this.buttonLabels = dialogButtonLabels;
-		this.defaultButtonIndex = defaultIndex;
-	}
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#buttonPressed(int)
-	 */
-	protected void buttonPressed(int buttonId) {
-		setReturnCode(buttonId);
-		close();
-	}
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell)
-	 */
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		if (title != null)
-			shell.setText(title);
-		if (titleImage != null)
-			shell.setImage(titleImage);
-	}
-	/*
-	 * (non-Javadoc) Method declared on Dialog.
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		buttons = new Button[buttonLabels.length];
-		for (int i = 0; i < buttonLabels.length; i++) {
-			String label = buttonLabels[i];
-			Button button = createButton(parent, i, label,
-					defaultButtonIndex == i);
-			buttons[i] = button;
-		}
-	}
-	/**
-	 * Creates and returns the contents of an area of the dialog which appears
-	 * below the message and above the button bar.
-	 * <p>
-	 * The default implementation of this framework method returns
-	 * <code>null</code>. Subclasses may override.
-	 * </p>
-	 * 
-	 * @param parent
-	 *            parent composite to contain the custom area
-	 * @return the custom area control, or <code>null</code>
-	 */
-	protected Control createCustomArea(Composite parent) {
-		return null;
-	}
-	/**
-	 * This implementation of the <code>Dialog</code> framework method creates
-	 * and lays out a composite and calls <code>createMessageArea</code> and
-	 * <code>createCustomArea</code> to populate it. Subclasses should
-	 * override <code>createCustomArea</code> to add contents below the
-	 * message.
-	 */
-	protected Control createDialogArea(Composite parent) {
-		// create message area
-		createMessageArea(parent);
-		// create the top level composite for the dialog area
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		composite.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.horizontalSpan = 2;
-		composite.setLayoutData(data);
-		// allow subclasses to add custom controls
-		customArea = createCustomArea(composite);
-		//If it is null create a dummy label for spacing purposes
-		if (customArea == null)
-			customArea = new Label(composite, SWT.NULL);
-		return composite;
-	}
-	/**
-	 * Gets a button in this dialog's button bar.
-	 * 
-	 * @param index
-	 *            the index of the button in the dialog's button bar
-	 * @return a button in the dialog's button bar
-	 */
-	protected Button getButton(int index) {
-		return buttons[index];
-	}
-	/**
-	 * Returns the minimum message area width in pixels This determines the
-	 * minimum width of the dialog.
-	 * <p>
-	 * Subclasses may override.
-	 * </p>
-	 * 
-	 * @return the minimum message area width (in pixels)
-	 */
-	protected int getMinimumMessageWidth() {
-		return convertHorizontalDLUsToPixels(IDialogConstants.MINIMUM_MESSAGE_AREA_WIDTH);
-	}
-	/**
-	 * Handle the shell close. Set the return code to <code>SWT.DEFAULT</code>
-	 * as there has been no explicit close by the user.
-	 * 
-	 * @see org.eclipse.jface.window.Window#handleShellCloseEvent()
-	 */
-	protected void handleShellCloseEvent() {
-		//Sets a return code of SWT.DEFAULT since none of the dialog buttons
-		// were pressed to close the dialog.
-		super.handleShellCloseEvent();
-		setReturnCode(SWT.DEFAULT);
-	}
-	/**
-	 * Convenience method to open a simple confirm (OK/Cancel) 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 openConfirm(Shell parent, String title, String message) {
-		MessageDialog dialog = new MessageDialog(parent, title, null, // accept
-				// the
-				// default
-				// window
-				// icon
-				message, QUESTION, new String[]{IDialogConstants.OK_LABEL,
-						IDialogConstants.CANCEL_LABEL}, 0); // OK is the
-		// default
-		return dialog.open() == 0;
-	}
-	/**
-	 * Convenience method to open a standard error 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
-	 */
-	public static void openError(Shell parent, String title, String message) {
-		MessageDialog dialog = new MessageDialog(parent, title, null, // accept
-				// the
-				// default
-				// window
-				// icon
-				message, ERROR, new String[]{IDialogConstants.OK_LABEL}, 0); // ok
-		// is
-		// the
-		// default
-		dialog.open();
-		return;
-	}
-	/**
-	 * Convenience method to open a standard information 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
-	 */
-	public static void openInformation(Shell parent, String title,
-			String message) {
-		MessageDialog dialog = new MessageDialog(parent, title, null, // accept
-				// the
-				// default
-				// window
-				// icon
-				message, INFORMATION, new String[]{IDialogConstants.OK_LABEL},
-				0);
-		// ok is the default
-		dialog.open();
-		return;
-	}
-	/**
-	 * 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) {
-		MessageDialog dialog = new MessageDialog(parent, title, null, // accept
-				// the
-				// default
-				// window
-				// icon
-				message, QUESTION, new String[]{IDialogConstants.YES_LABEL,
-						IDialogConstants.NO_LABEL}, 0); // yes is the default
-		return dialog.open() == 0;
-	}
-	/**
-	 * Convenience method to open a standard warning 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
-	 */
-	public static void openWarning(Shell parent, String title, String message) {
-		MessageDialog dialog = new MessageDialog(parent, title, null, // accept
-				// the
-				// default
-				// window
-				// icon
-				message, WARNING, new String[]{IDialogConstants.OK_LABEL}, 0); // ok
-		// is
-		// the
-		// default
-		dialog.open();
-		return;
-	}
-	/*
-	 * @see org.eclipse.jface.dialogs.Dialog#createButton(org.eclipse.swt.widgets.Composite,
-	 *      int, java.lang.String, boolean)
-	 */
-	protected Button createButton(Composite parent, int id, String label,
-			boolean defaultButton) {
-		Button button = super.createButton(parent, id, label, defaultButton);
-		//Be sure to set the focus if the custom area cannot so as not
-		//to lose the defaultButton.
-		if (defaultButton && !customShouldTakeFocus())
-			button.setFocus();
-		return button;
-	}
-	/**
-	 * Return whether or not we should apply the workaround where we take focus
-	 * for the default button or if that should be determined by the dialog. By
-	 * default only return true if the custom area is a label or CLabel that
-	 * cannot take focus.
-	 * 
-	 * @return boolean
-	 */
-	protected boolean customShouldTakeFocus() {
-		if (customArea instanceof Label)
-			return false;
-		if (customArea instanceof CLabel)
-			return (customArea.getStyle() & SWT.NO_FOCUS) > 0;
-		return true;
-	}
-	/**
-	 * @see IconAndMessageDialog#getImage()
-	 */
-	public Image getImage() {
-		return image;
-	}
-	/**
-	 * An accessor for the labels to use on the buttons.
-	 * 
-	 * @return The button labels to used; never <code>null</code>.
-	 */
-	protected String[] getButtonLabels() {
-		return buttonLabels;
-	}
-	/**
-	 * An accessor for the index of the default button in the button array.
-	 * 
-	 * @return The default button index.
-	 */
-	protected int getDefaultButtonIndex() {
-		return defaultButtonIndex;
-	}
-	/**
-	 * A mutator for the array of buttons in the button bar.
-	 * 
-	 * @param buttons
-	 *            The buttons in the button bar; must not be <code>null</code>.
-	 */
-	protected void setButtons(Button[] buttons) {
-		if (buttons == null) {
-			throw new NullPointerException(
-					"The array of buttons cannot be null.");} //$NON-NLS-1$
-		this.buttons = buttons;
-	}
-	/**
-	 * A mutator for the button labels.
-	 * 
-	 * @param buttonLabels
-	 *            The button labels to use; must not be <code>null</code>.
-	 */
-	protected void setButtonLabels(String[] buttonLabels) {
-		if (buttonLabels == null) {
-			throw new NullPointerException(
-					"The array of button labels cannot be null.");} //$NON-NLS-1$
-		this.buttonLabels = buttonLabels;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/MessageDialogWithToggle.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/MessageDialogWithToggle.java
deleted file mode 100644
index 1957275..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/MessageDialogWithToggle.java
+++ /dev/null
@@ -1,649 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.dialogs;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.JFaceResources;
-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.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * <p>
- * A message dialog which also allows the user to adjust a toggle setting. If a
- * preference store is provided and the user selects the toggle, then the user's
- * answer (yes/ok or no) will be persisted in the store. If no store is
- * provided, then this information can be queried after the dialog closes.
- * </p>
- * <p>
- * This type of dialog should be used whenever you want to user to be able to
- * avoid being prompted in the future. It is <strong>strongly </strong>
- * recommended that a cancel option be provided, so that the user has the option
- * of making the decision at a later point in time. The semantic for a cancel
- * button should be to cancel the operation (if it has not yet started), or stop
- * the operation (if it has already started).
- * </p>
- * <p>
- * It is the responsibility of the developer to provide a mechanism for the user
- * to change this preference at some later point in time (e.g., through a
- * preference page).
- * </p>
- * 
- * @since 3.0
- */
-public class MessageDialogWithToggle extends MessageDialog {
-
-    /**
-     * The value of the preference when the user has asked that the answer to
-     * the question always be "okay" or "yes".
-     */
-    public static final String ALWAYS = "always"; //$NON-NLS-1$
-
-    /**
-     * The value of the preference when the user has asked that the answer to
-     * the question always be "no".
-     */
-    public static final String NEVER = "never"; //$NON-NLS-1$
-
-    /**
-     * The value of the preference when the user wishes to prompted for an
-     * answer every time the question is to be asked.
-     */
-    public static final String PROMPT = "prompt"; //$NON-NLS-1$
-
-    /**
-     * Convenience method to open a standard error 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
-     * @param toggleMessage
-     *            the message for the toggle control, or <code>null</code> for
-     *            the default message
-     * @param toggleState
-     *            the initial state for the toggle
-     * @param store
-     *            the IPreference store in which the user's preference should be
-     *            persisted; <code>null</code> if you don't want it persisted
-     *            automatically.
-     * @param key
-     *            the key to use when persisting the user's preference;
-     *            <code>null</code> if you don't want it persisted.
-     * @return the dialog, after being closed by the user, which the client can
-     *         only call <code>getReturnCode()</code> or
-     *         <code>getToggleState()</code>
-     */
-    public static MessageDialogWithToggle openError(Shell parent, String title,
-            String message, String toggleMessage, boolean toggleState,
-            IPreferenceStore store, String key) {
-        MessageDialogWithToggle dialog = new MessageDialogWithToggle(parent,
-                title, null, // accept the default window icon
-                message, ERROR, new String[] { IDialogConstants.OK_LABEL }, 0, // ok
-                // is
-                // the
-                // default
-                toggleMessage, toggleState);
-        dialog.prefStore = store;
-        dialog.prefKey = key;
-        dialog.open();
-        return dialog;
-    }
-
-    /**
-     * Convenience method to open a standard information 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
-     * @param toggleMessage
-     *            the message for the toggle control, or <code>null</code> for
-     *            the default message
-     * @param toggleState
-     *            the initial state for the toggle
-     * @param store
-     *            the IPreference store in which the user's preference should be
-     *            persisted; <code>null</code> if you don't want it persisted
-     *            automatically.
-     * @param key
-     *            the key to use when persisting the user's preference;
-     *            <code>null</code> if you don't want it persisted.
-     * 
-     * @return the dialog, after being closed by the user, which the client can
-     *         only call <code>getReturnCode()</code> or
-     *         <code>getToggleState()</code>
-     */
-    public static MessageDialogWithToggle openInformation(Shell parent,
-            String title, String message, String toggleMessage,
-            boolean toggleState, IPreferenceStore store, String key) {
-        MessageDialogWithToggle dialog = new MessageDialogWithToggle(parent,
-                title, null, // accept the default window icon
-                message, INFORMATION,
-                new String[] { IDialogConstants.OK_LABEL }, 0, // ok is the
-                // default
-                toggleMessage, toggleState);
-        dialog.prefStore = store;
-        dialog.prefKey = key;
-        dialog.open();
-        return dialog;
-    }
-
-    /**
-     * Convenience method to open a simple confirm (OK/Cancel) 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
-     * @param toggleMessage
-     *            the message for the toggle control, or <code>null</code> for
-     *            the default message
-     * @param toggleState
-     *            the initial state for the toggle
-     * @param store
-     *            the IPreference store in which the user's preference should be
-     *            persisted; <code>null</code> if you don't want it persisted
-     *            automatically.
-     * @param key
-     *            the key to use when persisting the user's preference;
-     *            <code>null</code> if you don't want it persisted.
-     * @return the dialog, after being closed by the user, which the client can
-     *         only call <code>getReturnCode()</code> or
-     *         <code>getToggleState()</code>
-     */
-    public static MessageDialogWithToggle openOkCancelConfirm(Shell parent,
-            String title, String message, String toggleMessage,
-            boolean toggleState, IPreferenceStore store, String key) {
-        MessageDialogWithToggle dialog = new MessageDialogWithToggle(parent,
-                title, null, // accept the default window icon
-                message, QUESTION, new String[] { IDialogConstants.OK_LABEL,
-                        IDialogConstants.CANCEL_LABEL }, 0, // OK is the default
-                toggleMessage, toggleState);
-        dialog.prefStore = store;
-        dialog.prefKey = key;
-        dialog.open();
-        return dialog;
-    }
-
-    /**
-     * Convenience method to open a standard warning 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
-     * @param toggleMessage
-     *            the message for the toggle control, or <code>null</code> for
-     *            the default message
-     * @param toggleState
-     *            the initial state for the toggle
-     * @param store
-     *            the IPreference store in which the user's preference should be
-     *            persisted; <code>null</code> if you don't want it persisted
-     *            automatically.
-     * @param key
-     *            the key to use when persisting the user's preference;
-     *            <code>null</code> if you don't want it persisted.
-     * @return the dialog, after being closed by the user, which the client can
-     *         only call <code>getReturnCode()</code> or
-     *         <code>getToggleState()</code>
-     */
-    public static MessageDialogWithToggle openWarning(Shell parent,
-            String title, String message, String toggleMessage,
-            boolean toggleState, IPreferenceStore store, String key) {
-        MessageDialogWithToggle dialog = new MessageDialogWithToggle(parent,
-                title, null, // accept the default window icon
-                message, WARNING, new String[] { IDialogConstants.OK_LABEL },
-                0, // ok is the default
-                toggleMessage, toggleState);
-        dialog.prefStore = store;
-        dialog.prefKey = key;
-        dialog.open();
-        return dialog;
-    }
-
-    /**
-     * Convenience method to open a simple question Yes/No/Cancel 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
-     * @param toggleMessage
-     *            the message for the toggle control, or <code>null</code> for
-     *            the default message
-     * @param toggleState
-     *            the initial state for the toggle
-     * @param store
-     *            the IPreference store in which the user's preference should be
-     *            persisted; <code>null</code> if you don't want it persisted
-     *            automatically.
-     * @param key
-     *            the key to use when persisting the user's preference;
-     *            <code>null</code> if you don't want it persisted.
-     * @return the dialog, after being closed by the user, which the client can
-     *         only call <code>getReturnCode()</code> or
-     *         <code>getToggleState()</code>
-     */
-    public static MessageDialogWithToggle openYesNoCancelQuestion(Shell parent,
-            String title, String message, String toggleMessage,
-            boolean toggleState, IPreferenceStore store, String key) {
-        MessageDialogWithToggle dialog = new MessageDialogWithToggle(parent,
-                title, null, // accept the default window icon
-                message, QUESTION, new String[] { IDialogConstants.YES_LABEL,
-                        IDialogConstants.NO_LABEL,
-                        IDialogConstants.CANCEL_LABEL }, 0, // YES is the
-                // default
-                toggleMessage, toggleState);
-        dialog.prefStore = store;
-        dialog.prefKey = key;
-        dialog.open();
-        return dialog;
-    }
-
-    /**
-     * 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
-     * @param toggleMessage
-     *            the message for the toggle control, or <code>null</code> for
-     *            the default message
-     * @param toggleState
-     *            the initial state for the toggle
-     * @param store
-     *            the IPreference store in which the user's preference should be
-     *            persisted; <code>null</code> if you don't want it persisted
-     *            automatically.
-     * @param key
-     *            the key to use when persisting the user's preference;
-     *            <code>null</code> if you don't want it persisted.
-     * 
-     * @return the dialog, after being closed by the user, which the client can
-     *         only call <code>getReturnCode()</code> or
-     *         <code>getToggleState()</code>
-     */
-    public static MessageDialogWithToggle openYesNoQuestion(Shell parent,
-            String title, String message, String toggleMessage,
-            boolean toggleState, IPreferenceStore store, String key) {
-        MessageDialogWithToggle dialog = new MessageDialogWithToggle(parent,
-                title, null, // accept the default window icon
-                message, QUESTION, new String[] { IDialogConstants.YES_LABEL,
-                        IDialogConstants.NO_LABEL }, 0, // yes is the default
-                toggleMessage, toggleState);
-        dialog.prefStore = store;
-        dialog.prefKey = key;
-        dialog.open();
-        return dialog;
-    }
-
-    /**
-     * The key at which the toggle state should be stored within the
-     * preferences. This value may be <code>null</code>, which indicates that
-     * no preference should be updated automatically. It is then the
-     * responsibility of the user of this API to use the information from the
-     * toggle. Note: a <code>prefStore</code> is also needed.
-     */
-    private String prefKey = null;
-
-    /**
-     * The preference store which will be affected by the toggle button. This
-     * value may be <code>null</code>, which indicates that no preference
-     * should be updated automatically. It is then the responsibility of the
-     * user of this API to use the information from the toggle. Note: a
-     * <code>prefKey</code> is also needed.
-     */
-    private IPreferenceStore prefStore = null;
-
-    /**
-     * The toggle button (widget). This value is <code>null</code> until the
-     * dialog is created.
-     */
-    private Button toggleButton = null;
-
-    /**
-     * The message displayed to the user, with the toggle button. This is the
-     * text besides the toggle. If it is <code>null</code>, this means that
-     * the default text for the toggle should be used.
-     */
-    private String toggleMessage;
-
-    /**
-     * The initial selected state of the toggle.
-     */
-    private boolean toggleState;
-
-    /**
-     * Creates a message dialog with a toggle. See the superclass constructor
-     * for info on the other parameters.
-     * 
-     * @param parentShell
-     *            the parent shell
-     * @param dialogTitle
-     *            the dialog title, or <code>null</code> if none
-     * @param image
-     *            the dialog title image, or <code>null</code> if none
-     * @param message
-     *            the dialog message
-     * @param dialogImageType
-     *            one of the following values:
-     *            <ul>
-     *            <li><code>MessageDialog.NONE</code> for a dialog with no
-     *            image</li>
-     *            <li><code>MessageDialog.ERROR</code> for a dialog with an
-     *            error image</li>
-     *            <li><code>MessageDialog.INFORMATION</code> for a dialog
-     *            with an information image</li>
-     *            <li><code>MessageDialog.QUESTION </code> for a dialog with a
-     *            question image</li>
-     *            <li><code>MessageDialog.WARNING</code> for a dialog with a
-     *            warning image</li>
-     *            </ul>
-     * @param dialogButtonLabels
-     *            an array of labels for the buttons in the button bar
-     * @param defaultIndex
-     *            the index in the button label array of the default button
-     * @param toggleMessage
-     *            the message for the toggle control, or <code>null</code> for
-     *            the default message
-     * @param toggleState
-     *            the initial state for the toggle
-     *  
-     */
-    public MessageDialogWithToggle(Shell parentShell, String dialogTitle,
-            Image image, String message, int dialogImageType,
-            String[] dialogButtonLabels, int defaultIndex,
-            String toggleMessage, boolean toggleState) {
-        super(parentShell, dialogTitle, image, message, dialogImageType,
-                dialogButtonLabels, defaultIndex);
-        this.toggleMessage = toggleMessage;
-        this.toggleState = toggleState;
-        setButtonLabels(dialogButtonLabels);
-    }
-
-    /**
-     * @see org.eclipse.jface.dialogs.Dialog#buttonPressed(int)
-     */
-    protected void buttonPressed(int buttonId) {
-        super.buttonPressed(buttonId);
-
-        if (buttonId != IDialogConstants.CANCEL_ID && toggleState
-                && prefStore != null && prefKey != null) {
-        		switch (buttonId) {
-        			case IDialogConstants.YES_ID:
-        			case IDialogConstants.YES_TO_ALL_ID:
-        			case IDialogConstants.PROCEED_ID:
-        			case IDialogConstants.OK_ID:
-        				prefStore.setValue(prefKey, ALWAYS);
-        				break;
-        			case IDialogConstants.NO_ID:
-        			case IDialogConstants.NO_TO_ALL_ID:
-        				prefStore.setValue(prefKey, NEVER);
-        				break;
-        		}
-        }
-    }
-
-    /**
-     * @see Dialog#createButtonBar(Composite)
-     */
-    protected void createButtonsForButtonBar(Composite parent) {
-        final String[] buttonLabels = getButtonLabels();
-        final Button[] buttons = new Button[buttonLabels.length];
-        final int defaultButtonIndex = getDefaultButtonIndex();
-        
-        for (int i = 0; i < buttonLabels.length; i++) {
-            int id = i;
-            String label = buttonLabels[i];
-            if (IDialogConstants.OK_LABEL.equals(label)) {
-                id = IDialogConstants.OK_ID;
-            } else if (IDialogConstants.YES_LABEL.equals(label)) {
-                id = IDialogConstants.YES_ID;
-            } else if (IDialogConstants.NO_LABEL.equals(label)) {
-                id = IDialogConstants.NO_ID;
-            } else if (IDialogConstants.CANCEL_LABEL.equals(label)) {
-                id = IDialogConstants.CANCEL_ID;
-            } else if (IDialogConstants.YES_TO_ALL_LABEL.equals(label)) {
-                id = IDialogConstants.YES_TO_ALL_ID;
-            } else if (IDialogConstants.SKIP_LABEL.equals(label)) {
-                id = IDialogConstants.SKIP_ID;
-            } else if (IDialogConstants.STOP_LABEL.equals(label)) {
-                id = IDialogConstants.STOP_ID;
-            } else if (IDialogConstants.ABORT_LABEL.equals(label)) {
-                id = IDialogConstants.ABORT_ID;
-            } else if (IDialogConstants.RETRY_LABEL.equals(label)) {
-                id = IDialogConstants.RETRY_ID;
-            } else if (IDialogConstants.IGNORE_LABEL.equals(label)) {
-                id = IDialogConstants.IGNORE_ID;
-            } else if (IDialogConstants.PROCEED_LABEL.equals(label)) {
-                id = IDialogConstants.PROCEED_ID;
-            } else if (IDialogConstants.OPEN_LABEL.equals(label)) {
-                id = IDialogConstants.OPEN_ID;
-            } else if (IDialogConstants.CLOSE_LABEL.equals(label)) {
-                id = IDialogConstants.CLOSE_ID;
-            } else if (IDialogConstants.BACK_LABEL.equals(label)) {
-                id = IDialogConstants.BACK_ID;
-            } else if (IDialogConstants.NEXT_LABEL.equals(label)) {
-                id = IDialogConstants.NEXT_ID;
-            } else if (IDialogConstants.FINISH_LABEL.equals(label)) {
-                id = IDialogConstants.FINISH_ID;
-            } else if (IDialogConstants.HELP_LABEL.equals(label)) {
-                id = IDialogConstants.HELP_ID;
-            } else if (IDialogConstants.NO_TO_ALL_LABEL.equals(label)) {
-                id = IDialogConstants.NO_TO_ALL_ID;
-            } 
-            
-//          No XXX_LABEL in IDialogConstants for these. Unlikely
-//            they would be used in a message dialog though.
-//        	public int DETAILS_ID = 13;
-//        	public int SELECT_ALL_ID = 18;
-//        	public int DESELECT_ALL_ID = 19;
-//        	public int SELECT_TYPES_ID = 20;
-
-            Button button = createButton(parent, id, label,
-                    defaultButtonIndex == i);
-            buttons[i] = button;
-        }
-        
-        setButtons(buttons);
-    }
-
-    /**
-     * @see Dialog#createDialogArea(Composite)
-     */
-    protected Control createDialogArea(Composite parent) {
-        Composite dialogAreaComposite = (Composite) super
-                .createDialogArea(parent);
-        setToggleButton(createToggleButton(dialogAreaComposite));
-        return dialogAreaComposite;
-    }
-
-    /**
-     * Creates a toggle button without any text or state.  The text and state
-     * will be created by <code>createDialogArea</code>. 
-     * 
-     * @param parent
-     *            The composite in which the toggle button should be placed;
-     *            must not be <code>null</code>.
-     * @return The added toggle button; never <code>null</code>.
-     */
-    protected Button createToggleButton(Composite parent) {
-        final Button button = new Button(parent, SWT.CHECK | SWT.LEFT);
-
-        GridData data = new GridData(SWT.NONE);
-        data.horizontalSpan = 2;
-        data.horizontalAlignment = GridData.CENTER;
-        button.setLayoutData(data);
-        button.setFont(parent.getFont());
-
-        button.addSelectionListener(new SelectionAdapter() {
-
-            public void widgetSelected(SelectionEvent e) {
-                toggleState = button.getSelection();
-            }
-
-        });
-        
-        return button;
-    }
-
-    /**
-     * Returns the toggle button.
-     * 
-     * @return the toggle button
-     */
-    protected Button getToggleButton() {
-        return toggleButton;
-    }
-
-    /**
-     * An accessor for the current preference store for this dialog.
-     * 
-     * @return The preference store; this value may be <code>null</code> if no
-     *         preference is being used.
-     */
-    public IPreferenceStore getPrefStore() {
-        return prefStore;
-    }
-
-    /**
-     * An accessor for the current key of the toggle preference.
-     * 
-     * @return The preference key; this value may be <code>null</code> if no
-     *         preference is being used.
-     */
-    public String getPrefKey() {
-        return prefKey;
-    }
-
-    /**
-     * Returns the toggle state. This can be called even after the dialog is
-     * closed.
-     * 
-     * @return <code>true</code> if the toggle button is checked,
-     *         <code>false</code> if not
-     */
-    public boolean getToggleState() {
-        return toggleState;
-    }
-
-    /**
-     * A mutator for the key of the preference to be modified by the toggle
-     * button.
-     * 
-     * @param prefKey
-     *            The prefKey to set. If this value is <code>null</code>,
-     *            then no preference will be modified.
-     */
-    public void setPrefKey(String prefKey) {
-        this.prefKey = prefKey;
-    }
-
-    /**
-     * A mutator for the preference store to be modified by the toggle button.
-     * 
-     * @param prefStore
-     *            The prefStore to set. If this value is <code>null</code>,
-     *            then no preference will be modified.
-     */
-    public void setPrefStore(IPreferenceStore prefStore) {
-        this.prefStore = prefStore;
-    }
-
-    /**
-     * A mutator for the button providing the toggle option. If the button
-     * exists, then it will automatically get the text set to the current toggle
-     * message, and its selection state set to the current selection state.
-     * 
-     * @param button
-     *            The button to use; must not be <code>null</code>.
-     */
-    protected void setToggleButton(Button button) {
-        if (button == null) { throw new NullPointerException(
-                "A message dialog with toggle may not have a null toggle button."); } //$NON-NLS-1$
-
-        if (!button.isDisposed()) {
-            final String text;
-            if (toggleMessage == null) {
-                text = JFaceResources
-                        .getString("MessageDialogWithToggle.defaultToggleMessage"); //$NON-NLS-1$
-            } else {
-                text = toggleMessage;
-            }
-            button.setText(text);
-            button.setSelection(toggleState);
-        }
-
-        this.toggleButton = button;
-    }
-
-    /**
-     * A mutator for the text on the toggle button. The button will
-     * automatically get updated with the new text, if it exists.
-     * 
-     * @param message
-     *            The new text of the toggle button; if it is <code>null</code>,
-     *            then used the default toggle message.
-     */
-    protected void setToggleMessage(String message) {
-        this.toggleMessage = message;
-
-        if ((toggleButton != null) && (!toggleButton.isDisposed())) {
-            final String text;
-            if (toggleMessage == null) {
-                text = JFaceResources
-                        .getString("MessageDialogWithToggle.defaultToggleMessage"); //$NON-NLS-1$
-            } else {
-                text = toggleMessage;
-            }
-            toggleButton.setText(text);
-        }
-    }
-
-    /**
-     * A mutator for the state of the toggle button. This method will update the
-     * button, if it exists.
-     * 
-     * @param toggleState
-     *            The desired state of the toggle button (<code>true</code>
-     *            means the toggle should be selected).
-     */
-    public void setToggleState(boolean toggleState) {
-        this.toggleState = toggleState;
-
-        // Update the button, if it exists.
-        if ((toggleButton != null) && (!toggleButton.isDisposed())) {
-            toggleButton.setSelection(toggleState);
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/ProgressIndicator.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/ProgressIndicator.java
deleted file mode 100644
index 63d4e01..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/ProgressIndicator.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.dialogs;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StackLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.ProgressBar;
-/**
- * A control for showing progress feedback for a long running operation. This
- * control supports both determinate and indeterminate SWT progress bars. For
- * indeterminate progress, we don't have to know the total amount of work in
- * advance and no <code>worked</code> method needs to be called.
- */
-public class ProgressIndicator extends Composite {
-	private final static int PROGRESS_MAX = 1000; // value to use for max in
-												  // progress bar
-	private boolean animated = true;
-	private StackLayout layout;
-	private ProgressBar determinateProgressBar;
-	private ProgressBar indeterminateProgressBar;
-	private double totalWork;
-	private double sumWorked;
-	/**
-	 * Create a ProgressIndicator as a child under the given parent.
-	 * 
-	 * @param parent
-	 *            The widgets parent
-	 */
-	public ProgressIndicator(Composite parent) {
-		super(parent, SWT.NULL);
-		determinateProgressBar = new ProgressBar(this, SWT.HORIZONTAL);
-		indeterminateProgressBar = new ProgressBar(this, SWT.HORIZONTAL
-				| SWT.INDETERMINATE);
-		layout = new StackLayout();
-		setLayout(layout);
-	}
-	/**
-	 * Initialize the progress bar to be animated.
-	 */
-	public void beginAnimatedTask() {
-		done();
-		layout.topControl = indeterminateProgressBar;
-		layout();
-		animated = true;
-	}
-	/**
-	 * Initialize the progress bar.
-	 * 
-	 * @param max
-	 *            The maximum value.
-	 */
-	public void beginTask(int max) {
-		done();
-		this.totalWork = max;
-		this.sumWorked = 0;
-		determinateProgressBar.setMinimum(0);
-		determinateProgressBar.setMaximum(PROGRESS_MAX);
-		determinateProgressBar.setSelection(0);
-		layout.topControl = determinateProgressBar;
-		layout();
-		animated = false;
-	}
-	/**
-	 * Progress is done.
-	 */
-	public void done() {
-		if (!animated) {
-			determinateProgressBar.setMinimum(0);
-			determinateProgressBar.setMaximum(0);
-			determinateProgressBar.setSelection(0);
-		}
-		layout.topControl = null;
-		layout();
-	}
-	/**
-	 * Moves the progress indicator to the end.
-	 */
-	public void sendRemainingWork() {
-		worked(totalWork - sumWorked);
-	}
-	/**
-	 * Moves the progress indicator by the given amount of work units
-	 * @param work the amount of work to increment by.
-	 */
-	public void worked(double work) {
-		if (work == 0 || animated) {
-			return;
-		}
-		sumWorked += work;
-		if (sumWorked > totalWork) {
-			sumWorked = totalWork;
-		}
-		if (sumWorked < 0) {
-			sumWorked = 0;
-		}
-		int value = (int) (sumWorked / totalWork * PROGRESS_MAX);
-		if (determinateProgressBar.getSelection() < value) {
-			determinateProgressBar.setSelection(value);
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/ProgressMonitorDialog.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/ProgressMonitorDialog.java
deleted file mode 100644
index dfb5846..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/ProgressMonitorDialog.java
+++ /dev/null
@@ -1,542 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.dialogs;
-import java.lang.reflect.InvocationTargetException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IProgressMonitorWithBlocking;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.operation.*;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.*;
-/**
- * A modal dialog that displays progress during a long running operation.
- * <p>
- * This concrete dialog class can be instantiated as is, or further subclassed
- * as required.
- * </p>
- * <p>
- * Typical usage is:
- * 
- * <pre>
- * 
- *  
- *   try {
- *      IRunnableWithProgress op = ...;
- *      new ProgressMonitorDialog(activeShell).run(true, true, op);
- *   } catch (InvocationTargetException e) {
- *      // handle exception
- *   } catch (InterruptedException e) {
- *      // handle cancelation
- *   }
- *   
- *  
- * </pre>
- * 
- * </p>
- * <p>
- * Note that the ProgressMonitorDialog is not intended to be used with multiple
- * runnables - this dialog should be discarded after completion of one
- * IRunnableWithProgress and a new one instantiated for use by a second or
- * sebsequent IRunnableWithProgress to ensure proper initialization.
- * </p>
- * <p>
- * Note that not forking the process will result in it running in the UI which
- * may starve the UI. The most obvious symptom of this problem is non
- * responsiveness of the cancel button. If you are running within the UI Thread
- * you should do the bulk of your work in another Thread to prevent starvation.
- * It is recommended that fork is set to true in most cases.
- * </p>
- */
-public class ProgressMonitorDialog extends IconAndMessageDialog
-		implements
-			IRunnableContext {
-	/**
-	 * Name to use for task when normal task name is empty string.
-	 */
-	private static String DEFAULT_TASKNAME = JFaceResources
-			.getString("ProgressMonitorDialog.message"); //$NON-NLS-1$
-	/**
-	 * Constants for label and monitor size
-	 */
-	private static int LABEL_DLUS = 21;
-	private static int BAR_DLUS = 9;
-	/**
-	 * The progress indicator control.
-	 */
-	protected ProgressIndicator progressIndicator;
-	/**
-	 * The label control for the task. Kept for backwards compatibility.
-	 */
-	protected Label taskLabel;
-	/**
-	 * The label control for the subtask.
-	 */
-	protected Label subTaskLabel;
-	/**
-	 * The Cancel button control.
-	 */
-	protected Button cancel;
-	/**
-	 * Indicates whether the Cancel button is to be shown.
-	 */
-	protected boolean operationCancelableState = false;
-	/**
-	 * Indicates whether the Cancel button is to be enabled.
-	 */
-	protected boolean enableCancelButton;
-	/**
-	 * The progress monitor.
-	 */
-	private ProgressMonitor progressMonitor = new ProgressMonitor();
-	/**
-	 * The name of the current task (used by ProgressMonitor).
-	 */
-	private String task;
-	/**
-	 * The nesting depth of currently running runnables.
-	 */
-	private int nestingDepth;
-	/**
-	 * The cursor used in the cancel button;
-	 */
-	protected Cursor arrowCursor;
-	/**
-	 * The cursor used in the shell;
-	 */
-	private Cursor waitCursor;
-	/**
-	 * Flag indicating whether to open or merely create the dialog before run.
-	 */
-	private boolean openOnRun = true;
-	/**
-	 * Internal progress monitor implementation.
-	 */
-	private class ProgressMonitor implements IProgressMonitorWithBlocking {
-		private String fSubTask = "";//$NON-NLS-1$
-		private boolean fIsCanceled;
-		protected boolean forked = false;
-		protected boolean locked = false;
-		public void beginTask(String name, int totalWork) {
-			if (progressIndicator.isDisposed())
-				return;
-			if (name == null)
-				task = "";//$NON-NLS-1$
-			else
-				task = name;
-			String s = task;
-			if (s.length() <= 0)
-				s = DEFAULT_TASKNAME;
-			setMessage(s);
-			if (!forked)
-				update();
-			if (totalWork == UNKNOWN) {
-				progressIndicator.beginAnimatedTask();
-			} else {
-				progressIndicator.beginTask(totalWork);
-			}
-		}
-		public void done() {
-			if (!progressIndicator.isDisposed()) {
-				progressIndicator.sendRemainingWork();
-				progressIndicator.done();
-			}
-		}
-		public void setTaskName(String name) {
-			if (name == null)
-				task = "";//$NON-NLS-1$
-			else
-				task = name;
-			String s = task;
-			if (s.length() <= 0)
-				s = DEFAULT_TASKNAME;
-			setMessage(s);
-			if (!forked)
-				update();
-		}
-		public boolean isCanceled() {
-			return fIsCanceled;
-		}
-		public void setCanceled(boolean b) {
-			fIsCanceled = b;
-			if (locked)
-				clearBlocked();
-		}
-		public void subTask(String name) {
-			if (subTaskLabel.isDisposed())
-				return;
-			if (name == null)
-				fSubTask = "";//$NON-NLS-1$
-			else
-				fSubTask = name;
-			subTaskLabel.setText(fSubTask);
-			if (!forked)
-				subTaskLabel.update();
-		}
-		public void worked(int work) {
-			internalWorked(work);
-		}
-		public void internalWorked(double work) {
-			if (!progressIndicator.isDisposed())
-				progressIndicator.worked(work);
-		}
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.core.runtime.IProgressMonitorWithBlocking#clearBlocked()
-		 */
-		public void clearBlocked() {
-			locked = false;
-			updateForClearBlocked();
-		}
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.core.runtime.IProgressMonitorWithBlocking#setBlocked(org.eclipse.core.runtime.IStatus)
-		 */
-		public void setBlocked(IStatus reason) {
-			locked = true;
-			updateForSetBlocked(reason);
-		}
-	}
-	/**
-	 * Clear blocked state from the receiver.
-	 */
-	protected void updateForClearBlocked() {
-		setMessage(task);
-		imageLabel.setImage(getImage());
-	}
-	/**
-	 * Set blocked state from the receiver.
-	 * 
-	 * @param reason
-	 *            IStatus that gives the details
-	 */
-	protected void updateForSetBlocked(IStatus reason) {
-		setMessage(shortenText(reason.getMessage(), messageLabel));
-		imageLabel.setImage(getImage());
-	}
-	/**
-	 * Creates a progress monitor dialog under the given shell. The dialog has a
-	 * standard title and no image. <code>open</code> is non-blocking.
-	 * 
-	 * @param parent
-	 *            the parent shell, or <code>null</code> to create a top-level
-	 *            shell
-	 */
-	public ProgressMonitorDialog(Shell parent) {
-		super(parent);
-		setShellStyle(SWT.BORDER | SWT.TITLE | SWT.APPLICATION_MODAL); // no
-		// close
-		// button
-		setBlockOnOpen(false);
-	}
-	/**
-	 * Enables the cancel button (asynchronously).
-	 * @param b The state to set the button to.
-	 */
-	private void asyncSetOperationCancelButtonEnabled(final boolean b) {
-		if (getShell() != null) {
-			getShell().getDisplay().asyncExec(new Runnable() {
-				public void run() {
-					setOperationCancelButtonEnabled(b);
-				}
-			});
-		}
-	}
-	/**
-	 * The cancel button has been pressed.
-	 * 
-	 * @since 3.0
-	 */
-	protected void cancelPressed() {
-		//NOTE: this was previously done from a listener installed on the
-		// cancel
-		//button. On GTK, the listener installed by Dialog.createButton is
-		// called
-		//first and this was throwing an exception because the cancel button
-		//was already disposed
-		cancel.setEnabled(false);
-		progressMonitor.setCanceled(true);
-		super.cancelPressed();
-	}
-	/*
-	 * (non-Javadoc) Method declared on Window.
-	 */
-	/**
-	 * The <code>ProgressMonitorDialog</code> implementation of this method
-	 * only closes the dialog if there are no currently running runnables.
-	 */
-	public boolean close() {
-		if (getNestingDepth() <= 0) {
-			clearCursors();
-			return super.close();
-		}
-		return false;
-	}
-	/**
-	 * Clear the cursors in the dialog.
-	 * 
-	 * @since 3.0
-	 */
-	protected void clearCursors() {
-		if (cancel != null && !cancel.isDisposed()) {
-			cancel.setCursor(null);
-		}
-		Shell shell = getShell();
-		if (shell != null && !shell.isDisposed()) {
-			shell.setCursor(null);
-		}
-		if (arrowCursor != null)
-			arrowCursor.dispose();
-		if (waitCursor != null)
-			waitCursor.dispose();
-		arrowCursor = null;
-		waitCursor = null;
-	}
-	/*
-	 * (non-Javadoc) Method declared in Window.
-	 */
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		shell.setText(JFaceResources.getString("ProgressMonitorDialog.title")); //$NON-NLS-1$
-		if (waitCursor == null)
-			waitCursor = new Cursor(shell.getDisplay(), SWT.CURSOR_WAIT);
-		shell.setCursor(waitCursor);
-	}
-	/*
-	 * (non-Javadoc) Method declared on Dialog.
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		// cancel button
-		createCancelButton(parent);
-	}
-	/**
-	 * Creates the cancel button.
-	 * 
-	 * @param parent
-	 *            the parent composite
-	 * @since 3.0
-	 */
-	protected void createCancelButton(Composite parent) {
-		cancel = createButton(parent, IDialogConstants.CANCEL_ID,
-				IDialogConstants.CANCEL_LABEL, true);
-		if (arrowCursor == null)
-			arrowCursor = new Cursor(cancel.getDisplay(), SWT.CURSOR_ARROW);
-		cancel.setCursor(arrowCursor);
-		setOperationCancelButtonEnabled(enableCancelButton);
-	}
-	/*
-	 * (non-Javadoc) Method declared on Dialog.
-	 */
-	protected Control createDialogArea(Composite parent) {
-		setMessage(DEFAULT_TASKNAME);
-		createMessageArea(parent);
-		//Only set for backwards compatibility
-		taskLabel = messageLabel;
-		// progress indicator
-		progressIndicator = new ProgressIndicator(parent);
-		GridData gd = new GridData();
-		gd.heightHint = convertVerticalDLUsToPixels(BAR_DLUS);
-		gd.horizontalAlignment = GridData.FILL;
-		gd.grabExcessHorizontalSpace = true;
-		gd.horizontalSpan = 2;
-		progressIndicator.setLayoutData(gd);
-		// label showing current task
-		subTaskLabel = new Label(parent, SWT.LEFT | SWT.WRAP);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.heightHint = convertVerticalDLUsToPixels(LABEL_DLUS);
-		gd.horizontalSpan = 2;
-		subTaskLabel.setLayoutData(gd);
-		subTaskLabel.setFont(parent.getFont());
-		return parent;
-	}
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#getInitialSize()
-	 */
-	protected Point getInitialSize() {
-		Point calculatedSize = super.getInitialSize();
-		if (calculatedSize.x < 450)
-			calculatedSize.x = 450;
-		return calculatedSize;
-	}
-	/**
-	 * Returns the progress monitor to use for operations run in this progress
-	 * dialog.
-	 * 
-	 * @return the progress monitor
-	 */
-	public IProgressMonitor getProgressMonitor() {
-		return progressMonitor;
-	}
-	/*
-	 * (non-Javadoc) Method declared on IRunnableContext. Runs the given <code>
-	 * IRunnableWithProgress </code> with the progress monitor for this progress
-	 * dialog. The dialog is opened before it is run, and closed after it
-	 * completes.
-	 */
-	public void run(boolean fork, boolean cancelable,
-			IRunnableWithProgress runnable) throws InvocationTargetException,
-			InterruptedException {
-		setCancelable(cancelable);
-		try {
-			aboutToRun();
-			//Let the progress monitor know if they need to update in UI Thread
-			progressMonitor.forked = fork;
-			ModalContext.run(runnable, fork, getProgressMonitor(), getShell()
-					.getDisplay());
-		} finally {
-			finishedRun();
-		}
-	}
-	/**
-	 * Returns whether the dialog should be opened before the operation is run.
-	 * Defaults to <code>true</code>
-	 * 
-	 * @return <code>true</code> to open the dialog before run,
-	 *         <code>false</code> to only create the dialog, but not open it
-	 * @since 3.0
-	 */
-	public boolean getOpenOnRun() {
-		return openOnRun;
-	}
-	/**
-	 * Sets whether the dialog should be opened before the operation is run.
-	 * NOTE: Setting this to false and not forking a process may starve any
-	 * asyncExec that tries to open the dialog later.
-	 * 
-	 * @param openOnRun
-	 *            <code>true</code> to open the dialog before run,
-	 *            <code>false</code> to only create the dialog, but not open
-	 *            it
-	 * @since 3.0
-	 */
-	public void setOpenOnRun(boolean openOnRun) {
-		this.openOnRun = openOnRun;
-	}
-	/**
-	 * Returns the nesting depth of running operations.
-	 * 
-	 * @return the nesting depth of running operations
-	 * @since 3.0
-	 */
-	protected int getNestingDepth() {
-		return nestingDepth;
-	}
-	/**
-	 * Increments the nesting depth of running operations.
-	 * 
-	 * @since 3.0
-	 */
-	protected void incrementNestingDepth() {
-		nestingDepth++;
-	}
-	/**
-	 * Decrements the nesting depth of running operations.
-	 * 
-	 * @since 3.0
-	 *  
-	 */
-	protected void decrementNestingDepth() {
-		nestingDepth--;
-	}
-	/**
-	 * Called just before the operation is run. Default behaviour is to open or
-	 * create the dialog, based on the setting of <code>getOpenOnRun</code>,
-	 * and increment the nesting depth.
-	 * 
-	 * @since 3.0
-	 */
-	protected void aboutToRun() {
-		if (getOpenOnRun()) {
-			open();
-		} else {
-			create();
-		}
-		incrementNestingDepth();
-	}
-	/**
-	 * Called just after the operation is run. Default behaviour is to decrement
-	 * the nesting depth, and close the dialog.
-	 * 
-	 * @since 3.0
-	 */
-	protected void finishedRun() {
-		decrementNestingDepth();
-		close();
-	}
-	/**
-	 * Sets whether the progress dialog is cancelable or not.
-	 * 
-	 * @param cancelable
-	 *            <code>true</code> if the end user can cancel this progress
-	 *            dialog, and <code>false</code> if it cannot be canceled
-	 */
-	public void setCancelable(boolean cancelable) {
-		if (cancel == null)
-			enableCancelButton = cancelable;
-		else
-			asyncSetOperationCancelButtonEnabled(cancelable);
-	}
-	/**
-	 * Helper to enable/disable Cancel button for this dialog.
-	 * 
-	 * @param b
-	 *            <code>true</code> to enable the cancel button, and
-	 *            <code>false</code> to disable it
-	 * @since 3.0
-	 */
-	protected void setOperationCancelButtonEnabled(boolean b) {
-		operationCancelableState = b;
-		cancel.setEnabled(b);
-	}
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.IconAndMessageDialog#getImage()
-	 */
-	protected Image getImage() {
-		return getInfoImage();
-	}
-	/**
-	 * Set the message in the message label.
-	 * @param messageString The string for the new message.
-	 */
-	private void setMessage(String messageString) {
-		//must not set null text in a label
-		message = messageString == null ? "" : messageString; //$NON-NLS-1$
-		if (messageLabel == null || messageLabel.isDisposed())
-			return;
-		messageLabel.setText(message);
-	}
-	/**
-	 * Update the message label. Required if the monitor is forked.
-	 */
-	private void update() {
-		if (messageLabel == null || messageLabel.isDisposed())
-			return;
-		messageLabel.update();
-	}
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#open()
-	 */
-	public int open() {
-		//Check to be sure it is not already done. If it is just return OK.
-		if (!getOpenOnRun()) {
-			if (getNestingDepth() == 0)
-				return OK;
-		}
-		return super.open();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/TitleAreaDialog.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/TitleAreaDialog.java
deleted file mode 100644
index 0d2e159..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/TitleAreaDialog.java
+++ /dev/null
@@ -1,586 +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 Corporation - initial API and implementation
- * 	   Konstantin Scheglov <scheglov_ke@nlmk.ru > - Fix for bug 41172
- *     [Dialogs] Bug with Image in TitleAreaDialog
- *******************************************************************************/
-package org.eclipse.jface.dialogs;
-import org.eclipse.jface.resource.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-/**
- * A dialog that has a title area for displaying a title and an image as well as
- * a common area for displaying a description, a message, or an error message.
- * <p>
- * This dialog class may be subclassed.
- */
-public class TitleAreaDialog extends Dialog {
-	/**
-	 * Image registry key for error message image.
-	 */
-	public static final String DLG_IMG_TITLE_ERROR = DLG_IMG_MESSAGE_ERROR;//$NON-NLS-1$
-	/**
-	 * Image registry key for banner image (value
-	 * <code>"dialog_title_banner_image"</code>).
-	 */
-	public static final String DLG_IMG_TITLE_BANNER = "dialog_title_banner_image";//$NON-NLS-1$
-	/**
-	 * Message type constant used to display an info icon with the message.
-	 * 
-	 * @since 2.0
-	 * @deprecated
-	 */
-	public final static String INFO_MESSAGE = "INFO_MESSAGE"; //$NON-NLS-1$
-	/**
-	 * Message type constant used to display a warning icon with the message.
-	 * 
-	 * @since 2.0
-	 * @deprecated
-	 */
-	public final static String WARNING_MESSAGE = "WARNING_MESSAGE"; //$NON-NLS-1$
-	// Space between an image and a label
-	private static final int H_GAP_IMAGE = 5;
-	//Minimum dialog width (in dialog units)
-	private static final int MIN_DIALOG_WIDTH = 350;
-	//Minimum dialog height (in dialog units)
-	private static final int MIN_DIALOG_HEIGHT = 150;
-	static {
-		ImageRegistry reg = JFaceResources.getImageRegistry();
-		reg.put(DLG_IMG_TITLE_BANNER, ImageDescriptor.createFromFile(
-				TitleAreaDialog.class, "images/title_banner.gif"));//$NON-NLS-1$
-	}
-	private Label titleLabel;
-	private Label titleImage;
-	private Label bottomFillerLabel;
-	private Label leftFillerLabel;
-	private RGB titleAreaRGB;
-	Color titleAreaColor;
-	private String message = ""; //$NON-NLS-1$
-	private String errorMessage;
-	private Text messageLabel;
-	private Composite workArea;
-	private Label messageImageLabel;
-	private Image messageImage;
-	private Color normalMsgAreaBackground;
-	private Color errorMsgAreaBackground;
-	private Image errorMsgImage;
-	private boolean showingError = false;
-	private boolean titleImageLargest = true;
-	/**
-	 * Instantiate a new title area dialog.
-	 * 
-	 * @param parentShell
-	 *            the parent SWT shell
-	 */
-	public TitleAreaDialog(Shell parentShell) {
-		super(parentShell);
-	}
-	/*
-	 * @see Dialog.createContents(Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		// initialize the dialog units
-		initializeDialogUnits(parent);
-		FormLayout layout = new FormLayout();
-		parent.setLayout(layout);
-		FormData data = new FormData();
-		data.top = new FormAttachment(0, 0);
-		data.bottom = new FormAttachment(100, 0);
-		parent.setLayoutData(data);
-		//Now create a work area for the rest of the dialog
-		workArea = new Composite(parent, SWT.NULL);
-		GridLayout childLayout = new GridLayout();
-		childLayout.marginHeight = 0;
-		childLayout.marginWidth = 0;
-		childLayout.verticalSpacing = 0;
-		workArea.setLayout(childLayout);
-		Control top = createTitleArea(parent);
-		resetWorkAreaAttachments(top);
-		workArea.setFont(JFaceResources.getDialogFont());
-		// initialize the dialog units
-		initializeDialogUnits(workArea);
-		// create the dialog area and button bar
-		dialogArea = createDialogArea(workArea);
-		buttonBar = createButtonBar(workArea);
-		return parent;
-	}
-	/**
-	 * Creates and returns the contents of the upper part of this dialog (above
-	 * the button bar).
-	 * <p>
-	 * The <code>Dialog</code> implementation of this framework method creates
-	 * and returns a new <code>Composite</code> with no margins and spacing.
-	 * Subclasses should override.
-	 * </p>
-	 * 
-	 * @param parent
-	 *            The parent composite to contain the dialog area
-	 * @return the dialog area control
-	 */
-	protected Control createDialogArea(Composite parent) {
-		// create the top level composite for the dialog area
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		layout.verticalSpacing = 0;
-		layout.horizontalSpacing = 0;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		composite.setFont(parent.getFont());
-		// Build the separator line
-		Label titleBarSeparator = new Label(composite, SWT.HORIZONTAL
-				| SWT.SEPARATOR);
-		titleBarSeparator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		return composite;
-	}
-	/**
-	 * Creates the dialog's title area.
-	 * 
-	 * @param parent
-	 *            the SWT parent for the title area widgets
-	 * @return Control with the highest x axis value.
-	 */
-	private Control createTitleArea(Composite parent) {
-		// add a dispose listener
-		parent.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				if (titleAreaColor != null)
-					titleAreaColor.dispose();
-			}
-		});
-		// Determine the background color of the title bar
-		Display display = parent.getDisplay();
-		Color background;
-		Color foreground;
-		if (titleAreaRGB != null) {
-			titleAreaColor = new Color(display, titleAreaRGB);
-			background = titleAreaColor;
-			foreground = null;
-		} else {
-			background = JFaceColors.getBannerBackground(display);
-			foreground = JFaceColors.getBannerForeground(display);
-		}
-		int verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-		int horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		parent.setBackground(background);
-		// Dialog image @ right
-		titleImage = new Label(parent, SWT.CENTER);
-		titleImage.setBackground(background);
-		titleImage.setImage(JFaceResources.getImage(DLG_IMG_TITLE_BANNER));
-		FormData imageData = new FormData();
-		imageData.top = new FormAttachment(0, verticalSpacing);
-		// Note: do not use horizontalSpacing on the right as that would be a
-		// regression from
-		// the R2.x style where there was no margin on the right and images are
-		// flush to the right
-		// hand side. see reopened comments in 41172
-		imageData.right = new FormAttachment(100, 0); // horizontalSpacing
-		titleImage.setLayoutData(imageData);
-		// Title label @ top, left
-		titleLabel = new Label(parent, SWT.LEFT);
-		JFaceColors.setColors(titleLabel, foreground, background);
-		titleLabel.setFont(JFaceResources.getBannerFont());
-		titleLabel.setText(" ");//$NON-NLS-1$
-		FormData titleData = new FormData();
-		titleData.top = new FormAttachment(0, verticalSpacing);
-		titleData.right = new FormAttachment(titleImage);
-		titleData.left = new FormAttachment(0, horizontalSpacing);
-		titleLabel.setLayoutData(titleData);
-		// Message image @ bottom, left
-		messageImageLabel = new Label(parent, SWT.CENTER);
-		messageImageLabel.setBackground(background);
-		// Message label @ bottom, center
-		messageLabel = new Text(parent, SWT.WRAP | SWT.READ_ONLY);
-		JFaceColors.setColors(messageLabel, foreground, background);
-		messageLabel.setText(" \n "); // two lines//$NON-NLS-1$
-		messageLabel.setFont(JFaceResources.getDialogFont());
-		// Filler labels
-		leftFillerLabel = new Label(parent, SWT.CENTER);
-		leftFillerLabel.setBackground(background);
-		bottomFillerLabel = new Label(parent, SWT.CENTER);
-		bottomFillerLabel.setBackground(background);
-		setLayoutsForNormalMessage(verticalSpacing, horizontalSpacing);
-		determineTitleImageLargest();
-		if (titleImageLargest)
-			return titleImage;
-		return messageLabel;
-	}
-	/**
-	 * Determine if the title image is larger than the title message and message
-	 * area. This is used for layout decisions.
-	 */
-	private void determineTitleImageLargest() {
-		int titleY = titleImage.computeSize(SWT.DEFAULT, SWT.DEFAULT).y;
-		int labelY = titleLabel.computeSize(SWT.DEFAULT, SWT.DEFAULT).y;
-		labelY += messageLabel.computeSize(SWT.DEFAULT, SWT.DEFAULT).y;
-		FontData[] data = messageLabel.getFont().getFontData();
-		labelY += data[0].getHeight();
-		titleImageLargest = titleY > labelY;
-	}
-	/**
-	 * Set the layout values for the messageLabel, messageImageLabel and
-	 * fillerLabel for the case where there is a normal message.
-	 * 
-	 * @param verticalSpacing
-	 *            int The spacing between widgets on the vertical axis.
-	 * @param horizontalSpacing
-	 *            int The spacing between widgets on the horizontal axis.
-	 */
-	private void setLayoutsForNormalMessage(int verticalSpacing,
-			int horizontalSpacing) {
-		FormData messageImageData = new FormData();
-		messageImageData.top = new FormAttachment(titleLabel, verticalSpacing);
-		messageImageData.left = new FormAttachment(0, H_GAP_IMAGE);
-		messageImageLabel.setLayoutData(messageImageData);
-		FormData messageLabelData = new FormData();
-		messageLabelData.top = new FormAttachment(titleLabel, verticalSpacing);
-		messageLabelData.right = new FormAttachment(titleImage);
-		messageLabelData.left = new FormAttachment(messageImageLabel,
-				horizontalSpacing);
-		if (titleImageLargest)
-			messageLabelData.bottom = new FormAttachment(titleImage, 0,
-					SWT.BOTTOM);
-		messageLabel.setLayoutData(messageLabelData);
-		FormData fillerData = new FormData();
-		fillerData.left = new FormAttachment(0, horizontalSpacing);
-		fillerData.top = new FormAttachment(messageImageLabel, 0);
-		fillerData.bottom = new FormAttachment(messageLabel, 0, SWT.BOTTOM);
-		bottomFillerLabel.setLayoutData(fillerData);
-		FormData data = new FormData();
-		data.top = new FormAttachment(messageImageLabel, 0, SWT.TOP);
-		data.left = new FormAttachment(0, 0);
-		data.bottom = new FormAttachment(messageImageLabel, 0, SWT.BOTTOM);
-		data.right = new FormAttachment(messageImageLabel, 0);
-		leftFillerLabel.setLayoutData(data);
-	}
-	/**
-	 * The <code>TitleAreaDialog</code> implementation of this
-	 * <code>Window</code> methods returns an initial size which is at least
-	 * some reasonable minimum.
-	 * 
-	 * @return the initial size of the dialog
-	 */
-	protected Point getInitialSize() {
-		Point shellSize = super.getInitialSize();
-		return new Point(Math.max(
-				convertHorizontalDLUsToPixels(MIN_DIALOG_WIDTH), shellSize.x),
-				Math.max(convertVerticalDLUsToPixels(MIN_DIALOG_HEIGHT),
-						shellSize.y));
-	}
-	/**
-	 * Retained for backward compatibility.
-	 * 
-	 * Returns the title area composite. There is no composite in this
-	 * implementation so the shell is returned.
-	 * 
-	 * @return Composite
-	 * @deprecated
-	 */
-	protected Composite getTitleArea() {
-		return getShell();
-	}
-	/**
-	 * Returns the title image label.
-	 * 
-	 * @return the title image label
-	 */
-	protected Label getTitleImageLabel() {
-		return titleImage;
-	}
-	/**
-	 * Display the given error message. The currently displayed message is saved
-	 * and will be redisplayed when the error message is set to
-	 * <code>null</code>.
-	 * 
-	 * @param newErrorMessage
-	 *            the newErrorMessage to display or <code>null</code>
-	 */
-	public void setErrorMessage(String newErrorMessage) {
-		// Any change?
-		if (errorMessage == null ? newErrorMessage == null : errorMessage
-				.equals(newErrorMessage))
-			return;
-		errorMessage = newErrorMessage;
-		if (errorMessage == null) {
-			if (showingError) {
-				// we were previously showing an error
-				showingError = false;
-				setMessageBackgrounds(false);
-			}
-			// show the message
-			// avoid calling setMessage in case it is overridden to call
-			// setErrorMessage,
-			// which would result in a recursive infinite loop
-			if (message == null) //this should probably never happen since
-								 // setMessage does this conversion....
-				message = ""; //$NON-NLS-1$
-			updateMessage(message);
-			messageImageLabel.setImage(messageImage);
-			setImageLabelVisible(messageImage != null);
-			messageLabel.setToolTipText(message);
-		} else {
-			//Add in a space for layout purposes but do not
-			//change the instance variable
-			String displayedErrorMessage = " " + errorMessage; //$NON-NLS-1$
-			updateMessage(displayedErrorMessage);
-			messageLabel.setToolTipText(errorMessage);
-			if (!showingError) {
-				// we were not previously showing an error
-				showingError = true;
-				// lazy initialize the error background color and image
-				if (errorMsgAreaBackground == null) {
-					errorMsgAreaBackground = JFaceColors
-							.getErrorBackground(messageLabel.getDisplay());
-					errorMsgImage = JFaceResources
-							.getImage(DLG_IMG_TITLE_ERROR);
-				}
-				// show the error
-				normalMsgAreaBackground = messageLabel.getBackground();
-				setMessageBackgrounds(true);
-				messageImageLabel.setImage(errorMsgImage);
-				setImageLabelVisible(true);
-			}
-		}
-		layoutForNewMessage();
-	}
-	/**
-	 * Re-layout the labels for the new message.
-	 */
-	private void layoutForNewMessage() {
-		int verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-		int horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		//If there are no images then layout as normal
-		if (errorMessage == null && messageImage == null) {
-			setImageLabelVisible(false);
-			setLayoutsForNormalMessage(verticalSpacing, horizontalSpacing);
-		} else {
-			messageImageLabel.setVisible(true);
-			bottomFillerLabel.setVisible(true);
-			leftFillerLabel.setVisible(true);
-			/**
-			 * Note that we do not use horizontalSpacing here as when the
-			 * background of the messages changes there will be gaps between the
-			 * icon label and the message that are the background color of the
-			 * shell. We add a leading space elsewhere to compendate for this.
-			 */
-			FormData data = new FormData();
-			data.left = new FormAttachment(0, H_GAP_IMAGE);
-			data.top = new FormAttachment(titleLabel, verticalSpacing);
-			messageImageLabel.setLayoutData(data);
-			data = new FormData();
-			data.top = new FormAttachment(messageImageLabel, 0);
-			data.left = new FormAttachment(0, 0);
-			data.bottom = new FormAttachment(messageLabel, 0, SWT.BOTTOM);
-			data.right = new FormAttachment(messageImageLabel, 0, SWT.RIGHT);
-			bottomFillerLabel.setLayoutData(data);
-			data = new FormData();
-			data.top = new FormAttachment(messageImageLabel, 0, SWT.TOP);
-			data.left = new FormAttachment(0, 0);
-			data.bottom = new FormAttachment(messageImageLabel, 0, SWT.BOTTOM);
-			data.right = new FormAttachment(messageImageLabel, 0);
-			leftFillerLabel.setLayoutData(data);
-			FormData messageLabelData = new FormData();
-			messageLabelData.top = new FormAttachment(titleLabel,
-					verticalSpacing);
-			messageLabelData.right = new FormAttachment(titleImage);
-			messageLabelData.left = new FormAttachment(messageImageLabel, 0);
-			if (titleImageLargest)
-				messageLabelData.bottom = new FormAttachment(titleImage, 0,
-						SWT.BOTTOM);
-			messageLabel.setLayoutData(messageLabelData);
-		}
-		//Do not layout before the dialog area has been created
-		//to avoid incomplete calculations.
-		if (dialogArea != null)
-			getShell().layout(true);
-	}
-	/**
-	 * Set the message text. If the message line currently displays an error,
-	 * the message is saved and will be redisplayed when the error message is
-	 * set to <code>null</code>.
-	 * <p>
-	 * Shortcut for <code>setMessage(newMessage, IMessageProvider.NONE)</code>
-	 * </p>
-	 * This method should be called after the dialog has been opened as it
-	 * updates the message label immediately.
-	 * 
-	 * @param newMessage
-	 *            the message, or <code>null</code> to clear the message
-	 */
-	public void setMessage(String newMessage) {
-		setMessage(newMessage, IMessageProvider.NONE);
-	}
-	/**
-	 * Sets the message for this dialog with an indication of what type of
-	 * message it is.
-	 * <p>
-	 * The valid message types are one of <code>NONE</code>,
-	 * <code>INFORMATION</code>,<code>WARNING</code>, or
-	 * <code>ERROR</code>.
-	 * </p>
-	 * <p>
-	 * Note that for backward compatibility, a message of type
-	 * <code>ERROR</code> is different than an error message (set using
-	 * <code>setErrorMessage</code>). An error message overrides the current
-	 * message until the error message is cleared. This method replaces the
-	 * current message and does not affect the error message.
-	 * </p>
-	 * 
-	 * @param newMessage
-	 *            the message, or <code>null</code> to clear the message
-	 * @param newType
-	 *            the message type
-	 * @since 2.0
-	 */
-	public void setMessage(String newMessage, int newType) {
-		Image newImage = null;
-		if (newMessage != null) {
-			switch (newType) {
-				case IMessageProvider.NONE :
-					break;
-				case IMessageProvider.INFORMATION :
-					newImage = JFaceResources.getImage(DLG_IMG_MESSAGE_INFO);
-					break;
-				case IMessageProvider.WARNING :
-					newImage = JFaceResources.getImage(DLG_IMG_MESSAGE_WARNING);
-					break;
-				case IMessageProvider.ERROR :
-					newImage = JFaceResources.getImage(DLG_IMG_MESSAGE_ERROR);
-					break;
-			}
-		}
-		showMessage(newMessage, newImage);
-	}
-	/**
-	 * Show the new message and image.
-	 * @param newMessage 
-	 * @param newImage
-	 */
-	private void showMessage(String newMessage, Image newImage) {
-		// Any change?
-		if (message.equals(newMessage) && messageImage == newImage)
-			return;
-		message = newMessage;
-		if (message == null)
-			message = "";//$NON-NLS-1$
-		// Message string to be shown - if there is an image then add in
-		// a space to the message for layout purposes
-		String shownMessage = (newImage == null) ? message : " " + message; //$NON-NLS-1$  
-		messageImage = newImage;
-		if (!showingError) {
-			// we are not showing an error
-			updateMessage(shownMessage);
-			messageImageLabel.setImage(messageImage);
-			setImageLabelVisible(messageImage != null);
-			messageLabel.setToolTipText(message);
-			layoutForNewMessage();
-		}
-	}
-	/**
-	 * Update the contents of the messageLabel.
-	 * 
-	 * @param newMessage
-	 *            the message to use
-	 */
-	private void updateMessage(String newMessage) {
-		//Be sure there are always 2 lines for layout purposes
-		if (newMessage != null && newMessage.indexOf('\n') == -1)
-			newMessage = newMessage + "\n "; //$NON-NLS-1$
-		messageLabel.setText(newMessage);
-	}
-	/**
-	 * Sets the title to be shown in the title area of this dialog.
-	 * 
-	 * @param newTitle
-	 *            the title show
-	 */
-	public void setTitle(String newTitle) {
-		if (titleLabel == null)
-			return;
-		String title = newTitle;
-		if (title == null)
-			title = "";//$NON-NLS-1$
-		titleLabel.setText(title);
-	}
-	/**
-	 * Sets the title bar color for this dialog.
-	 * 
-	 * @param color
-	 *            the title bar color
-	 */
-	public void setTitleAreaColor(RGB color) {
-		titleAreaRGB = color;
-	}
-	/**
-	 * Sets the title image to be shown in the title area of this dialog.
-	 * 
-	 * @param newTitleImage
-	 *            the title image show
-	 */
-	public void setTitleImage(Image newTitleImage) {
-		titleImage.setImage(newTitleImage);
-		titleImage.setVisible(newTitleImage != null);
-		if (newTitleImage != null) {
-			determineTitleImageLargest();
-			Control top;
-			if (titleImageLargest)
-				top = titleImage;
-			else
-				top = messageLabel;
-			resetWorkAreaAttachments(top);
-		}
-	}
-	/**
-	 * Make the label used for displaying error images visible depending on
-	 * boolean.
-	 * @param visible. If <code>true</code> make the image visible, if
-	 * not then make it not visible.
-	 */
-	private void setImageLabelVisible(boolean visible) {
-		messageImageLabel.setVisible(visible);
-		bottomFillerLabel.setVisible(visible);
-		leftFillerLabel.setVisible(visible);
-	}
-	/**
-	 * Set the message backgrounds to be the error or normal color depending on
-	 * whether or not showingError is true.
-	 * @param showingError If <code>true</code> use a different Color
-	 * to indicate the error.
-	 */
-	private void setMessageBackgrounds(boolean showingError) {
-		Color color;
-		if (showingError)
-			color = errorMsgAreaBackground;
-		else
-			color = normalMsgAreaBackground;
-		messageLabel.setBackground(color);
-		messageImageLabel.setBackground(color);
-		bottomFillerLabel.setBackground(color);
-		leftFillerLabel.setBackground(color);
-	}
-	/**
-	 * Reset the attachment of the workArea to now attach to top as the top
-	 * control.
-	 * 
-	 * @param top
-	 */
-	private void resetWorkAreaAttachments(Control top) {
-		FormData childData = new FormData();
-		childData.top = new FormAttachment(top);
-		childData.right = new FormAttachment(100, 0);
-		childData.left = new FormAttachment(0, 0);
-		childData.bottom = new FormAttachment(100, 0);
-		workArea.setLayoutData(childData);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/images/message_error.gif b/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/images/message_error.gif
deleted file mode 100644
index 2ff6678..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/images/message_error.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/images/message_info.gif b/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/images/message_info.gif
deleted file mode 100644
index b484d9b..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/images/message_info.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/images/message_warning.gif b/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/images/message_warning.gif
deleted file mode 100644
index 8e054d0..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/images/message_warning.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/images/title_banner.gif b/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/images/title_banner.gif
deleted file mode 100644
index 4ed90dc..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/images/title_banner.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/package.html b/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/package.html
deleted file mode 100644
index cc7dfcb..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/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] (Win98; I) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides support for dialogs.
-<h2>
-Package Specification</h2>
-A dialog is a specialized window, typically consisting of a dialog area
-and a button bar, designed for narrow-focussed communication with the user.
-<p>The dialog framework consists of an abstract base class (<tt>Dialog</tt>),
-along with more concrete dialog subclasses for displaying messages (<tt>MessageDialog</tt>),
-soliciting text input (<tt>InputDialog</tt>), and displaying progress during
-a long-running operation (<tt>ProgressMonitorDialog</tt>).
-<p>Dialog stores (<tt>IDialogStore</tt>, <tt>DialogStore</tt>) provide
-a general framework for organizing a dialog's settings into key/value pairs.
-Multi-page dialogs are made easier through the use of dialog pages (<tt>IDialogPage</tt>,
-<tt>DialogPage</tt>).
-<p>Note: None of the classes in this package maintain global state.
-<br>&nbsp;
-<br>&nbsp;
-<br>&nbsp;
-</body>
-</html>
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/images/dots_button.gif b/bundles/org.eclipse.jface/src/org/eclipse/jface/images/dots_button.gif
deleted file mode 100644
index 5552219..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/images/dots_button.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/messages.properties b/bundles/org.eclipse.jface/src/org/eclipse/jface/messages.properties
deleted file mode 100644
index 02f9d7c..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/messages.properties
+++ /dev/null
@@ -1,165 +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 Corporation - initial API and implementation
-###############################################################################
-# NLS file for JFace
-#############################################################
-
-#############################################################
-# Global label definitions
-#############################################################
-ok=OK
-cancel=Cancel
-yes=&Yes
-yestoall=Yes To &All
-skip=S&kip
-stop=&Stop
-abort=&Abort
-retry=&Retry
-ignore=&Ignore
-proceed=&Proceed
-open=&Open
-close=&Close
-showDetails=&Details >>
-hideDetails=<< &Details
-backButton=< &Back
-nextButton=&Next >
-finish=&Finish
-help=&Help
-no=&No
-notoall=No &To All
-finish=&Finish
-help=&Help
-defaults=Restore &Defaults
-apply=&Apply
-openBrowse=&Browse...
-
-openChange=&Change...
-help=&Help
-close=&Close
-copy = &Copy
-
-##############################################################
-# Wizard Closing Dialog
-##############################################################
-WizardClosingDialog.title=Wizard Closing
-WizardClosingDialog.message=Wizard can not be closed due to an active operation. You must cancel the operation before you can close the wizard.
-
-##############################################################
-# The Progress Monitor Dialog
-##############################################################
-ProgressMonitorDialog.title=Progress Information
-ProgressMonitorDialog.message=Operation in progress...
-
-##############################################################
-# Preference Dialog
-##############################################################
-PreferenceDialog.title=Preferences
-PreferenceDialog.saveErrorTitle=Problem Saving Preferences
-PreferenceDialog.saveErrorMessage=A problem was encountered saving the page {0}.\n{1}
-
-##############################################################
-# Change Errors
-##############################################################
-PreferenceStore.changeError=Error notifying a preference change listener. Check the log for details.
-FontRegistry.changeError=Error notifying a font registry change listener. Check the log for details.
-		
-##############################################################
-# Abort Page Flipping Dialog
-##############################################################
-AbortPageFlippingDialog.title=Could Not Accept Changes 
-AbortPageFlippingDialog.message=The currently displayed page contains invalid values.
-
-##############################################################
-# Field editors
-##############################################################
-StringFieldEditor.errorMessage=Field contains an invalid value
-IntegerFieldEditor.errorMessage=Value must be an Integer
-FileFieldEditor.errorMessage=Value must be an existing file
-FileFieldEditor.errorMessage2=Value must be an absolute path
-DirectoryFieldEditor.errorMessage=Value must be an existing directory
-ListEditor.add = Ne&w...
-ListEditor.remove = &Remove
-ListEditor.up = &Up
-ListEditor.down = Dow&n
-
-##############################################################
-# Error messages for TextViewer
-##############################################################
-TextViewer.invalidRangeArg=Invalid range argument
-TextViewer.invalidVisibleRegionArg=Invalid visible region argument
-
-#############################################################
-# org.eclipse.jface.action 
-#############################################################
-Cancel_Current_Operation = Cancel Current Operation
-Set_SubTask = {0} {1}
-
-#############################################################
-# org.eclipse.jface.dialog
-############################################################
-Problem_Occurred = Problem Occurred
-Reason = {0}\n\nReason:\n {1}
-MessageDialogWithToggle.defaultToggleMessage = &Remember my decision
-
-############################################################
-
-Image_not_found = Image not found
-<empty_selection> = <empty selection>
-
-########################################################
-# Font properties labels for displaying a font
-#######################################################
-BoldItalicFont = bold italic
-BoldFont = bold
-ItalicFont = italic
-RegularFont = regular
-
-#############################################################
-# String representations of keys for Status line messages
-############################################################
-Ctrl = Ctrl
-Command = Command
-Alt = Alt
-Shift = Shift
-Backspace = Backspace
-Tab = Tab
-Return = Return
-Enter = Enter
-Escape = Escape
-Esc = Esc
-Delete = Delete
-Space = Space
-Arrow_Up = Arrow Up
-Arrow_Down = Arrow Down
-Arrow_Left = Arrow Left
-Arrow_Right = Arrow Right
-Page_Up = Page Up
-Page_Down = Page Down
-Home = Home
-End = End
-Insert = Insert
-F1 = F1
-F2 = F2
-F3 = F3
-F4 = F4
-F5 = F5
-F6 = F6
-F7 = F7
-F8 = F8
-F9 = F9
-F10 = F10
-F11 = F11
-F12 = F12
-
-##############################################
-# Safe Runnable
-##############################################
-SafeRunnable.errorMessage = An error has occurred. See error log for more details.
-ColorSelector.Name=Color Selector
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/operation/AccumulatingProgressMonitor.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/operation/AccumulatingProgressMonitor.java
deleted file mode 100644
index 1867e34..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/operation/AccumulatingProgressMonitor.java
+++ /dev/null
@@ -1,247 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.operation;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IProgressMonitorWithBlocking;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.ProgressMonitorWrapper;
-
-import org.eclipse.swt.widgets.Display;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.util.Assert;
-
-/**
- * A progress monitor that accumulates <code>worked</code> and <code>subtask</code> 
- * calls in the following way by wrapping a standard progress monitor:
- * <ul>
- * <li> When a <code>worked</code> or <code>subtask</code> call occurs the first time,
- *		the progress monitor posts a runnable into the asynchronous SWT event queue.
- * </li>
- * <li> Subsequent calls to <code>worked</code> or <code>subtask</code> do not post
- *		a new runnable as long as a previous runnable still exists in the SWT event
- *		queue. In this case, the progress monitor just updates the internal state of
- *		the runnable that waits in the SWT event queue for its execution. If no runnable
- *		exists, a new one is created and posted into the event queue.
- * </ul>
- * <p>
- * This class is internal to the framework; clients outside JFace should not
- * use this class.
- * </p>
- */
-/* package */ class AccumulatingProgressMonitor extends ProgressMonitorWrapper {
-
-	/**
-	 * The display.
-	 */
-	private Display display;
-
-	/**
-	 * The collector, or <code>null</code> if none.
-	 */
-	private Collector collector;
-	
-	private String currentTask = ""; //$NON-NLS-1$
-	
-	private class Collector implements Runnable {
-		private String subTask;
-		private double worked;
-		private IProgressMonitor monitor;
-		
-		/**
-		 * Create a new collector.
-		 * @param subTask
-		 * @param work
-		 * @param monitor
-		 */
-		public Collector(
-				String subTask, 
-				double work, 
-				IProgressMonitor monitor) {
-			this.subTask = subTask;
-			this.worked = work;
-			this.monitor = monitor;
-		}
-		
-		/**
-		 * Add worked to the work.
-		 * @param workedIncrement
-		 */
-		public void worked(double workedIncrement) {
-			this.worked = this.worked + workedIncrement;
-		}
-		
-		/**
-		 * Set the subTask name.
-		 * @param subTaskName
-		 */
-		public void subTask(String subTaskName) {
-			this.subTask = subTaskName;
-		}
-		/**
-		 * Run the collector.
-		 */
-		public void run() {
-			clearCollector(this);
-			if (subTask != null)
-				monitor.subTask(subTask);
-			if (worked > 0)
-				monitor.internalWorked(worked);
-		}
-	}		
-/**
- * Creates an accumulating progress monitor wrapping the given one
- * that uses the given display.
- * 
- * @param monitor the actual progress monitor to be wrapped
- * @param display the SWT display used to forward the calls 
- *  to the wrapped progress monitor
- */
-public AccumulatingProgressMonitor(IProgressMonitor monitor, Display display) {
-	super(monitor);
-	Assert.isNotNull(display);
-	this.display = display;
-}
-/* (non-Javadoc)
- * Method declared on IProgressMonitor.
- */
-public void beginTask(final String name, final int totalWork) {
-	synchronized(this) {
-		collector = null;
-	}	
-	display.syncExec(new Runnable() {
-		public void run() {
-			currentTask = name;
-			getWrappedProgressMonitor().beginTask(name, totalWork);
-		}
-	});
-}
-/**
- * Clears the collector object used to accumulate work and subtask calls
- * if it matches the given one.
- * @param collectorToClear
- */
-private synchronized void clearCollector(Collector collectorToClear) {
-	// Check if the accumulator is still using the given collector.
-	// If not, don't clear it.
-	if (this.collector == collectorToClear)
-		this.collector = null;
-}
-/**
- *  Creates a collector object to accumulate work and subtask calls.
- * @param subTask
- * @param work
- */
-private void createCollector(String subTask, double work) {
-	collector = new Collector(subTask, work, getWrappedProgressMonitor());
-	display.asyncExec(collector);
-}
-/* (non-Javadoc)
- * Method declared on IProgressMonitor.
- */
-public void done() {
-	synchronized(this) {
-		collector= null;
-	}	
-	display.syncExec(new Runnable() {
-		public void run() {
-			getWrappedProgressMonitor().done();
-		}
-	});
-}
-/* (non-Javadoc)
- * Method declared on IProgressMonitor.
- */
-public synchronized void internalWorked(final double work) {
-	if (collector == null) {
-		createCollector(null, work);
-	} else {
-		collector.worked(work);
-	}
-}
-/* (non-Javadoc)
- * Method declared on IProgressMonitor.
- */
-public void setTaskName(final String name) {
-	synchronized(this) {
-		collector= null;
-	}	
-	display.syncExec(new Runnable() {
-		public void run() {
-			currentTask = name;
-			getWrappedProgressMonitor().setTaskName(name);
-		}
-	});
-}
-/* (non-Javadoc)
- * Method declared on IProgressMonitor.
- */
-public synchronized void subTask(final String name) {
-	if (collector == null) {
-		createCollector(name, 0);
-	} else {
-		collector.subTask(name);
-	}
-}
-/* (non-Javadoc)
- * Method declared on IProgressMonitor.
- */
-public synchronized void worked(int work) {
-	internalWorked(work);
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.core.runtime.ProgressMonitorWrapper#clearBlocked()
- */
-public void clearBlocked() {
-	
-	//If this is a monitor that can report blocking do so.
-	//Don't bother with a collector as this should only ever
-	//happen once and prevent any more progress.
-	final IProgressMonitor pm = getWrappedProgressMonitor();
-	if(!(pm instanceof IProgressMonitorWithBlocking))
-		return;
-	
-	display.asyncExec(new Runnable(){
-		/* (non-Javadoc)
-		 * @see java.lang.Runnable#run()
-		 */
-		public void run() {
-			((IProgressMonitorWithBlocking)pm).clearBlocked();
-			Dialog.getBlockedHandler().clearBlocked();
-		}
-	});
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.core.runtime.ProgressMonitorWrapper#setBlocked(org.eclipse.core.runtime.IStatus)
- */
-public void setBlocked(final IStatus reason) {
-	//If this is a monitor that can report blocking do so.
-	//Don't bother with a collector as this should only ever
-	//happen once and prevent any more progress.
-	final IProgressMonitor pm = getWrappedProgressMonitor();
-	if(!(pm instanceof IProgressMonitorWithBlocking))
-		return;
-	
-	display.asyncExec(new Runnable(){
-		/* (non-Javadoc)
-		 * @see java.lang.Runnable#run()
-		 */
-		public void run() {
-			((IProgressMonitorWithBlocking)pm).setBlocked(reason);
-			//Do not give a shell as we want it to block until it opens.
-			Dialog.getBlockedHandler().showBlocked(pm,reason,currentTask);
-		}
-	});
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/operation/IRunnableContext.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/operation/IRunnableContext.java
deleted file mode 100644
index 92df221..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/operation/IRunnableContext.java
+++ /dev/null
@@ -1,52 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.operation;
-
-import java.lang.reflect.InvocationTargetException;
-
-/**
- * Interface for UI components which can execute a long-running operation
- * in the form of an <code>IRunnableWithProgress</code>.
- * The context is responsible for displaying a progress indicator and Cancel
- * button to the end user while the operation is in progress; the context
- * supplies a progress monitor to be used from code running inside the operation.
- * Note that an <code>IRunnableContext</code> is not a runnable itself.
- * <p>
- * For examples of UI components which implement this interface,
- * see <code>ApplicationWindow</code>, <code>ProgressMonitorDialog</code>,
- * and <code>WizardDialog</code>.
- * </p>
- *
- * @see IRunnableWithProgress
- * @see org.eclipse.jface.window.ApplicationWindow
- * @see org.eclipse.jface.dialogs.ProgressMonitorDialog
- * @see org.eclipse.jface.wizard.WizardDialog
- */
-public interface IRunnableContext {
-/**
- * Runs the given <code>IRunnableWithProgress</code> in this context.
- * For example, if this is a <code>ProgressMonitorDialog</code> then the runnable
- * is run using this dialog's progress monitor.
- *
- * @param fork <code>true</code> if the runnable should be run in a separate thread,
- *  and <code>false</code> to run in the same thread
- * @param cancelable <code>true</code> to enable the cancelation, and
- *  <code>false</code> to make the operation uncancellable
- * @param runnable the runnable to run
- *
- * @exception InvocationTargetException wraps any exception or error which occurs 
- *  while running the runnable
- * @exception InterruptedException propagated by the context if the runnable 
- *  acknowledges cancelation by throwing this exception.  This should not be thrown
- *  if cancelable is <code>false</code>.
- */
-public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) throws InvocationTargetException, InterruptedException;
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/operation/IRunnableWithProgress.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/operation/IRunnableWithProgress.java
deleted file mode 100644
index 5526086..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/operation/IRunnableWithProgress.java
+++ /dev/null
@@ -1,49 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.operation;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import java.lang.reflect.InvocationTargetException;
-
-/**
- * The <code>IRunnableWithProgress</code> interface should be implemented by any
- * class whose instances are intended to be executed as a long-running operation.
- * Long-running operations are typically presented at the UI via a modal dialog
- * showing a progress indicator and a Cancel button.
- * The class must define a <code>run</code> method that takes a progress monitor.
- * The <code>run</code> method is usually not invoked directly, but rather by
- * passing the <code>IRunnableWithProgress</code> to the <code>run</code> method of
- * an <code>IRunnableContext</code>, which provides the UI for the progress monitor
- * and Cancel button.
- *
- * @see IRunnableContext
- */
-public interface IRunnableWithProgress {
-/**
- * Runs this operation.  Progress should be reported to the given progress monitor.
- * This method is usually invoked by an <code>IRunnableContext</code>'s <code>run</code> method,
- * which supplies the progress monitor.
- * A request to cancel the operation should be honored and acknowledged 
- * by throwing <code>InterruptedException</code>.
- *
- * @param monitor the progress monitor to use to display progress and receive
- *   requests for cancelation
- * @exception InvocationTargetException if the run method must propagate a checked exception,
- * 	it should wrap it inside an <code>InvocationTargetException</code>; runtime exceptions are automatically
- *  wrapped in an <code>InvocationTargetException</code> by the calling context
- * @exception InterruptedException if the operation detects a request to cancel, 
- *  using <code>IProgressMonitor.isCanceled()</code>, it should exit by throwing 
- *  <code>InterruptedException</code>
- *
- * @see IRunnableContext#run
- */
-public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException;
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/operation/ModalContext.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/operation/ModalContext.java
deleted file mode 100644
index bab1478..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/operation/ModalContext.java
+++ /dev/null
@@ -1,328 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.operation;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * Utility class for supporting modal operations.
- * The runnable passed to the <code>run</code> method is executed in a
- * separate thread, depending on the value of the passed fork argument. 
- * If the runnable is executed in a separate thread then the current thread
- * either waits until the new thread ends or, if the current thread is the 
- * UI thread, it polls the SWT event queue and dispatches each event.
- * <p>
- * This class is not intended to be subclassed.
- * </p>
- */
-public class ModalContext {
-
-	/**
-	 * Indicated whether ModalContext is in debug mode;
-	 * <code>false</code> by default.
-	 */
-	private static boolean debug = false;
-	
-	/**
-	 * The number of nested modal runs, or 0 if not inside a modal run.
-	 * This is global state.
-	 */
-	private static int modalLevel = 0;
-	
-	/**
-	 * Indicates whether operations should be run in a separate thread.
-	 * Defaults to true.
-	 * For internal debugging use, set to false to run operations in the calling thread.
-	 */
-	private static boolean runInSeparateThread = true;
-
-	/**
-	 * Thread which runs the modal context.
-	 */
-	private static class ModalContextThread extends Thread {
-		/**
-		 * The operation to be run.
-		 */
-		private IRunnableWithProgress runnable;
-		
-		/** 
-		 * The exception thrown by the operation starter.
-		 */
-		private Throwable throwable;
-		
-		/**
-		 * The progress monitor used for progress and cancelation.
-		 */
-		private IProgressMonitor progressMonitor;
-		
-		/**
-		 * The display used for event dispatching.
-		 */
-		private Display display;
-		
-		/**
-		 * Indicates whether to continue event queue dispatching.
-		 */
-		private volatile boolean continueEventDispatching = true;
-
-		/**
-		 * Creates a new modal context.
-		 * 
-		 * @param operation the runnable to run
-		 * @param monitor the progress monitor to use to display progress and receive
-		 *   requests for cancelation
-		 * @param display the display to be used to read and dispatch events
-		 */
-		private ModalContextThread(IRunnableWithProgress operation, IProgressMonitor monitor, Display display) {
-			super("ModalContext"); //$NON-NLS-1$
-			Assert.isTrue(monitor != null && display != null);
-			runnable = operation;
-			progressMonitor = new AccumulatingProgressMonitor(monitor, display);
-			this.display = display;
-		}
-		/* (non-Javadoc)
-		 * Method declared on Thread.
-		 */
-		public void run() {
-			try {
-				if (runnable != null)
-					runnable.run(progressMonitor);
-			} catch (InvocationTargetException e) {
-				throwable= e;
-			} catch (InterruptedException e) {
-				throwable= e;
-			} catch (RuntimeException e) {
-				throwable= e;
-			} catch (ThreadDeath e) {
-				// Make sure to propagate ThreadDeath, or threads will never fully terminate
-				throw e;
-			} catch (Error e) {
-				throwable= e;
-			} finally {
-				// Make sure that all events in the asynchronous event queue
-				// are dispatched.
-				display.syncExec(new Runnable() {
-					public void run() {
-						// do nothing
-					}
-				});
-				
-				// Stop event dispatching
-				continueEventDispatching= false;
-				
-				// Force the event loop to return from sleep () so that
-				// it stops event dispatching.
-				display.asyncExec(null);
-			}	
-		}
-		/**
-		 * Processes events or waits until this modal context thread terminates.
-		 */
-		public void block() {
-			if (display == Display.getCurrent()) {
-				while (continueEventDispatching) {
-					if (!display.readAndDispatch())
-						display.sleep();
-				}
-			} else {
-				try {
-					join();
-				} catch (InterruptedException e) {
-					throwable= e;
-				}
-			}
-		}		
-	}
-/**
- * Returns whether the first progress monitor is the same as, or
- * a wrapper around, the second progress monitor.
- *
- * @param monitor1 the first progress monitor
- * @param monitor2 the second progress monitor
- * @return <code>true</code> if the first is the same as, or
- *   a wrapper around, the second
- * @see ProgressMonitorWrapper
- */
-public static boolean canProgressMonitorBeUsed(IProgressMonitor monitor1, IProgressMonitor monitor2) {
-	if (monitor1 == monitor2)
-		return true;
-		
-	while (monitor1 instanceof ProgressMonitorWrapper) {
-		monitor1= ((ProgressMonitorWrapper)monitor1).getWrappedProgressMonitor();
-		if (monitor1 == monitor2)
-			return true;
-	}
-	return false;
-}
-/**
- * Checks with the given progress monitor and throws 
- * <code>InterruptedException</code> if it has been canceled.
- * <p>
- * Code in a long-running operation should call this method
- * regularly so that a request to cancel will be honored.
- * </p>
- * <p>
- * Convenience for:
- * <pre>
- * if (monitor.isCanceled())
- *    throw new InterruptedException();
- * </pre>
- * </p>
- *
- * @param monitor the progress monitor
- * @exception InterruptedException if cancelling the operation has been requested
- * @see IProgressMonitor#isCanceled()
- */
-public static void checkCanceled(IProgressMonitor monitor) throws InterruptedException {
-	if (monitor.isCanceled())
-		throw new InterruptedException();
-}
-/**
- * Returns the currently active modal context thread, or null if no modal context is active.
- */
-private static ModalContextThread getCurrentModalContextThread() {
-	Thread t = Thread.currentThread();
-	if (t instanceof ModalContextThread)
-		return (ModalContextThread) t;
-	return null;
-}
-/**
- * Returns the modal nesting level.
- * <p>
- * The modal nesting level increases by one each time the
- * <code>ModalContext.run</code> method is called within the
- * dynamic scope of another call to <code>ModalContext.run</code>.
- * </p>
- *
- * @return the modal nesting level, or <code>0</code> if 
- *  this method is called outside the dynamic scope of any
- *  invocation of <code>ModalContext.run</code>
- */
-public static int getModalLevel() {
-	return modalLevel;
-}
-/**
- * Returns whether the given thread is running a modal context.
- *
- * @return <code>true</code> if the given thread is running a modal context, <code>false</code> if not
- */
-public static boolean isModalContextThread(Thread thread) {
-	return thread instanceof ModalContextThread;
-}
-/**
- * Runs the given runnable in a modal context, passing it a progress monitor.
- * <p>
- * The modal nesting level is increased by one from the perspective
- * of the given runnable.
- * </p>
- *
- * @param operation the runnable to run
- * @param fork <code>true</code> if the runnable should run in a separate thread,
- *   and <code>false</code> if in the same thread
- * @param monitor the progress monitor to use to display progress and receive
- *   requests for cancelation
- * @param display the display to be used to read and dispatch events
- * @exception InvocationTargetException if the run method must propagate a checked exception,
- * 	it should wrap it inside an <code>InvocationTargetException</code>; runtime exceptions and errors are automatically
- *  wrapped in an <code>InvocationTargetException</code> by this method
- * @exception InterruptedException if the operation detects a request to cancel, 
- *  using <code>IProgressMonitor.isCanceled()</code>, it should exit by throwing 
- *  <code>InterruptedException</code>; this method propagates the exception
- */
-public static void run(IRunnableWithProgress operation, boolean fork, IProgressMonitor monitor, Display display) throws InvocationTargetException, InterruptedException {
-	Assert.isTrue(operation != null && monitor != null);
-		
-	modalLevel++;
-	try {
-		if (monitor != null)
-			monitor.setCanceled(false);
-		// Is the runnable supposed to be execute in the same thread.
-		if (!fork || !runInSeparateThread) {
-			runInCurrentThread(operation, monitor);
-		} else {
-			ModalContextThread t = getCurrentModalContextThread();
-			if (t != null) {
-				Assert.isTrue(canProgressMonitorBeUsed(monitor, t.progressMonitor));
-				runInCurrentThread(operation, monitor);
-			} else {
-				t = new ModalContextThread(operation, monitor, display);
-				t.start();
-				t.block();
-				Throwable throwable= t.throwable;
-				if (throwable != null) {
-					if (debug
-						&& !(throwable instanceof InterruptedException)
-						&& !(throwable instanceof OperationCanceledException)) {
-						System.err.println("Exception in modal context operation:"); //$NON-NLS-1$
-						throwable.printStackTrace();
-						System.err.println("Called from:"); //$NON-NLS-1$
-						// Don't create the InvocationTargetException on the throwable,
-						// otherwise it will print its stack trace (from the other thread).
-						new InvocationTargetException(null).printStackTrace();
-					}
-					if (throwable instanceof InvocationTargetException) {
-						throw (InvocationTargetException) throwable;
-					} else if (throwable instanceof InterruptedException) {
-						throw (InterruptedException) throwable;
-					} else if (
-						throwable instanceof OperationCanceledException) {
-						// See 1GAN3L5: ITPUI:WIN2000 - ModalContext converts OperationCancelException into InvocationTargetException
-						throw new InterruptedException(throwable.getMessage());
-					} else {
-						throw new InvocationTargetException(throwable);
-					}	
-				}
-			}
-		}
-	}
-	finally {
-		modalLevel--;
-	}
-}
-/**
- * Run a runnable.  Convert all thrown exceptions to 
- * either InterruptedException or InvocationTargetException
- */
-private static void runInCurrentThread(IRunnableWithProgress runnable, IProgressMonitor progressMonitor) 
-	throws InterruptedException, InvocationTargetException
-{
-	try {
-		if (runnable != null)
-			runnable.run(progressMonitor);
-	} catch (InvocationTargetException e) {
-		throw e;
-	} catch (InterruptedException e) {
-		throw e;
-	} catch (OperationCanceledException e) {
-		throw new InterruptedException();
-	} catch (ThreadDeath e) {
-		// Make sure to propagate ThreadDeath, or threads will never fully terminate
-		throw e;
-	} catch (RuntimeException e) {
-		throw new InvocationTargetException(e);
-	} catch (Error e) {
-		throw new InvocationTargetException(e);
-	}
-}
-/**
- * Sets whether ModalContext is running in debug mode.
- *
- * @param debugMode <code>true</code> for debug mode, 
- *  and <code>false</code> for normal mode (the default)
- */
-public static void setDebugMode(boolean debugMode) {
-	debug = debugMode;
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/operation/package.html b/bundles/org.eclipse.jface/src/org/eclipse/jface/operation/package.html
deleted file mode 100644
index d5828a6..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/operation/package.html
+++ /dev/null
@@ -1,26 +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 JFace support for long-running operations.
-<h2>
-Package Specification</h2>
-Long-running operations must be dealt with specially in order to keep the
-UI helpful and responsive. Typically this involves temporarily disabling
-most controls and displaying a busy cursor and progress indicator; while
-the operation is in progress, the only requests that will be accepted will
-be ones to cancel the operation.
-<p>The <tt>IRunnableWithProgress</tt> interface should be implemented by
-any class whose instances are intended to be executed as long-running operations.
-These objects can then be run in any runnable context (<tt>IRunnableContext</tt>),
-including such standard JFace UI components as application windows (<tt>ApplicationWindow</tt>),
-wizard dialogs (<tt>WizardDialog</tt>), and progress monitor dialogs (<tt>ProgressMonitorDialog</tt>).
-The utility class <tt>ModalContext</tt> defines the basic mechanism and
-UI event loop for modal operations.
-</body>
-</html>
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/BooleanFieldEditor.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/BooleanFieldEditor.java
deleted file mode 100644
index 288b603..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/BooleanFieldEditor.java
+++ /dev/null
@@ -1,228 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.preference;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.*;
-
-/**
- * A field editor for a boolean type preference.
- */
-public class BooleanFieldEditor extends FieldEditor {
-	
-	/**
-	 * Style constant (value <code>0</code>) indicating the default
-	 * layout where the field editor's check box appears to the left
-	 * of the label.
-	 */
-	public static final int DEFAULT= 0;
-
-	/**
-	 * Style constant (value <code>1</code>) indicating a layout 
-	 * where the field editor's label appears on the left
-	 * with a check box on the right.
-	 */
-	public static final int SEPARATE_LABEL= 1;
-	
-	/**
-	 * Style bits. Either <code>DEFAULT</code> or
-	 * <code>SEPARATE_LABEL</code>.
-	 */
-	private int style;
-
-	/**
-	 * The previously selected, or "before", value.
-	 */
-	private boolean wasSelected;
-
-	/**
-	 * The checkbox control, or <code>null</code> if none.
-	 */
-	private Button checkBox = null;
-/**
- * Creates a new boolean field editor 
- */
-protected BooleanFieldEditor() {
-}
-/**
- * Creates a boolean field editor in the given style.
- * 
- * @param name the name of the preference this field editor works on
- * @param labelText the label text of the field editor
- * @param style the style, either <code>DEFAULT</code> or
- *   <code>SEPARATE_LABEL</code>
- * @param parent the parent of the field editor's control
- * @see #DEFAULT
- * @see #SEPARATE_LABEL
- */
-public BooleanFieldEditor(String name, String labelText, int style, Composite parent) {
-	init(name, labelText);
-	this.style = style;
-	createControl(parent);
-}
-/**
- * Creates a boolean field editor in the default style.
- * 
- * @param name the name of the preference this field editor works on
- * @param label the label text of the field editor
- * @param parent the parent of the field editor's control
- */
-public BooleanFieldEditor(String name, String label, Composite parent) {
-	this(name, label, DEFAULT, parent);
-}
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- */
-protected void adjustForNumColumns(int numColumns) {
-	if (style == SEPARATE_LABEL) 
-		numColumns--;
-	((GridData)checkBox.getLayoutData()).horizontalSpan = numColumns;
-}
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- */
-protected void doFillIntoGrid(Composite parent, int numColumns) {
-	String text = getLabelText();
-	switch (style) {
-		case SEPARATE_LABEL :
-			getLabelControl(parent);
-			numColumns--;
-			text = null;
-		default :
-			checkBox = getChangeControl(parent);
-			GridData gd = new GridData();
-			gd.horizontalSpan = numColumns;
-			checkBox.setLayoutData(gd);
-			if (text != null)
-				checkBox.setText(text);
-	}
-}
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- * Loads the value from the preference store and sets it to
- * the check box.
- */
-protected void doLoad() {
-	if (checkBox != null) {
-		boolean value = getPreferenceStore().getBoolean(getPreferenceName());
-		checkBox.setSelection(value);
-		wasSelected = value;
-	}
-}
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- * Loads the default value from the preference store and sets it to
- * the check box.
- */
-protected void doLoadDefault() {
-	if (checkBox != null) {
-		boolean value = getPreferenceStore().getDefaultBoolean(getPreferenceName());
-		checkBox.setSelection(value);
-		wasSelected = value;
-	}
-}
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- */
-protected void doStore() {
-	getPreferenceStore().setValue(getPreferenceName(), checkBox.getSelection());
-}
-/**
- * Returns this field editor's current value.
- *
- * @return the value
- */
-public boolean getBooleanValue() {
-	return checkBox.getSelection();
-}
-/**
- * Returns the change button for this field editor.
- * @param parent The Composite to create the receiver in.
- *
- * @return the change button
- */
-protected Button getChangeControl(Composite parent) {
-	if (checkBox == null) {
-		checkBox = new Button(parent, SWT.CHECK | SWT.LEFT);
-		checkBox.setFont(parent.getFont());
-		checkBox.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				boolean isSelected = checkBox.getSelection();
-				valueChanged(wasSelected, isSelected);
-				wasSelected = isSelected;
-			}
-		});
-		checkBox.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent event) {
-				checkBox = null;
-			}
-		});
-	} else {
-		checkParent(checkBox, parent);
-	}
-	return checkBox;
-}
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- */
-public int getNumberOfControls() {
-	switch (style) {
-		case SEPARATE_LABEL :
-			return 2;
-		default :
-			return 1;
-	}
-}
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- */
-public void setFocus() {
-	if (checkBox != null) {
-		checkBox.setFocus();
-	}
-}
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- */
-public void setLabelText(String text) {
-	super.setLabelText(text);
-	Label label = getLabelControl();
-	if (label == null && checkBox != null) {
-		checkBox.setText(text);
-	}
-}
-/**
- * Informs this field editor's listener, if it has one, about a change
- * to the value (<code>VALUE</code> property) provided that the old and
- * new values are different.
- *
- * @param oldValue the old value
- * @param newValue the new value
- */
-protected void valueChanged(boolean oldValue, boolean newValue) {
-	setPresentsDefaultValue(false);
-	if (oldValue != newValue)
-		fireStateChanged(VALUE, oldValue, newValue);
-}
-
-/*
- * @see FieldEditor.setEnabled
- */
-public void setEnabled(boolean enabled, Composite parent){
-	//Only call super if there is a label already
-	if(style == SEPARATE_LABEL)
-		super.setEnabled(enabled,parent);
-	getChangeControl(parent).setEnabled(enabled);
-}
-
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/BooleanPropertyAction.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/BooleanPropertyAction.java
deleted file mode 100644
index 1fcb916..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/BooleanPropertyAction.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.preference;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-
-/**
- * The BooleanPropertyAction is an action that set the values of a 
- * boolean property in the preference store.
- */
-
-public class BooleanPropertyAction extends Action {
-
-	private IPreferenceStore preferenceStore;
-	private String property;	
-
-	/**
-	 * Create a new instance of the receiver.
-	 * @param title The displayable name of the action.
-	 * @param preferenceStore The preference store to propogate changes to
-	 * @param property The property that is being updated
-	 * @throws IllegalArgumentException. Thrown if preferenceStore or
-	 * property are <code>null</code>.
-	 */
-	public BooleanPropertyAction(String title, IPreferenceStore preferenceStore, String property)
-		throws IllegalArgumentException {
-		super(title, AS_CHECK_BOX);
-		
-		if (preferenceStore == null || property == null)
-			throw new IllegalArgumentException();
-		
-		this.preferenceStore = preferenceStore;
-		this.property = property;
-		final String finalProprety = property;
-		
-		preferenceStore.addPropertyChangeListener(new IPropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if (finalProprety.equals(event.getProperty()))
-					setChecked(Boolean.TRUE.equals(event.getNewValue())); 
-			}
-		});
-
-		setChecked(preferenceStore.getBoolean(property));		
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		preferenceStore.setValue(property, isChecked());
-	}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/ColorFieldEditor.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/ColorFieldEditor.java
deleted file mode 100644
index 616bdb3..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/ColorFieldEditor.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.preference;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * A field editor for a color type preference.
- */
-public class ColorFieldEditor extends FieldEditor {
-
-/**
- * The color selector, or <code>null</code> if none.	 
- */
-private ColorSelector colorSelector;
-
-/**
- * Creates a new color field editor 
- */
-protected ColorFieldEditor() {
-}
-/**
- * Creates a color field editor.
- * 
- * @param name the name of the preference this field editor works on
- * @param labelText the label text of the field editor
- * @param parent the parent of the field editor's control
- */
-public ColorFieldEditor(String name, String labelText, Composite parent) {
-	super(name, labelText, parent);
-}
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- */
-protected void adjustForNumColumns(int numColumns) {
-	((GridData)colorSelector.getButton().getLayoutData()).horizontalSpan = numColumns - 1;
-}
-/**
- * Computes the size of the color image displayed on the button.
- * <p>
- * This is an internal method and should not be called by clients.
- * </p>
- * @param window the window to create a GC on for calculation.
- * @return Point The image size
- * 
- */
-protected Point computeImageSize(Control window) {
-	// Make the image height as high as a corresponding character. This
-	// makes sure that the button has the same size as a "normal" text
-	// button.	
-	GC gc = new GC(window);
-	Font f = JFaceResources.getFontRegistry().get(JFaceResources.DEFAULT_FONT);
-	gc.setFont(f);
-	int height = gc.getFontMetrics().getHeight();
-	gc.dispose();
-	Point p = new Point(height * 3 - 6, height);
-	return p;
-}
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- */
-protected void doFillIntoGrid(Composite parent, int numColumns) {
-	Control control = getLabelControl(parent);
-	GridData gd = new GridData();
-	gd.horizontalSpan = numColumns - 1;
-	control.setLayoutData(gd);
-		
-	Button colorButton = getChangeControl(parent);
-	gd = new GridData();
-	gd.heightHint = convertVerticalDLUsToPixels(colorButton, IDialogConstants.BUTTON_HEIGHT);
-	int widthHint = convertHorizontalDLUsToPixels(colorButton, IDialogConstants.BUTTON_WIDTH);
-	gd.widthHint = Math.max(widthHint, colorButton.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-	colorButton.setLayoutData(gd);
-}
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- */
-protected void doLoad() {
-	if (colorSelector == null)
-		return;
-	colorSelector.setColorValue(PreferenceConverter.getColor(getPreferenceStore(), getPreferenceName()));
-}
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- */
-protected void doLoadDefault() {
-	if (colorSelector == null)
-		return;
-	colorSelector.setColorValue(PreferenceConverter.getDefaultColor(getPreferenceStore(), getPreferenceName()));
-}
-
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- */
-protected void doStore() {
-	PreferenceConverter.setValue(getPreferenceStore(), getPreferenceName(), colorSelector.getColorValue());
-}
-
-/**
- * Get the color selector used by the receiver.
- * @return ColorSelector/
- */
-public ColorSelector getColorSelector() {
-	return colorSelector;
-}
-
-/**
- * Returns the change button for this field editor.
- *
- * @param parent. The control to create the button in if required.
- * @return the change button
- */
-protected Button getChangeControl(Composite parent) {
-	if (colorSelector == null) {
-		colorSelector = new ColorSelector(parent);
-		colorSelector.addListener(new IPropertyChangeListener() {
-			// forward the property change of the color selector
-			public void propertyChange(PropertyChangeEvent event) {
-				ColorFieldEditor.this.fireValueChanged(event.getProperty(), event.getOldValue(), event.getNewValue());
-			}
-		});
-	} else {
-		checkParent(colorSelector.getButton(), parent);
-	}	
-	return colorSelector.getButton();
-}
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- */
-public int getNumberOfControls() {
-	return 2;
-}
-
-/*
- *  (non-Javadoc)
- * @see org.eclipse.jface.preference.FieldEditor#setEnabled(boolean, org.eclipse.swt.widgets.Composite)
- */
-public void setEnabled(boolean enabled, Composite parent){
-	super.setEnabled(enabled,parent);
-	getChangeControl(parent).setEnabled(enabled);
-}
-
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/ColorSelector.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/ColorSelector.java
deleted file mode 100644
index 158b3c4..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/ColorSelector.java
+++ /dev/null
@@ -1,207 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.preference;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.accessibility.AccessibleAdapter;
-import org.eclipse.swt.accessibility.AccessibleEvent;
-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.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.ColorDialog;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-/**
- * The <code>ColorSelector</code> is a wrapper for a button that displays a
- * selected <code>Color</code> and allows the user to change the selection.
- */
-public class ColorSelector {
-	/**
-	 * Property name that signifies the selected color of this
-	 * <code>ColorSelector</code> has changed.
-	 * 
-	 * @since 3.0
-	 */
-	public static final String PROP_COLORCHANGE = "colorValue"; //$NON-NLS-1$
-	private Button fButton;
-	private Color fColor;
-	private RGB fColorValue;
-	private Point fExtent;
-	private Image fImage;
-	private ListenerList listeners;
-	/**
-	 * Create a new instance of the reciever and the button that it wrappers in
-	 * the supplied parent <code>Composite</code>.
-	 * 
-	 * @param parent.
-	 *            The parent of the button.
-	 */
-	public ColorSelector(Composite parent) {
-		listeners = new ListenerList();
-		fButton = new Button(parent, SWT.PUSH);
-		fExtent = computeImageSize(parent);
-		fImage = new Image(parent.getDisplay(), fExtent.x, fExtent.y);
-		GC gc = new GC(fImage);
-		gc.setBackground(fButton.getBackground());
-		gc.fillRectangle(0, 0, fExtent.x, fExtent.y);
-		gc.dispose();
-		fButton.setImage(fImage);
-		fButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				ColorDialog colorDialog = new ColorDialog(fButton.getShell());
-				colorDialog.setRGB(fColorValue);
-				RGB newColor = colorDialog.open();
-				if (newColor != null) {
-					RGB oldValue = fColorValue;
-					fColorValue = newColor;
-					final Object[] finalListeners = ColorSelector.this.listeners
-							.getListeners();
-					if (finalListeners.length > 0) {
-						PropertyChangeEvent pEvent = new PropertyChangeEvent(
-								this, PROP_COLORCHANGE, oldValue, newColor);
-						for (int i = 0; i < finalListeners.length; ++i) {
-							IPropertyChangeListener listener = (IPropertyChangeListener) finalListeners[i];
-							listener.propertyChange(pEvent);
-						}
-					}
-					updateColorImage();
-				}
-			}
-		});
-		fButton.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent event) {
-				if (fImage != null) {
-					fImage.dispose();
-					fImage = null;
-				}
-				if (fColor != null) {
-					fColor.dispose();
-					fColor = null;
-				}
-			}
-		});
-		fButton.getAccessible().addAccessibleListener(new AccessibleAdapter() {
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.swt.accessibility.AccessibleAdapter#getName(org.eclipse.swt.accessibility.AccessibleEvent)
-			 */
-			public void getName(AccessibleEvent e) {
-				e.result = JFaceResources.getString("ColorSelector.Name"); //$NON-NLS-1$
-			}
-		});
-	}
-	/**
-	 * Adds a property change listener to this <code>ColorSelector</code>.
-	 * Events are fired when the color in the control changes via the user
-	 * clicking an selecting a new one in the color dialog. No event is fired in
-	 * the case where <code>setColorValue(RGB)</code> is invoked.
-	 * 
-	 * @param listener
-	 *            a property change listener
-	 * @since 3.0
-	 */
-	public void addListener(IPropertyChangeListener listener) {
-		listeners.add(listener);
-	}
-	/**
-	 * Compute the size of the image to be displayed.
-	 * 
-	 * @param window -
-	 *            the window used to calculate
-	 * @return <code>Point</code>
-	 */
-	private Point computeImageSize(Control window) {
-		GC gc = new GC(window);
-		Font f = JFaceResources.getFontRegistry().get(
-				JFaceResources.DEFAULT_FONT);
-		gc.setFont(f);
-		int height = gc.getFontMetrics().getHeight();
-		gc.dispose();
-		Point p = new Point(height * 3 - 6, height);
-		return p;
-	}
-	/**
-	 * Get the button control being wrappered by the selector.
-	 * 
-	 * @return <code>Button</code>
-	 */
-	public Button getButton() {
-		return fButton;
-	}
-	/**
-	 * Return the currently displayed color.
-	 * 
-	 * @return <code>RGB</code>
-	 */
-	public RGB getColorValue() {
-		return fColorValue;
-	}
-	/**
-	 * Removes the given listener from this <code>ColorSelector</code>. Has
-	 * no affect if the listener is not registered.
-	 * 
-	 * @param listener
-	 *            a property change listener
-	 * @since 3.0
-	 */
-	public void removeListener(IPropertyChangeListener listener) {
-		listeners.remove(listener);
-	}
-	/**
-	 * Set the current color value and update the control.
-	 * 
-	 * @param rgb.
-	 *            The new color.
-	 */
-	public void setColorValue(RGB rgb) {
-		fColorValue = rgb;
-		updateColorImage();
-	}
-	/**
-	 * Set whether or not the button is enabled.
-	 * 
-	 * @param state
-	 *            the enabled state.
-	 */
-	public void setEnabled(boolean state) {
-		getButton().setEnabled(state);
-	}
-	/**
-	 * Update the image being displayed on the button using the current color
-	 * setting.
-	 */
-	protected void updateColorImage() {
-		Display display = fButton.getDisplay();
-		GC gc = new GC(fImage);
-		gc.setForeground(display.getSystemColor(SWT.COLOR_BLACK));
-		gc.drawRectangle(0, 2, fExtent.x - 1, fExtent.y - 4);
-		if (fColor != null)
-			fColor.dispose();
-		fColor = new Color(display, fColorValue);
-		gc.setBackground(fColor);
-		gc.fillRectangle(1, 3, fExtent.x - 2, fExtent.y - 5);
-		gc.dispose();
-		fButton.setImage(fImage);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/DirectoryFieldEditor.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/DirectoryFieldEditor.java
deleted file mode 100644
index d00066c..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/DirectoryFieldEditor.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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.preference;
-
-import java.io.File;
-
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.DirectoryDialog;
-
-/**
- * A field editor for a directory path type preference. A standard directory
- * dialog appears when the user presses the change button.
- */
-public class DirectoryFieldEditor extends StringButtonFieldEditor {
-/**
- * Creates a new directory field editor 
- */
-protected DirectoryFieldEditor() {
-}
-/**
- * Creates a directory field editor.
- * 
- * @param name the name of the preference this field editor works on
- * @param labelText the label text of the field editor
- * @param parent the parent of the field editor's control
- */
-public DirectoryFieldEditor(String name, String labelText, Composite parent) {
-	init(name, labelText);
-	setErrorMessage(JFaceResources.getString("DirectoryFieldEditor.errorMessage"));//$NON-NLS-1$
-	setChangeButtonText(JFaceResources.getString("openBrowse"));//$NON-NLS-1$
-	setValidateStrategy(VALIDATE_ON_FOCUS_LOST);
-	createControl(parent);
-}
-/* (non-Javadoc)
- * Method declared on StringButtonFieldEditor.
- * Opens the directory chooser dialog and returns the selected directory.
- */
-protected String changePressed() {
-	File f = new File(getTextControl().getText());
-	if (!f.exists())
-		f = null;
-	File d = getDirectory(f);
-	if (d == null)
-		return null;
-
-	return d.getAbsolutePath();
-}
-/* (non-Javadoc)
- * Method declared on StringFieldEditor.
- * Checks whether the text input field contains a valid directory.
- */
-protected boolean doCheckState() {
-	String fileName = getTextControl().getText();
-	fileName = fileName.trim();
-	if (fileName.length() == 0 && isEmptyStringAllowed())
-		return true;
-	File file = new File(fileName);
-	return file.isDirectory();
-}
-/**
- * Helper that opens the directory chooser dialog.
- * @param startingDirectory The directory the dialog will open in.
- * @return File File or <code>null</code>.
- * 
- */
-private File getDirectory(File startingDirectory) {
-
-	DirectoryDialog fileDialog = new DirectoryDialog(getShell(), SWT.OPEN);
-	if (startingDirectory != null)
-		fileDialog.setFilterPath(startingDirectory.getPath());
-	String dir = fileDialog.open();
-	if (dir != null) {
-		dir = dir.trim();
-		if (dir.length() > 0)
-			return new File(dir);
-	}
-
-	return null;
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/FieldEditor.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/FieldEditor.java
deleted file mode 100644
index 1b54a66..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/FieldEditor.java
+++ /dev/null
@@ -1,623 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.preference;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.util.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-
-/**
- * Abstract base class for all field editors.
- * <p>
- * A field editor presents the value of a preference to the end 
- * user. The value is loaded from a preference store; if
- * modified by the end user, the value is validated and eventually
- * stored back to the preference store. A field editor reports
- * an event when the value, or the validity of the value, changes.
- * </p>
- * <p>
- * Field editors should be used in conjunction with a field 
- * editor preference page (<code>FieldEditorPreferencePage</code>)
- * which coordinates everything and provides the message line
- * which display messages emanating from the editor.
- * </p>
- * <p>
- * This package contains ready-to-use field editors for various
- * types of preferences:
- * <ul>
- *   <li><code>BooleanFieldEditor</code> - booleans</li>
- *   <li><code>IntegerFieldEditor</code> - integers</li>
- *   <li><code>StringFieldEditor</code> - text strings</li>
- *   <li><code>RadioGroupFieldEditor</code> - enumerations</li>
- *   <li><code>ColorFieldEditor</code> - RGB colors</li>
- *   <li><code>FontFieldEditor</code> - fonts</li>
- *   <li><code>DirectoryFieldEditor</code> - directories</li>
- *   <li><code>FileFieldEditor</code> - files</li>
- *   <li><code>PathEditor</code> - paths</li>
- * </ul>
- * </p>
- */
-public abstract class FieldEditor {
-
-	/**
-	 * Property name constant (value <code>"field_editor_is_valid"</code>)
-	 * to signal a change in the validity of the value of this field editor.
-	 */
-	public static final String IS_VALID = "field_editor_is_valid";//$NON-NLS-1$
-
-	/**
-	 * Property name constant (value <code>"field_editor_value"</code>)
-	 * to signal a change in the value of this field editor.
-	 */
-	public static final String VALUE = "field_editor_value";//$NON-NLS-1$
-
-	/** 
-	 * Gap between label and control.
-	 */
-	protected static final int HORIZONTAL_GAP = 8;
-
-	/**
-	 * The preference store, or <code>null</code> if none.
-	 */
-	private IPreferenceStore preferenceStore = null;
-
-	/**
-	 * The name of the preference displayed in this field editor.
-	 */
-	private String preferenceName;
-
-	/**
-	 * Indicates whether the default value is currently displayed,
-	 * initially <code>false</code>.
-	 */
-	private boolean isDefaultPresented = false;
-
-	/**
-	 * The label's text.
-	 */
-	private String labelText;
-
-	/**
-	 * The label control.
-	 */
-	private Label label;
-
-	/**
-	 * Listener, or <code>null</code> if none
-	 */
-	private IPropertyChangeListener propertyChangeListener;
-
-	/** 
-	 * The page containing this field editor
-	 */
-	private PreferencePage page;
-/**
- * Creates a new field editor.
- */
-protected FieldEditor() {
-}
-/**
- * Creates a new field editor.
- * 
- * @param name the name of the preference this field editor works on
- * @param labelText the label text of the field editor
- * @param parent the parent of the field editor's control
- */
-protected FieldEditor(String name, String labelText, Composite parent) {
-	init(name, labelText);
-	createControl(parent);
-}
-/**
- * Adjusts the horizontal span of this field editor's basic controls.
- * <p>
- * Subclasses must implement this method to adjust the horizontal span 
- * of controls so they appear correct in the given number of columns.
- * </p>
- * <p>
- * The number of columns will always be equal to or greater than the 
- * value returned by this editor's <code>getNumberOfControls</code> method.
- *
- * @param numColumns the number of columns
- */
-protected abstract void adjustForNumColumns(int numColumns);
-/**
- * Applies a font.
- * <p>
- * The default implementation of this framework method
- * does nothing. Subclasses should override this method
- * if they want to change the font of the SWT control to
- * a value different than the standard dialog font.
- * </p>
- */
-protected void applyFont() {
-}
-/**
- * Checks if the given parent is the current parent of the
- * supplied control; throws an (unchecked) exception if they
- * are not correctly related.
- *
- * @param control the control
- * @param parent the parent control
- */
-protected void checkParent(Control control, Composite parent) {
-	Assert.isTrue(control.getParent() == parent, "Different parents");//$NON-NLS-1$
-}
-/**
- * Clears the error message from the message line.
- */
-protected void clearErrorMessage() {
-	if (page != null) 
-		page.setErrorMessage(null);
-}
-/**
- * Clears the normal message from the message line.
- */
-protected void clearMessage() {
-	if (page != null) 
-		page.setMessage(null);
-}
-/**
- * Returns the number of pixels corresponding to the
- * given number of horizontal dialog units.
- * <p>
- * Clients may call this framework method, but should not override it.
- * </p>
- *
- * @param control the control being sized
- * @param dlus the number of horizontal dialog units
- * @return the number of pixels
- */
-protected int convertHorizontalDLUsToPixels(Control control, int dlus) {
-	GC gc= new GC(control);
-	gc.setFont(control.getFont());
-	int averageWidth= gc.getFontMetrics().getAverageCharWidth();
-	gc.dispose();
-
-	double horizontalDialogUnitSize = averageWidth * 0.25;
-
-	return (int)Math.round(dlus * horizontalDialogUnitSize);
-}
-/**
- * Returns the number of pixels corresponding to the
- * given number of vertical dialog units.
- * <p>
- * Clients may call this framework method, but should not override it.
- * </p>
- *
- * @param control the control being sized
- * @param dlus the number of vertical dialog units
- * @return the number of pixels
- */
-protected int convertVerticalDLUsToPixels(Control control, int dlus) {
-	GC gc= new GC(control);
-	gc.setFont(control.getFont());
-	int height = gc.getFontMetrics().getHeight();
-	gc.dispose();
-
-	double verticalDialogUnitSize = height * 0.125;
-	
-	return (int)Math.round(dlus * verticalDialogUnitSize);
-}
-/**
- * Creates this field editor's main control containing all of its
- * basic controls.
- *
- * @param parent the parent control
- */
-protected void createControl(Composite parent) {
-	GridLayout layout = new GridLayout();
-	layout.numColumns = getNumberOfControls();
-	layout.marginWidth = 0;
-	layout.marginHeight = 0;
-	layout.horizontalSpacing = HORIZONTAL_GAP;
-	parent.setLayout(layout);
-	doFillIntoGrid(parent, layout.numColumns);
-}
-/**
- * Disposes the SWT resources used by this field editor.
- */
-public void dispose() {
-	// nothing to dispose
-}
-/**
- * Fills this field editor's basic controls into the given parent.
- * <p>
- * Subclasses must implement this method to create the controls
- * for this field editor.
- * </p>
- *
- * @param parent the composite used as a parent for the basic controls;
- *	the parent's layout must be a <code>GridLayout</code>
- * @param numColumns the number of columns
- */
-protected abstract void doFillIntoGrid(Composite parent, int numColumns);
-/**
- * Initializes this field editor with the preference value from
- * the preference store.
- * <p>
- * Subclasses must implement this method to properly initialize 
- * the field editor.
- * </p>
- */
-protected abstract void doLoad();
-/**
- * Initializes this field editor with the default preference value from
- * the preference store.
- * <p>
- * Subclasses must implement this method to properly initialize 
- * the field editor.
- * </p>
- */
-protected abstract void doLoadDefault();
-/**
- * Stores the preference value from this field editor into
- * the preference store.
- * <p>
- * Subclasses must implement this method to save the entered value
- * into the preference store.
- * </p>
- */
-protected abstract void doStore();
-/**
- * Fills this field editor's basic controls into the given parent. 
- *
- * @param parent the composite used as a parent for the basic controls;
- *	the parent's layout must be a <code>GridLayout</code>
- * @param numColumns the number of columns
- */
-public void fillIntoGrid(Composite parent, int numColumns) {
-	Assert.isTrue(numColumns >= getNumberOfControls());
-	Assert.isTrue(parent.getLayout() instanceof GridLayout);
-	doFillIntoGrid(parent, numColumns);
-}
-/**
- * Informs this field editor's listener, if it has one, about a change to
- * one of this field editor's boolean-valued properties. Does nothing
- * if the old and new values are the same.
- *
- * @param property the field editor property name, 
- *   such as <code>VALUE</code> or <code>IS_VALID</code>
- * @param oldValue the old value
- * @param newValue the new value
- */
-protected void fireStateChanged(String property, boolean oldValue, boolean newValue) {
-	if (oldValue == newValue)
-		return;
-	fireValueChanged(property, new Boolean(oldValue), new Boolean(newValue));
-}
-/**
- * Informs this field editor's listener, if it has one, about a change to
- * one of this field editor's properties.
- *
- * @param property the field editor property name, 
- *   such as <code>VALUE</code> or <code>IS_VALID</code>
- * @param oldValue the old value object, or <code>null</code>
- * @param newValue the new value, or <code>null</code>
- */
-protected void fireValueChanged(String property, Object oldValue, Object newValue) {
-	if (propertyChangeListener == null)
-		return;
-	propertyChangeListener.propertyChange(new PropertyChangeEvent(this, property, oldValue, newValue));
-}
-/**
- * Returns the symbolic font name used by this field editor.
- *
- * @return the symbolic font name
- */
-public String getFieldEditorFontName() {
-	return JFaceResources.DIALOG_FONT;
-}
-/**
- * Returns the label control. 
- *
- * @return the label control, or <code>null</code>
- *  if no label control has been created
- */
-protected Label getLabelControl() {
-	return label;
-}
-/**
- * Returns this field editor's label component.
- * <p>
- * The label is created if it does not already exist
- * </p>
- *
- * @param parent the parent
- * @return the label control
- */
-public Label getLabelControl(Composite parent) {
-	if (label == null) {
-		label = new Label(parent, SWT.LEFT);
-		label.setFont(parent.getFont());
-		String text = getLabelText();
-		if (text != null)
-			label.setText(text);
-		label.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent event) {
-				label = null;
-			}
-		});
-	} else {
-		checkParent(label, parent);
-	}
-	return label;
-}
-/**
- * Returns this field editor's label text.
- *
- * @return the label text
- */
-public String getLabelText() {
-	return labelText;
-}
-/**
- * Returns the number of basic controls this field editor consists of.
- *
- * @return the number of controls
- */
-public abstract int getNumberOfControls();
-/**
- * Returns the name of the preference this field editor operates on.
- *
- * @return the name of the preference
- */
-public String getPreferenceName() {
-	return preferenceName;
-}
-/**
- * Returns the preference page in which this field editor
- * appears.
- *
- * @return the preference page, or <code>null</code> if none
- */
-protected PreferencePage getPreferencePage() {
-	return page;
-}
-/**
- * Returns the preference store used by this field editor.
- *
- * @return the preference store, or <code>null</code> if none
- * @see #setPreferenceStore
- */
-public IPreferenceStore getPreferenceStore() {
-	return preferenceStore;
-}
-/**
- * Initialize the field editor with the given preference name and label.
- * 
- * @param name the name of the preference this field editor works on
- * @param text the label text of the field editor
- */
-protected void init(String name, String text) {
-	Assert.isNotNull(name);
-	Assert.isNotNull(text);
-	preferenceName = name;
-	this.labelText = text;
-}
-/**
- * Returns whether this field editor contains a valid value.
- * <p>
- * The default implementation of this framework method
- * returns <code>true</code>. Subclasses wishing to perform
- * validation should override both this method and
- * <code>refreshValidState</code>.
- * </p>
- * 
- * @return <code>true</code> if the field value is valid,
- *   and <code>false</code> if invalid
- * @see #refreshValidState
- */
-public boolean isValid() {
-	return true;
-}
-/**
- * Initializes this field editor with the preference value from
- * the preference store.
- */
-public void load() {
-	if (preferenceStore != null) {
-		isDefaultPresented = false;
-		doLoad();
-		refreshValidState();
-	}
-}
-/**
- * Initializes this field editor with the default preference value
- * from the preference store.
- */
-public void loadDefault() {
-	if (preferenceStore != null) {
-		isDefaultPresented = true;
-		doLoadDefault();
-		refreshValidState();
-	}
-}
-/**
- * Returns whether this field editor currently presents the
- * default value for its preference.
- * 
- * @return <code>true</code> if the default value is presented,
- *   and <code>false</code> otherwise
- */
-public boolean presentsDefaultValue() {
-	return isDefaultPresented;
-}
-/**
- * Refreshes this field editor's valid state after a value change
- * and fires an <code>IS_VALID</code> property change event if
- * warranted.
- * <p>
- * The default implementation of this framework method does
- * nothing. Subclasses wishing to perform validation should override
- * both this method and <code>isValid</code>.
- * </p>
- *
- * @see #isValid
- */
-protected void refreshValidState() {
-}
-/**
- * Sets the focus to this field editor.
- * <p>
- * The default implementation of this framework method
- * does nothing. Subclasses may reimplement.
- * </p>
- */
-public void setFocus() {
-	// do nothing;
-}
-/**
- * Sets this field editor's label text.
- * The label is typically presented to the left of the entry field.
- *
- * @param text the label text
- */
-public void setLabelText(String text) {
-	Assert.isNotNull(text);
-	labelText = text;
-	if (label != null)
-		label.setText(text);
-}
-/**
- * Sets the name of the preference this field editor operates on.
- * <p>
- * The ability to change this allows the same field editor object
- * to be reused for different preferences.
- * </p>
- * <p>
- * For example: <p>
- * <pre>
- * 	...
- *  editor.setPreferenceName("font");
- * 	editor.load();
- * </pre>
- * </p>
- *
- * @param name the name of the preference
- */
-public void setPreferenceName(String name) {
-	preferenceName = name;
-}
-/**
- * Sets the preference page in which this field editor
- * appears.
- *
- * @param preferencePage the preference page, or <code>null</code> if none
- */
-public void setPreferencePage(PreferencePage preferencePage) {
-	page = preferencePage;
-}
-/**
- * Sets the preference store used by this field editor.
- *
- * @param store the preference store, or <code>null</code> if none
- * @see #getPreferenceStore
- */
-public void setPreferenceStore(IPreferenceStore store) {
-	preferenceStore = store;
-}
-/**
- * Sets whether this field editor is presenting the default value.
- *
- * @param booleanValue <code>true</code> if the default value is being presented,
- *  and <code>false</code> otherwise
- */
-protected void setPresentsDefaultValue(boolean booleanValue) {
-	isDefaultPresented = booleanValue;
-}
-/**
- * Sets or removes the property change listener for this field editor.
- * <p>
- * Note that field editors can support only a single listener.
- * </p>
- *
- * @param listener a property change listener, or <code>null</code>
- *  to remove
- */
-public void setPropertyChangeListener(IPropertyChangeListener listener) {
-	propertyChangeListener = listener;
-}
-/**
- * Shows the given error message in the page for this
- * field editor if it has one.
- *
- * @param msg the error message
- */
-protected void showErrorMessage(String msg) {
-	if (page != null) 
-		page.setErrorMessage(msg);
-}
-/**
- * Shows the given message in the page for this
- * field editor if it has one.
- *
- * @param msg the message
- */
-protected void showMessage(String msg) {
-	if (page != null) 
-		page.setErrorMessage(msg);
-}
-/**
- * Stores this field editor's value back into the preference store.
- */
-public void store() {
-	if (preferenceStore == null)
-		return;
-
-	if (isDefaultPresented) {
-		preferenceStore.setToDefault(preferenceName);
-	} else {
-		doStore();
-	}
-}
-
-/**
- * Set the GridData on button to be one that is spaced for the
- * current font.
- * @param button the button the data is being set on.
- */
-
-protected void setButtonLayoutData(Button button) {
-	
-	GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-	
-	// Compute and store a font metric
-	GC gc = new GC(button);
-	gc.setFont(button.getFont());
-	FontMetrics fontMetrics = gc.getFontMetrics();
-	gc.dispose();
-	
-	data.heightHint =  org.eclipse.jface.dialogs.Dialog.convertHorizontalDLUsToPixels(fontMetrics,IDialogConstants.BUTTON_HEIGHT);
-	int widthHint = org.eclipse.jface.dialogs.Dialog.convertVerticalDLUsToPixels(fontMetrics,IDialogConstants.BUTTON_WIDTH);
-	data.widthHint = Math.max(widthHint, button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-	button.setLayoutData(data);
-}
-
-/**
- * Set whether or not the controls in the field editor
- * are enabled.
- * @param enabled. The enabled state.
- * @param parent. The parent of the controls in the group.
- *  Used to create the controls if required.
- */
-public void setEnabled(boolean enabled, Composite parent){
-	getLabelControl(parent).setEnabled(enabled);
-}
-
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/FieldEditorPreferencePage.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/FieldEditorPreferencePage.java
deleted file mode 100644
index b44747c..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/FieldEditorPreferencePage.java
+++ /dev/null
@@ -1,346 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.preference;
-
-import java.util.*;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-/**
- * A special abstract preference page to host field editors.
- * <p>
- * Subclasses must implement the <code>createFieldEditors</code> method
- * and should override <code>createLayout</code> if a special layout of the field
- * editors is needed.
- * </p>
- */
-public abstract class FieldEditorPreferencePage extends PreferencePage implements IPropertyChangeListener {
-	
-	/**
-	 * Layout constant (value <code>0</code>) indicating that
-	 * each field editor is handled as a single component.
-	 */
-	public static final int FLAT = 0;
-	
-	/**
-	 * Layout constant (value <code>1</code>) indicating that
-	 * the field editors' basic controls are put into a grid layout.
-	 */
-	public static final int GRID = 1;
-	
-	/** 
-	 * The vertical spacing used by layout styles <code>FLAT</code> 
-	 * and <code>GRID</code>.
-	 */
-	protected static final int VERTICAL_SPACING = 10;
-	
-	/** 
-	 * The margin width used by layout styles <code>FLAT</code> 
-	 * and <code>GRID</code>.
-	 */
-	protected static final int MARGIN_WIDTH = 0;
-	
-	/** 
-	 * The margin height used by layout styles <code>FLAT</code> 
-	 * and <code>GRID</code>.
-	 */
-	protected static final int MARGIN_HEIGHT = 0;
-		
-	/**
-	 * The field editors, or <code>null</code> if not created yet.
-	 */
-	private List fields = null;
-	
-	/**
-	 * The layout style; either <code>FLAT</code> or <code>GRID</code>.
-	 */
-	private int style;
-
-	/** 
-	 * The first invalid field editor, or <code>null</code>
-	 * if all field editors are valid.
-	 */
-	private FieldEditor invalidFieldEditor = null;
-
-	/**
-	 * The parent composite for field editors
-	 */
-	private Composite fieldEditorParent; 
-/**
- * Creates a new field editor preference page with the given style,
- * an empty title, and no image.
- *
- * @param style either <code>GRID</code> or <code>FLAT</code>
- */
-protected FieldEditorPreferencePage(int style) {
-	super();
-	this.style = style;
-}
-/**
- * Creates a new field editor preference page with the given title 
- * and style, but no image.
- *
- * @param title the title of this preference page
- * @param style either <code>GRID</code> or <code>FLAT</code>
- */
-protected FieldEditorPreferencePage(String title, int style) {
-	super(title);
-	this.style = style;
-}
-/**
- * Creates a new field editor preference page with the given title,
- * image, and style.
- *
- * @param title the title of this preference page
- * @param image the image for this preference page, or 
- *   <code>null</code> if none
- * @param style either <code>GRID</code> or <code>FLAT</code>
- */
-protected FieldEditorPreferencePage(String title, ImageDescriptor image, int style) {
-	super(title, image);
-	this.style = style;
-}
-/**
- * Adds the given field editor to this page.
- *
- * @param editor the field editor
- */
-protected void addField(FieldEditor editor) {
-	if (fields == null)
-		fields = new ArrayList();
-	fields.add(editor);
-}
-/**
- * Adjust the layout of the field editors so that
- * they are properly aligned.
- */
-protected void adjustGridLayout() {
-	int numColumns = calcNumberOfColumns();
-	((GridLayout)fieldEditorParent.getLayout()).numColumns = numColumns;
-	if (fields != null) {
-		for (int i = 0; i < fields.size(); i++){
-			FieldEditor fieldEditor = (FieldEditor)fields.get(i);
-			fieldEditor.adjustForNumColumns(numColumns);
-		}
-	}
-}
-/**
- * Applys the font to the field editors managed by this page.
- */
-protected void applyFont() {
-	if (fields != null) {
-		Iterator e = fields.iterator();
-		while (e.hasNext()) {
-			FieldEditor pe = (FieldEditor) e.next();
-			pe.applyFont();
-		}
-	}
-}
-/**
- * Calculates the number of columns needed to host all field editors.
- *
- * @return the number of columns
- */
-private int calcNumberOfColumns() {
-	int result = 0;
-	if (fields != null) {
-		Iterator e = fields.iterator();
-		while (e.hasNext()) {
-			FieldEditor pe = (FieldEditor) e.next();
-			result = Math.max(result, pe.getNumberOfControls());
-		}
-	}
-	return result;
-}
-/**
- * Recomputes the page's error state by calling <code>isValid</code> for
- * every field editor.
- */
-protected void checkState() {
-	boolean valid = true;
-	invalidFieldEditor = null;
-	// The state can only be set to true if all
-	// field editors contain a valid value. So we must check them all
-	if (fields != null) {
-		int size = fields.size();
-		for (int i = 0; i < size; i++) {
-			FieldEditor editor = (FieldEditor) fields.get(i);
-			valid = valid && editor.isValid();
-			if (!valid) {
-				invalidFieldEditor = editor;
-				break;
-			}
-		}
-	}
-	setValid(valid);
-}
-/* (non-Javadoc)
- * Method declared on PreferencePage.
- */
-protected Control createContents(Composite parent) {
-	fieldEditorParent = new Composite(parent, SWT.NULL);
-	GridLayout layout = new GridLayout();
-	layout.numColumns = 1; 
-	layout.marginHeight = 0; 
-	layout.marginWidth = 0;
-	fieldEditorParent.setLayout(layout);
-	fieldEditorParent.setFont(parent.getFont());
-
-	createFieldEditors();
-
-	if (style == GRID)
-		adjustGridLayout();
-	
-	initialize();
-	checkState();
-	return fieldEditorParent;
-}
-/**
- * Creates the page's field editors.
- * <p>
- * The default implementation of this framework method
- * does nothing. Subclass must implement this method to
- * create the field editors.
- * </p>
- * <p>
- * Subclasses should call <code>getFieldEditorParent</code>
- * to obtain the parent control for each field editor.
- * This same parent should not be used for more than
- * one editor as the parent may change for each field
- * editor depending on the layout style of the page
- * </p>
- */
-protected abstract void createFieldEditors();
-/**	
- * The field editor preference page implementation of an <code>IDialogPage</code>
- * method disposes of this page's controls and images.
- * Subclasses may override to release their own allocated SWT
- * resources, but must call <code>super.dispose</code>.
- */
-public void dispose() {
-	super.dispose();
-	if (fields != null) {
-		Iterator e = fields.iterator();
-		while (e.hasNext()) {
-			FieldEditor pe = (FieldEditor) e.next();
-			pe.setPreferencePage(null);
-			pe.setPropertyChangeListener(null);
-			pe.setPreferenceStore(null);
-		}
-	}
-}
-/**
- * Returns a parent composite for a field editor.
- * <p>
- * This value must not be cached since a new parent
- * may be created each time this method called. Thus
- * this method must be called each time a field editor
- * is constructed.
- * </p>
- *
- * @return a parent
- */
-protected Composite getFieldEditorParent() {
-	if (style == FLAT) {
-		// Create a new parent for each field editor
-		Composite parent = new Composite(fieldEditorParent, SWT.NULL);
-		parent.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		return parent;
-	} else {
-		// Just return the parent
-		return fieldEditorParent;
-	}
-}
-/**
- * Initializes all field editors.
- */
-protected void initialize() {
-	if (fields != null) {
-		Iterator e = fields.iterator();
-		while (e.hasNext()) {
-			FieldEditor pe = (FieldEditor) e.next();
-			pe.setPreferencePage(this);
-			pe.setPropertyChangeListener(this);
-			pe.setPreferenceStore(getPreferenceStore());
-			pe.load();
-		}
-	}
-}
-/**	
- * The field editor preference page implementation of a <code>PreferencePage</code>
- * method loads all the field editors with their default values.
- */
-protected void performDefaults() {
-	if (fields != null) {
-		Iterator e = fields.iterator();
-		while (e.hasNext()) {
-			FieldEditor pe = (FieldEditor) e.next();
-			pe.loadDefault();
-		}
-	}
-	// Force a recalculation of my error state.
-	checkState();
-	super.performDefaults();
-}
-/** 
- * The field editor preference page implementation of this 
- * <code>PreferencePage</code> method saves all field editors by
- * calling <code>FieldEditor.store</code>. Note that this method
- * does not save the preference store itself; it just stores the
- * values back into the preference store.
- *
- * @see FieldEditor#store()
- */
-public boolean performOk() {
-	if (fields != null) {
-		Iterator e = fields.iterator();
-		while (e.hasNext()) {
-			FieldEditor pe = (FieldEditor) e.next();
-			pe.store();
-		}
-	}
-	return true;
-}
-/**
- * The field editor preference page implementation of this <code>IPreferencePage</code>
- * (and <code>IPropertyChangeListener</code>) method intercepts <code>IS_VALID</code> 
- * events but passes other events on to its superclass.
- */
-public void propertyChange(PropertyChangeEvent event) {
-
-	if (event.getProperty().equals(FieldEditor.IS_VALID)) {
-		boolean newValue = ((Boolean) event.getNewValue()).booleanValue();
-		// If the new value is true then we must check all field editors.
-		// If it is false, then the page is invalid in any case.
-		if (newValue) {
-			checkState();
-		} else {
-			invalidFieldEditor = (FieldEditor) event.getSource();
-			setValid(newValue);
-		}
-	}
-}
-/* (non-Javadoc)
- * Method declared on IDialog.
- */
-public void setVisible(boolean visible) {
-	super.setVisible(visible);
-	if (visible && invalidFieldEditor != null) {
-		invalidFieldEditor.setFocus();
-	}
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/FileFieldEditor.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/FileFieldEditor.java
deleted file mode 100644
index c578456..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/FileFieldEditor.java
+++ /dev/null
@@ -1,149 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.preference;
-
-import java.io.File;
-
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.FileDialog;
-
-/**
- * A field editor for a file path type preference. A standard file 
- * dialog appears when the user presses the change button.
- */
-public class FileFieldEditor extends StringButtonFieldEditor {
-
-	/**
-	 * List of legal file extension suffixes, or <code>null</code>
-	 * for system defaults.
-	 */
-	private String[] extensions = null;
-
-	/**
-	 * Indicates whether the path must be absolute;
-	 * <code>false</code> by default.
-	 */
-	private boolean enforceAbsolute = false;
-/**
- * Creates a new file field editor 
- */
-protected FileFieldEditor() {
-}
-/**
- * Creates a file field editor.
- * 
- * @param name the name of the preference this field editor works on
- * @param labelText the label text of the field editor
- * @param parent the parent of the field editor's control
- */
-public FileFieldEditor(String name, String labelText, Composite parent) {
-	this(name, labelText, false, parent);
-}
-/**
- * Creates a file field editor.
- * 
- * @param name the name of the preference this field editor works on
- * @param labelText the label text of the field editor
- * @param enforceAbsolute <code>true</code> if the file path
- *  must be absolute, and <code>false</code> otherwise
- * @param parent the parent of the field editor's control
- */
-public FileFieldEditor(String name, String labelText, boolean enforceAbsolute, Composite parent) {
-	init(name, labelText);
-	this.enforceAbsolute = enforceAbsolute;
-	setErrorMessage(JFaceResources.getString("FileFieldEditor.errorMessage"));//$NON-NLS-1$
-	setChangeButtonText(JFaceResources.getString("openBrowse"));//$NON-NLS-1$
-	setValidateStrategy(VALIDATE_ON_FOCUS_LOST);
-	createControl(parent);
-}
-/* (non-Javadoc)
- * Method declared on StringButtonFieldEditor.
- * Opens the file chooser dialog and returns the selected file.
- */
-protected String changePressed() {
-	File f = new File(getTextControl().getText());
-	if (!f.exists())
-		f = null;
-	File d = getFile(f);
-	if (d == null)
-		return null;
-
-	return d.getAbsolutePath();
-}
-/* (non-Javadoc)
- * Method declared on StringFieldEditor.
- * Checks whether the text input field specifies an existing file.
- */
-protected boolean checkState() {
-
-	String msg = null;
-
-	String path = getTextControl().getText();
-	if (path != null)
-		path = path.trim();
-	else
-		path = "";//$NON-NLS-1$
-	if (path.length() == 0) {
-		if (!isEmptyStringAllowed())
-			msg = getErrorMessage();
-	} else {
-		File file = new File(path);
-		if (file.isFile()) {
-			if (enforceAbsolute && !file.isAbsolute())
-				msg = JFaceResources.getString("FileFieldEditor.errorMessage2");//$NON-NLS-1$
-		} else {
-			msg = getErrorMessage();
-		}
-	}
-
-	if (msg != null) { // error
-		showErrorMessage(msg);
-		return false;
-	}
-
-	// OK!
-	clearErrorMessage();
-	return true;
-}
-/**
- * Helper to open the file chooser dialog.
- * @param startingDirectory the directory to open the dialog on.
- * @return File The File the user selected or <code>null</code> if they
- * do not.
- */
-private File getFile(File startingDirectory) {
-
-	FileDialog dialog = new FileDialog(getShell(), SWT.OPEN);
-	if (startingDirectory != null)
-		dialog.setFileName(startingDirectory.getPath());
-	if (extensions != null)
-		dialog.setFilterExtensions(extensions);
-	String file = dialog.open();
-	if (file != null) {
-		file = file.trim();
-		if (file.length() > 0)
-			return new File(file);
-	}
-
-	return null;
-}
-/**
- * Sets this file field editor's file extension filter.
- *
- * @param extensions a list of file extension, or <code>null</code> 
- * to set the filter to the system's default value
- */
-public void setFileExtensions(String[] extensions) {
-	this.extensions = extensions;
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/FontFieldEditor.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/FontFieldEditor.java
deleted file mode 100644
index f8202f2..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/FontFieldEditor.java
+++ /dev/null
@@ -1,400 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.preference;
-
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.resource.StringConverter;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.*;
-
-/**
- * A field editor for a font type preference.
- */
-public class FontFieldEditor extends FieldEditor {
-
-	/**
-	 * The change font button, or <code>null</code> if none
-	 * (before creation and after disposal).
-	 */
-	private Button changeFontButton = null;
-
-	/**
-	 * The text for the change font button, or <code>null</code>
-	 * if missing.
-	 */
-	private String changeButtonText;
-
-	/**
-	 * The text for the preview, or <code>null</code> if no preview is desired
-	 */
-	private String previewText;
-
-	/**
-	 * Font data for the chosen font button, or <code>null</code> if none.
-	 */
-	private FontData[] chosenFont;
-
-	/**
-	 * 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;
-
-	/**
-	 * Internal font previewer implementation.
-	 */
-	private static class DefaultPreviewer {
-		private Text text;
-		private String string;
-		private Font font;
-		
-		/**
-		 * Constructor for the previewer.
-		 * @param s
-		 * @param parent
-		 */
-		public DefaultPreviewer(String s, Composite parent) {
-			string = s;
-			text = new Text(parent, SWT.READ_ONLY | SWT.BORDER);
-			text.addDisposeListener(new DisposeListener() {
-				public void widgetDisposed(DisposeEvent e) {
-					if (font != null)
-						font.dispose();
-				}
-			});
-			if (string != null)
-				text.setText(string);
-		}
-
-		/**
-		 * @return the control the previewer is using
-		 */
-		public Control getControl() {
-			return text;
-		}
-
-		/**
-		 * Set the font to display with
-		 * @param fontData
-		 */
-		public void setFont(FontData[] fontData) {
-			if (font != null)
-				font.dispose();
-			font = new Font(text.getDisplay(), fontData);
-			text.setFont(font);
-		}
-		
-		/**
-		 * @return the preferred size of the previewer.
-		 */
-		public int getPreferredExtent() {
-			return 40;
-		}
-	}
-	/**
-	 * Creates a new font field editor 
-	 */
-	protected FontFieldEditor() {
-	}
-	/**
-	 * Creates a font field editor with an optional preview area.
-	 * 
-	 * @param name the name of the preference this field editor works on
-	 * @param labelText the label text of the field editor
-	 * @param previewAreaText the text used for the preview window. If it is
-	 * <code>null</code> there will be no preview area,
-	 * @param parent the parent of the field editor's control
-	 */
-	public FontFieldEditor(
-		String name,
-		String labelText,
-		String previewAreaText,
-		Composite parent) {
-		init(name, labelText);
-		previewText = previewAreaText;
-		changeButtonText = JFaceResources.getString("openChange"); //$NON-NLS-1$
-		createControl(parent);
-
-	}
-	/**
-	 * Creates a font field editor without a preview.
-	 * 
-	 * @param name the name of the preference this field editor works on
-	 * @param labelText the label text of the field editor
-	 * @param parent the parent of the field editor's control
-	 */
-	public FontFieldEditor(String name, String labelText, Composite parent) {
-		this(name, labelText, null, parent);
-
-	}
-	/* (non-Javadoc)
-	 * Method declared on FieldEditor.
-	 */
-	protected void adjustForNumColumns(int numColumns) {
-
-		GridData data = new GridData();
-		if (valueControl.getLayoutData() != null)
-			data = (GridData) valueControl.getLayoutData();
-
-		data.horizontalSpan = numColumns - getNumberOfControls() + 1;
-		valueControl.setLayoutData(data);
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on FieldEditor.
-	 */
-	protected void applyFont() {
-		if (chosenFont != null && previewer != null)
-			previewer.setFont(chosenFont);
-	}
-	/* (non-Javadoc)
-	 * Method declared on FieldEditor.
-	 */
-	protected void doFillIntoGrid(Composite parent, int numColumns) {
-		getLabelControl(parent);
-
-		valueControl = getValueControl(parent);
-
-		GridData gd =
-			new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
-		gd.horizontalSpan = numColumns - getNumberOfControls() + 1;
-		valueControl.setLayoutData(gd);
-		if (previewText != null) {
-			previewer = new DefaultPreviewer(previewText, parent);
-			gd = new GridData(GridData.FILL_HORIZONTAL);
-			gd.heightHint = previewer.getPreferredExtent();
-			gd.widthHint = previewer.getPreferredExtent();
-			previewer.getControl().setLayoutData(gd);
-		}
-
-		changeFontButton = getChangeControl(parent);
-		gd = new GridData();
-		gd.heightHint =
-			convertVerticalDLUsToPixels(
-				changeFontButton,
-				IDialogConstants.BUTTON_HEIGHT);
-		int widthHint =
-			convertHorizontalDLUsToPixels(
-				changeFontButton,
-				IDialogConstants.BUTTON_WIDTH);
-		gd.widthHint =
-			Math.max(
-				widthHint,
-				changeFontButton.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-		changeFontButton.setLayoutData(gd);
-
-	}
-	/* (non-Javadoc)
-	 * Method declared on FieldEditor.
-	 */
-	protected void doLoad() {
-		if (changeFontButton == null)
-			return;
-		updateFont(
-			PreferenceConverter.getFontDataArray(
-				getPreferenceStore(),
-				getPreferenceName()));
-	}
-	/* (non-Javadoc)
-	 * Method declared on FieldEditor.
-	 */
-	protected void doLoadDefault() {
-		if (changeFontButton == null)
-			return;
-		updateFont(
-			PreferenceConverter.getDefaultFontDataArray(
-				getPreferenceStore(),
-				getPreferenceName()));
-	}
-	/* (non-Javadoc)
-	 * Method declared on FieldEditor.
-	 */
-	protected void doStore() {
-		if (chosenFont != null)
-			PreferenceConverter.setValue(
-				getPreferenceStore(),
-				getPreferenceName(),
-				chosenFont);
-	}
-	/**
-	 * Returns the change button for this field editor.
-	 *
-	 * @param parent. The Composite to create the button in if required.
-	 * @return the change button
-	 */
-	protected Button getChangeControl(Composite parent) {
-		if (changeFontButton == null) {
-			changeFontButton = new Button(parent, SWT.PUSH);
-			if (changeButtonText != null)
-				changeFontButton.setText(changeButtonText);
-			changeFontButton.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent event) {
-					FontDialog fontDialog =
-						new FontDialog(changeFontButton.getShell());
-					if (chosenFont != null)
-						fontDialog.setFontList(chosenFont);
-					FontData font = fontDialog.open();
-					if (font != null) {
-						FontData[] oldFont = chosenFont;
-						if(oldFont == null)
-							oldFont = JFaceResources.getDefaultFont().getFontData();
-						setPresentsDefaultValue(false);
-						FontData[] newData = new FontData[1];
-						newData[0] = font;
-						updateFont(newData);
-						fireValueChanged(VALUE, oldFont[0], font);
-					}
-
-				}
-			});
-			changeFontButton.addDisposeListener(new DisposeListener() {
-				public void widgetDisposed(DisposeEvent event) {
-					changeFontButton = null;
-				}
-			});
-			changeFontButton.setFont(parent.getFont());
-			setButtonLayoutData(changeFontButton);
-		} else {
-			checkParent(changeFontButton, parent);
-		}
-		return changeFontButton;
-	}
-	/* (non-Javadoc)
-	 * Method declared on FieldEditor.
-	 */
-	public int getNumberOfControls() {
-		if (previewer == null)
-			return 3;
-		else
-			return 4;
-	}
-	/**
-	 * Returns the preferred preview height. 
-	 *
-	 * @return the height, or <code>-1</code> if no previewer
-	 *  is installed
-	 */
-	public int getPreferredPreviewHeight() {
-		if (previewer == null)
-			return -1;
-		return previewer.getPreferredExtent();
-	}
-	/**
-	 * Returns the preview control for this field editor.
-	 *
-	 * @return the preview control
-	 */
-	public Control getPreviewControl() {
-		if (previewer == null)
-			return null;
-
-		return previewer.getControl();
-	}
-	/**
-	 * Returns the value control for this field editor. The value control
-	 * displays the currently selected font name.
-	 * @param parent The Composite to create the viewer in if required
-	 * @return the value control
-	 */
-	protected Label getValueControl(Composite parent) {
-		if (valueControl == null) {
-			valueControl = new Label(parent, SWT.LEFT);
-			valueControl.setFont(parent.getFont());
-			valueControl.addDisposeListener(new DisposeListener() {
-				public void widgetDisposed(DisposeEvent event) {
-					valueControl = null;
-				}
-			});
-		} else {
-			checkParent(valueControl, parent);
-		}
-		return valueControl;
-	}
-	/**
-	 * Sets the text of the change button.
-	 *
-	 * @param text the new text
-	 */
-	public void setChangeButtonText(String text) {
-		Assert.isNotNull(text);
-		changeButtonText = text;
-		if (changeFontButton != null)
-			changeFontButton.setText(text);
-	}
-	/**
-	 * Updates the change font button and the previewer to reflect the
-	 * newly selected font.
-	 * @param font The FontData[] to update with.
-	 */
-	private void updateFont(FontData font[]) {
-		FontData[] bestFont =
-			JFaceResources.getFontRegistry().bestDataArray(
-				font,
-				valueControl.getDisplay());
-
-		//if we have nothing valid do as best we can
-		if (bestFont == null)
-			bestFont = getDefaultFontData();
-
-		//Now cache this value in the receiver
-		this.chosenFont = bestFont;
-
-		if (valueControl != null) {
-			valueControl.setText(StringConverter.asString(chosenFont[0]));
-		}
-		if (previewer != null) {
-			previewer.setFont(bestFont);
-		}
-	}
-	/**
-	 * Store the default preference for the field
-	 * being edited
-	 */
-	protected void setToDefault() {
-		FontData[] defaultFontData =
-			PreferenceConverter.getDefaultFontDataArray(
-				getPreferenceStore(),
-				getPreferenceName());
-		PreferenceConverter.setValue(
-			getPreferenceStore(),
-			getPreferenceName(),
-			defaultFontData);
-	}
-
-	/**
-	 * Get the system default font data.
-	 * @return FontData[]
-	 */
-	private FontData[] getDefaultFontData() {
-		return valueControl.getDisplay().getSystemFont().getFontData();
-	}
-
-	/*
-	 * @see FieldEditor.setEnabled(boolean,Composite).
-	 */
-	public void setEnabled(boolean enabled, Composite parent) {
-		super.setEnabled(enabled, parent);
-		getChangeControl(parent).setEnabled(enabled);
-		getValueControl(parent).setEnabled(enabled);
-	}
-
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/IPersistentPreferenceStore.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/IPersistentPreferenceStore.java
deleted file mode 100644
index 23ad890..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/IPersistentPreferenceStore.java
+++ /dev/null
@@ -1,30 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.preference;
-
-import java.io.IOException;
-
-
-/**
- * IPersistentPreferenceStore is a preference store that can 
- * be saved.
- */
-public interface IPersistentPreferenceStore extends IPreferenceStore {
-
-	/**
-	 * Saves the non-default-valued preferences known to this preference
-	 * store to the file from which they were originally loaded.
-	 *
-	 * @exception java.io.IOException if there is a problem saving this store
-	 */
-	public void save() throws IOException;
-
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/IPreferenceNode.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/IPreferenceNode.java
deleted file mode 100644
index d509dfd..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/IPreferenceNode.java
+++ /dev/null
@@ -1,105 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.preference;
-
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Interface to a node in a preference dialog. 
- * A preference node maintains a label and image used to display the
- * node in a preference dialog (usually in the form of a tree), 
- * as well as the preference page this node stands for.
- *
- * The node may use lazy creation for its page
- *
- * Note that all preference nodes must be dispose their resources.
- * The node must dispose the page managed by this node, and any SWT resources
- * allocated by this node (Images, Fonts, etc).
- * However the node itself may be reused.
- */
-public interface IPreferenceNode {
-/**
- * Adds the given preference node as a subnode of this
- * preference node.
- *
- * @param node the node to add
- */
-public void add(IPreferenceNode node);
-/**
- * Creates the preference page for this node.
- */
-public void createPage();
-/**
- * Release the page managed by this node, and any SWT resources
- * held onto by this node (Images, Fonts, etc).  
- *
- * Note that nodes are reused so this is not a call to dispose the
- * node itself.
- */
-public void disposeResources();
-/**
- * Returns the subnode of this contribution node with the given node id.
- *
- * @param id the preference node id
- * @return the subnode, or <code>null</code> if none
- */
-public IPreferenceNode findSubNode(String id);
-/**
- * Returns the id of this contribution node.
- * This id identifies a contribution node relative to its parent.
- *
- * @return the node id
- */
-public String getId();
-/**
- * Returns the image used to present this node in a preference dialog.
- *
- * @return the image for this node, or <code>null</code>
- *   if there is no image for this node
- */
-public Image getLabelImage();
-/**
- * Returns the text label used to present this node in a preference dialog.
- *
- * @return the text label for this node, or <code>null</code>
- *   if there is no label for this node
- */
-public String getLabelText();
-/**
- * Returns the preference page for this node.
- *
- * @return the preference page
- */
-public IPreferencePage getPage();
-/**
- * Returns an iterator over the subnodes (immediate children)
- * of this contribution node.
- *
- * @return an IPreferenceNode array containing the child nodes
- */
-public IPreferenceNode[] getSubNodes();
-/**
- * Removes the subnode of this preference node with the given node id.
- *
- * @param id the subnode id
- * @return the removed subnode, or <code>null</code> if none
- */
-public IPreferenceNode remove(String id);
-/**
- * Removes the given preference node from the list of subnodes
- * (immediate children) of this node.
- *
- * @param node the node to remove
- * @return <code>true</code> if the node was removed,
- *  and <code>false</code> otherwise
- */
-public boolean remove(IPreferenceNode node);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/IPreferencePage.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/IPreferencePage.java
deleted file mode 100644
index f96fbad..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/IPreferencePage.java
+++ /dev/null
@@ -1,73 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.preference;
-
-import org.eclipse.jface.dialogs.IDialogPage;
-import org.eclipse.swt.graphics.Point;
-
-/**
- * An interface for a preference page. This interface
- * is used primarily by the page's container 
- */
-public interface IPreferencePage extends IDialogPage {
-	
-	
-/**
- * Computes a size for this page's UI component. 
- *
- * @return the size of the preference page encoded as
- *   <code>new Point(width,height)</code>, or 
- *   <code>(0,0)</code> if the page doesn't currently have any UI component
- */
-public Point computeSize();
-/**
- * Returns whether this dialog page is in a valid state.
- * 
- * @return <code>true</code> if the page is in a valid state,
- *   and <code>false</code> if invalid
- */
-public boolean isValid();
-/**
- * Checks whether it is alright to leave this page.
- * 
- * @return <code>false</code> to abort page flipping and the
- *  have the current page remain visible, and <code>true</code>
- *  to allow the page flip
- */
-public boolean okToLeave();
-/**
- * Notifies that the container of this preference page has been canceled.
- * 
- * @return <code>false</code> to abort the container's cancel 
- *  procedure and <code>true</code> to allow the cancel to happen
- */
-public boolean performCancel();
-/**
- * Notifies that the OK button of this page's container has been pressed.
- * 
- * @return <code>false</code> to abort the container's OK
- *  processing and <code>true</code> to allow the OK to happen
- */
-public boolean performOk();
-/**
- * Sets or clears the container of this page.
- *
- * @param preferencePageContainer the preference page container, or <code>null</code> 
- */
-public void setContainer(IPreferencePageContainer preferencePageContainer);
-/**
- * Sets the size of this page's UI component.
- *
- * @param size the size of the preference page encoded as
- *   <code>new Point(width,height)</code>
- */
-public void setSize(Point size);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/IPreferencePageContainer.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/IPreferencePageContainer.java
deleted file mode 100644
index ab63c62..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/IPreferencePageContainer.java
+++ /dev/null
@@ -1,58 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.preference;
-
-/**
- * An interface used by a preference page to talk to
- * its dialog.
- */
-public interface IPreferencePageContainer {
-/**
- * Returns the preference store.
- *
- * @return the preference store, or <code>null</code> if none
- */
-public IPreferenceStore getPreferenceStore();
-/**
- * Adjusts the enable state of the OK 
- * button to reflect the state of the currently active 
- * page in this container.
- * <p>
- * This method is called by the container itself
- * when its preference page changes and may be called
- * by the page at other times to force a button state
- * update.
- * </p>
- */
-public void updateButtons();
-/**
- * Updates the message (or error message) shown in the message line to 
- * reflect the state of the currently active page in this container.
- * <p>
- * This method is called by the container itself
- * when its preference page changes and may be called
- * by the page at other times to force a message 
- * update.
- * </p>
- */
-public void updateMessage();
-/**
- * Updates the title to reflect the state of the 
- * currently active page in this container.
- * <p>
- * This method is called by the container itself
- * when its page changes and may be called
- * by the page at other times to force a title  
- * update.
- * </p>
- */
-public void updateTitle();
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/IPreferenceStore.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/IPreferenceStore.java
deleted file mode 100644
index f25e78b..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/IPreferenceStore.java
+++ /dev/null
@@ -1,517 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.preference;
-
-import org.eclipse.jface.util.IPropertyChangeListener;
-
-/**
- * The <code>IPreferenceStore</code> interface represents a table mapping
- * named preferences to values. If there is no value for a given name, 
- * then that preferences's default value is returned; and if there is no
- * default value for that preference, then a default-default value is returned.
- * The default-default values for the primitive types are as follows:
- * <ul>
- * 	<li><code>boolean</code> = <code>false</code></li>
- * 	<li><code>double</code> = <code>0.0</code></li>
- * 	<li><code>float</code> = <code>0.0f</code></li>
- * 	<li><code>int</code> = <code>0</code></li>
- *  <li><code>long</code> = <code>0</code></li>
- * 	<li><code>String</code> = <code>""</code> (the empty string)</li>
- * </ul>
- * <p>
- * Thus a preference store maintains two values for each of a set of
- * names: a current value and a default value.
- * The typical usage is to establish the defaults for all known preferences
- * and then restore previously stored values for preferences whose values 
- * were different from their defaults. After the current values of
- * the preferences have been modified, it is a simple matter to write
- * out only those preferences whose values are different from their defaults.
- * This two-tiered approach to saving and restoring preference setting
- * minimized the number of preferences that need to be persisted; indeed,
- * the normal starting state does not require storing any preferences
- * at all.
- * </p>
- * <p>
- * A property change event is reported whenever a preferences current
- * value actually changes (whether through <code>setValue</code>,
- * <code>setToDefault</code>, or other unspecified means). Note, however,
- * that manipulating default values (with <code>setDefault</code>)
- * does not cause such events to be reported.
- * </p>
- * <p>
- * Clients who need a preference store may implement this interface or 
- * instantiate the standard implementation <code>PreferenceStore</code>.
- * </p>
- *
- * @see PreferenceStore
- */
-public interface IPreferenceStore {
-
-	/**
-	 * The default-default value for boolean preferences (<code>false</code>).
-	 */
-	public static final boolean BOOLEAN_DEFAULT_DEFAULT = false;
-
-	/**
-	 * The default-default value for double preferences (<code>0.0</code>).
-	 */
-	public static final double DOUBLE_DEFAULT_DEFAULT = 0.0;
-
-	/**
-	 * The default-default value for float preferences (<code>0.0f</code>).
-	 */
-	public static final float FLOAT_DEFAULT_DEFAULT = 0.0f;
-
-	/**
-	 * The default-default value for int preferences (<code>0</code>).
-	 */
-	public static final int INT_DEFAULT_DEFAULT = 0;
-
-	/**
-	 * The default-default value for long preferences (<code>0L</code>).
-	 */
-	public static final long LONG_DEFAULT_DEFAULT = 0L;
-
-	/**
-	 * The default-default value for String preferences (<code>""</code>).
-	 */
-	public static final String STRING_DEFAULT_DEFAULT = ""; //$NON-NLS-1$
-
-	/**
-	 * The string representation used for <code>true</code> (<code>"true"</code>).
-	 */
-	public static final String TRUE = "true"; //$NON-NLS-1$
-
-	/**
-	 * The string representation used for <code>false</code> (<code>"false"</code>).
-	 */
-	public static final String FALSE = "false"; //$NON-NLS-1$
-/**
- * Adds a property change listener to this preference store.
- *
- * @param listener a property change listener
- */
-public void addPropertyChangeListener(IPropertyChangeListener listener);
-/**
- * Returns whether the named preference is known to this preference
- * store.
- *
- * @param name the name of the preference
- * @return <code>true</code> if either a current value or a default
- *  value is known for the named preference, and <code>false</code>otherwise
- */
-public boolean contains(String name);
-/**
- * Fires a property change event corresponding to a change to the
- * current value of the preference with the given name.
- * <p>
- * This method is provided on this interface to simplify the implementation 
- * of decorators. There is normally no need to call this method since
- * <code>setValue</code> and <code>setToDefault</code> report such
- * events in due course. Implementations should funnel all preference
- * changes through this method.
- * </p>
- *
- * @param name the name of the preference, to be used as the property
- *  in the event object
- * @param oldValue the old value
- * @param newValue the new value
- */
-public void firePropertyChangeEvent(String name, Object oldValue, Object newValue);
-/**
- * Returns the current value of the boolean-valued preference with the
- * given name.
- * Returns the default-default value (<code>false</code>) if there
- * is no preference with the given name, or if the current value 
- * cannot be treated as a boolean.
- *
- * @param name the name of the preference
- * @return the boolean-valued preference
- */
-public boolean getBoolean(String name);
-/**
- * Returns the default value for the boolean-valued preference
- * with the given name.
- * Returns the default-default value (<code>false</code>) if there
- * is no default preference with the given name, or if the default 
- * value cannot be treated as a boolean.
- *
- * @param name the name of the preference
- * @return the default value of the named preference
- */
-public boolean getDefaultBoolean(String name);
-/**
- * Returns the default value for the double-valued preference
- * with the given name.
- * Returns the default-default value (<code>0.0</code>) if there
- * is no default preference with the given name, or if the default 
- * value cannot be treated as a double.
- *
- * @param name the name of the preference
- * @return the default value of the named preference
- */
-public double getDefaultDouble(String name);
-/**
- * Returns the default value for the float-valued preference
- * with the given name.
- * Returns the default-default value (<code>0.0f</code>) if there
- * is no default preference with the given name, or if the default 
- * value cannot be treated as a float.
- *
- * @param name the name of the preference
- * @return the default value of the named preference
- */
-public float getDefaultFloat(String name);
-/**
- * Returns the default value for the integer-valued preference
- * with the given name.
- * Returns the default-default value (<code>0</code>) if there
- * is no default preference with the given name, or if the default 
- * value cannot be treated as an integer.
- *
- * @param name the name of the preference
- * @return the default value of the named preference
- */
-public int getDefaultInt(String name);
-/**
- * Returns the default value for the long-valued preference
- * with the given name.
- * Returns the default-default value (<code>0L</code>) if there
- * is no default preference with the given name, or if the default 
- * value cannot be treated as a long.
- *
- * @param name the name of the preference
- * @return the default value of the named preference
- */
-public long getDefaultLong(String name);
-/**
- * Returns the default value for the string-valued preference
- * with the given name.
- * Returns the default-default value (the empty string <code>""</code>) 
- * is no default preference with the given name, or if the default 
- * value cannot be treated as a string.
- *
- * @param name the name of the preference
- * @return the default value of the named preference
- */
-public String getDefaultString(String name);
-/**
- * Returns the current value of the double-valued preference with the
- * given name.
- * Returns the default-default value (<code>0.0</code>) if there
- * is no preference with the given name, or if the current value 
- * cannot be treated as a double.
- *
- * @param name the name of the preference
- * @return the double-valued preference
- */
-public double getDouble(String name);
-/**
- * Returns the current value of the float-valued preference with the
- * given name.
- * Returns the default-default value (<code>0.0f</code>) if there
- * is no preference with the given name, or if the current value 
- * cannot be treated as a float.
- *
- * @param name the name of the preference
- * @return the float-valued preference
- */
-public float getFloat(String name);
-/**
- * Returns the current value of the integer-valued preference with the
- * given name.
- * Returns the default-default value (<code>0</code>) if there
- * is no preference with the given name, or if the current value 
- * cannot be treated as an integter.
- *
- * @param name the name of the preference
- * @return the int-valued preference
- */
-public int getInt(String name);
-/**
- * Returns the current value of the long-valued preference with the
- * given name.
- * Returns the default-default value (<code>0L</code>) if there
- * is no preference with the given name, or if the current value 
- * cannot be treated as a long.
- *
- * @param name the name of the preference
- * @return the long-valued preference
- */
-public long getLong(String name);
-/**
- * Returns the current value of the string-valued preference with the
- * given name.
- * Returns the default-default value (the empty string <code>""</code>)
- * if there is no preference with the given name, or if the current value 
- * cannot be treated as a string.
- *
- * @param name the name of the preference
- * @return the string-valued preference
- */
-public String getString(String name);
-/**
- * Returns whether the current value of the preference with the given name
- * has the default value.
- *
- * @param name the name of the preference
- * @return <code>true</code> if the preference has a known default value
- * and its current value is the same, and <code>false</code> otherwise
- * (including the case where the preference is unknown to this store)
- */
-public boolean isDefault(String name);
-/**
- * Returns whether the current values in this property store
- * require saving.
- *
- * @return <code>true</code> if at least one of the preferences
- *  known to this store has a current value different from its
- *  default value, and <code>false</code> otherwise
- */
-public boolean needsSaving();
-/**
- * Sets the current value of the preference with the given name to
- * the given string value.
- * <p>
- * This method is provided on this interface to simplify the implementation 
- * of decorators, and does not report a property change event.
- * Normal clients should instead call <code>setValue</code>.
- * </p>
- *
- * @param name the name of the preference
- * @param value the new current value of the preference
- */
-public void putValue(String name, String value);
-/**
- * Removes the given listener from this preference store.
- * Has no affect if the listener is not registered.
- *
- * @param listener a property change listener
- */
-public void removePropertyChangeListener(IPropertyChangeListener listener);
-/**
- * Sets the default value for the double-valued preference with the
- * given name. 
- * <p>
- * Note that the current value of the preference is affected if
- * the preference's current value was its old default value, in which
- * case it changes to the new default value. If the preference's current
- * is different from its old default value, its current value is
- * unaffected. No property change events are reported by changing default
- * values.
- * </p>
- *
- * @param name the name of the preference
- * @param value the new default value for the preference
- */
-public void setDefault(String name, double value);
-/**
- * Sets the default value for the float-valued preference with the
- * given name. 
- * <p>
- * Note that the current value of the preference is affected if
- * the preference's current value was its old default value, in which
- * case it changes to the new default value. If the preference's current
- * is different from its old default value, its current value is
- * unaffected. No property change events are reported by changing default
- * values.
- * </p>
- *
- * @param name the name of the preference
- * @param value the new default value for the preference
- */
-public void setDefault(String name, float value);
-/**
- * Sets the default value for the integer-valued preference with the
- * given name. 
- * <p>
- * Note that the current value of the preference is affected if
- * the preference's current value was its old default value, in which
- * case it changes to the new default value. If the preference's current
- * is different from its old default value, its current value is
- * unaffected. No property change events are reported by changing default
- * values.
- * </p>
- *
- * @param name the name of the preference
- * @param value the new default value for the preference
- */
-public void setDefault(String name, int value);
-/**
- * Sets the default value for the long-valued preference with the
- * given name. 
- * <p>
- * Note that the current value of the preference is affected if
- * the preference's current value was its old default value, in which
- * case it changes to the new default value. If the preference's current
- * is different from its old default value, its current value is
- * unaffected. No property change events are reported by changing default
- * values.
- * </p>
- *
- * @param name the name of the preference
- * @param value the new default value for the preference
- */
-public void setDefault(String name, long value);
-/**
- * Sets the default value for the string-valued preference with the
- * given name. 
- * <p>
- * Note that the current value of the preference is affected if
- * the preference's current value was its old default value, in which
- * case it changes to the new default value. If the preference's current
- * is different from its old default value, its current value is
- * unaffected. No property change events are reported by changing default
- * values.
- * </p>
- *
- * @param name the name of the preference
- * @param defaultObject the new default value for the preference
- */
-public void setDefault(String name, String defaultObject);
-/**
- * Sets the default value for the boolean-valued preference with the
- * given name. 
- * <p>
- * Note that the current value of the preference is affected if
- * the preference's current value was its old default value, in which
- * case it changes to the new default value. If the preference's current
- * is different from its old default value, its current value is
- * unaffected. No property change events are reported by changing default
- * values.
- * </p>
- *
- * @param name the name of the preference
- * @param value the new default value for the preference
- */
-public void setDefault(String name, boolean value);
-/**
- * Sets the current value of the preference with the given name back
- * to its default value.
- * <p>
- * Note that the preferred way of re-initializing a preference to the
- * appropriate default value is to call <code>setToDefault</code>.
- * This is implemented by removing the named value from the store, 
- * thereby exposing the default value.
- * </p>
- *
- * @param name the name of the preference
- */
-public void setToDefault(String name);
-/**
- * Sets the current value of the double-valued preference with the
- * given name.
- * <p>
- * A property change event is reported if the current value of the 
- * preference actually changes from its previous value. In the event
- * object, the property name is the name of the preference, and the
- * old and new values are wrapped as objects.
- * </p>
- * <p>
- * Note that the preferred way of re-initializing a preference to its
- * default value is to call <code>setToDefault</code>.
- * </p>
- *
- * @param name the name of the preference
- * @param value the new current value of the preference
- */
-public void setValue(String name, double value);
-/**
- * Sets the current value of the float-valued preference with the
- * given name.
- * <p>
- * A property change event is reported if the current value of the 
- * preference actually changes from its previous value. In the event
- * object, the property name is the name of the preference, and the
- * old and new values are wrapped as objects.
- * </p>
- * <p>
- * Note that the preferred way of re-initializing a preference to its
- * default value is to call <code>setToDefault</code>.
- * </p>
- *
- * @param name the name of the preference
- * @param value the new current value of the preference
- */
-public void setValue(String name, float value);
-/**
- * Sets the current value of the integer-valued preference with the
- * given name.
- * <p>
- * A property change event is reported if the current value of the 
- * preference actually changes from its previous value. In the event
- * object, the property name is the name of the preference, and the
- * old and new values are wrapped as objects.
- * </p>
- * <p>
- * Note that the preferred way of re-initializing a preference to its
- * default value is to call <code>setToDefault</code>.
- * </p>
- *
- * @param name the name of the preference
- * @param value the new current value of the preference
- */
-public void setValue(String name, int value);
-/**
- * Sets the current value of the long-valued preference with the
- * given name.
- * <p>
- * A property change event is reported if the current value of the 
- * preference actually changes from its previous value. In the event
- * object, the property name is the name of the preference, and the
- * old and new values are wrapped as objects.
- * </p>
- * <p>
- * Note that the preferred way of re-initializing a preference to its
- * default value is to call <code>setToDefault</code>.
- * </p>
- *
- * @param name the name of the preference
- * @param value the new current value of the preference
- */
-public void setValue(String name, long value);
-/**
- * Sets the current value of the string-valued preference with the
- * given name.
- * <p>
- * A property change event is reported if the current value of the 
- * preference actually changes from its previous value. In the event
- * object, the property name is the name of the preference, and the
- * old and new values are wrapped as objects.
- * </p>
- * <p>
- * Note that the preferred way of re-initializing a preference to its
- * default value is to call <code>setToDefault</code>.
- * </p>
- *
- * @param name the name of the preference
- * @param value the new current value of the preference
- */
-public void setValue(String name, String value);
-/**
- * Sets the current value of the boolean-valued preference with the
- * given name.
- * <p>
- * A property change event is reported if the current value of the 
- * preference actually changes from its previous value. In the event
- * object, the property name is the name of the preference, and the
- * old and new values are wrapped as objects.
- * </p>
- * <p>
- * Note that the preferred way of re-initializing a preference to its
- * default value is to call <code>setToDefault</code>.
- * </p>
- *
- * @param name the name of the preference
- * @param value the new current value of the preference
- */
-public void setValue(String name, boolean value);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/IntegerFieldEditor.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/IntegerFieldEditor.java
deleted file mode 100644
index 7e9e70b..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/IntegerFieldEditor.java
+++ /dev/null
@@ -1,136 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.preference;
-
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Text;
- 
-/**
- * A field editor for an integer type preference.
- */
-public class IntegerFieldEditor extends StringFieldEditor {
-	private int minValidValue = 0;
-	private int maxValidValue = Integer.MAX_VALUE;
-	private static final int DEFAULT_TEXT_LIMIT = 10;
-/**
- * Creates a new integer field editor 
- */
-protected IntegerFieldEditor() {
-}
-/**
- * Creates an integer field editor.
- * 
- * @param name the name of the preference this field editor works on
- * @param labelText the label text of the field editor
- * @param parent the parent of the field editor's control
- */
-public IntegerFieldEditor(String name, String labelText, Composite parent) {
-	this(name,labelText,parent,DEFAULT_TEXT_LIMIT);
-}
-
-/**
- * Creates an integer field editor.
- * 
- * @param name the name of the preference this field editor works on
- * @param labelText the label text of the field editor
- * @param parent the parent of the field editor's control
- * @param textLimit the maximum number of characters in the text.
- */
-public IntegerFieldEditor(String name, String labelText, Composite parent,int textLimit) {
-	init(name, labelText);
-	setTextLimit(textLimit);
-	setEmptyStringAllowed(false);
-	setErrorMessage(JFaceResources.getString("IntegerFieldEditor.errorMessage"));//$NON-NLS-1$
-	createControl(parent);
-}
-
-
-/**
- * Sets the range of valid values for this field.
- * 
- * @param min the minimum allowed value (inclusive)
- * @param max the maximum allowed value (inclusive)
- */
-public void setValidRange(int min,int max) {
-	minValidValue = min;
-	maxValidValue = max;
-}
-/* (non-Javadoc)
- * Method declared on StringFieldEditor.
- * Checks whether the entered String is a valid integer or not.
- */
-protected boolean checkState() {
-
-	Text text = getTextControl();
-
-	if (text == null)
-		return false;
-
-	String numberString = text.getText();
-	try {
-		int number = Integer.valueOf(numberString).intValue();
-		if (number >= minValidValue && number <= maxValidValue) {
-			clearErrorMessage();
-			return true;
-		} else {
-			showErrorMessage();
-			return false;
-		}
-	} catch (NumberFormatException e1) {
-		showErrorMessage();
-	}
-
-	return false;
-}
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- */
-protected void doLoad() {
-	Text text = getTextControl();
-	if (text != null) {
-		int value = getPreferenceStore().getInt(getPreferenceName());
-		text.setText("" + value);//$NON-NLS-1$
-	}
-
-}
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- */
-protected void doLoadDefault() {
-	Text text = getTextControl();
-	if (text != null) {
-		int value = getPreferenceStore().getDefaultInt(getPreferenceName());
-		text.setText("" + value);//$NON-NLS-1$
-	}
-	valueChanged();
-}
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- */
-protected void doStore() {
-	Text text = getTextControl();
-	if (text != null) {
-		Integer i = new Integer(text.getText());
-		getPreferenceStore().setValue(getPreferenceName(), i.intValue());
-	}
-}
-/**
- * Returns this field editor's current value as an integer.
- *
- * @return the value
- * @exception NumberFormatException if the <code>String</code> does not
- *   contain a parsable integer
- */
-public int getIntValue() throws NumberFormatException {
-	return new Integer(getStringValue()).intValue();
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/JFacePreferences.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/JFacePreferences.java
deleted file mode 100644
index 0316273..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/JFacePreferences.java
+++ /dev/null
@@ -1,58 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.preference;
-
-
-/**
- * 
- * JFacePreferences is a class used to administer the preferences
- * used by JFace objects.
- */
-public final class JFacePreferences {
-	
-	/**
-	 * Identifier for the Error Color
-	 */
-	public static final String ERROR_COLOR = "ERROR_COLOR"; //$NON-NLS-1$
-	/**
-	 * Identifier for the Hyperlink Color
-	 */
-	public static final String HYPERLINK_COLOR = "HYPERLINK_COLOR"; //$NON-NLS-1$
-	/**
-	 * Identifier for the Active Hyperlink Colour
-	 */
-	public static final String ACTIVE_HYPERLINK_COLOR = "ACTIVE_HYPERLINK_COLOR"; //$NON-NLS-1$
-
-		
-	private static IPreferenceStore preferenceStore;
-	/**
-	 * Prevent construction.
-	 */
-	private JFacePreferences() {
-	}
-	
-	/**
-	 * Return the preference store for the receiver.
-	 * @return IPreferenceStore or null
-	 */
-	public static IPreferenceStore getPreferenceStore(){
-		return preferenceStore;
-	}
-	
-	/**
-	 * Set the preference store for the receiver.
-	 * @param store IPreferenceStore
-	 */
-	public static void setPreferenceStore(IPreferenceStore store){
-		preferenceStore = store;
-	}
-
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/ListEditor.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/ListEditor.java
deleted file mode 100644
index ca9b6c1..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/ListEditor.java
+++ /dev/null
@@ -1,411 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.preference;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.util.Assert;
-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.*;
-
-/**
- * An abstract field editor that manages a list of input values. 
- * The editor displays a list containing the values, buttons for
- * adding and removing values, and Up and Down buttons to adjust
- * the order of elements in the list.
- * <p>
- * Subclasses must implement the <code>parseString</code>,
- * <code>createList</code>, and <code>getNewInputObject</code>
- * framework methods.
- * </p>
- */
-public abstract class ListEditor extends FieldEditor {
-
-	/**
-	 * The list widget; <code>null</code> if none
-	 * (before creation or after disposal).
-	 */
-	private List list;
-
-	/**
-	 * The button box containing the Add, Remove, Up, and Down buttons;
-	 * <code>null</code> if none (before creation or after disposal).
-	 */
-	private Composite buttonBox;
-
-	/**
-	 * The Add button.
-	 */
-	private Button addButton;
-
-	/**
-	 * The Remove button.
-	 */
-	private Button removeButton;
-
-	/**
-	 * The Up button.
-	 */
-	private Button upButton;
-
-	/**
-	 * The Down button.
-	 */
-	private Button downButton;
-
-	/**
-	 * The selection listener.
-	 */
-	private SelectionListener selectionListener;
-/**
- * Creates a new list field editor 
- */
-protected ListEditor() {
-}
-/**
- * Creates a list field editor.
- * 
- * @param name the name of the preference this field editor works on
- * @param labelText the label text of the field editor
- * @param parent the parent of the field editor's control
- */
-protected ListEditor(String name, String labelText, Composite parent) {
-	init(name, labelText);
-	createControl(parent);
-}
-/**
- * Notifies that the Add button has been pressed.
- */
-private void addPressed() {
-	setPresentsDefaultValue(false);
-	String input = getNewInputObject();
-
-	if (input != null) {
-		int index = list.getSelectionIndex();
-		if (index >= 0)
-			list.add(input, index + 1);
-		else
-			list.add(input, 0);
-		selectionChanged();
-	}
-}
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- */
-protected void adjustForNumColumns(int numColumns) {
-	Control control = getLabelControl();
-	((GridData)control.getLayoutData()).horizontalSpan = numColumns;
-	((GridData)list.getLayoutData()).horizontalSpan = numColumns - 1;
-}
-/**
- * Creates the Add, Remove, Up, and Down button in the given button box.
- *
- * @param box the box for the buttons
- */
-private void createButtons(Composite box) {
-	addButton = createPushButton(box, "ListEditor.add");//$NON-NLS-1$
-	removeButton = createPushButton(box, "ListEditor.remove");//$NON-NLS-1$
-	upButton = createPushButton(box, "ListEditor.up");//$NON-NLS-1$
-	downButton = createPushButton(box, "ListEditor.down");//$NON-NLS-1$
-}
-/**
- * Combines the given list of items into a single string.
- * This method is the converse of <code>parseString</code>. 
- * <p>
- * Subclasses must implement this method.
- * </p>
- *
- * @param items the list of items
- * @return the combined string
- * @see #parseString
- */
-protected abstract String createList(String[] items);
-/**
- * Helper method to create a push button.
- * 
- * @param parent the parent control
- * @param key the resource name used to supply the button's label text
- * @return Button
- */
-private Button createPushButton(Composite parent, String key) {
-	Button button = new Button(parent, SWT.PUSH);
-	button.setText(JFaceResources.getString(key));
-	button.setFont(parent.getFont());
-	GridData data = new GridData(GridData.FILL_HORIZONTAL);
-	data.heightHint = convertVerticalDLUsToPixels(button, IDialogConstants.BUTTON_HEIGHT);
-	int widthHint = convertHorizontalDLUsToPixels(button, IDialogConstants.BUTTON_WIDTH);
-	data.widthHint = Math.max(widthHint, button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-	button.setLayoutData(data);
-	button.addSelectionListener(getSelectionListener());
-	return button;
-}
-/**
- * Creates a selection listener.
- */
-public void createSelectionListener() {
-	selectionListener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent event) {
-			Widget widget = event.widget;
-			if (widget == addButton) {
-				addPressed();
-			} else
-				if (widget == removeButton) {
-					removePressed();
-				} else
-					if (widget == upButton) {
-						upPressed();
-					} else
-						if (widget == downButton) {
-							downPressed();
-						} else
-							if (widget == list) {
-								selectionChanged();
-							}
-		}
-	};
-}
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- */
-protected void doFillIntoGrid(Composite parent, int numColumns) {
-	Control control = getLabelControl(parent);
-	GridData gd = new GridData();
-	gd.horizontalSpan = numColumns;
-	control.setLayoutData(gd);
-
-	list = getListControl(parent);
-	gd = new GridData(GridData.FILL_HORIZONTAL);
-	gd.verticalAlignment = GridData.FILL;
-	gd.horizontalSpan = numColumns - 1;
-	gd.grabExcessHorizontalSpace = true;
-	list.setLayoutData(gd);
-
-	buttonBox = getButtonBoxControl(parent);
-	gd = new GridData();
-	gd.verticalAlignment = GridData.BEGINNING;
-	buttonBox.setLayoutData(gd);
-}
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- */
-protected void doLoad() {
-	if (list != null) {
-		String s = getPreferenceStore().getString(getPreferenceName());
-		String[] array = parseString(s);
-		for (int i = 0; i < array.length; i++){
-			list.add(array[i]);
-		}
-	}
-}
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- */
-protected void doLoadDefault() {
-	if (list != null) {
-		list.removeAll();
-		String s = getPreferenceStore().getDefaultString(getPreferenceName());
-		String[] array = parseString(s);
-		for (int i = 0; i < array.length; i++){
-			list.add(array[i]);
-		}
-	}
-}
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- */
-protected void doStore() {
-	String s = createList(list.getItems());
-	if (s != null)
-		getPreferenceStore().setValue(getPreferenceName(), s);
-}
-/**
- * Notifies that the Down button has been pressed.
- */
-private void downPressed() {
-	swap(false);
-}
-/**
- * Returns this field editor's button box containing the Add, Remove,
- * Up, and Down button.
- *
- * @param parent the parent control
- * @return the button box
- */
-public Composite getButtonBoxControl(Composite parent) {
-	if (buttonBox == null) {
-		buttonBox = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 0;
-		buttonBox.setLayout(layout);
-		createButtons(buttonBox);
-		buttonBox.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent event) {
-				addButton = null;
-				removeButton = null;
-				upButton = null;
-				downButton = null;
-				buttonBox = null;
-			}
-		});
-
-	} else {
-		checkParent(buttonBox, parent);
-	}
-
-	selectionChanged();
-	return buttonBox;
-}
-/**
- * Returns this field editor's list control.
- *
- * @param parent the parent control
- * @return the list control
- */
-public List getListControl(Composite parent) {
-	if (list == null) {
-		list = new List(parent, SWT.BORDER | SWT.SINGLE | SWT.V_SCROLL | SWT.H_SCROLL);
-		list.setFont(parent.getFont());
-		list.addSelectionListener(getSelectionListener());
-		list.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent event) {
-				list = null;
-			}
-		});
-	} else {
-		checkParent(list, parent);
-	}
-	return list;
-}
-/**
- * Creates and returns a new item for the list.
- * <p>
- * Subclasses must implement this method.
- * </p>
- *
- * @return a new item
- */
-protected abstract String getNewInputObject();
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- */
-public int getNumberOfControls() {
-	return 2;
-}
-/**
- * Returns this field editor's selection listener.
- * The listener is created if nessessary.
- *
- * @return the selection listener
- */
-private SelectionListener getSelectionListener() {
-	if (selectionListener == null)
-		createSelectionListener();
-	return selectionListener;
-}
-/**
- * Returns this field editor's shell.
- * <p>
- * This method is internal to the framework; subclassers should not call
- * this method.
- * </p>
- *
- * @return the shell
- */
-protected Shell getShell() {
-	if (addButton == null)
-		return null;
-	return addButton.getShell();
-}
-/**
- * Splits the given string into a list of strings.
- * This method is the converse of <code>createList</code>. 
- * <p>
- * Subclasses must implement this method.
- * </p>
- *
- * @param stringList the string
- * @return an array of <code>String</code>
- * @see #createList
- */
-protected abstract String[] parseString(String stringList);
-/**
- * Notifies that the Remove button has been pressed.
- */
-private void removePressed() {
-	setPresentsDefaultValue(false);
-	int index = list.getSelectionIndex();
-	if (index >= 0) {
-		list.remove(index);
-		selectionChanged();
-	}
-}
-/**
- * Notifies that the list selection has changed.
- */
-private void selectionChanged() {
-
-	int index = list.getSelectionIndex();
-	int size = list.getItemCount();
-
-	removeButton.setEnabled(index >= 0);
-	upButton.setEnabled(size > 1 && index > 0);
-	downButton.setEnabled(size > 1 && index >= 0 && index < size - 1);
-}
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- */
-public void setFocus() {
-	if (list != null) {
-		list.setFocus();
-	}
-}
-/**
- * Moves the currently selected item up or down.
- *
- * @param up <code>true</code> if the item should move up,
- *  and <code>false</code> if it should move down
- */
-private void swap(boolean up) {
-	setPresentsDefaultValue(false);
-	int index = list.getSelectionIndex();
-	int target = up ? index - 1 : index + 1;
-
-	if (index >= 0) {
-		String[] selection = list.getSelection();
-		Assert.isTrue(selection.length == 1);
-		list.remove(index);
-		list.add(selection[0], target);
-		list.setSelection(target);
-	}
-	selectionChanged();
-}
-/**
- * Notifies that the Up button has been pressed.
- */
-private void upPressed() {
-	swap(true);
-}
-
-/*
- * @see FieldEditor.setEnabled(boolean,Composite).
- */
-public void setEnabled(boolean enabled, Composite parent){
-	super.setEnabled(enabled,parent);
-	getListControl(parent).setEnabled(enabled);
-	addButton.setEnabled(enabled);
-	removeButton.setEnabled(enabled);
-	upButton.setEnabled(enabled);
-	downButton.setEnabled(enabled);
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PathEditor.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PathEditor.java
deleted file mode 100644
index 3fa3d15..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PathEditor.java
+++ /dev/null
@@ -1,99 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.preference;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.StringTokenizer;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.DirectoryDialog;
-/**
- * A field editor to edit directory paths.
- */
-public class PathEditor extends ListEditor { 
-
-	/**
-	 * The last path, or <code>null</code> if none.
-	 */
-	private String lastPath;
-
-	/**
-	 * The special label text for directory chooser, 
-	 * or <code>null</code> if none.
-	 */
-	private String dirChooserLabelText;
-/**
- * Creates a new path field editor 
- */
-protected PathEditor() {
-}
-/**
- * Creates a path field editor.
- * 
- * @param name the name of the preference this field editor works on
- * @param labelText the label text of the field editor
- * @param dirChooserLabelText the label text displayed for the directory chooser
- * @param parent the parent of the field editor's control
- */
-public PathEditor(String name, String labelText, String dirChooserLabelText, Composite parent) {
-	init(name, labelText);
-	this.dirChooserLabelText = dirChooserLabelText;
-	createControl(parent);
-}
-/* (non-Javadoc)
- * Method declared on ListEditor.
- * Creates a single string from the given array by separating each
- * string with the appropriate OS-specific path separator.
- */
-protected String createList(String[] items) {
-	StringBuffer path = new StringBuffer("");//$NON-NLS-1$
-
-	for (int i = 0; i < items.length; i++) {
-		path.append(items[i]);
-		path.append(File.pathSeparator);
-	}
-	return path.toString();
-}
-/* (non-Javadoc)
- * Method declared on ListEditor.
- * Creates a new path element by means of a directory dialog.
- */
-protected String getNewInputObject() {
-
-	DirectoryDialog dialog = new DirectoryDialog(getShell());
-	if (dirChooserLabelText != null)
-		dialog.setMessage(dirChooserLabelText);
-	if (lastPath != null) {
-		if (new File(lastPath).exists())
-			dialog.setFilterPath(lastPath);
-	}
-	String dir = dialog.open();
-	if (dir != null) {
-		dir = dir.trim();
-		if (dir.length() == 0)
-			return null;
-		lastPath = dir;
-	}
-	return dir;
-}
-/* (non-Javadoc)
- * Method declared on ListEditor.
- */
-protected String[] parseString(String stringList) {
-	StringTokenizer st = new StringTokenizer(stringList, File.pathSeparator + "\n\r");//$NON-NLS-1$
-	ArrayList v = new ArrayList();
-	while (st.hasMoreElements()) {
-		v.add(st.nextElement());
-	}
-	return (String[])v.toArray(new String[v.size()]);
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferenceContentProvider.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferenceContentProvider.java
deleted file mode 100644
index 0bf969a..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferenceContentProvider.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003,2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.preference;
-
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * Provides a tree model for <code>PreferenceManager</code> content.
- * 
- * @since 3.0
- */
-public class PreferenceContentProvider implements ITreeContentProvider {
-
-	private PreferenceManager manager;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-	 */
-	public void dispose() {
-		manager = null;
-	}
-
-	/**
-	 * Find the parent of the provided node.  Will search recursivly through the
-	 * preference tree.
-	 * 
-	 * @param parent the possible parent node.
-	 * @param target the target child node.
-	 * @return the parent node of the child node.
-	 */
-	private IPreferenceNode findParent(IPreferenceNode parent, IPreferenceNode target) {
-		if (parent.getId().equals(target.getId()))
-			return null;
-		
-		IPreferenceNode found = parent.findSubNode(target.getId());
-		if (found != null)
-			return parent;
-
-		IPreferenceNode[] children = parent.getSubNodes();
-
-		for (int i = 0; i < children.length; i++) {
-			found = findParent(children[i], target);
-			if (found != null)
-				return found;
-		}
-
-		return null;
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
-	 */
-	public Object[] getChildren(Object parentElement) {//must be an instance of <code>IPreferenceNode</code>.
-		return ((IPreferenceNode) parentElement).getSubNodes();
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-	 */
-	public Object[] getElements(Object inputElement) {// must be an instance of <code>PreferenceManager</code>.
-		return getChildren(((PreferenceManager) inputElement).getRoot());
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
-	 */
-	public Object getParent(Object element) {//must be an instance of <code>IPreferenceNode</code>.
-		IPreferenceNode targetNode = (IPreferenceNode) element;
-		IPreferenceNode root = manager.getRoot();
-		return findParent(root, targetNode);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
-	 */
-	public boolean hasChildren(Object element) {
-		return getChildren(element).length > 0;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		manager = (PreferenceManager) newInput;
-	}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferenceConverter.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferenceConverter.java
deleted file mode 100644
index f3983d1..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferenceConverter.java
+++ /dev/null
@@ -1,560 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.preference;
-
-import java.util.Arrays;
-import java.util.StringTokenizer;
-
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.resource.StringConverter;
-import org.eclipse.swt.SWTException;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * A utility class for dealing with preferences whose values are
- * common SWT objects (color, points, rectangles, and font data).
- * The static methods on this class handle the conversion between
- * the SWT objects and their string representations.
- * <p>
- * Usage:
- * <pre>
- * IPreferenceStore store = ...;
- * PreferenceConverter.setValue(store, "bg", new RGB(127,127,127));
- * ...
- * RBG bgColor = PreferenceConverter.getValue(store, "bg");
- * </pre>
- * </p>
- * <p>
- * This class contains static methods and fields only and cannot 
- * be instantiated.
- * </p>
- * @issue touching this class has the side effect of creating a display (static initializer).
- */
-public class PreferenceConverter {
-
-	/**
-	 * The default-default value for point preferences
-	 * (the origin, <code>(0,0)</code>).
-	 */
-	public static final Point POINT_DEFAULT_DEFAULT = new Point(0, 0);
-	/**
-	 * The default-default value for rectangle preferences
-	 * (the empty rectangle <code>(0,0,0,0)</code>).
-	 */
-	public static final Rectangle RECTANGLE_DEFAULT_DEFAULT =
-		new Rectangle(0, 0, 0, 0);
-	/**
-	 * The default-default value for color preferences 
-	 * (black, <code>RGB(0,0,0)</code>).
-	 */
-	public static final RGB COLOR_DEFAULT_DEFAULT = new RGB(0, 0, 0);
-
-	private static final String ENTRY_SEPARATOR = ";"; //$NON-NLS-1$
-
-	/**
-	 * The default-default value for <code>FontData[]</code> preferences.
-	 */
-	public static final FontData[] FONTDATA_ARRAY_DEFAULT_DEFAULT;
-	
-	/**
-	 * The default-default value for <code>FontData</code> preferences.
-	 */
-	public static final FontData FONTDATA_DEFAULT_DEFAULT;
-	static {
-		Shell shell = new Shell();
-		FONTDATA_ARRAY_DEFAULT_DEFAULT = shell.getFont().getFontData();
-		shell.dispose();
-		/**
-		 * The default-default value for <code>FontData</code> preferences.
-		 * This is left in for compatibility purposes. It is recommended that
-		 * FONTDATA_ARRAY_DEFAULT_DEFAULT is actually used.
-		 */
-
-		FONTDATA_DEFAULT_DEFAULT = FONTDATA_ARRAY_DEFAULT_DEFAULT[0];
-	}
-
-	/* (non-Javadoc)
-	 * private constructor to prevent instantiation.
-	 */
-	private PreferenceConverter() {
-	    //no-op
-	}
-	/**
-	 * Helper method to construct a color from the given string.
-	 * @param value the indentifier for the color
-	 * @return RGB
-	 */
-	private static RGB basicGetColor(String value) {
-
-		if (IPreferenceStore.STRING_DEFAULT_DEFAULT.equals(value))
-			return COLOR_DEFAULT_DEFAULT;
-
-		RGB color = StringConverter.asRGB(value, null);
-		if (color == null)
-			return COLOR_DEFAULT_DEFAULT;
-		return color;
-	}
-	/**
-	 * Helper method to construct a <code>FontData</code> from the given string.
-	 * String is in the form FontData;FontData; in order that
-	 * multiple FontDatas can be defined.
-	 * @param value the identifier for the font
-	 * @return FontData[]
-	 * 
-	 * @since 3.0
-	 */
-	public static FontData[] basicGetFontData(String value) {
-		if (IPreferenceStore.STRING_DEFAULT_DEFAULT.equals(value))
-			return FONTDATA_ARRAY_DEFAULT_DEFAULT;
-
-		//Read in all of them to get the value
-		StringTokenizer tokenizer = new StringTokenizer(value, ENTRY_SEPARATOR);
-		int numTokens = tokenizer.countTokens();
-		FontData[] fontData = new FontData[numTokens];
-
-		for (int i = 0; i < numTokens; i++) {
-			try {
-				fontData[i] = new FontData(tokenizer.nextToken());
-			} catch (SWTException error) {
-				return FONTDATA_ARRAY_DEFAULT_DEFAULT;
-			} catch (IllegalArgumentException error) {
-				return FONTDATA_ARRAY_DEFAULT_DEFAULT;
-			}
-		}
-		return fontData;
-	}
-
-	/**
-	 * Reads the supplied string and returns its corresponding
-	 * FontData. If it cannot be read then the default FontData
-	 * will be returned.
-	 * 
-	 * @param fontDataValue the string value for the font data  
-	 * @return the font data
-	 */
-	public static FontData[] readFontData(String fontDataValue) {
-		return basicGetFontData(fontDataValue);
-	}
-	/**
-	 * Helper method to construct a point from the given string.
-	 * @param value
-	 * @return Point
-	 */
-	private static Point basicGetPoint(String value) {
-		Point dp = new Point(POINT_DEFAULT_DEFAULT.x, POINT_DEFAULT_DEFAULT.y);
-		if (IPreferenceStore.STRING_DEFAULT_DEFAULT.equals(value))
-			return dp;
-		return StringConverter.asPoint(value, dp);
-	}
-	/**
-	 *  Helper method to construct a rectangle from the given string.
-	 * @param value
-	 * @return Rectangle
-	 */
-	private static Rectangle basicGetRectangle(String value) {
-		// We can't just return RECTANGLE_DEFAULT_DEFAULT because
-		// a rectangle object doesn't have value semantik.
-		Rectangle dr =
-			new Rectangle(
-				RECTANGLE_DEFAULT_DEFAULT.x,
-				RECTANGLE_DEFAULT_DEFAULT.y,
-				RECTANGLE_DEFAULT_DEFAULT.width,
-				RECTANGLE_DEFAULT_DEFAULT.height);
-
-		if (IPreferenceStore.STRING_DEFAULT_DEFAULT.equals(value))
-			return dr;
-		return StringConverter.asRectangle(value, dr);
-	}
-	/**
-	 * Returns the current value of the color-valued preference with the
-	 * given name in the given preference store.
-	 * Returns the default-default value (<code>COLOR_DEFAULT_DEFAULT</code>) 
-	 * if there is no preference with the given name, or if the current value 
-	 * cannot be treated as a color.
-	 *
-	 * @param store the preference store
-	 * @param name the name of the preference
-	 * @return the color-valued preference
-	 */
-	public static RGB getColor(IPreferenceStore store, String name) {
-		return basicGetColor(store.getString(name));
-	}
-    /**
-	 * Returns the default value for the color-valued preference
-	 * with the given name in the given preference store.
-	 * Returns the default-default value (<code>COLOR_DEFAULT_DEFAULT</code>) 
-	 * is no default preference with the given name, or if the default 
-	 * value cannot be treated as a color.
-	 *
-	 * @param store the preference store
-	 * @param name the name of the preference
-	 * @return the default value of the preference
-	 */
-	public static RGB getDefaultColor(IPreferenceStore store, String name) {
-		return basicGetColor(store.getDefaultString(name));
-	}
-	/**
-	 * Returns the default value array for the font-valued preference
-	 * with the given name in the given preference store.
-	 * Returns the default-default value (<code>FONTDATA_ARRAY_DEFAULT_DEFAULT</code>) 
-	 * is no default preference with the given name, or if the default 
-	 * value cannot be treated as font data.
-	 *
-	 * @param store the preference store
-	 * @param name the name of the preference
-	 * @return the default value of the preference
-	 */
-	public static FontData[] getDefaultFontDataArray(
-		IPreferenceStore store,
-		String name) {
-		return basicGetFontData(store.getDefaultString(name));
-	}
-
-	/**
-	 * Returns a single default value for the font-valued preference
-	 * with the given name in the given preference store.
-	 * Returns the default-default value (<code>FONTDATA_DEFAULT_DEFAULT</code>) 
-	 * is no default preference with the given name, or if the default 
-	 * value cannot be treated as font data.
-	 * This method is provided for backwards compatibility. It is
-	 * recommended that <code>getDefaultFontDataArray</code> is
-	 * used instead.
-	 *
-	 * @param store the preference store
-	 * @param name the name of the preference
-	 * @return the default value of the preference
-	 */
-	public static FontData getDefaultFontData(
-		IPreferenceStore store,
-		String name) {
-		return getDefaultFontDataArray(store, name)[0];
-	}
-	/**
-	 * Returns the default value for the point-valued preference
-	 * with the given name in the given preference store.
-	 * Returns the default-default value (<code>POINT_DEFAULT_DEFAULT</code>) 
-	 * is no default preference with the given name, or if the default 
-	 * value cannot be treated as a point.
-	 *
-	 * @param store the preference store
-	 * @param name the name of the preference
-	 * @return the default value of the preference
-	 */
-	public static Point getDefaultPoint(IPreferenceStore store, String name) {
-		return basicGetPoint(store.getDefaultString(name));
-	}
-	/**
-	 * Returns the default value for the rectangle-valued preference
-	 * with the given name in the given preference store.
-	 * Returns the default-default value (<code>RECTANGLE_DEFAULT_DEFAULT</code>) 
-	 * is no default preference with the given name, or if the default 
-	 * value cannot be treated as a rectangle.
-	 *
-	 * @param store the preference store
-	 * @param name the name of the preference
-	 * @return the default value of the preference
-	 */
-	public static Rectangle getDefaultRectangle(
-		IPreferenceStore store,
-		String name) {
-		return basicGetRectangle(store.getDefaultString(name));
-	}
-	/**
-	 * Returns the current value of the font-valued preference with the
-	 * given name in the given preference store.
-	 * Returns the default-default value (<code>FONTDATA_ARRAY_DEFAULT_DEFAULT</code>) 
-	 * if there is no preference with the given name, or if the current value 
-	 * cannot be treated as font data.
-	 *
-	 * @param store the preference store
-	 * @param name the name of the preference
-	 * @return the font-valued preference
-	 */
-	public static FontData[] getFontDataArray(
-		IPreferenceStore store,
-		String name) {
-		return basicGetFontData(store.getString(name));
-	}
-
-	/**
-	 * Returns the current value of the first entry of the
-	 * font-valued preference with the
-	 * given name in the given preference store.
-	 * Returns the default-default value (<code>FONTDATA_ARRAY_DEFAULT_DEFAULT</code>) 
-	 * if there is no preference with the given name, or if the current value 
-	 * cannot be treated as font data.
-	 * This API is provided for backwards compatibility. It is
-	 * recommended that <code>getFontDataArray</code> is used instead.
-	 *
-	 * @param store the preference store
-	 * @param name the name of the preference
-	 * @return the font-valued preference
-	 */
-	public static FontData getFontData(IPreferenceStore store, String name) {
-		return getFontDataArray(store, name)[0];
-	}
-
-	/**
-	 * Returns the current value of the point-valued preference with the
-	 * given name in the given preference store.
-	 * Returns the default-default value (<code>POINT_DEFAULT_DEFAULT</code>) 
-	 * if there is no preference with the given name, or if the current value 
-	 * cannot be treated as a point.
-	 *
-	 * @param store the preference store
-	 * @param name the name of the preference
-	 * @return the point-valued preference
-	 */
-	public static Point getPoint(IPreferenceStore store, String name) {
-		return basicGetPoint(store.getString(name));
-	}
-	/**
-	 * Returns the current value of the rectangle-valued preference with the
-	 * given name in the given preference store.
-	 * Returns the default-default value (<code>RECTANGLE_DEFAULT_DEFAULT</code>) 
-	 * if there is no preference with the given name, or if the current value 
-	 * cannot be treated as a rectangle.
-	 *
-	 * @param store the preference store
-	 * @param name the name of the preference
-	 * @return the rectangle-valued preference
-	 */
-	public static Rectangle getRectangle(IPreferenceStore store, String name) {
-		return basicGetRectangle(store.getString(name));
-	}
-	/**
-	 * Sets the default value of the preference with the given name
-	 * in the given preference store. As FontDatas are stored as 
-	 * arrays this method is only provided for backwards compatibility.
-	 * Use <code>setDefault(IPreferenceStore, String, FontData[])</code>
-	 * instead.
-	 *
-	 * @param store the preference store
-	 * @param name the name of the preference
-	 * @param value the new default value of the preference
-	 */
-	public static void setDefault(
-		IPreferenceStore store,
-		String name,
-		FontData value) {
-		FontData[] fontDatas = new FontData[1];
-		fontDatas[0] = value;
-		setDefault(store, name, fontDatas);
-	}
-
-	/**
-	 * Sets the default value of the preference with the given name
-	 * in the given preference store.
-	 *
-	 * @param store the preference store
-	 * @param name the name of the preference
-	 * @param value the new default value of the preference
-	 */
-	public static void setDefault(
-		IPreferenceStore store,
-		String name,
-		FontData[] value) {
-		store.setDefault(name, getStoredRepresentation(value));
-	}
-
-	/**
-	 * Sets the default value of the preference with the given name
-	 * in the given preference store.
-	 *
-	 * @param store the preference store
-	 * @param name the name of the preference
-	 * @param value the new default value of the preference
-	 */
-	public static void setDefault(
-		IPreferenceStore store,
-		String name,
-		Point value) {
-		store.setDefault(name, StringConverter.asString(value));
-	}
-	/**
-	 * Sets the default value of the preference with the given name
-	 * in the given preference store.
-	 *
-	 * @param store the preference store
-	 * @param name the name of the preference
-	 * @param value the new default value of the preference
-	 */
-	public static void setDefault(
-		IPreferenceStore store,
-		String name,
-		Rectangle value) {
-		store.setDefault(name, StringConverter.asString(value));
-	}
-	/**
-	 * Sets the default value of the preference with the given name
-	 * in the given preference store.
-	 *
-	 * @param store the preference store
-	 * @param name the name of the preference
-	 * @param value the new default value of the preference
-	 */
-	public static void setDefault(
-		IPreferenceStore store,
-		String name,
-		RGB value) {
-		store.setDefault(name, StringConverter.asString(value));
-	}
-	
-	/**
-	 * Sets the current value of the preference with the given name
-	 * in the given preference store. 
-	 * <p>
-	 * Included for backwards compatibility.  This method is equivalent to
-	 * </code>setValue(store, name, new FontData[]{value})</code>.
-	 * </p>
-	 * 
-	 * @param store the preference store
-	 * @param name the name of the preference
-	 * @param value the new current value of the preference
-	 */
-	public static void setValue(
-		IPreferenceStore store,
-		String name,
-		FontData value) {
-		setValue(store, name, new FontData[]{value});
-	}
-
-	/**
-	 * Sets the current value of the preference with the given name
-	 * in the given preference store. This method also sets the corresponding
-	 * key in the JFace font registry to the value and fires a 
-	 * property change event to listeners on the preference store.
-	 * 
-	 * <p>
-	 * Note that this API does not update any other settings that may
-	 * be dependant upon it. Only the value in the preference store 
-	 * and in the font registry is updated.
-	 * </p> 
-	 * @param store the preference store
-	 * @param name the name of the preference
-	 * @param value the new current value of the preference
-	 * 
-	 * @see #putValue(IPreferenceStore, String, FontData[])
-	 */
-	public static void setValue(
-		IPreferenceStore store,
-		String name,
-		FontData[] value) {
-		FontData[] oldValue = getFontDataArray(store, name);
-		// see if the font has changed
-		if (!Arrays.equals(oldValue, value)) {
-			store.putValue(name, getStoredRepresentation(value));
-			JFaceResources.getFontRegistry().put(name, value);
-			store.firePropertyChangeEvent(name, oldValue, value);
-		}
-	}
-
-	/**
-	 * Sets the current value of the preference with the given name
-	 * in the given preference store. This method does not update
-	 * the font registry or fire a property change event.
-	 * 
-	 * @param store the preference store
-	 * @param name the name of the preference
-	 * @param value the new current value of the preference
-	 * 
-	 * @see PreferenceConverter#setValue(IPreferenceStore, String, FontData[])
-	 */
-	public static void putValue(
-		IPreferenceStore store,
-		String name,
-		FontData[] value) {
-		FontData[] oldValue = getFontDataArray(store, name);
-		// see if the font has changed
-		if (!Arrays.equals(oldValue, value)) {
-			store.putValue(name, getStoredRepresentation(value));
-		}
-	}
-
-	/**
-	 * Returns the stored representation of the given array of FontData objects.
-	 * The stored representation has the form FontData;FontData;
-	 * Only includes the non-null entries.
-	 * 
-	 * @param fontData the array of FontData objects
-	 * @return the stored representation of the FontData objects
-	 * @since 3.0
-	 */
-	public static String getStoredRepresentation(FontData[] fontData) {
-		StringBuffer buffer = new StringBuffer();
-		for (int i = 0; i < fontData.length; i++) {
-			if (fontData[i] != null) {
-				buffer.append(fontData[i].toString());
-				buffer.append(ENTRY_SEPARATOR);
-			}
-		}
-		return buffer.toString();
-	}
-
-	/**
-	 * Sets the current value of the preference with the given name
-	 * in the given preference store.
-	 *
-	 * @param store the preference store
-	 * @param name the name of the preference
-	 * @param value the new current value of the preference
-	 */
-	public static void setValue(
-		IPreferenceStore store,
-		String name,
-		Point value) {
-		Point oldValue = getPoint(store, name);
-		if (oldValue == null || !oldValue.equals(value)) {
-			store.putValue(name, StringConverter.asString(value));
-			store.firePropertyChangeEvent(name, oldValue, value);
-		}
-	}
-	/**
-	 * Sets the current value of the preference with the given name
-	 * in the given preference store.
-	 *
-	 * @param store the preference store
-	 * @param name the name of the preference
-	 * @param value the new current value of the preference
-	 */
-	public static void setValue(
-		IPreferenceStore store,
-		String name,
-		Rectangle value) {
-		Rectangle oldValue = getRectangle(store, name);
-		if (oldValue == null || !oldValue.equals(value)) {
-			store.putValue(name, StringConverter.asString(value));
-			store.firePropertyChangeEvent(name, oldValue, value);
-		}
-	}
-	/**
-	 * Sets the current value of the preference with the given name
-	 * in the given preference store.
-	 *
-	 * @param store the preference store
-	 * @param name the name of the preference
-	 * @param value the new current value of the preference
-	 */
-	public static void setValue(
-		IPreferenceStore store,
-		String name,
-		RGB value) {
-		RGB oldValue = getColor(store, name);
-		if (oldValue == null || !oldValue.equals(value)) {
-			store.putValue(name, StringConverter.asString(value));
-			store.firePropertyChangeEvent(name, oldValue, value);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferenceDialog.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferenceDialog.java
deleted file mode 100644
index 7b25d84..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferenceDialog.java
+++ /dev/null
@@ -1,1194 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.preference;
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.DialogMessageArea;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.resource.JFaceColors;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.util.IPropertyChangeListener;
-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.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.HelpEvent;
-import org.eclipse.swt.events.HelpListener;
-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.events.ShellAdapter;
-import org.eclipse.swt.events.ShellEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.layout.FormLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Layout;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Sash;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Tree;
-/**
- * A preference dialog is a hierarchical presentation of preference pages. Each
- * page is represented by a node in the tree shown on the left hand side of the
- * dialog; when a node is selected, the corresponding page is shown on the right
- * hand side.
- */
-public class PreferenceDialog extends Dialog
-		implements
-			IPreferencePageContainer {
-	/**
-	 * Layout for the page container.
-	 *  
-	 */
-	private class PageLayout extends Layout {
-		public Point computeSize(Composite composite, int wHint, int hHint,
-				boolean force) {
-			if (wHint != SWT.DEFAULT && hHint != SWT.DEFAULT)
-				return new Point(wHint, hHint);
-			int x = minimumPageSize.x;
-			int y = minimumPageSize.y;
-			Control[] children = composite.getChildren();
-			for (int i = 0; i < children.length; i++) {
-				Point size = children[i].computeSize(SWT.DEFAULT, SWT.DEFAULT,
-						force);
-				x = Math.max(x, size.x);
-				y = Math.max(y, size.y);
-			}
-			if (wHint != SWT.DEFAULT)
-				x = wHint;
-			if (hHint != SWT.DEFAULT)
-				y = hHint;
-			return new Point(x, y);
-		}
-		public void layout(Composite composite, boolean force) {
-			Rectangle rect = composite.getClientArea();
-			Control[] children = composite.getChildren();
-			for (int i = 0; i < children.length; i++) {
-				children[i].setSize(rect.width, rect.height);
-			}
-		}
-	}
-	//The id of the last page that was selected
-	private static String lastPreferenceId = null;
-	//The last known tree width
-	private static int lastTreeWidth = 150;
-	/**
-	 * Indentifier for the error image
-	 */
-	public static final String PREF_DLG_IMG_TITLE_ERROR = DLG_IMG_MESSAGE_ERROR; //$NON-NLS-1$
-	/**
-	 * Title area fields
-	 */
-	public static final String PREF_DLG_TITLE_IMG = "preference_dialog_title_image"; //$NON-NLS-1$
-	static {
-		ImageRegistry reg = JFaceResources.getImageRegistry();
-		reg.put(PREF_DLG_TITLE_IMG, ImageDescriptor.createFromFile(
-				PreferenceDialog.class, "images/pref_dialog_title.gif")); //$NON-NLS-1$
-	}
-	/**
-	 * The current preference page, or <code>null</code> if there is none.
-	 */
-	private IPreferencePage currentPage;
-	private DialogMessageArea messageArea;
-	/**
-	 * Indicates whether help is available; <code>false</code> by default.'
-	 * 
-	 * @see #setHelpAvailable
-	 */
-	private boolean isHelpAvailable = false;
-	private Point lastShellSize;
-	private IPreferenceNode lastSuccessfulNode;
-	/**
-	 * The minimum page size; 400 by 400 by default.
-	 * 
-	 * @see #setMinimumPageSize(Point)
-	 */
-	private Point minimumPageSize = new Point(400, 400);
-	/**
-	 * The OK button.
-	 */
-	private Button okButton;
-	/**
-	 * The Composite in which a page is shown.
-	 */
-	private Composite pageContainer;
-	/**
-	 * The preference manager.
-	 */
-	private PreferenceManager preferenceManager;
-	/**
-	 * Flag for the presence of the error message.
-	 */
-	private boolean showingError = false;
-	/**
-	 * Preference store, initially <code>null</code> meaning none.
-	 * 
-	 * @see #setPreferenceStore
-	 */
-	private IPreferenceStore preferenceStore;
-	private Composite titleArea;
-	private Label titleImage;
-	/**
-	 * The tree viewer.
-	 */
-	private TreeViewer treeViewer;
-	/**
-	 * Creates a new preference dialog under the control of the given preference
-	 * manager.
-	 * 
-	 * @param parentShell
-	 *            the parent shell
-	 * @param manager
-	 *            the preference manager
-	 */
-	public PreferenceDialog(Shell parentShell, PreferenceManager manager) {
-		super(parentShell);
-		setShellStyle(getShellStyle() | SWT.RESIZE | SWT.MAX);
-		preferenceManager = manager;
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.dialogs.Dialog#buttonPressed(int)
-	 */
-	protected void buttonPressed(int buttonId) {
-		switch (buttonId) {
-			case IDialogConstants.OK_ID : {
-				okPressed();
-				return;
-			}
-			case IDialogConstants.CANCEL_ID : {
-				cancelPressed();
-				return;
-			}
-			case IDialogConstants.HELP_ID : {
-				helpPressed();
-				return;
-			}
-		}
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.dialogs.Dialog#cancelPressed()
-	 */
-	protected void cancelPressed() {
-		// Inform all pages that we are cancelling
-		Iterator nodes = preferenceManager.getElements(
-				PreferenceManager.PRE_ORDER).iterator();
-		while (nodes.hasNext()) {
-			final IPreferenceNode node = (IPreferenceNode) nodes.next();
-			if (node.getPage() != null) {
-				Platform.run(new SafeRunnable() {
-					public void run() {
-						if (!node.getPage().performCancel())
-							return;
-					}
-				});
-			}
-		}
-		setReturnCode(CANCEL);
-		close();
-	}
-	/**
-	 * Clear the last selected node. This is so that we not chache the last
-	 * selection in case of an error.
-	 */
-	void clearSelectedNode() {
-		setSelectedNodePreference(null);
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.window.Window#close()
-	 */
-	public boolean close() {
-		List nodes = preferenceManager.getElements(PreferenceManager.PRE_ORDER);
-		for (int i = 0; i < nodes.size(); i++) {
-			IPreferenceNode node = (IPreferenceNode) nodes.get(i);
-			node.disposeResources();
-		}
-		return super.close();
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell)
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		newShell.setText(JFaceResources.getString("PreferenceDialog.title")); //$NON-NLS-1$
-		newShell.addShellListener(new ShellAdapter() {
-			public void shellActivated(ShellEvent e) {
-				if (lastShellSize == null)
-					lastShellSize = getShell().getSize();
-			}
-		});
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.window.Window#constrainShellSize()
-	 */
-	protected void constrainShellSize() {
-		super.constrainShellSize();
-		// record opening shell size
-		if (lastShellSize == null)
-			lastShellSize = getShell().getSize();
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.dialogs.Dialog#createButtonsForButtonBar(org.eclipse.swt.widgets.Composite)
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		// create OK and Cancel buttons by default
-		okButton = createButton(parent, IDialogConstants.OK_ID,
-				IDialogConstants.OK_LABEL, true);
-		getShell().setDefaultButton(okButton);
-		createButton(parent, IDialogConstants.CANCEL_ID,
-				IDialogConstants.CANCEL_LABEL, false);
-		if (isHelpAvailable) {
-			createButton(parent, IDialogConstants.HELP_ID,
-					IDialogConstants.HELP_LABEL, false);
-		}
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.window.Window#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(final Composite parent) {
-		final Control[] control = new Control[1];
-		BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() {
-			public void run() {
-				control[0] = PreferenceDialog.super.createContents(parent);
-				// Add the first page
-				selectSavedItem();
-			}
-		});
-		return control[0];
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		final Composite composite = (Composite) super.createDialogArea(parent);
-		((GridLayout) composite.getLayout()).numColumns = 3;
-		final Control treeControl = createTreeAreaContents(composite);
-		final Sash sash = new Sash(composite, SWT.VERTICAL);
-		sash.setLayoutData(new GridData(GridData.FILL_VERTICAL));
-		// the following listener resizes the tree control based on sash deltas.
-		// If necessary, it will also grow/shrink the dialog.
-		sash.addListener(SWT.Selection, new Listener() {
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
-			 */
-			public void handleEvent(Event event) {
-				if (event.detail == SWT.DRAG)
-					return;
-				int shift = event.x - sash.getBounds().x;
-				GridData data = (GridData) treeControl.getLayoutData();
-				int newWidthHint = data.widthHint + shift;
-				if (newWidthHint < 20)
-					return;
-				Point computedSize = getShell().computeSize(SWT.DEFAULT,
-						SWT.DEFAULT);
-				Point currentSize = getShell().getSize();
-				// if the dialog wasn't of a custom size we know we can shrink
-				// it if necessary based on sash movement.
-				boolean customSize = !computedSize.equals(currentSize);
-				data.widthHint = newWidthHint;
-				setLastTreeWidth(newWidthHint);
-				composite.layout(true);
-				// recompute based on new widget size
-				computedSize = getShell().computeSize(SWT.DEFAULT, SWT.DEFAULT);
-				// if the dialog was of a custom size then increase it only if
-				// necessary.
-				if (customSize)
-					computedSize.x = Math.max(computedSize.x, currentSize.x);
-				computedSize.y = Math.max(computedSize.y, currentSize.y);
-				if (computedSize.equals(currentSize))
-					return;
-				setShellSize(computedSize.x, computedSize.y);
-				lastShellSize = getShell().getSize();
-			}
-		});
-		Composite pageAreaComposite = new Composite(composite, SWT.NONE);
-		pageAreaComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		GridLayout layout = new GridLayout(1, true);
-		layout.marginHeight = 0;
-		layout.marginWidth = 10;
-		pageAreaComposite.setLayout(layout);
-		// Build the title area and separator line
-		Composite titleComposite = new Composite(pageAreaComposite, SWT.NONE);
-		layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		layout.verticalSpacing = 0;
-		layout.horizontalSpacing = 0;
-		titleComposite.setLayout(layout);
-		titleComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		createTitleArea(titleComposite);
-		// Build the Page container
-		pageContainer = createPageContainer(pageAreaComposite);
-		pageContainer.setLayoutData(new GridData(GridData.FILL_BOTH));
-		// Build the separator line
-		Label separator = new Label(pageAreaComposite, SWT.HORIZONTAL
-				| SWT.SEPARATOR);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		separator.setLayoutData(gd);
-		return composite;
-	}
-	/**
-	 * Creates the inner page container.
-	 * 
-	 * @param parent
-	 * @return Composite
-	 */
-	private Composite createPageContainer(Composite parent) {
-		Composite result = new Composite(parent, SWT.NULL);
-		result.setLayout(new PageLayout());
-		return result;
-	}
-	/**
-	 * Creates the wizard's title area.
-	 * 
-	 * @param parent
-	 *            the SWT parent for the title area composite.
-	 * @return the created title area composite.
-	 */
-	private Composite createTitleArea(Composite parent) {
-		// Create the title area which will contain
-		// a title, message, and image.
-		int margins = 2;
-		titleArea = new Composite(parent, SWT.NONE);
-		FormLayout layout = new FormLayout();
-		layout.marginHeight = margins;
-		layout.marginWidth = margins;
-		titleArea.setLayout(layout);
-		// Get the background color for the title area
-		Display display = parent.getDisplay();
-		Color background = JFaceColors.getBannerBackground(display);
-		GridData layoutData = new GridData(GridData.FILL_HORIZONTAL);
-		layoutData.heightHint = JFaceResources.getImage(PREF_DLG_TITLE_IMG)
-				.getBounds().height
-				+ (margins * 3);
-		titleArea.setLayoutData(layoutData);
-		titleArea.setBackground(background);			
-		
-		titleArea.addPaintListener(new PaintListener() {
-			public void paintControl(PaintEvent e) {
-				e.gc.setForeground(
-						titleArea.getDisplay().getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW));
-				Rectangle bounds = titleArea.getClientArea();
-				bounds.height = bounds.height - 2;
-				bounds.width = bounds.width - 1;
-				e.gc.drawRectangle(bounds);
-			}
-		});
-		
-		// Message label
-		messageArea = new DialogMessageArea();
-		messageArea.createContents(titleArea);
-		final IPropertyChangeListener fontListener = new IPropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if (JFaceResources.BANNER_FONT.equals(event.getProperty()))
-					updateMessage();
-				if (JFaceResources.DIALOG_FONT.equals(event.getProperty())) {
-					updateMessage();
-					Font dialogFont = JFaceResources.getDialogFont();
-					updateTreeFont(dialogFont);
-					Control[] children = ((Composite) buttonBar).getChildren();
-					for (int i = 0; i < children.length; i++)
-						children[i].setFont(dialogFont);
-				}
-			}
-		};
-		titleArea.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent event) {
-				JFaceResources.getFontRegistry().removeListener(fontListener);
-			}
-		});
-		JFaceResources.getFontRegistry().addListener(fontListener);
-		// Title image
-		titleImage = new Label(titleArea, SWT.LEFT);
-		titleImage.setBackground(background);
-		titleImage.setImage(JFaceResources.getImage(PREF_DLG_TITLE_IMG));
-		FormData imageData = new FormData();
-		imageData.right = new FormAttachment(100);
-		imageData.top = new FormAttachment(0);
-		imageData.bottom = new FormAttachment(100);
-		titleImage.setLayoutData(imageData);
-		messageArea.setTitleLayoutData(createMessageAreaData());
-		messageArea.setMessageLayoutData(createMessageAreaData());
-		return titleArea;
-	}
-	/**
-	 * Create the layout data for the message area.
-	 * 
-	 * @return FormData for the message area.
-	 */
-	private FormData createMessageAreaData() {
-		FormData messageData = new FormData();
-		messageData.top = new FormAttachment(0);
-		messageData.bottom = new FormAttachment(titleImage, 0, SWT.BOTTOM);
-		messageData.right = new FormAttachment(titleImage, 0);
-		messageData.left = new FormAttachment(0);
-		return messageData;
-	}
-	/**
-	 * @param parent
-	 *            the SWT parent for the tree area controls.
-	 * @return the new <code>Control</code>.
-	 * @since 3.0
-	 */
-	protected Control createTreeAreaContents(Composite parent) {
-		// Build the tree an put it into the composite.
-		treeViewer = createTreeViewer(parent);
-		treeViewer.setInput(getPreferenceManager());
-		updateTreeFont(JFaceResources.getDialogFont());
-		layoutTreeAreaControl(treeViewer.getControl());
-		return treeViewer.getControl();
-	}
-	/**
-	 * Create a new <code>TreeViewer</code>.
-	 * 
-	 * @param parent
-	 *            the parent <code>Composite</code>.
-	 * @return the <code>TreeViewer</code>.
-	 * @since 3.0
-	 */
-	protected TreeViewer createTreeViewer(Composite parent) {
-		final TreeViewer viewer = new TreeViewer(parent, SWT.BORDER);
-		viewer.addPostSelectionChangedListener(new ISelectionChangedListener() {
-			private void handleError() {
-				try {
-					// remove the listener temporarily so that the events caused
-					// by the error handling dont further cause error handling
-					// to occur.
-					viewer.removePostSelectionChangedListener(this);
-					showPageFlippingAbortDialog();
-					selectCurrentPageAgain();
-					clearSelectedNode();
-				} finally {
-					viewer.addPostSelectionChangedListener(this);
-				}
-			}
-			public void selectionChanged(SelectionChangedEvent event) {
-				Object selection = getSingleSelection(event.getSelection());
-				if (selection instanceof IPreferenceNode) {
-					if (!isCurrentPageValid()) {
-						handleError();
-					} else if (!showPage((IPreferenceNode) selection)) {
-						// Page flipping wasn't successful
-						handleError();
-					} else {
-						// Everything went well
-						lastSuccessfulNode = (IPreferenceNode) selection;
-					}
-					viewer.getControl().setFocus();
-				}
-			}
-		});
-		((Tree) viewer.getControl())
-				.addSelectionListener(new SelectionAdapter() {
-					public void widgetDefaultSelected(final SelectionEvent event) {
-						ISelection selection = viewer.getSelection();
-						if (selection.isEmpty())
-							return;
-						IPreferenceNode singleSelection = getSingleSelection(selection);
-						boolean expanded = viewer
-								.getExpandedState(singleSelection);
-						viewer.setExpandedState(singleSelection, !expanded);
-					}
-				});
-		//Register help listener on the tree to use context sensitive help
-		viewer.getControl().addHelpListener(new HelpListener() {
-			public void helpRequested(HelpEvent event) {
-				// call perform help on the current page
-				if (currentPage != null) {
-					currentPage.performHelp();
-				}
-			}
-		});
-		viewer.setLabelProvider(new PreferenceLabelProvider());
-		viewer.setContentProvider(new PreferenceContentProvider());
-		return viewer;
-	}
-	/**
-	 * Find the <code>IPreferenceNode</code> that has data the same id as the
-	 * supplied value.
-	 * 
-	 * @param nodeId
-	 *            the id to search for.
-	 * @return <code>IPreferenceNode</code> or <code>null</code> if not
-	 *         found.
-	 */
-	protected IPreferenceNode findNodeMatching(String nodeId) {
-		List nodes = preferenceManager
-				.getElements(PreferenceManager.POST_ORDER);
-		for (Iterator i = nodes.iterator(); i.hasNext();) {
-			IPreferenceNode node = (IPreferenceNode) i.next();
-			if (node.getId().equals(nodeId))
-				return node;
-		}
-		return null;
-	}
-	/**
-	 * Get the last known tree width.
-	 * 
-	 * @return the width.
-	 */
-	private int getLastTreeWidth() {
-		return lastTreeWidth;
-	}
-	/**
-	 * Returns the preference mananger used by this preference dialog.
-	 * 
-	 * @return the preference mananger
-	 */
-	public PreferenceManager getPreferenceManager() {
-		return preferenceManager;
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.preference.IPreferencePageContainer#getPreferenceStore()
-	 */
-	public IPreferenceStore getPreferenceStore() {
-		return preferenceStore;
-	}
-	/**
-	 * Get the name of the selected item preference
-	 * 
-	 * @return String
-	 */
-	protected String getSelectedNodePreference() {
-		return lastPreferenceId;
-	}
-	/**
-	 * @param selection
-	 *            the <code>ISelection</code> to examine.
-	 * @return the first element, or null if empty.
-	 */
-	protected IPreferenceNode getSingleSelection(ISelection selection) {
-		if (!selection.isEmpty())
-			return (IPreferenceNode) ((IStructuredSelection) selection)
-					.getFirstElement();
-		return null;
-	}
-	/**
-	 * @return the <code>TreeViewer</code> for this dialog.
-	 * @since 3.0
-	 */
-	protected TreeViewer getTreeViewer() {
-		return treeViewer;
-	}
-	/**
-	 * Save the values specified in the pages.
-	 * <p>
-	 * The default implementation of this framework method saves all pages of
-	 * type <code>PreferencePage</code> (if their store needs saving and is a
-	 * <code>PreferenceStore</code>).
-	 * </p>
-	 * <p>
-	 * Subclasses may override.
-	 * </p>
-	 */
-	protected void handleSave() {
-		Iterator nodes = preferenceManager.getElements(
-				PreferenceManager.PRE_ORDER).iterator();
-		while (nodes.hasNext()) {
-			IPreferenceNode node = (IPreferenceNode) nodes.next();
-			IPreferencePage page = node.getPage();
-			if (page instanceof PreferencePage) {
-				// Save now in case tbe workbench does not shutdown cleanly
-				IPreferenceStore store = ((PreferencePage) page)
-						.getPreferenceStore();
-				if (store != null && store.needsSaving()
-						&& store instanceof IPersistentPreferenceStore) {
-					try {
-						((IPersistentPreferenceStore) store).save();
-					} catch (IOException e) {
-						MessageDialog
-								.openError(
-										getShell(),
-										JFaceResources
-												.getString("PreferenceDialog.saveErrorTitle"), //$NON-NLS-1$
-										JFaceResources
-												.format(
-														"PreferenceDialog.saveErrorMessage", new Object[]{page.getTitle(), e.getMessage()})); //$NON-NLS-1$
-					}
-				}
-			}
-		}
-	}
-	/**
-	 * Notifies that the window's close button was pressed, the close menu was
-	 * selected, or the ESCAPE key pressed.
-	 * <p>
-	 * The default implementation of this framework method sets the window's
-	 * return code to <code>CANCEL</code> and closes the window using
-	 * <code>close</code>. Subclasses may extend or reimplement.
-	 * </p>
-	 */
-	protected void handleShellCloseEvent() {
-		// handle the same as pressing cancel
-		cancelPressed();
-	}
-	/**
-	 * Notifies of the pressing of the Help button.
-	 * <p>
-	 * The default implementation of this framework method calls
-	 * <code>performHelp</code> on the currently active page.
-	 * </p>
-	 */
-	protected void helpPressed() {
-		if (currentPage != null) {
-			currentPage.performHelp();
-		}
-	}
-	/**
-	 * Returns whether the current page is valid.
-	 * 
-	 * @return <code>false</code> if the current page is not valid, or or
-	 *         <code>true</code> if the current page is valid or there is no
-	 *         current page
-	 */
-	protected boolean isCurrentPageValid() {
-		if (currentPage == null)
-			return true;
-		return currentPage.isValid();
-	}
-	/**
-	 * @param control
-	 *            the <code>Control</code> to lay out.
-	 * @since 3.0
-	 */
-	protected void layoutTreeAreaControl(Control control) {
-		GridData gd = new GridData(GridData.FILL_VERTICAL);
-		gd.widthHint = getLastTreeWidth();
-		gd.verticalSpan = 1;
-		control.setLayoutData(gd);
-	}
-	/**
-	 * The preference dialog implementation of this <code>Dialog</code>
-	 * framework method sends <code>performOk</code> to all pages of the
-	 * preference dialog, then calls <code>handleSave</code> on this dialog to
-	 * save any state, and then calls <code>close</code> to close this dialog.
-	 */
-	protected void okPressed() {
-		Platform.run(new SafeRunnable() {
-			private boolean errorOccurred;
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-			 */
-			public void run() {
-				getButton(IDialogConstants.OK_ID).setEnabled(false);
-				errorOccurred = false;
-				try {
-					// Notify all the pages and give them a chance to abort
-					Iterator nodes = preferenceManager.getElements(
-							PreferenceManager.PRE_ORDER).iterator();
-					while (nodes.hasNext()) {
-						IPreferenceNode node = (IPreferenceNode) nodes.next();
-						IPreferencePage page = node.getPage();
-						if (page != null) {
-							if (!page.performOk())
-								return;
-						}
-					}
-				} catch (Exception e) {
-					handleException(e);
-				} finally {
-					// Give subclasses the choice to save the state of the
-					// preference pages.
-					if (!errorOccurred)
-						handleSave();
-					// Need to restore state
-					close();
-				}
-			}
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-			 */
-			public void handleException(Throwable e) {
-				errorOccurred = true;
-				if (Platform.isRunning()) {
-					String bundle = Platform.PI_RUNTIME;
-					Platform.getLog(Platform.getBundle(bundle)).log(
-							new Status(IStatus.ERROR, bundle, 0, e.toString(),
-									e));
-				} else
-					e.printStackTrace();
-				clearSelectedNode();
-				String message = JFaceResources
-						.getString("SafeRunnable.errorMessage"); //$NON-NLS-1$
-				MessageDialog.openError(getShell(), JFaceResources
-						.getString("Error"), message); //$NON-NLS-1$
-
-			}
-		});
-	}
-	/**
-	 * Selects the page determined by <code>lastSuccessfulNode</code> in the
-	 * page hierarchy.
-	 */
-	void selectCurrentPageAgain() {
-		if (lastSuccessfulNode == null)
-			return;
-		getTreeViewer().setSelection(
-				new StructuredSelection(lastSuccessfulNode));
-		currentPage.setVisible(true);
-	}
-	/**
-	 * Selects the saved item in the tree of preference pages. If it cannot do
-	 * this it saves the first one.
-	 */
-	protected void selectSavedItem() {
-		IPreferenceNode node = findNodeMatching(getSelectedNodePreference());
-		if (node == null) {
-			IPreferenceNode[] nodes = preferenceManager.getRoot().getSubNodes();
-			if (nodes.length > 0)
-				node = nodes[0];
-		}
-		if (node != null) {
-			getTreeViewer().setSelection(new StructuredSelection(node), true);
-			// Keep focus in tree. See bugs 2692, 2621, and 6775.
-			getTreeViewer().getControl().setFocus();
-		}
-	}
-	/**
-	 * Display the given error message. The currently displayed message is saved
-	 * and will be redisplayed when the error message is set to
-	 * <code>null</code>.
-	 * 
-	 * @param newErrorMessage
-	 *            the errorMessage to display or <code>null</code>
-	 */
-	public void setErrorMessage(String newErrorMessage) {
-		if (newErrorMessage == null)
-			messageArea.clearErrorMessage();
-		else
-			messageArea.updateText(newErrorMessage, IMessageProvider.ERROR);
-	}
-	/**
-	 * Save the last known tree width.
-	 * 
-	 * @param width
-	 *            the width.
-	 */
-	private void setLastTreeWidth(int width) {
-		lastTreeWidth = width;
-	}
-	/**
-	 * Sets whether a Help button is available for this dialog.
-	 * <p>
-	 * Clients must call this framework method before the dialog's control has
-	 * been created.
-	 * <p>
-	 * 
-	 * @param b
-	 *            <code>true</code> to include a Help button, and
-	 *            <code>false</code> to not include one (the default)
-	 */
-	public void setHelpAvailable(boolean b) {
-		isHelpAvailable = b;
-	}
-	/**
-	 * Set the message text. If the message line currently displays an error,
-	 * the message is stored and will be shown after a call to clearErrorMessage
-	 * <p>
-	 * Shortcut for <code>setMessage(newMessage, NONE)</code>
-	 * </p>
-	 * 
-	 * @param newMessage
-	 *            the message, or <code>null</code> to clear the message
-	 */
-	public void setMessage(String newMessage) {
-		setMessage(newMessage, IMessageProvider.NONE);
-	}
-	/**
-	 * Sets the message for this dialog with an indication of what type of
-	 * message it is.
-	 * <p>
-	 * The valid message types are one of <code>NONE</code>,
-	 * <code>INFORMATION</code>,<code>WARNING</code>, or
-	 * <code>ERROR</code>.
-	 * </p>
-	 * <p>
-	 * Note that for backward compatibility, a message of type
-	 * <code>ERROR</code> is different than an error message (set using
-	 * <code>setErrorMessage</code>). An error message overrides the current
-	 * message until the error message is cleared. This method replaces the
-	 * current message and does not affect the error message.
-	 * </p>
-	 * 
-	 * @param newMessage
-	 *            the message, or <code>null</code> to clear the message
-	 * @param newType
-	 *            the message type
-	 * @since 2.0
-	 */
-	public void setMessage(String newMessage, int newType) {
-		messageArea.updateText(newMessage, newType);
-	}
-	/**
-	 * Sets the minimum page size.
-	 * 
-	 * @param minWidth
-	 *            the minimum page width
-	 * @param minHeight
-	 *            the minimum page height
-	 * @see #setMinimumPageSize(Point)
-	 */
-	public void setMinimumPageSize(int minWidth, int minHeight) {
-		minimumPageSize.x = minWidth;
-		minimumPageSize.y = minHeight;
-	}
-	/**
-	 * Sets the minimum page size.
-	 * 
-	 * @param size
-	 *            the page size encoded as <code>new Point(width,height)</code>
-	 * @see #setMinimumPageSize(int,int)
-	 */
-	public void setMinimumPageSize(Point size) {
-		minimumPageSize.x = size.x;
-		minimumPageSize.y = size.y;
-	}
-	/**
-	 * Sets the preference store for this preference dialog.
-	 * 
-	 * @param store
-	 *            the preference store
-	 * @see #getPreferenceStore
-	 */
-	public void setPreferenceStore(IPreferenceStore store) {
-		Assert.isNotNull(store);
-		preferenceStore = store;
-	}
-	/**
-	 * Save the currently selected node.
-	 */
-	private void setSelectedNode() {
-		String storeValue = null;
-		IStructuredSelection selection = (IStructuredSelection) getTreeViewer()
-				.getSelection();
-		if (selection.size() == 1) {
-			IPreferenceNode node = (IPreferenceNode) selection
-					.getFirstElement();
-			storeValue = node.getId();
-		}
-		setSelectedNodePreference(storeValue);
-	}
-	/**
-	 * Sets the name of the selected item preference.
-	 * Public equivalent to <code>setSelectedNodePreference</code>.
-	 * 
-	 * @param pageId
-	 *            The identifier for the page
-	 * @since 3.0
-	 */
-	public void setSelectedNode(String pageId) {
-		setSelectedNodePreference(pageId);
-	}
-	/**
-	 * Sets the name of the selected item preference.
-	 * 
-	 * @param pageId
-	 *            The identifier for the page
-	 */
-	protected void setSelectedNodePreference(String pageId) {
-		lastPreferenceId = pageId;
-	}
-	/**
-	 * Changes the shell size to the given size, ensuring that it is no larger
-	 * than the display bounds.
-	 * 
-	 * @param width
-	 *            the shell width
-	 * @param height
-	 *            the shell height
-	 */
-	private void setShellSize(int width, int height) {
-		Rectangle preferred = getShell().getBounds();
-		preferred.width = width;
-		preferred.height = height;
-		getShell().setBounds(getConstrainedShellBounds(preferred));
-	}
-	/**
-	 * Shows the preference page corresponding to the given preference node.
-	 * Does nothing if that page is already current.
-	 * 
-	 * @param node
-	 *            the preference node, or <code>null</code> if none
-	 * @return <code>true</code> if the page flip was successful, and
-	 *         <code>false</code> is unsuccessful
-	 */
-	protected boolean showPage(IPreferenceNode node) {
-		if (node == null)
-			return false;
-		// Create the page if nessessary
-		if (node.getPage() == null)
-			node.createPage();
-		if (node.getPage() == null)
-			return false;
-		IPreferencePage newPage = node.getPage();
-		if (newPage == currentPage)
-			return true;
-		if (currentPage != null) {
-			if (!currentPage.okToLeave())
-				return false;
-		}
-		IPreferencePage oldPage = currentPage;
-		currentPage = newPage;
-		// Set the new page's container
-		currentPage.setContainer(this);
-		// Ensure that the page control has been created
-		// (this allows lazy page control creation)
-		if (currentPage.getControl() == null) {
-			final boolean[] failed = {false};
-			Platform.run(new ISafeRunnable() {
-				public void handleException(Throwable e) {
-					failed[0] = true;
-				}
-				public void run() {
-					currentPage.createControl(pageContainer);
-				}
-			});
-			if (failed[0])
-				return false;
-			// the page is responsible for ensuring the created control is
-			// accessable
-			// via getControl.
-			Assert.isNotNull(currentPage.getControl());
-		}
-		// Force calculation of the page's description label because
-		// label can be wrapped.
-		final Point[] size = new Point[1];
-		final Point failed = new Point(-1, -1);
-		Platform.run(new ISafeRunnable() {
-			public void handleException(Throwable e) {
-				size[0] = failed;
-			}
-			public void run() {
-				size[0] = currentPage.computeSize();
-			}
-		});
-		if (size[0].equals(failed))
-			return false;
-		Point contentSize = size[0];
-		// Do we need resizing. Computation not needed if the
-		// first page is inserted since computing the dialog's
-		// size is done by calling dialog.open().
-		// Also prevent auto resize if the user has manually resized
-		Shell shell = getShell();
-		Point shellSize = shell.getSize();
-		if (oldPage != null) {
-			Rectangle rect = pageContainer.getClientArea();
-			Point containerSize = new Point(rect.width, rect.height);
-			int hdiff = contentSize.x - containerSize.x;
-			int vdiff = contentSize.y - containerSize.y;
-			if (hdiff > 0 || vdiff > 0) {
-				if (shellSize.equals(lastShellSize)) {
-					hdiff = Math.max(0, hdiff);
-					vdiff = Math.max(0, vdiff);
-					setShellSize(shellSize.x + hdiff, shellSize.y + vdiff);
-					lastShellSize = shell.getSize();
-				} else {
-					currentPage.setSize(containerSize);
-				}
-			} else if (hdiff < 0 || vdiff < 0) {
-				currentPage.setSize(containerSize);
-			}
-		}
-		// Ensure that all other pages are invisible
-		// (including ones that triggered an exception during
-		// their creation).
-		Control[] children = pageContainer.getChildren();
-		Control currentControl = currentPage.getControl();
-		for (int i = 0; i < children.length; i++) {
-			if (children[i] != currentControl)
-				children[i].setVisible(false);
-		}
-		// Make the new page visible
-		currentPage.setVisible(true);
-		if (oldPage != null)
-			oldPage.setVisible(false);
-		// update the dialog controls
-		update();
-		return true;
-	}
-	/**
-	 * Shows the "Page Flipping abort" dialog.
-	 */
-	void showPageFlippingAbortDialog() {
-		MessageDialog.openError(getShell(), JFaceResources
-				.getString("AbortPageFlippingDialog.title"), //$NON-NLS-1$
-				JFaceResources.getString("AbortPageFlippingDialog.message")); //$NON-NLS-1$
-	}
-	/**
-	 * Updates this dialog's controls to reflect the current page.
-	 */
-	protected void update() {
-		// Update the title bar
-		updateTitle();
-		// Update the message line
-		updateMessage();
-		// Update the buttons
-		updateButtons();
-		//Saved the selected node in the preferences
-		setSelectedNode();
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.preference.IPreferencePageContainer#updateButtons()
-	 */
-	public void updateButtons() {
-		okButton.setEnabled(isCurrentPageValid());
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.preference.IPreferencePageContainer#updateMessage()
-	 */
-	public void updateMessage() {
-		String message = currentPage.getMessage();
-		int messageType = IMessageProvider.NONE;
-		if (message != null && currentPage instanceof IMessageProvider)
-			messageType = ((IMessageProvider) currentPage).getMessageType();
-		String errorMessage = currentPage.getErrorMessage();
-		if (errorMessage != null) {
-			message = errorMessage;
-			messageType = IMessageProvider.ERROR;
-			if (!showingError) {
-				// we were not previously showing an error
-				showingError = true;
-				titleImage.setImage(null);
-				titleImage.setBackground(JFaceColors
-						.getErrorBackground(titleImage.getDisplay()));
-				titleImage.setSize(0, 0);
-				titleImage.getParent().layout();
-			}
-		} else {
-			if (showingError) {
-				// we were previously showing an error
-				showingError = false;
-				titleImage
-						.setImage(JFaceResources.getImage(PREF_DLG_TITLE_IMG));
-				titleImage.computeSize(SWT.NULL, SWT.NULL);
-				titleImage.getParent().layout();
-			}
-		}
-		messageArea.updateText(getShortenedString(message), messageType);
-	}
-	private final String ellipsis = "..."; //$NON-NLS-1$
-	/**
-	 * Shortened the message if too long.
-	 * 
-	 * @param textValue
-	 *            The messgae value.
-	 * @return The shortened string.
-	 */
-	private String getShortenedString(String textValue) {
-		if (textValue == null)
-			return null;
-		Display display = titleArea.getDisplay();
-		GC gc = new GC(display);
-		int maxWidth = titleArea.getBounds().width - 28;
-		if (gc.textExtent(textValue).x < maxWidth) {
-			gc.dispose();
-			return textValue;
-		}
-		int length = textValue.length();
-		int ellipsisWidth = gc.textExtent(ellipsis).x;
-		int pivot = length / 2;
-		int start = pivot;
-		int end = pivot + 1;
-		while (start >= 0 && end < length) {
-			String s1 = textValue.substring(0, start);
-			String s2 = textValue.substring(end, length);
-			int l1 = gc.textExtent(s1).x;
-			int l2 = gc.textExtent(s2).x;
-			if (l1 + ellipsisWidth + l2 < maxWidth) {
-				gc.dispose();
-				return s1 + ellipsis + s2;
-			}
-			start--;
-			end++;
-		}
-		gc.dispose();
-		return textValue;
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.preference.IPreferencePageContainer#updateTitle()
-	 */
-	public void updateTitle() {
-		messageArea.showTitle(currentPage.getTitle(), currentPage.getImage());
-	}
-	/**
-	 * Update the tree to use the specified <code>Font</code>.
-	 * 
-	 * @param dialogFont
-	 *            the <code>Font</code> to use.
-	 * @since 3.0
-	 */
-	protected void updateTreeFont(Font dialogFont) {
-		getTreeViewer().getControl().setFont(dialogFont);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferenceLabelProvider.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferenceLabelProvider.java
deleted file mode 100644
index 2ca7be0..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferenceLabelProvider.java
+++ /dev/null
@@ -1,39 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.preference;
-
-import org.eclipse.swt.graphics.Image;
-
-import org.eclipse.jface.viewers.LabelProvider;
-
-/**
- * Provides labels for <code>IPreferenceNode</code> objects.
- * 
- * @since 3.0
- */
-public class PreferenceLabelProvider extends LabelProvider {
-
-	/**
-	 * @param element must be an instance of <code>IPreferenceNode</code>.
-	 * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
-	 */
-	public String getText(Object element) {
-		return ((IPreferenceNode)element).getLabelText();
-	}
-
-	/**
-	 * @param element must be an instance of <code>IPreferenceNode</code>.
-	 * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
-	 */
-	public Image getImage(Object element) {
-		return ((IPreferenceNode)element).getLabelImage();
-	}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferenceManager.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferenceManager.java
deleted file mode 100644
index f152254..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferenceManager.java
+++ /dev/null
@@ -1,199 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.preference;
-
-import java.util.*;
-
-import org.eclipse.jface.util.Assert;
-/**
- * A preference manager maintains a hierarchy of preference nodes and
- * associated preference pages.
- */
-public class PreferenceManager {
-	/**
-	 * Pre-order traversal means visit the root first,
-	 * then the children.
-	 */
-	public static final int PRE_ORDER = 0;
-
-	/**
-	 * Post-order means visit the children, and then the root.
-	 */
-	public static final int POST_ORDER = 1;
-
-	/**
-	 * The root node.
-	 * Note that the root node is a special internal node
-	 * that is used to collect together all the nodes that
-	 * have no parent; it is not given out to clients.
-	 */
-	PreferenceNode root = new PreferenceNode("");//$NON-NLS-1$
-
-	/**
-	 * The path separator character.
-	 */
-	String separator;
-/**
- * Creates a new preference manager.
- */
-public PreferenceManager() {
-	this('.');
-}
-/**
- * Creates a new preference manager with the given
- * the path separator.
- *
- * @param separatorChar the separator character
- */
-public PreferenceManager(char separatorChar) {
-	separator = new String(new char[] { separatorChar });
-}
-/**
- * Adds the given preference node as a subnode of the
- * node at the given path.
- *
- * @param path the path
- * @param node the node to add
- * @return <code>true</code> if the add was successful,
- *  and <code>false</code> if there is no contribution at
- *  the given path
- */
-public boolean addTo(String path, IPreferenceNode node) {
-	IPreferenceNode target = find(path);
-	if (target == null)
-		return false;
-	target.add(node);
-	return true;
-}
-/**
- * Adds the given preference node as a subnode of the
- * root.
- *
- * @param node the node to add, which must implement 
- *   <code>IPreferenceNode</code>
- */
-public void addToRoot(IPreferenceNode node) {
-	Assert.isNotNull(node);
-	root.add(node);
-}
-/**
- * Recursively enumerates all nodes at or below the given node
- * and adds them to the given list in the given order.
- * 
- * @param node the starting node
- * @param sequence a read-write list of preference nodes
- *  (element type: <code>IPreferenceNode</code>)
- *  in the given order
- * @param order the traversal order, one of 
- *	<code>PRE_ORDER</code> and <code>POST_ORDER</code>
- */
-protected void buildSequence(IPreferenceNode node, List sequence, int order) {
-	if (order == PRE_ORDER)
-		sequence.add(node);
-	IPreferenceNode[] subnodes = node.getSubNodes();
-	for (int i = 0; i < subnodes.length; i++){
-		buildSequence(subnodes[i], sequence, order);
-	}
-	if (order == POST_ORDER)
-		sequence.add(node);
-}
-/**
- * Finds and returns the contribution node at the given path.
- *
- * @param path the path
- * @return the node, or <code>null</code> if none
- */
-public IPreferenceNode find(String path) {
-	Assert.isNotNull(path);
-	StringTokenizer stok = new StringTokenizer(path, separator);
-	IPreferenceNode node = root;
-	while (stok.hasMoreTokens()) {
-		String id = stok.nextToken();
-		node = node.findSubNode(id);
-		if (node == null)
-			return null;
-	}
-	if (node == root)
-		return null;
-	return node;
-}
-/**
- * Returns all preference nodes managed by this
- * manager.
- *
- * @param order the traversal order, one of 
- *	<code>PRE_ORDER</code> and <code>POST_ORDER</code>
- * @return a list of preference nodes
- *  (element type: <code>IPreferenceNode</code>)
- *  in the given order
- */
-public List getElements(int order) {
-	Assert.isTrue(
-		order == PRE_ORDER || order == POST_ORDER,
-		"invalid traversal order");//$NON-NLS-1$
-	ArrayList sequence = new ArrayList();
-	IPreferenceNode[] subnodes = getRoot().getSubNodes();
-	for (int i = 0; i < subnodes.length; i++)
-		buildSequence(subnodes[i], sequence, order);
-	return sequence;
-}
-/**
- * Returns the root node.
- * Note that the root node is a special internal node
- * that is used to collect together all the nodes that
- * have no parent; it is not given out to clients.
- *
- * @return the root node
- */
-protected IPreferenceNode getRoot() {
-	return root;
-}
-/**
- * Removes the prefernece node at the given path.
- *
- * @param path the path
- * @return the node that was removed, or <code>null</code>
- *  if there was no node at the given path
- */
-public IPreferenceNode remove(String path) {
-	Assert.isNotNull(path);
-	int index = path.lastIndexOf(separator);
-	if (index == -1)
-		return root.remove(path);
-	// Make sure that the last character in the string isn't the "."
-	Assert.isTrue(index < path.length() - 1, "Path can not end with a dot");//$NON-NLS-1$
-	String parentPath = path.substring(0, index);
-	String id = path.substring(index + 1);
-	IPreferenceNode parentNode = find(parentPath);
-	if (parentNode == null)
-		return null;
-	return parentNode.remove(id);
-}
-/**
- * Removes the given prefreence node if it is managed by
- * this contribution manager.
- *
- * @param node the node to remove
- * @return <code>true</code> if the node was removed,
- *  and <code>false</code> otherwise
- */
-public boolean remove(IPreferenceNode node) {
-	Assert.isNotNull(node);
-	
-	return root.remove(node);
-}
-/**
- * Removes all contribution nodes known to this manager.
- */
-public void removeAll() {
-	root = new PreferenceNode("");//$NON-NLS-1$
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferenceNode.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferenceNode.java
deleted file mode 100644
index 9c13419..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferenceNode.java
+++ /dev/null
@@ -1,245 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.preference;
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.graphics.Image;
-/**
- * A concrete implementation of a node in a preference dialog tree. This class
- * also supports lazy creation of the node's preference page.
- */
-public class PreferenceNode implements IPreferenceNode {
-	/**
-	 * Preference page, or <code>null</code> if not yet loaded.
-	 */
-	private IPreferencePage page;
-	/**
-	 * The list of subnodes (immediate children) of this node (element type:
-	 * <code>IPreferenceNode</code>).
-	 */
-	private List subNodes;
-	/**
-	 * Name of class that implements <code>IPreferenceNode</code>, or
-	 * <code>null</code> if none.
-	 */
-	private String classname;
-	/**
-	 * The id of this node.
-	 */
-	private String id;
-	/**
-	 * Text label for this node. Note that this field is only used prior to the
-	 * creation of the preference page.
-	 */
-	private String label;
-	/**
-	 * Image descriptor for this node, or <code>null</code> if none.
-	 */
-	private ImageDescriptor imageDescriptor;
-	/**
-	 * Cached image, or <code>null</code> if none.
-	 */
-	private Image image;
-	/**
-	 * Creates a new preference node with the given id. The new node has no
-	 * subnodes.
-	 * 
-	 * @param id
-	 *            the node id
-	 */
-	public PreferenceNode(String id) {
-		Assert.isNotNull(id);
-		this.id = id;
-	}
-	/**
-	 * Creates a preference node with the given id, label, and image, and
-	 * lazily-loaded preference page. The preference node assumes (sole)
-	 * responsibility for disposing of the image; this will happen when the node
-	 * is disposed.
-	 * 
-	 * @param id
-	 *            the node id
-	 * @param label
-	 *            the label used to display the node in the preference dialog's
-	 *            tree
-	 * @param image
-	 *            the image displayed left of the label in the preference
-	 *            dialog's tree, or <code>null</code> if none
-	 * @param className
-	 *            the class name of the preference page; this class must
-	 *            implement <code>IPreferencePage</code>
-	 */
-	public PreferenceNode(String id, String label, ImageDescriptor image,
-			String className) {
-		this(id);
-		this.imageDescriptor = image;
-		Assert.isNotNull(label);
-		this.label = label;
-		this.classname = className;
-	}
-	/**
-	 * Creates a preference node with the given id and preference page. The
-	 * title of the preference page is used for the node label. The node will
-	 * not have an image.
-	 * 
-	 * @param id
-	 *            the node id
-	 * @param preferencePage
-	 *            the preference page
-	 */
-	public PreferenceNode(String id, IPreferencePage preferencePage) {
-		this(id);
-		Assert.isNotNull(preferencePage);
-		page = preferencePage;
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceNode.
-	 */
-	public void add(IPreferenceNode node) {
-		if (subNodes == null)
-			subNodes = new ArrayList();
-		subNodes.add(node);
-	}
-	/**
-	 * Creates a new instance of the given class <code>className</code>.
-	 * 
-	 * @param className
-	 * @return new Object or <code>null</code> in case of failures.
-	 */
-	private Object createObject(String className) {
-		Assert.isNotNull(className);
-		try {
-			Class cl = Class.forName(className);
-			if (cl != null)
-				return cl.newInstance();
-		} catch (ClassNotFoundException e) {
-			return null;
-		} catch (InstantiationException e) {
-			return null;
-		} catch (IllegalAccessException e) {
-			return null;
-		} catch (NoSuchMethodError e) {
-			return null;
-		}
-		return null;
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceNode.
-	 */
-	public void createPage() {
-		page = (IPreferencePage) createObject(classname);
-		if (getLabelImage() != null)
-			page.setImageDescriptor(imageDescriptor);
-		page.setTitle(label);
-	}
-	/**
-	 * (non-Javadoc) Method declared on IPreferenceNode.
-	 */
-	public void disposeResources() {
-		if (image != null) {
-			image.dispose();
-			image = null;
-		}
-		if (page != null) {
-			page.dispose();
-			page = null;
-		}
-	}
-	/*
-	 * (non-Javadoc) Method declared on IContributionNode.
-	 */
-	public IPreferenceNode findSubNode(String id) {
-		Assert.isNotNull(id);
-		Assert.isTrue(id.length() > 0);
-		if (subNodes == null)
-			return null;
-		int size = subNodes.size();
-		for (int i = 0; i < size; i++) {
-			IPreferenceNode node = (IPreferenceNode) subNodes.get(i);
-			if (id.equals(node.getId()))
-				return node;
-		}
-		return null;
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceNode.
-	 */
-	public String getId() {
-		return this.id;
-	}
-	/**
-	 * Returns the image descriptor for this node.
-	 * 
-	 * @return the image descriptor
-	 */
-	protected ImageDescriptor getImageDescriptor() {
-		return imageDescriptor;
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceNode.
-	 */
-	public Image getLabelImage() {
-		if (image == null && imageDescriptor != null) {
-			image = imageDescriptor.createImage();
-		}
-		return image;
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceNode.
-	 */
-	public String getLabelText() {
-		if (page != null)
-			return page.getTitle();
-		return label;
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceNode.
-	 */
-	public IPreferencePage getPage() {
-		return page;
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceNode.
-	 */
-	public IPreferenceNode[] getSubNodes() {
-		if (subNodes == null)
-			return new IPreferenceNode[0];
-		return (IPreferenceNode[]) subNodes
-				.toArray(new IPreferenceNode[subNodes.size()]);
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceNode.
-	 */
-	public IPreferenceNode remove(String id) {
-		IPreferenceNode node = findSubNode(id);
-		if (node != null)
-			remove(node);
-		return node;
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceNode.
-	 */
-	public boolean remove(IPreferenceNode node) {
-		if (subNodes == null)
-			return false;
-		return subNodes.remove(node);
-	}
-	/**
-	 * Set the current page to be newPage.
-	 * 
-	 * @param newPage
-	 */
-	public void setPage(IPreferencePage newPage) {
-		page = newPage;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferencePage.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferencePage.java
deleted file mode 100644
index 7d86483..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferencePage.java
+++ /dev/null
@@ -1,613 +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 Corporation - initial API and implementation
- * 	   Sebastian Davids <sdavids@gmx.de> - Fix for bug 38729 - [Preferences]
- * 			 NPE PreferencePage isValid.
- *******************************************************************************/
-package org.eclipse.jface.preference;
-
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.JFaceResources;
-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.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-
-/**
- * Abstract base implementation for all preference page implementations.
- * <p>
- * Subclasses must implement the <code>createControl</code> framework
- * method to supply the 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>
- */
-public abstract class PreferencePage
-	extends DialogPage
-	implements IPreferencePage {
-
-	/**
-	 * Preference store, or <code>null</code>.
-	 */
-	private IPreferenceStore preferenceStore;
-
-	/**
-	 * Valid state for this page; <code>true</code> by default.
-	 *
-	 * @see #isValid
-	 */
-	private boolean isValid = true;
-
-	/**
-	 * Body of page.
-	 */
-	private Control body;
-
-	/**
-	 * Whether this page has the standard Apply and Defaults buttons; 
-	 * <code>true</code> by default.
-	 *
-	 * @see #noDefaultAndApplyButton
-	 */
-	private boolean createDefaultAndApplyButton = true;
-
-	/**
-	 * Standard Defaults button, or <code>null</code> if none.
-	 * This button has id <code>DEFAULTS_ID</code>.
-	 */
-	private Button defaultsButton = null;
-	/**
-	 * The container this preference page belongs to; <code>null</code>
-	 * if none.
-	 */
-	private IPreferencePageContainer container = null;
-
-	/**
-	 * Standard Apply button, or <code>null</code> if none.
-	 * This button has id <code>APPLY_ID</code>.
-	 */
-	private Button applyButton = null;
-
-	/**
-	 * Description label.
-	 * 
-	 * @see #createDescriptionLabel.
-	 */
-	private Label descriptionLabel;
-
-	/**
-	 * Caches size of page.
-	 */
-	private Point size = null;
-
-	/**
-	 * Creates a new preference page with an empty title and no image.
-	 */
-	protected PreferencePage() {
-		this(""); //$NON-NLS-1$
-	}
-	/**
-	 * Creates a new preference page with the given title and no image.
-	 *
-	 * @param title the title of this preference page
-	 */
-	protected PreferencePage(String title) {
-		super(title);
-	}
-	/**
-	 * Creates a new abstract preference page with the given title and image.
-	 *
-	 * @param title the title of this preference page
-	 * @param image the image for this preference page,
-	 *  or <code>null</code> if none
-	 */
-	protected PreferencePage(String title, ImageDescriptor image) {
-		super(title, image);
-	}
-	/**
-	 * Computes the size for this page's UI control.
-	 * <p>
-	 * The default implementation of this <code>IPreferencePage</code>
-	 * method returns the size set by <code>setSize</code>; if no size
-	 * has been set, but the page has a UI control, the framework
-	 * method <code>doComputeSize</code> is called to compute the size.
-	 * </p>
-	 *
-	 * @return the size of the preference page encoded as
-	 *   <code>new Point(width,height)</code>, or 
-	 *   <code>(0,0)</code> if the page doesn't currently have any UI component
-	 */
-	public Point computeSize() {
-		if (size != null)
-			return size;
-		Control control = getControl();
-		if (control != null) {
-			size = doComputeSize();
-			return size;
-		}
-		return new Point(0, 0);
-	}
-	/**
-	 * Contributes additional buttons to the given composite.
-	 * <p>
-	 * The default implementation of this framework hook method does
-	 * nothing. Subclasses should override this method to contribute buttons 
-	 * to this page's button bar. For each button a subclass contributes,
-	 * it must also increase the parent's grid layout number of columns
-	 * by one; that is,
-	 * <pre>
-	 * ((GridLayout) parent.getLayout()).numColumns++);
-	 * </pre>
-	 * </p>
-	 *
-	 * @param parent the button bar
-	 */
-	protected void contributeButtons(Composite parent) {
-	}
-	/**
-	 * 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. Any
-	 * subclass returning a <code>Composite</code> object whose <code>Layout</code>
-	 * has default margins (for example, a <code>GridLayout</code>) are expected to
-	 * set the margins of this <code>Layout</code> to 0 pixels. 
-	 * </p>
-	 *
-	 * @param parent the parent composite
-	 * @return the new control
-	 */
-	protected abstract Control createContents(Composite parent);
-	/**
-	 * The <code>PreferencePage</code> implementation of this 
-	 * <code>IDialogPage</code> method creates a description label
-	 * and button bar for the page. It calls <code>createContents</code>
-	 * to create the custom contents of the page.
-	 * <p>
-	 * If a subclass that overrides this method creates a <code>Composite</code>
-	 * that has a layout with default margins (for example, a <code>GridLayout</code>)
-	 * it is expected to set the margins of this <code>Layout</code> to 0 pixels.
-	 */
-	public void createControl(Composite parent) {
-
-		GridData gd;
-		Composite content = new Composite(parent, SWT.NULL);
-		setControl(content);
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		content.setLayout(layout);
-		//Apply the font on creation for backward compatibility
-		applyDialogFont(content);
-
-		// initialize the dialog units
-		initializeDialogUnits(content);
-
-		descriptionLabel = createDescriptionLabel(content);
-		if (descriptionLabel != null) {
-			descriptionLabel.setLayoutData(
-				new GridData(GridData.FILL_HORIZONTAL));
-		}
-
-		body = createContents(content);
-		if (body != null)
-			// null is not a valid return value but support graceful failure
-			body.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		Composite buttonBar = new Composite(content, SWT.NULL);
-		layout = new GridLayout();
-		layout.numColumns = 0;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		buttonBar.setLayout(layout);
-		gd = new GridData();
-		gd.horizontalAlignment = GridData.END;
-		buttonBar.setLayoutData(gd);
-
-		contributeButtons(buttonBar);
-
-		if (createDefaultAndApplyButton) {
-			layout.numColumns = layout.numColumns + 2;
-			String[] labels = JFaceResources.getStrings(new String[] { "defaults", "apply" }); //$NON-NLS-2$//$NON-NLS-1$
-			int heightHint =
-				convertVerticalDLUsToPixels(IDialogConstants.BUTTON_HEIGHT);
-			int widthHint =
-				convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-			defaultsButton = new Button(buttonBar, SWT.PUSH);
-			defaultsButton.setText(labels[0]);
-			Dialog.applyDialogFont(defaultsButton);
-			GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-			data.heightHint = heightHint;
-			data.widthHint =
-				Math.max(
-					widthHint,
-					defaultsButton.computeSize(
-						SWT.DEFAULT,
-						SWT.DEFAULT,
-						true).x);
-			defaultsButton.setLayoutData(data);
-			defaultsButton.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					performDefaults();
-				}
-			});
-
-			applyButton = new Button(buttonBar, SWT.PUSH);
-			applyButton.setText(labels[1]);
-			Dialog.applyDialogFont(applyButton);
-			data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-			data.heightHint = heightHint;
-			data.widthHint =
-				Math.max(
-					widthHint,
-					applyButton.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-			applyButton.setLayoutData(data);
-			applyButton.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					performApply();
-				}
-			});
-			applyButton.setEnabled(isValid());
-			applyDialogFont(buttonBar);
-		} else {
-			/* Check if there are any other buttons on the button bar.
-			 * If not, throw away the button bar composite.  Otherwise
-			 * there is an unusually large button bar.
-			 */
-			if (buttonBar.getChildren().length < 1)
-				buttonBar.dispose();
-		}
-	}
-	
-	/**
-	 * Apply the dialog font to the composite and it's children
-	 * if it is set. Subclasses may override if they wish to
-	 * set the font themselves.
-	 * @param composite
-	 */
-	protected void applyDialogFont(Composite composite){
-		Dialog.applyDialogFont(composite);
-	}
-	
-	/**
-	 * Creates and returns an SWT label under the given composite.
-	 *
-	 * @param parent the parent composite
-	 * @return the new label
-	 */
-	protected Label createDescriptionLabel(Composite parent) {
-		Label result = null;
-		String description = getDescription();
-		if (description != null) {
-			result = new Label(parent, SWT.WRAP);
-			result.setFont(parent.getFont());
-			result.setText(description);
-		}
-		return result;
-	}
-	/**
-	 * Computes the size needed by this page's UI control.
-	 * <p>
-	 * All pages should override this method and set the appropriate sizes
-	 * of their widgets, and then call <code>super.doComputeSize</code>.
-	 * </p>
-	 *
-	 * @return the size of the preference page encoded as
-	 *   <code>new Point(width,height)</code>
-	 */
-	protected Point doComputeSize() {
-		if (descriptionLabel != null && body != null) {
-			Point bodySize = body.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
-			GridData gd = (GridData) descriptionLabel.getLayoutData();
-			gd.widthHint = bodySize.x;
-			descriptionLabel.getParent().layout(true);
-		}
-		return getControl().computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
-	}
-	/**
-	 * Returns the preference store of this preference page.
-	 * <p>
-	 * This is a framework hook method for subclasses to return a
-	 * page-specific preference store. The default implementation
-	 * returns <code>null</code>.
-	 * </p>
-	 *
-	 * @return the preference store, or <code>null</code> if none
-	 */
-	protected IPreferenceStore doGetPreferenceStore() {
-		return null;
-	}
-	/**
-	 * Returns the container of this page.
-	 *
-	 * @return the preference page container, or <code>null</code> if this
-	 *   page has yet to be added to a container
-	 */
-	public IPreferencePageContainer getContainer() {
-		return container;
-	}
-	/**
-	 * Returns the preference store of this preference page.
-	 *
-	 * @return the preference store , or <code>null</code> if none
-	 */
-	public IPreferenceStore getPreferenceStore() {
-		if (preferenceStore == null)
-			preferenceStore = doGetPreferenceStore();
-		if (preferenceStore != null)
-			return preferenceStore;
-		else if (container != null)
-			return container.getPreferenceStore();
-		return null;
-	}
-	/**	
-	 * The preference page implementation of an <code>IPreferencePage</code>
-	 * method returns whether this preference page is valid. Preference
-	 * pages are considered valid by default; call <code>setValid(false)</code>
-	 * to make a page invalid.
-	 */
-	public boolean isValid() {
-		return isValid;
-	}
-	/**
-	 * Suppresses creation of the standard Default and Apply buttons
-	 * for this page.
-	 * <p>
-	 * Subclasses wishing a preference page wihthout these buttons
-	 * should call this framework method before the page's control
-	 * has been created.
-	 * </p>
-	 */
-	protected void noDefaultAndApplyButton() {
-		createDefaultAndApplyButton = false;
-	}
-	/**
-	 * The <code>PreferencePage</code> implementation of this 
-	 * <code>IPreferencePage</code> method returns <code>true</code>
-	 * if the page is valid.
-	 */
-	public boolean okToLeave() {
-		return isValid();
-	}
-	/**
-	 * Performs special processing when this page's Apply button has been pressed.
-	 * <p>
-	 * This is a framework hook method for sublcasses to do special things when
-	 * the Apply button has been pressed.
-	 * The default implementation of this framework method simply calls
-	 * <code>performOk</code> to simulate the pressing of the page's OK button.
-	 * </p>
-	 * 
-	 * @see #performOk
-	 */
-	protected void performApply() {
-		performOk();
-	}
-	/**	
-	 * The preference page implementation of an <code>IPreferencePage</code>
-	 * method performs special processing when this page's Cancel button has
-	 * been pressed.
-	 * <p>
-	 * This is a framework hook method for sublcasses to do special things when
-	 * the Cancel button has been pressed. The default implementation of this
-	 * framework method does nothing and returns <code>true</code>.
-	 */
-	public boolean performCancel() {
-		return true;
-	}
-	/**
-	 * Performs special processing when this page's Defaults button has been pressed.
-	 * <p>
-	 * This is a framework hook method for subclasses to do special things when
-	 * the Defaults button has been pressed.
-	 * Subclasses may override, but should call <code>super.performDefaults</code>.
-	 * </p>
-	 */
-	protected void performDefaults() {
-		updateApplyButton();
-	}
-	/** 
-	 * Method declared on IPreferencePage.
-	 * Subclasses should override
-	 */
-	public boolean performOk() {
-		return true;
-	}
-	/** (non-Javadoc)
-	 * Method declared on IPreferencePage.
-	 */
-	public void setContainer(IPreferencePageContainer container) {
-		this.container = container;
-	}
-	/**
-	 * The <code>PreferencePage</code> implementation of this method 
-	 * declared on <code>DialogPage</code> updates the container.
-	 */
-	public void setErrorMessage(String newMessage) {
-		super.setErrorMessage(newMessage);
-		if (getContainer() != null) {
-			getContainer().updateMessage();
-		}
-	}
-	/**
-	 * The <code>PreferencePage</code> implementation of this method 
-	 * declared on <code>DialogPage</code> updates the container.
-	 */
-	public void setMessage(String newMessage, int newType) {
-		super.setMessage(newMessage, newType);
-		if (getContainer() != null) {
-			getContainer().updateMessage();
-		}
-	}
-	/**
-	 * Sets the preference store for this preference page.
-	 * <p>
-	 * If preferenceStore is set to null, getPreferenceStore
-	 * will invoke doGetPreferenceStore the next time it is called.
-	 * </p>
-	 *
-	 * @param store the preference store, or <code>null</code>
-	 * @see #getPreferenceStore
-	 */
-	public void setPreferenceStore(IPreferenceStore store) {
-		preferenceStore = store;
-	}
-	/* (non-Javadoc)
-	 * Method declared on IPreferencePage.
-	 */
-	public void setSize(Point uiSize) {
-		Control control = getControl();
-		if (control != null) {
-			control.setSize(uiSize);
-			size = uiSize;
-		}
-	}
-	/**
-	 * The <code>PreferencePage</code> implementation of this <code>IDialogPage</code>
-	 * method extends the <code>DialogPage</code> implementation to update
-	 * the preference page container title. Subclasses may extend.
-	 */
-	public void setTitle(String title) {
-		super.setTitle(title);
-		if (getContainer() != null)
-			getContainer().updateTitle();
-	}
-	/**
-	 * Sets whether this page is valid.
-	 * The enable state of the container buttons and the
-	 * apply button is updated when a page's valid state 
-	 * changes.
-	 * <p>
-	 *
-	 * @param b the new valid state
-	 */
-	public void setValid(boolean b) {
-		boolean oldValue = isValid;
-		isValid = b;
-		if (oldValue != isValid) {
-			// update container state
-			if (getContainer() != null)
-				getContainer().updateButtons();
-			// update page state
-			updateApplyButton();
-		}
-	}
-	/**
-	 * Returns a string suitable for debugging purpose only.
-	 */
-	public String toString() {
-		return getTitle();
-	}
-	/**
-	 * Updates the enabled state of the Apply button to reflect whether 
-	 * this page is valid.
-	 */
-	protected void updateApplyButton() {
-		if (applyButton != null)
-			applyButton.setEnabled(isValid());
-	}
-
-	/**
-	 * Creates a composite with a highlighted Note entry and a message text.
-	 * This is designed to take up the full width of the page.
-	 * 
-	 * @param font the font to use
-	 * @param composite the parent composite
-	 * @param title the title of the note
-	 * @param message the message for the note
-	 * @return the composite for the note
-	 */
-	protected Composite createNoteComposite(
-		Font font,
-		Composite composite,
-		String title,
-		String message) {
-		Composite messageComposite = new Composite(composite, SWT.NONE);
-		GridLayout messageLayout = new GridLayout();
-		messageLayout.numColumns = 2;
-		messageLayout.marginWidth = 0;
-		messageLayout.marginHeight = 0;
-		messageComposite.setLayout(messageLayout);
-		messageComposite.setLayoutData(
-			new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-		messageComposite.setFont(font);
-
-		final Label noteLabel = new Label(messageComposite, SWT.BOLD);
-		noteLabel.setText(title);
-		noteLabel.setFont(JFaceResources.getBannerFont());
-		noteLabel.setLayoutData(
-			new GridData(GridData.VERTICAL_ALIGN_BEGINNING));
-
-		final IPropertyChangeListener fontListener =
-			new IPropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if (JFaceResources.BANNER_FONT.equals(event.getProperty())) {
-					noteLabel.setFont(
-						JFaceResources.getFont(JFaceResources.BANNER_FONT));
-				}
-			}
-		};
-		JFaceResources.getFontRegistry().addListener(fontListener);
-		noteLabel.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent event) {
-				JFaceResources.getFontRegistry().removeListener(fontListener);
-			}
-		});
-
-		Label messageLabel = new Label(messageComposite, SWT.WRAP);
-		messageLabel.setText(message);
-		messageLabel.setFont(font);
-		return messageComposite;
-	}
-
-	/**
-	 * Returns the Apply button.
-	 * 
-	 * @return the Apply button
-	 */
-	protected Button getApplyButton() {
-		return applyButton;
-	}
-
-	/**
-	 * Returns the Restore Defaults button.
-	 * 
-	 * @return the Restore Defaults button
-	 */
-	protected Button getDefaultsButton() {
-		return defaultsButton;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.IDialogPage#performHelp()
-	 */
-	public void performHelp() {
-		getControl().notifyListeners(SWT.Help,new Event());
-	}
-
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferenceStore.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferenceStore.java
deleted file mode 100644
index 7218b86..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferenceStore.java
+++ /dev/null
@@ -1,608 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.preference;
-import java.io.*;
-import java.util.*;
-import org.eclipse.jface.util.*;
-/**
- * A concrete preference store implementation based on an internal
- * <code>java.util.Properties</code> object, with support for persisting the
- * non-default preference values to files or streams.
- * <p>
- * This class was not designed to be subclassed.
- * </p>
- * 
- * @see IPreferenceStore
- */
-public class PreferenceStore implements IPersistentPreferenceStore {
-	/**
-	 * List of registered listeners (element type:
-	 * <code>IPropertyChangeListener</code>). These listeners are to be
-	 * informed when the current value of a preference changes.
-	 */
-	private ListenerList listeners = new ListenerList();
-	/**
-	 * The mapping from preference name to preference value (represented as
-	 * strings).
-	 */
-	private Properties properties;
-	/**
-	 * The mapping from preference name to default preference value (represented
-	 * as strings); <code>null</code> if none.
-	 */
-	private Properties defaultProperties;
-	/**
-	 * Indicates whether a value as been changed by <code>setToDefault</code>
-	 * or <code>setValue</code>; initially <code>false</code>.
-	 */
-	private boolean dirty = false;
-	/**
-	 * The file name used by the <code>load</code> method to load a property
-	 * file. This filename is used to save the properties file when
-	 * <code>save</code> is called.
-	 */
-	private String filename;
-	/**
-	 * Creates an empty preference store.
-	 * <p>
-	 * Use the methods <code>load(InputStream)</code> and
-	 * <code>save(InputStream)</code> to load and store this preference store.
-	 * </p>
-	 * 
-	 * @see #load(InputStream)
-	 * @see #save(OutputStream, String)
-	 */
-	public PreferenceStore() {
-		defaultProperties = new Properties();
-		properties = new Properties(defaultProperties);
-	}
-	/**
-	 * Creates an empty preference store that loads from and saves to the a
-	 * file.
-	 * <p>
-	 * Use the methods <code>load()</code> and <code>save()</code> to load
-	 * and store this preference store.
-	 * </p>
-	 * 
-	 * @param filename
-	 *            the file name
-	 * @see #load()
-	 * @see #save()
-	 */
-	public PreferenceStore(String filename) {
-		this();
-		Assert.isNotNull(filename);
-		this.filename = filename;
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceStore.
-	 */
-	public void addPropertyChangeListener(IPropertyChangeListener listener) {
-		listeners.add(listener);
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceStore.
-	 */
-	public boolean contains(String name) {
-		return (properties.containsKey(name) || defaultProperties
-				.containsKey(name));
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceStore.
-	 */
-	public void firePropertyChangeEvent(String name, Object oldValue,
-			Object newValue) {
-		final Object[] finalListeners = this.listeners.getListeners();
-		// Do we need to fire an event.
-		if (finalListeners.length > 0
-				&& (oldValue == null || !oldValue.equals(newValue))) {
-			final PropertyChangeEvent pe = new PropertyChangeEvent(this, name,
-					oldValue, newValue);
-			//	FIXME: need to do this without dependency on
-			// org.eclipse.core.runtime
-			//		Platform.run(new
-			// SafeRunnable(JFaceResources.getString("PreferenceStore.changeError"))
-			// { //$NON-NLS-1$
-			//			public void run() {
-			for (int i = 0; i < finalListeners.length; ++i) {
-				IPropertyChangeListener l = (IPropertyChangeListener) finalListeners[i];
-				l.propertyChange(pe);
-			}
-			//			}
-			//		});
-		}
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceStore.
-	 */
-	public boolean getBoolean(String name) {
-		return getBoolean(properties, name);
-	}
-	/**
-	 * Helper function: gets boolean for a given name.
-	 * 
-	 * @param p
-	 * @param name
-	 * @return boolean
-	 */
-	private boolean getBoolean(Properties p, String name) {
-		String value = p != null ? p.getProperty(name) : null;
-		if (value == null)
-			return BOOLEAN_DEFAULT_DEFAULT;
-		if (value.equals(IPreferenceStore.TRUE))
-			return true;
-		return false;
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceStore.
-	 */
-	public boolean getDefaultBoolean(String name) {
-		return getBoolean(defaultProperties, name);
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceStore.
-	 */
-	public double getDefaultDouble(String name) {
-		return getDouble(defaultProperties, name);
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceStore.
-	 */
-	public float getDefaultFloat(String name) {
-		return getFloat(defaultProperties, name);
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceStore.
-	 */
-	public int getDefaultInt(String name) {
-		return getInt(defaultProperties, name);
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceStore.
-	 */
-	public long getDefaultLong(String name) {
-		return getLong(defaultProperties, name);
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceStore.
-	 */
-	public String getDefaultString(String name) {
-		return getString(defaultProperties, name);
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceStore.
-	 */
-	public double getDouble(String name) {
-		return getDouble(properties, name);
-	}
-	/**
-	 * Helper function: gets double for a given name.
-	 * 
-	 * @param p
-	 * @param name
-	 * @return double
-	 */
-	private double getDouble(Properties p, String name) {
-		String value = p != null ? p.getProperty(name) : null;
-		if (value == null)
-			return DOUBLE_DEFAULT_DEFAULT;
-		double ival = DOUBLE_DEFAULT_DEFAULT;
-		try {
-			ival = new Double(value).doubleValue();
-		} catch (NumberFormatException e) {
-		}
-		return ival;
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceStore.
-	 */
-	public float getFloat(String name) {
-		return getFloat(properties, name);
-	}
-	/**
-	 * Helper function: gets float for a given name.
-	 * @param p
-	 * @param name
-	 * @return float
-	 */
-	private float getFloat(Properties p, String name) {
-		String value = p != null ? p.getProperty(name) : null;
-		if (value == null)
-			return FLOAT_DEFAULT_DEFAULT;
-		float ival = FLOAT_DEFAULT_DEFAULT;
-		try {
-			ival = new Float(value).floatValue();
-		} catch (NumberFormatException e) {
-		}
-		return ival;
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceStore.
-	 */
-	public int getInt(String name) {
-		return getInt(properties, name);
-	}
-	/**
-	 * Helper function: gets int for a given name.
-	 * @param p
-	 * @param name
-	 * @return int
-	 */
-	private int getInt(Properties p, String name) {
-		String value = p != null ? p.getProperty(name) : null;
-		if (value == null)
-			return INT_DEFAULT_DEFAULT;
-		int ival = 0;
-		try {
-			ival = Integer.parseInt(value);
-		} catch (NumberFormatException e) {
-		}
-		return ival;
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceStore.
-	 */
-	public long getLong(String name) {
-		return getLong(properties, name);
-	}
-	/**
-	 * Helper function: gets long for a given name.
-	 * @param p
-	 * @param name
-	 * @return
-	 */
-	private long getLong(Properties p, String name) {
-		String value = p != null ? p.getProperty(name) : null;
-		if (value == null)
-			return LONG_DEFAULT_DEFAULT;
-		long ival = LONG_DEFAULT_DEFAULT;
-		try {
-			ival = Long.parseLong(value);
-		} catch (NumberFormatException e) {
-		}
-		return ival;
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceStore.
-	 */
-	public String getString(String name) {
-		return getString(properties, name);
-	}
-	/**
-	 * Helper function: gets string for a given name.
-	 * @param p
-	 * @param name
-	 * @return
-	 */
-	private String getString(Properties p, String name) {
-		String value = p != null ? p.getProperty(name) : null;
-		if (value == null)
-			return STRING_DEFAULT_DEFAULT;
-		return value;
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceStore.
-	 */
-	public boolean isDefault(String name) {
-		return (!properties.containsKey(name) && defaultProperties
-				.containsKey(name));
-	}
-	/**
-	 * Prints the contents of this preference store to the given print stream.
-	 * 
-	 * @param out
-	 *            the print stream
-	 */
-	public void list(PrintStream out) {
-		properties.list(out);
-	}
-	/**
-	 * Prints the contents of this preference store to the given print writer.
-	 * 
-	 * @param out
-	 *            the print writer
-	 */
-	public void list(PrintWriter out) {
-		properties.list(out);
-	}
-	/**
-	 * Loads this preference store from the file established in the constructor
-	 * <code>PreferenceStore(java.lang.String)</code> (or by
-	 * <code>setFileName</code>). Default preference values are not affected.
-	 * 
-	 * @exception java.io.IOException
-	 *                if there is a problem loading this store
-	 */
-	public void load() throws IOException {
-		if (filename == null)
-			throw new IOException("File name not specified");//$NON-NLS-1$
-		FileInputStream in = new FileInputStream(filename);
-		load(in);
-		in.close();
-	}
-	/**
-	 * Loads this preference store from the given input stream. Default
-	 * preference values are not affected.
-	 * 
-	 * @param in
-	 *            the input stream
-	 * @exception java.io.IOException
-	 *                if there is a problem loading this store
-	 */
-	public void load(InputStream in) throws IOException {
-		properties.load(in);
-		dirty = false;
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceStore.
-	 */
-	public boolean needsSaving() {
-		return dirty;
-	}
-	/**
-	 * Returns an enumeration of all preferences known to this store which have
-	 * current values other than their default value.
-	 * 
-	 * @return an array of preference names
-	 */
-	public String[] preferenceNames() {
-		ArrayList list = new ArrayList();
-		Enumeration enum = properties.propertyNames();
-		while (enum.hasMoreElements()) {
-			list.add(enum.nextElement());
-		}
-		return (String[]) list.toArray(new String[list.size()]);
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceStore.
-	 */
-	public void putValue(String name, String value) {
-		String oldValue = getString(name);
-		if (oldValue == null || !oldValue.equals(value)) {
-			setValue(properties, name, value);
-			dirty = true;
-		}
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceStore.
-	 */
-	public void removePropertyChangeListener(IPropertyChangeListener listener) {
-		listeners.remove(listener);
-	}
-	/**
-	 * Saves the non-default-valued preferences known to this preference store
-	 * to the file from which they were originally loaded.
-	 * 
-	 * @exception java.io.IOException
-	 *                if there is a problem saving this store
-	 */
-	public void save() throws IOException {
-		if (filename == null)
-			throw new IOException("File name not specified");//$NON-NLS-1$
-		FileOutputStream out = null;
-		try {
-			out = new FileOutputStream(filename);
-			save(out, null);
-		} finally {
-			if (out != null)
-				out.close();
-		}
-	}
-	/**
-	 * Saves this preference store to the given output stream. The given string
-	 * is inserted as header information.
-	 * 
-	 * @param out
-	 *            the output stream
-	 * @param header
-	 *            the header
-	 * @exception java.io.IOException
-	 *                if there is a problem saving this store
-	 */
-	public void save(OutputStream out, String header) throws IOException {
-		properties.store(out, header);
-		dirty = false;
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceStore.
-	 */
-	public void setDefault(String name, double value) {
-		setValue(defaultProperties, name, value);
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceStore.
-	 */
-	public void setDefault(String name, float value) {
-		setValue(defaultProperties, name, value);
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceStore.
-	 */
-	public void setDefault(String name, int value) {
-		setValue(defaultProperties, name, value);
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceStore.
-	 */
-	public void setDefault(String name, long value) {
-		setValue(defaultProperties, name, value);
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceStore.
-	 */
-	public void setDefault(String name, String value) {
-		setValue(defaultProperties, name, value);
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceStore.
-	 */
-	public void setDefault(String name, boolean value) {
-		setValue(defaultProperties, name, value);
-	}
-	/**
-	 * Sets the name of the file used when loading and storing this preference
-	 * store.
-	 * <p>
-	 * Afterward, the methods <code>load()</code> and <code>save()</code>
-	 * can be used to load and store this preference store.
-	 * </p>
-	 * 
-	 * @param name the file name
-	 * @see #load()
-	 * @see #save()
-	 */
-	public void setFilename(String name) {
-		filename = name;
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceStore.
-	 */
-	public void setToDefault(String name) {
-		Object oldValue = properties.get(name);
-		properties.remove(name);
-		dirty = true;
-		Object newValue = null;
-		if (defaultProperties != null)
-			newValue = defaultProperties.get(name);
-		firePropertyChangeEvent(name, oldValue, newValue);
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceStore.
-	 */
-	public void setValue(String name, double value) {
-		double oldValue = getDouble(name);
-		if (oldValue != value) {
-			setValue(properties, name, value);
-			dirty = true;
-			firePropertyChangeEvent(name, new Double(oldValue), new Double(
-					value));
-		}
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceStore.
-	 */
-	public void setValue(String name, float value) {
-		float oldValue = getFloat(name);
-		if (oldValue != value) {
-			setValue(properties, name, value);
-			dirty = true;
-			firePropertyChangeEvent(name, new Float(oldValue), new Float(value));
-		}
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceStore.
-	 */
-	public void setValue(String name, int value) {
-		int oldValue = getInt(name);
-		if (oldValue != value) {
-			setValue(properties, name, value);
-			dirty = true;
-			firePropertyChangeEvent(name, new Integer(oldValue), new Integer(
-					value));
-		}
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceStore.
-	 */
-	public void setValue(String name, long value) {
-		long oldValue = getLong(name);
-		if (oldValue != value) {
-			setValue(properties, name, value);
-			dirty = true;
-			firePropertyChangeEvent(name, new Long(oldValue), new Long(value));
-		}
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceStore.
-	 */
-	public void setValue(String name, String value) {
-		String oldValue = getString(name);
-		if (oldValue == null || !oldValue.equals(value)) {
-			setValue(properties, name, value);
-			dirty = true;
-			firePropertyChangeEvent(name, oldValue, value);
-		}
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPreferenceStore.
-	 */
-	public void setValue(String name, boolean value) {
-		boolean oldValue = getBoolean(name);
-		if (oldValue != value) {
-			setValue(properties, name, value);
-			dirty = true;
-			firePropertyChangeEvent(name, new Boolean(oldValue), new Boolean(
-					value));
-		}
-	}
-	/**
-	 * Helper method: sets value for a given name.
-	 * @param p
-	 * @param name
-	 * @param value
-	 */
-	private void setValue(Properties p, String name, double value) {
-		Assert.isTrue(p != null);
-		p.put(name, Double.toString(value));
-	}
-	/**
-	 * Helper method: sets value for a given name.
-	 * @param p
-	 * @param name
-	 * @param value
-	 */
-	private void setValue(Properties p, String name, float value) {
-		Assert.isTrue(p != null);
-		p.put(name, Float.toString(value));
-	}
-	/**
-	 * Helper method: sets value for a given name.
-	 * @param p
-	 * @param name
-	 * @param value
-	 */
-	private void setValue(Properties p, String name, int value) {
-		Assert.isTrue(p != null);
-		p.put(name, Integer.toString(value));
-	}
-	/**
-	 * Helper method: sets the value for a given name.
-	 * @param p
-	 * @param name
-	 * @param value
-	 */
-	private void setValue(Properties p, String name, long value) {
-		Assert.isTrue(p != null);
-		p.put(name, Long.toString(value));
-	}
-	/**
-	 * Helper method: sets the value for a given name.
-	 * @param p
-	 * @param name
-	 * @param value
-	 */
-	private void setValue(Properties p, String name, String value) {
-		Assert.isTrue(p != null && value != null);
-		p.put(name, value);
-	}
-	/**
-	 * Helper method: sets the value for a given name.
-	 * @param p
-	 * @param name
-	 * @param value
-	 */
-	private void setValue(Properties p, String name, boolean value) {
-		Assert.isTrue(p != null);
-		p.put(name, value == true
-				? IPreferenceStore.TRUE
-				: IPreferenceStore.FALSE);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/RadioGroupFieldEditor.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/RadioGroupFieldEditor.java
deleted file mode 100644
index 32444ba..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/RadioGroupFieldEditor.java
+++ /dev/null
@@ -1,325 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.preference;
-
-import org.eclipse.jface.util.Assert;
-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.*;
-
-/**
- * A field editor for an enumeration type preference.
- * The choices are presented as a list of radio buttons.
- */
-public class RadioGroupFieldEditor extends FieldEditor {
-
-	/**
-	 * List of radio button entries of the form [label,value].
-	 */
-	private String[][] labelsAndValues;
-
-	/**
-	 * Number of columns into which to arrange the radio buttons.
-	 */
-	private int numColumns;
-
-	/**
-	 * Indent used for the first column of the radion button matrix.
-	 */
-	private int indent = HORIZONTAL_GAP;
-
-	/**
-	 * The current value, or <code>null</code> if none.
-	 */
-	private String value;
-
-	/**
-	 * The box of radio buttons, or <code>null</code> if none
-	 * (before creation and after disposal).
-	 */
-	private Composite radioBox;
-
-	/**
-	 * The radio buttons, or <code>null</code> if none
-	 * (before creation and after disposal).
-	 */
-	private Button[] radioButtons;
-	
-	/**
-	 * Whether to use a Group control.
-	 */
-	private boolean useGroup;
-/**
- * Creates a new radio group field editor 
- */
-protected RadioGroupFieldEditor() {
-}
-/**
- * Creates a radio group field editor.  
- * This constructor does not use a <code>Group</code> to contain the radio buttons.
- * It is equivalent to using the following constructor with <code>false</code>
- * for the <code>useGroup</code> argument.
- * <p>
- * Example usage:
- * <pre>
- *		RadioGroupFieldEditor editor= new RadioGroupFieldEditor(
- *			"GeneralPage.DoubleClick", resName, 1,
- *			new String[][] {
- *				{"Open Browser", "open"},
- *				{"Expand Tree", "expand"}
- *			},
- *          parent);	
- * </pre>
- * </p>
- * 
- * @param name the name of the preference this field editor works on
- * @param labelText the label text of the field editor
- * @param numColumns the number of columns for the radio button presentation
- * @param labelAndValues list of radio button [label, value] entries;
- *  the value is returned when the radio button is selected
- * @param parent the parent of the field editor's control
- */
-public RadioGroupFieldEditor(String name, String labelText, int numColumns, String[][] labelAndValues, Composite parent) {
-	this(name, labelText, numColumns, labelAndValues, parent, false);
-}
-
-/**
- * Creates a radio group field editor.
- * <p>
- * Example usage:
- * <pre>
- *		RadioGroupFieldEditor editor= new RadioGroupFieldEditor(
- *			"GeneralPage.DoubleClick", resName, 1,
- *			new String[][] {
- *				{"Open Browser", "open"},
- *				{"Expand Tree", "expand"}
- *			},
- *          parent,
- *          true);	
- * </pre>
- * </p>
- * 
- * @param name the name of the preference this field editor works on
- * @param labelText the label text of the field editor
- * @param numColumns the number of columns for the radio button presentation
- * @param labelAndValues list of radio button [label, value] entries;
- *  the value is returned when the radio button is selected
- * @param parent the parent of the field editor's control
- * @param useGroup whether to use a Group control to contain the radio buttons
- */
-public RadioGroupFieldEditor(String name, String labelText, int numColumns, String[][] labelAndValues, Composite parent, boolean useGroup) {
-	init(name, labelText);
-	Assert.isTrue(checkArray(labelAndValues));
-	this.labelsAndValues = labelAndValues;
-	this.numColumns = numColumns;
-	this.useGroup = useGroup;
-	createControl(parent);
-}
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- */
-protected void adjustForNumColumns(int numColumns) {
-	Control control = getLabelControl();
-	if (control != null) {
-		((GridData)control.getLayoutData()).horizontalSpan = numColumns;
-	}
-	((GridData)radioBox.getLayoutData()).horizontalSpan = numColumns;
-}
-/**
- * Checks whether given <code>String[][]</code> is of "type" 
- * <code>String[][2]</code>.
- * @param table
- *
- * @return <code>true</code> if it is ok, and <code>false</code> otherwise
- */
-private boolean checkArray(String[][] table) {
-	if (table == null)
-		return false;
-	for (int i = 0; i < table.length; i++) {
-		String[] array = table[i];
-		if (array == null || array.length != 2)
-			return false;
-	}
-	return true;
-}
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- */
-protected void doFillIntoGrid(Composite parent, int numColumns) {
-	if (useGroup) {
-		Control control = getRadioBoxControl(parent);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		control.setLayoutData(gd);
-	}
-	else {
-		Control control = getLabelControl(parent);
-		GridData gd = new GridData();
-		gd.horizontalSpan = numColumns;
-		control.setLayoutData(gd);
-		control = getRadioBoxControl(parent);
-		gd = new GridData();
-		gd.horizontalSpan = numColumns;
-		gd.horizontalIndent = indent;
-		control.setLayoutData(gd);
-	}
-
-}
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- */
-protected void doLoad() {
-	updateValue(getPreferenceStore().getString(getPreferenceName()));
-}
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- */
-protected void doLoadDefault() {
-	updateValue(getPreferenceStore().getDefaultString(getPreferenceName()));
-}
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- */
-protected void doStore() {
-	if (value == null) {
-		getPreferenceStore().setToDefault(getPreferenceName());
-		return;
-	}
-
-	getPreferenceStore().setValue(getPreferenceName(), value);
-}
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- */
-public int getNumberOfControls() {
-	return 1;
-}
-/**
- * Returns this field editor's radio group control.
- * @param parent The parent to create the radioBox in
- * @return the radio group control
- */
-public Composite getRadioBoxControl(Composite parent) {
-	if (radioBox == null) {
-		
-		Font font = parent.getFont();
-		
-		if (useGroup) {
-			Group group = new Group(parent, SWT.NONE);
-			group.setFont(font);
-			String text = getLabelText();
-			if (text != null)
-				group.setText(text);
-			radioBox = group;
-			GridLayout layout = new GridLayout();
-			layout.horizontalSpacing = HORIZONTAL_GAP;
-			layout.numColumns = numColumns;
-			radioBox.setLayout(layout);
-		}
-		else {
-			radioBox = new Composite(parent, SWT.NONE);
-			GridLayout layout = new GridLayout();
-			layout.marginWidth = 0;
-			layout.marginHeight = 0;
-			layout.horizontalSpacing = HORIZONTAL_GAP;
-			layout.numColumns = numColumns;
-			radioBox.setLayout(layout);
-			radioBox.setFont(font);
-		}
-
-		radioButtons = new Button[labelsAndValues.length];
-		for (int i = 0; i < labelsAndValues.length; i++) {
-			Button radio = new Button(radioBox, SWT.RADIO | SWT.LEFT);
-			radioButtons[i] = radio;
-			String[] labelAndValue = labelsAndValues[i];
-			radio.setText(labelAndValue[0]);
-			radio.setData(labelAndValue[1]);
-			radio.setFont(font);
-			radio.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent event) {
-					String oldValue = value;
-					value = (String) event.widget.getData();
-					setPresentsDefaultValue(false);
-					fireValueChanged(VALUE, oldValue, value);
-				}
-			});
-		}
-		radioBox.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent event) {
-				radioBox = null;
-				radioButtons = null;
-			}
-		});
-	} else {
-		checkParent(radioBox, parent);
-	}
-	return radioBox;
-}
-/**
- * Sets the indent used for the first column of the radion button matrix.
- *
- * @param indent the indent (in pixels)
- */
-public void setIndent(int indent) {
-	if (indent < 0)
-		this.indent = 0;
-	else
-		this.indent = indent;
-}
-
-/**
- * Select the radio button that conforms to the given value.
- *
- * @param selectedValue the selected value
- */
-private void updateValue(String selectedValue) {
-	this.value = selectedValue;
-	if (radioButtons == null)
-		return;
-
-	if (this.value != null) {
-		boolean found = false;
-		for (int i = 0; i < radioButtons.length; i++) {
-			Button radio = radioButtons[i];
-			boolean selection = false;
-			if (((String) radio.getData()).equals(this.value)) {
-				selection = true;
-				found = true;
-			}
-			radio.setSelection(selection);
-		}
-		if (found)
-			return;
-	}
-
-	// We weren't able to find the value. So we select the first
-	// radio button as a default.
-	if (radioButtons.length > 0) {
-		radioButtons[0].setSelection(true);
-		this.value = (String) radioButtons[0].getData();
-	}
-	return;
-}
-
-/*
- * @see FieldEditor.setEnabled(boolean,Composite).
- */
-public void setEnabled(boolean enabled, Composite parent){
-	if(!useGroup)
-		super.setEnabled(enabled,parent);
-	for(int i = 0; i < radioButtons.length; i ++){
-		radioButtons[i].setEnabled(enabled);
-	}
-
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/ScaleFieldEditor.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/ScaleFieldEditor.java
deleted file mode 100644
index ee52aff..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/ScaleFieldEditor.java
+++ /dev/null
@@ -1,378 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.preference;
-
-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.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Scale;
-
-/**
- * A field editor for an integer type preference. This class may be used as is,
- * or subclassed as required.
- * 
- * @since 3.0
- */
-public class ScaleFieldEditor extends FieldEditor {
-
-    /**
-	 * Value that will feed Scale.setIncrement(int).
-	 */
-    private int incrementValue;
-
-    /**
-	 * Value that will feed Scale.setMaximum(int).
-	 */
-    private int maxValue;
-
-    /**
-	 * Value that will feed Scale.setMinimum(int).
-	 */
-    private int minValue;
-
-    /**
-	 * Old integer value.
-	 */
-    private int oldValue;
-
-    /**
-	 * Value that will feed Scale.setPageIncrement(int).
-	 */
-    private int pageIncrementValue;
-
-    /**
-	 * The scale, or <code>null</code> if none.
-	 */
-    protected Scale scale;
-
-    /**
-	 * Creates a scale field editor.
-	 * 
-	 * @param name
-	 *            the name of the preference this field editor works on
-	 * @param labelText
-	 *            the label text of the field editor
-	 * @param parent
-	 *            the parent of the field editor's control
-	 */
-    public ScaleFieldEditor(String name, String labelText, Composite parent) {
-        super(name, labelText, parent);
-        setDefaultValues();
-    }
-
-    /**
-	 * Creates a scale field editor with particular scale values.
-	 * 
-	 * @param name
-	 *            the name of the preference this field editor works on
-	 * @param labelText
-	 *            the label text of the field editor
-	 * @param parent
-	 *            the parent of the field editor's control
-	 * @param min
-	 *            the value used for Scale.setMinimum(int).
-	 * @param max
-	 *            the value used for Scale.setMaximum(int).
-	 * @param increment
-	 *            the value used for Scale.setIncrement(int).
-	 * @param pageIncrement
-	 *            the value used for Scale.setPageIncrement(int).
-	 */
-    public ScaleFieldEditor(String name, String labelText, Composite parent, int min, int max, int increment, int pageIncrement) {
-        super(name, labelText, parent);
-        setValues(min, max, increment, pageIncrement);
-    }
-
-    /*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.preference.FieldEditor#adjustForNumColumns(int)
-	 */
-    protected void adjustForNumColumns(int numColumns) {
-        ((GridData) scale.getLayoutData()).horizontalSpan = numColumns - 1;
-    }
-
-    /*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.preference.FieldEditor#doFillIntoGrid(org.eclipse.swt.widgets.Composite,
-	 *      int)
-	 */
-    protected void doFillIntoGrid(Composite parent, int numColumns) {
-        Control control = getLabelControl(parent);
-        GridData gd = new GridData();
-        control.setLayoutData(gd);
-
-        scale = getScaleControl(parent);
-        gd = new GridData(GridData.FILL_HORIZONTAL);
-        gd.verticalAlignment = GridData.FILL;
-        gd.horizontalSpan = numColumns - 1;
-        gd.grabExcessHorizontalSpace = true;
-        scale.setLayoutData(gd);
-        updateScale();
-    }
-
-    /*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.preference.FieldEditor#doLoad()
-	 */
-    protected void doLoad() {
-        if (scale != null) {
-            int value = getPreferenceStore().getInt(getPreferenceName());
-            scale.setSelection(value);
-            oldValue = value;
-        }
-    }
-
-    /*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.preference.FieldEditor#doLoadDefault()
-	 */
-    protected void doLoadDefault() {
-        if (scale != null) {
-            int value = getPreferenceStore().getDefaultInt(getPreferenceName());
-            scale.setSelection(value);            
-        }
-        valueChanged();
-    }
-
-    /*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.preference.FieldEditor#doStore()
-	 */
-    protected void doStore() {
-        getPreferenceStore().setValue(getPreferenceName(), scale.getSelection());
-    }
-
-    /**
-	 * Returns the value that will be used for Scale.setIncrement(int).
-	 * 
-	 * @return the value.
-	 * @see org.eclipse.swt.widgets.Scale#setIncrement(int)
-	 */
-    public int getIncrement() {
-        return incrementValue;
-    }
-
-    /**
-	 * Returns the value that will be used for Scale.setMaximum(int).
-	 * 
-	 * @return the value.
-	 * @see org.eclipse.swt.widgets.Scale#setMaximum(int)
-	 */
-    public int getMaximum() {
-        return maxValue;
-    }
-
-    /**
-	 * Returns the value that will be used for Scale.setMinimum(int).
-	 * 
-	 * @return the value.
-	 * @see org.eclipse.swt.widgets.Scale#setMinimum(int)
-	 */
-    public int getMinimum() {
-        return minValue;
-    }
-
-    /*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.preference.FieldEditor#getNumberOfControls()
-	 */
-    public int getNumberOfControls() {
-        return 2;
-    }
-
-    /**
-	 * Returns the value that will be used for Scale.setPageIncrement(int).
-	 * 
-	 * @return the value.
-	 * @see org.eclipse.swt.widgets.Scale#setPageIncrement(int)
-	 */
-    public int getPageIncrement() {
-        return pageIncrementValue;
-    }
-
-    /**
-	 * Returns this field editor's scale control.
-	 * 
-	 * @return the scale control, or <code>null</code> if no scale field is
-	 *         created yet
-	 */
-    public Scale getScaleControl() {
-        return scale;
-    }
-
-    /**
-	 * Returns this field editor's scale control. The control is created if it
-	 * does not yet exist.
-	 * 
-	 * @param parent
-	 *            the parent
-	 * @return the scale control
-	 */
-    private Scale getScaleControl(Composite parent) {
-        if (scale == null) {
-            scale = new Scale(parent, SWT.HORIZONTAL);
-            scale.setFont(parent.getFont());
-            scale.addSelectionListener(new SelectionAdapter() {
-                public void widgetSelected(SelectionEvent event) {
-                    valueChanged();
-                }
-            });
-            scale.addDisposeListener(new DisposeListener() {
-                public void widgetDisposed(DisposeEvent event) {
-                    scale = null;
-                }
-            });
-        }
-        else {
-            checkParent(scale, parent);
-        }
-        return scale;
-    }
-
-    /**
-	 * Set default values for the various scale fields.  These defaults are:<br>
-     * <ul>
-     * <li>Minimum  = 0
-     * <li>Maximim = 10
-     * <li>Increment = 1
-     * <li>Page Increment = 1
-     * </ul> 
-	 */
-    private void setDefaultValues() {
-        setValues(0, 10, 1, 1);
-    }
-
-    /*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.preference.FieldEditor#setFocus()
-	 */
-    public void setFocus() {
-        if (scale != null && !scale.isDisposed()) {
-            scale.setFocus();
-        }
-    }
-
-    /**
-	 * Set the value to be used for Scale.setIncrement(int) and update the
-	 * scale.
-	 * 
-	 * @param increment
-	 *            a value greater than 0.
-	 * @see org.eclipse.swt.widgets.Scale#setIncrement(int)
-	 */
-    public void setIncrement(int increment) {
-        this.incrementValue = increment;
-        updateScale();
-    }
-
-    /**
-	 * Set the value to be used for Scale.setMaximum(int) and update the
-	 * scale.
-	 * 
-	 * @param max
-	 *            a value greater than 0.
-	 * @see org.eclipse.swt.widgets.Scale#setMaximum(int)
-	 */
-    public void setMaximum(int max) {
-        this.maxValue = max;
-        updateScale();
-    }
-
-    /**
-	 * Set the value to be used for Scale.setMinumum(int) and update the
-	 * scale.
-	 * 
-	 * @param min
-	 *            a value greater than 0.
-	 * @see org.eclipse.swt.widgets.Scale#setMinimum(int)
-	 */
-    public void setMinimum(int min) {
-        this.minValue = min;
-        updateScale();
-    }
-
-    /**
-	 * Set the value to be used for Scale.setPageIncrement(int) and update the
-	 * scale.
-	 * 
-	 * @param pageIncrement
-	 *            a value greater than 0.
-	 * @see org.eclipse.swt.widgets.Scale#setPageIncrement(int)
-	 */
-    public void setPageIncrement(int pageIncrement) {
-        this.pageIncrementValue = pageIncrement;
-        updateScale();
-    }
-
-    /**
-	 * Set all Scale values.
-	 * 
-	 * @param min
-	 *            the value used for Scale.setMinimum(int).
-	 * @param max
-	 *            the value used for Scale.setMaximum(int).
-	 * @param increment
-	 *            the value used for Scale.setIncrement(int).
-	 * @param pageIncrement
-	 *            the value used for Scale.setPageIncrement(int).
-	 */
-    private void setValues(int min, int max, int increment, int pageIncrement) {
-        this.incrementValue = increment;
-        this.maxValue = max;
-        this.minValue = min;
-        this.pageIncrementValue = pageIncrement;
-        updateScale();
-    }
-
-    /**
-	 * Update the scale particulars with set values.
-	 */
-    private void updateScale() {
-        if (scale != null && !scale.isDisposed()) {
-            scale.setMinimum(getMinimum());
-            scale.setMaximum(getMaximum());
-            scale.setIncrement(getIncrement());
-            scale.setPageIncrement(getPageIncrement());
-        }
-    }
-    
-    /**
-	 * Informs this field editor's listener, if it has one, about a change to
-	 * the value (<code>VALUE</code> property) provided that the old and new
-	 * values are different.
-	 * <p>
-	 * This hook is <em>not</em> called when the scale is initialized (or
-	 * reset to the default value) from the preference store.
-	 * </p>
-	 */
-    protected void valueChanged() {
-        setPresentsDefaultValue(false);
-
-        int newValue = scale.getSelection();
-        if (newValue != oldValue) {
-            fireStateChanged(IS_VALID, false, true);
-            fireValueChanged(VALUE, new Integer(oldValue), new Integer(newValue));
-            oldValue = newValue;
-        }
-    }
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/StringButtonFieldEditor.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/StringButtonFieldEditor.java
deleted file mode 100644
index 097d4c2..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/StringButtonFieldEditor.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 Corporation - initial API and implementation
- * 	   Thierry Lach - thierry.lach@bbdodetroit.com - Fix for Bug 37155
- *******************************************************************************/
-package org.eclipse.jface.preference;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.*;
-
-/**
- * An abstract field editor for a string type preference that presents
- * a string input field with a change button to its right to edit the
- * input field's content. When the user presses the change button, the
- * abstract framework method <code>changePressed()</code> gets called
- * to compute a new string.
- */
-public abstract class StringButtonFieldEditor extends StringFieldEditor {
-
-	/**
-	 * The change button, or <code>null</code> if none
-	 * (before creation and after disposal).
-	 */
-	private Button changeButton;
-
-	/**
-	 * The text for the change button, or <code>null</code> if missing.
-	 */
-	private String changeButtonText;
-	/**
-	 * Creates a new string button field editor 
-	 */
-	protected StringButtonFieldEditor() {
-	}
-	/**
-	 * Creates a string button field editor.
-	 * 
-	 * @param name the name of the preference this field editor works on
-	 * @param labelText the label text of the field editor
-	 * @param parent the parent of the field editor's control
-	 */
-	protected StringButtonFieldEditor(
-		String name,
-		String labelText,
-		Composite parent) {
-		init(name, labelText);
-		createControl(parent);
-	}
-	/* (non-Javadoc)
-	 * Method declared on FieldEditor.
-	 */
-	protected void adjustForNumColumns(int numColumns) {
-		((GridData) getTextControl().getLayoutData()).horizontalSpan =
-			numColumns - 2;
-	}
-	/**
-	 * Notifies that this field editor's change button has been pressed.
-	 * <p>
-	 * Subclasses must implement this method to provide a corresponding
-	 * new string for the text field. If the returned value is <code>null</code>,
-	 * the currently displayed value remains.
-	 * </p>
-	 *
-	 * @return the new string to display, or <code>null</code> to leave the
-	 *  old string showing
-	 */
-	protected abstract String changePressed();
-	/* (non-Javadoc)
-	 * Method declared on StringFieldEditor (and FieldEditor).
-	 */
-	protected void doFillIntoGrid(Composite parent, int numColumns) {
-		super.doFillIntoGrid(parent, numColumns - 1);
-		changeButton = getChangeControl(parent);
-		GridData gd = new GridData();
-		gd.horizontalAlignment = GridData.FILL;
-		gd.heightHint =
-			convertVerticalDLUsToPixels(
-				changeButton,
-				IDialogConstants.BUTTON_HEIGHT);
-		int widthHint =
-			convertHorizontalDLUsToPixels(
-				changeButton,
-				IDialogConstants.BUTTON_WIDTH);
-		gd.widthHint =
-			Math.max(
-				widthHint,
-				changeButton.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-		changeButton.setLayoutData(gd);
-	}
-	/**
-	 * Get the change control. Create it in parent if required.
-	 * @param parent
-	 * @return Button
-	 */
-	protected Button getChangeControl(Composite parent) {
-		if (changeButton == null) {
-			changeButton = new Button(parent, SWT.PUSH);
-			if (changeButtonText == null)
-				changeButtonText = JFaceResources.getString("openChange"); //$NON-NLS-1$
-			changeButton.setText(changeButtonText);
-			changeButton.setFont(parent.getFont());
-			changeButton.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent evt) {
-					String newValue = changePressed();
-					if (newValue != null) {
-						setStringValue(newValue);
-					}
-				}
-			});
-			changeButton.addDisposeListener(new DisposeListener() {
-				public void widgetDisposed(DisposeEvent event) {
-					changeButton = null;
-				}
-			});
-		} else {
-			checkParent(changeButton, parent);
-		}
-		return changeButton;
-	}
-	/* (non-Javadoc)
-	 * Method declared on FieldEditor.
-	 */
-	public int getNumberOfControls() {
-		return 3;
-	}
-	/**
-	 * Returns this field editor's shell.
-	 *
-	 * @return the shell
-	 */
-	protected Shell getShell() {
-		if (changeButton == null)
-			return null;
-		return changeButton.getShell();
-	}
-	/**
-	 * Sets the text of the change button.
-	 *
-	 * @param text the new text
-	 */
-	public void setChangeButtonText(String text) {
-		Assert.isNotNull(text);
-		changeButtonText = text;
-		if (changeButton != null)
-			changeButton.setText(text);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.FieldEditor#setEnabled(boolean, org.eclipse.swt.widgets.Composite)
-	 */
-	public void setEnabled(boolean enabled, Composite parent) {
-		super.setEnabled(enabled, parent);
-		if (changeButton != null) {
-			changeButton.setEnabled(enabled);
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/StringFieldEditor.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/StringFieldEditor.java
deleted file mode 100644
index ab48cf6..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/StringFieldEditor.java
+++ /dev/null
@@ -1,479 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.preference;
-
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Text;
- 
-/**
- * A field editor for a string type preference.
- * <p>
- * This class may be used as is, or subclassed as required.
- * </p>
- */
-public class StringFieldEditor extends FieldEditor {
-
-	/**
-	 * Validation strategy constant (value <code>0</code>) indicating that
-	 * the editor should perform validation after every key stroke.
-	 *
-	 * @see #setValidateStrategy
-	 */
-	public static final int VALIDATE_ON_KEY_STROKE = 0;
-
-	/**
-	 * Validation strategy constant (value <code>1</code>) indicating that
-	 * the editor should perform validation only when the text widget 
-	 * loses focus.
-	 *
-	 * @see #setValidateStrategy
-	 */
-	public static final int VALIDATE_ON_FOCUS_LOST = 1;
-	
-	/**
-	 * Text limit constant (value <code>-1</code>) indicating unlimited
-	 * text limit and width.
-	 */
-	public static int UNLIMITED = -1;
-
-	/**
-	 * Cached valid state.
-	 */
-	private boolean isValid;
-
-	/**
-	 * Old text value.
-	 */
-	private String oldValue;
-	
-	/**
-	 * The text field, or <code>null</code> if none.
-	 */
-	Text textField;
-
-	/**
-	 * Width of text field in characters; initially unlimited.
-	 */
-	private int widthInChars = UNLIMITED;
-
-	/**
-	 * Text limit of text field in characters; initially unlimited.
-	 */
-	private int textLimit = UNLIMITED;
-	
-	/**
-	 * The error message, or <code>null</code> if none.
-	 */
-	private String errorMessage;
-	
-	/**
-	 * Indicates whether the empty string is legal;
-	 * <code>true</code> by default.
-	 */
-	private boolean emptyStringAllowed = true;
-	
-	/**
-	 * The validation strategy; 
-	 * <code>VALIDATE_ON_KEY_STROKE</code> by default.
-	 */
-	private int validateStrategy= VALIDATE_ON_KEY_STROKE;
-/**
- * Creates a new string field editor 
- */
-protected StringFieldEditor() {
-}
-/**
- * Creates a string field editor.
- * Use the method <code>setTextLimit</code> to limit the text.
- * 
- * @param name the name of the preference this field editor works on
- * @param labelText the label text of the field editor
- * @param width the width of the text input field in characters,
- *  or <code>UNLIMITED</code> for no limit
- * @param strategy either <code>VALIDATE_ON_KEY_STROKE</code> to perform
- *  on the fly checking (the default), or <code>VALIDATE_ON_FOCUS_LOST</code> to
- *  perform validation only after the text has been typed in
- * @param parent the parent of the field editor's control
- * @since 2.0
- */
-public StringFieldEditor(String name, String labelText, int width, int strategy, Composite parent) {
-	init(name, labelText);
-	widthInChars = width;
-	setValidateStrategy(strategy);
-	isValid = false;
-	errorMessage = JFaceResources.getString("StringFieldEditor.errorMessage");//$NON-NLS-1$
-	createControl(parent);
-}
-/**
- * Creates a string field editor.
- * Use the method <code>setTextLimit</code> to limit the text.
- * 
- * @param name the name of the preference this field editor works on
- * @param labelText the label text of the field editor
- * @param width the width of the text input field in characters,
- *  or <code>UNLIMITED</code> for no limit
- * @param parent the parent of the field editor's control
- */
-public StringFieldEditor(String name, String labelText, int width, Composite parent) {
-	this(name, labelText, width, VALIDATE_ON_KEY_STROKE, parent);
-}
-/**
- * Creates a string field editor of unlimited width.
- * Use the method <code>setTextLimit</code> to limit the text.
- * 
- * @param name the name of the preference this field editor works on
- * @param labelText the label text of the field editor
- * @param parent the parent of the field editor's control
- */
-public StringFieldEditor(String name, String labelText, Composite parent) {
-	this(name, labelText, UNLIMITED, parent);
-}
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- */
-protected void adjustForNumColumns(int numColumns) {
-	GridData gd = (GridData)textField.getLayoutData();
-	gd.horizontalSpan = numColumns - 1;
-	// We only grab excess space if we have to
-	// If another field editor has more columns then
-	// we assume it is setting the width.
-	gd.grabExcessHorizontalSpace = gd.horizontalSpan == 1;
-}
-/**
- * Checks whether the text input field contains a valid value or not.
- *
- * @return <code>true</code> if the field value is valid,
- *   and <code>false</code> if invalid
- */
-protected boolean checkState() {
-	boolean result = false;
-	if (emptyStringAllowed)
-		result = true;
-
-	if (textField == null)
-		result = false;
-
-	String txt = textField.getText();
-
-	if (txt == null)
-		result = false;
-
-	result = (txt.trim().length() > 0) || emptyStringAllowed;
-
-	// call hook for subclasses
-	result = result && doCheckState();
-
-	if (result)
-		clearErrorMessage();
-	else
-		showErrorMessage(errorMessage);
-
-	return result;
-}
-/**
- * Hook for subclasses to do specific state checks.
- * <p>
- * The default implementation of this framework method does
- * nothing and returns <code>true</code>.  Subclasses should 
- * override this method to specific state checks.
- * </p>
- *
- * @return <code>true</code> if the field value is valid,
- *   and <code>false</code> if invalid
- */
-protected boolean doCheckState() {
-	return true;
-}
-/**
- * Fills this field editor's basic controls into the given parent.
- * <p>
- * The string field implementation of this <code>FieldEditor</code>
- * framework method contributes the text field. Subclasses may override
- * but must call <code>super.doFillIntoGrid</code>.
- * </p>
- */
-protected void doFillIntoGrid(Composite parent, int numColumns) {
-	getLabelControl(parent);
-
-	textField = getTextControl(parent);
-	GridData gd = new GridData();
-	gd.horizontalSpan = numColumns - 1;
-	if (widthInChars != UNLIMITED) {
-		GC gc = new GC(textField);
-		try {
-			Point extent = gc.textExtent("X");//$NON-NLS-1$
-			gd.widthHint = widthInChars * extent.x;
-		} finally {
-			gc.dispose();
-		}
-	} else {
-		gd.horizontalAlignment = GridData.FILL;
-		gd.grabExcessHorizontalSpace = true;
-	}
-	textField.setLayoutData(gd);
-}
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- */
-protected void doLoad() {
-	if (textField != null) {
-		String value = getPreferenceStore().getString(getPreferenceName());
-		textField.setText(value);
-		oldValue = value;
-	}
-}
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- */
-protected void doLoadDefault() {
-	if (textField != null) {
-		String value = getPreferenceStore().getDefaultString(getPreferenceName());
-		textField.setText(value);
-	}
-	valueChanged();
-}
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- */
-protected void doStore() {
-	getPreferenceStore().setValue(getPreferenceName(), textField.getText());
-}
-/**
- * Returns the error message that will be displayed when and if 
- * an error occurs.
- *
- * @return the error message, or <code>null</code> if none
- */
-public String getErrorMessage() {
-	return errorMessage;
-}
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- */
-public int getNumberOfControls() {
-	return 2;
-}
-/**
- * Returns the field editor's value.
- *
- * @return the current value
- */
-public String getStringValue() {
-	if (textField != null)
-		return textField.getText();
-	else
-		return getPreferenceStore().getString(getPreferenceName());
-}
-/**
- * Returns this field editor's text control.
- *
- * @return the text control, or <code>null</code> if no
- * text field is created yet
- */
-protected Text getTextControl() {
-	return textField;
-}
-/**
- * Returns this field editor's text control.
- * <p>
- * The control is created if it does not yet exist
- * </p>
- *
- * @param parent the parent
- * @return the text control
- */
-public Text getTextControl(Composite parent) {
-	if (textField == null) {
-		textField = new Text(parent, SWT.SINGLE | SWT.BORDER);
-		textField.setFont(parent.getFont());
-		switch (validateStrategy) {
-			case VALIDATE_ON_KEY_STROKE :
-				textField.addKeyListener(new KeyAdapter() {
-					
-					/* (non-Javadoc)
-					 * @see org.eclipse.swt.events.KeyAdapter#keyReleased(org.eclipse.swt.events.KeyEvent)
-					 */
-					public void keyReleased(KeyEvent e) {
-						valueChanged();
-					}
-				});
-
-				break;
-			case VALIDATE_ON_FOCUS_LOST :
-				textField.addKeyListener(new KeyAdapter() {
-					public void keyPressed(KeyEvent e) {
-						clearErrorMessage();
-					}
-				});
-				textField.addFocusListener(new FocusAdapter() {
-					public void focusGained(FocusEvent e) {
-						refreshValidState();
-					}
-					public void focusLost(FocusEvent e) {
-						valueChanged();
-						clearErrorMessage();
-					}
-				});
-				break;
-			default :
-				Assert.isTrue(false, "Unknown validate strategy");//$NON-NLS-1$
-		}
-		textField.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent event) {
-				textField = null;
-			}
-		});
-		if(textLimit > 0){//Only set limits above 0 - see SWT spec
-			textField.setTextLimit(textLimit);
-		}
-	} else {
-		checkParent(textField, parent);
-	}
-	return textField;
-}
-/**
- * Returns whether an empty string is a valid value.
- *
- * @return <code>true</code> if an empty string is a valid value, and
- *  <code>false</code> if an empty string is invalid
- * @see #setEmptyStringAllowed
- */
-public boolean isEmptyStringAllowed() {
-	return emptyStringAllowed;
-}
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- */
-public boolean isValid() {
-	return isValid;
-}
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- */
-protected void refreshValidState() {
-	isValid = checkState();
-}
-/**
- * Sets whether the empty string is a valid value or not.
- *
- * @param b <code>true</code> if the empty string is allowed,
- *  and <code>false</code> if it is considered invalid
- */
-public void setEmptyStringAllowed(boolean b) {
-	emptyStringAllowed = b;
-}
-/**
- * Sets the error message that will be displayed when and if 
- * an error occurs.
- *
- * @param message the error message
- */
-public void setErrorMessage(String message) {
-	errorMessage = message;
-}
-/* (non-Javadoc)
- * Method declared on FieldEditor.
- */
-public void setFocus() {
-	if (textField != null) {
-		textField.setFocus();
-	}
-}
-/**
- * Sets this field editor's value.
- *
- * @param value the new value, or <code>null</code> meaning the empty string
- */
-public void setStringValue(String value) {
-	if (textField != null) {
-		if (value == null)
-			value = "";//$NON-NLS-1$
-		oldValue = textField.getText();
-		if (!oldValue.equals(value)) {
-			textField.setText(value);
-			valueChanged();
-		}
-	}
-}
-/**
- * Sets this text field's text limit.
- *
- * @param limit the limit on the number of character in the text
- *  input field, or <code>UNLIMITED</code> for no limit
-
- */
-public void setTextLimit(int limit) {
-	textLimit = limit;
-	if (textField != null)
-		textField.setTextLimit(limit);
-}
-/**
- * Sets the strategy for validating the text.
- * <p>
- * Calling this method has no effect after <code>createPartControl</code>
- * is called. Thus this method is really only useful for subclasses to call
- * in their constructor. However, it has public visibility for backward 
- * compatibility.
- * </p>
- *
- * @param value either <code>VALIDATE_ON_KEY_STROKE</code> to perform
- *  on the fly checking (the default), or <code>VALIDATE_ON_FOCUS_LOST</code> to
- *  perform validation only after the text has been typed in
- */
-public void setValidateStrategy(int value) {
-	Assert.isTrue(value == VALIDATE_ON_FOCUS_LOST || value == VALIDATE_ON_KEY_STROKE);
-	validateStrategy = value;
-}
-/**
- * Shows the error message set via <code>setErrorMessage</code>.
- */
-public void showErrorMessage() {
-	showErrorMessage(errorMessage);
-}
-/**
- * Informs this field editor's listener, if it has one, about a change
- * to the value (<code>VALUE</code> property) provided that the old and
- * new values are different.
- * <p>
- * This hook is <em>not</em> called when the text is initialized 
- * (or reset to the default value) from the preference store.
- * </p>
- */
-protected void valueChanged() {
-	setPresentsDefaultValue(false);
-	boolean oldState = isValid;
-	refreshValidState();
-
-	if (isValid != oldState)
-		fireStateChanged(IS_VALID, oldState, isValid);
-
-	String newValue = textField.getText();
-	if (!newValue.equals(oldValue)) {
-		fireValueChanged(VALUE, oldValue, newValue);
-		oldValue = newValue;
-	}
-}
-
-/*
- * @see FieldEditor.setEnabled(boolean,Composite).
- */
-public void setEnabled(boolean enabled, Composite parent){
-	super.setEnabled(enabled,parent);
-	getTextControl(parent).setEnabled(enabled);
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/images/pref_dialog_title.gif b/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/images/pref_dialog_title.gif
deleted file mode 100644
index 672442f..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/images/pref_dialog_title.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/package.html b/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/package.html
deleted file mode 100644
index 1a8983a..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/package.html
+++ /dev/null
@@ -1,67 +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 framework for preferences.
-<h2>
-Package Specification</h2>
-A <b>preference manager</b> (class <tt>PreferenceManager</tt>) maintains
-a tree of <b>preference nodes</b>. Preferences are presented to the end
-user in a <b>preference dialog</b> consisting of <b>preference pages</b>.
-A preference page consists of multiple preference fields, which can be
-displayed and modified though <b>field editors</b>. The framework contains
-an abstract base class for preference dialogs (<tt>PreferenceDialog</tt>),
-and an abstract preference page class (<tt>FieldEditorPreferencePage</tt>)
-for hosting these field editors.
-<p>The individual preference values are maintained in a <b>preference store</b>
-(<tt>IPreferenceStore</tt>). Each preference has a current value and a
-default value use to (re-)initialize it. The framework provides a concrete
-preference store implementation (<tt>PreferenceStore</tt>) based on an
-internal <tt>java.util.Properties</tt> object, with support for persisting
-the non-default preference values to files or streams.
-<p>A field editor presents the value of a single preference to the end
-user. The value is loaded from the preference store; if modified by the
-end user, the value is validated and eventually stored back to the preference
-store.
-<p>This package contains ready-to-use field editors for various types of
-preferences:
-<ul>
-<li>
-<tt>BooleanFieldEditor</tt> - booleans</li>
-
-<li>
-<tt>IntegerFieldEditor</tt> - integers</li>
-
-<li>
-<tt>StringFieldEditor</tt> - text strings</li>
-
-<li>
-<tt>RadioGroupFieldEditor</tt> - enumerations</li>
-
-<li>
-<tt>ColorFieldEditor</tt> - RGB colors</li>
-
-<li>
-<tt>FontFieldEditor</tt> - fonts</li>
-
-<li>
-<tt>DirectoryFieldEditor</tt> - directories</li>
-
-<li>
-<tt>FileFieldEditor</tt> - files</li>
-
-<li>
-<tt>PathEditor</tt> - paths</li>
-</ul>
-All field editors are subclasses of the abstract base class <tt>FieldEditor</tt>;
-the framework allows new kinds of field editors to be defined by subclassing
-this class or one of its subclasses.
-<p>Note: None of the classes in this package maintain global state.
-<br>&nbsp;
-</body>
-</html>
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/ColorRegistry.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/ColorRegistry.java
deleted file mode 100644
index e7e2e44..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/ColorRegistry.java
+++ /dev/null
@@ -1,245 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.resource;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * A color registry maintains a mapping between symbolic color names and SWT 
- * <code>Color</code>s.
- * <p>
- * A color registry owns all of the <code>Color</code> objects registered with 
- * it, and automatically disposes of them when the SWT Display that creates the 
- * <code>Color</code>s is disposed. Because of this, clients do not need to 
- * (indeed, must not attempt to) dispose of <code>Color</code> objects 
- * themselves.
- * </p>
- * <p>
- * Methods are provided for registering listeners that will be kept
- * apprised of changes to list of registed colors.
- * </p>
- * <p>
- * Clients may instantiate this class (it was not designed to be subclassed).
- * </p>
- * 
- * @since 3.0
- */
-public class ColorRegistry extends ResourceRegistry {
-
-	/**
-	 * This registries <code>Display</code>. All colors will be allocated using 
-	 * it.
-	 */
-	protected Display display;
-
-	/**
-	 * Collection of <code>Color</code> that are now stale to be disposed when 
-	 * it is safe to do so (i.e. on shutdown).
-	 */
-	private List staleColors = new ArrayList();
-
-	/**
-	 * Table of known colors, keyed by symbolic color name (key type: <code>String</code>,
-	 * value type: <code>org.eclipse.swt.graphics.Color</code>.
-	 */
-	private Map stringToColor = new HashMap(7);
-
-	/**
-	 * Table of known color data, keyed by symbolic color name (key type:
-	 * <code>String</code>, value type: <code>org.eclipse.swt.graphics.RGB</code>).
-	 */
-	private Map stringToRGB = new HashMap(7);
-	
-	/**
-	 * Runnable that cleans up the manager on disposal of the display.
-	 */
-	protected Runnable displayRunnable = new Runnable() {
-		public void run() {
-			clearCaches();
-		}
-	};
-
-	/**
-	 * Create a new instance of the receiver that is hooked to the current 
-	 * display.
-	 * 
-	 * @see org.eclipse.swt.widgets.Display#getCurrent()
-	 */
-	public ColorRegistry() {
-		this(Display.getCurrent());
-	}
-
-	/**
-	 * Create a new instance of the receiver.
-	 * 
-	 * @param display the <code>Display</code> to hook into.
-	 */
-	public ColorRegistry(Display display) {
-		Assert.isNotNull(display);
-		this.display = display;
-		hookDisplayDispose();
-	}
-
-	
-
-	/**
-	 * Create a new <code>Color</code> on the receivers <code>Display</code>.
-	 * 
-	 * @param symbolicName the symbolic color name.
-	 * @param rgb the <code>RGB</code> data for the color.
-	 * @return the new <code>Color</code> object.
-	 */
-	private Color createColor(String symbolicName, RGB rgb) {
-		return new Color(display, rgb);
-	}
-
-	/**
-	 * Dispose of all of the <code>Color</code>s in this iterator.
-	 * 
-	 * @param Iterator over <code>Collection</code> of <code>Color</code>
-	 */
-	private void disposeColors(Iterator iterator) {
-		while (iterator.hasNext()) {
-			Object next = iterator.next();
-			((Color) next).dispose();
-		}
-	}
-
-	/**
-	 * Returns the <code>color</code> associated with the given symbolic color 
-	 * name, or <code>null</code> if no such definition exists.
-	 * 
-	 * @param symbolicName symbolic color name
-	 * @return the <code>Color</code> or <code>null</code>
-	 */
-	public Color get(String symbolicName) {
-
-		Assert.isNotNull(symbolicName);
-		Object result = stringToColor.get(symbolicName);
-		if (result != null)
-			return (Color) result;
-
-		Color color = null;
-		
-		result = stringToRGB.get(symbolicName);
-		if (result == null)
-		    return null;
-
-		color = createColor(symbolicName, (RGB) result);
-		
-		stringToColor.put(symbolicName, color);
-
-		return color;
-	}
-	    
-    /* (non-Javadoc)
-	 * @see org.eclipse.jface.resource.ResourceRegistry#getKeySet()
-	 */	
-	public Set getKeySet() {	    
-	    return Collections.unmodifiableSet(stringToRGB.keySet());
-	}
-
-	/**
-	 * Returns the color data associated with the given symbolic color name.
-	 *
-	 * @param symbolicName symbolic color name.
-	 * @return the <code>RGB</code> data.
-	 */
-	public RGB getRGB(String symbolicName) {
-		Assert.isNotNull(symbolicName);
-		return (RGB) stringToRGB.get(symbolicName);
-	}
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.resource.ResourceRegistry#clearCaches()
-	 */
-	protected void clearCaches() {
-		disposeColors(stringToColor.values().iterator());
-		disposeColors(staleColors.iterator());
-		stringToColor.clear();
-		staleColors.clear();					
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.resource.ResourceRegistry#hasValueFor(java.lang.String)
-	 */
-	public boolean hasValueFor(String colorKey) {
-		return stringToRGB.containsKey(colorKey);
-	}
-
-	/**
-	 * Hook a dispose listener on the SWT display.
-	 */
-	private void hookDisplayDispose() {
-		display.disposeExec(displayRunnable);
-	}
-
-	/**
-	 * Adds (or replaces) a color to this color registry under the given 
-	 * symbolic name.
-	 * <p>
-	 * A property change event is reported whenever the mapping from a symbolic
-	 * name to a color changes. The source of the event is this registry; the
-	 * property name is the symbolic color name.
-	 * </p>
-	 * 
-	 * @param symbolicName the symbolic color name
-	 * @param colorData an <code>RGB</code> object
-	 */
-	public void put(String symbolicName, RGB colorData) {
-		put(symbolicName, colorData, true);
-	}
-
-	/**
-	 * Adds (or replaces) a color to this color registry under the given 
-	 * symbolic name.
-	 * <p>
-	 * A property change event is reported whenever the mapping from a symbolic
-	 * name to a color changes. The source of the event is this registry; the
-	 * property name is the symbolic color name.
-	 * </p>
-	 * 
-	 * @param symbolicName the symbolic color name
-	 * @param colorData an <code>RGB</code> object
-	 * @param update - fire a color mapping changed if true. False if this
-	 *            method is called from the get method as no setting has
-	 *            changed.
-	 */
-	private void put(String symbolicName, RGB colorData, boolean update) {
-
-		Assert.isNotNull(symbolicName);
-		Assert.isNotNull(colorData);
-
-		RGB existing = (RGB) stringToRGB.get(symbolicName);
-		if (colorData.equals(existing))
-			return;
-
-		Color oldColor = (Color) stringToColor.remove(symbolicName);
-		stringToRGB.put(symbolicName, colorData);
-		if (update)
-			fireMappingChanged(symbolicName, existing, colorData);
-
-		if (oldColor != null)
-			staleColors.add(oldColor);
-	}	
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/CompositeImageDescriptor.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/CompositeImageDescriptor.java
deleted file mode 100644
index 36b049f..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/CompositeImageDescriptor.java
+++ /dev/null
@@ -1,209 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.resource;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-
-/**
- * Abstract base class for image descriptors that synthesize 
- * an image from other images in order to simulate the effect
- * of custom drawing. For example, this could be used to
- * superimpose a red bar dexter symbol across an image to indicate
- * that something was disallowed.
- * <p>
- * Subclasses must implement the <code>getSize</code> and
- * <code>fill</code> methods. Little or no work happens
- * until the image descriptor's image is actually requested
- * by a call to <code>createImage</code> (or to
- * <code>getImageData</code> directly).
- * </p>
- */
-public abstract class CompositeImageDescriptor extends ImageDescriptor {
-
-	/**
-	 * The image data for this composite image.
-	 */
-	private ImageData imageData;
-			
-/**
- * Constructs an uninitialized composite image.
- */
-protected CompositeImageDescriptor() {
-}
-/**
- * Returns the index of a RGB entry in the given map which matches
- * the specified RGB color. If no such entry exists, a new RGB is
- * allocated. If the given array is full, the value 0 is returned
- * (which maps to the transparency value).
- */
-private static int alloc(RGB[] map, int red, int green, int blue) {
-	int i;
-	RGB c;
-
-	// this loops starts at index 1 because index 0 corresponds to the transparency value
-	for (i = 1; i < map.length && (c = map[i]) != null; i++)
-		if (c.red == red && c.green == green && c.blue == blue)
-			return i;
-
-	if (i < map.length - 1) {
-		map[i] = new RGB(red, green, blue);
-		return i;
-	}
-	return 0;
-}
-/**
- * Draw the composite images.
- * <p>
- * Subclasses must implement this framework method
- * to paint images within the given bounds using
- * one or more calls to the <code>drawImage</code>
- * framework method.
- * </p>
- *
- * @param width the width
- * @param height the height
- */
-protected abstract void drawCompositeImage(int width, int height);
-/**
- * Draws the given source image data into this composite
- * image at the given position.
- * <p>
- * Call this internal framework method to superimpose another 
- * image atop this composite image.
- * </p>
- *
- * @param src the source image data
- * @param ox the x position
- * @param oy the y position
- */
-final protected void drawImage(ImageData src, int ox, int oy) {
-
-	RGB[] out = imageData.getRGBs();
-
-	PaletteData palette = src.palette;
-	if (palette.isDirect) {
-
-		ImageData mask = src.getTransparencyMask();
-
-		for (int y = 0; y < src.height; y++) {
-			for (int x = 0; x < src.width; x++) {
-				if (mask.getPixel(x, y) != 0) {
-					int xx = x + ox;
-					int yy = y + oy;
-					if (xx >= 0 && xx < imageData.width && yy >= 0 && yy < imageData.height) {
-						int pixel = src.getPixel(x, y);
-
-						int r = pixel & palette.redMask;
-						/* JM: Changed operators from >> to >>> to shift sign bit right */
-						r = (palette.redShift < 0) ? r >>> -palette.redShift : r << palette.redShift;
-						int g = pixel & palette.greenMask;
-						g = (palette.greenShift < 0) ? g >>> -palette.greenShift : g << palette.greenShift;
-						int b = pixel & palette.blueMask;
-						b = (palette.blueShift < 0) ? b >>> -palette.blueShift : b << palette.blueShift;
-
-						pixel = alloc(out, r, g, b);
-
-						imageData.setPixel(xx, yy, pixel);
-					}
-				}
-			}
-		}
-
-		return;
-	}
-
-	// map maps src pixel values to dest pixel values
-	int map[] = new int[256];
-	for (int i = 0; i < map.length; i++)
-		map[i] = -1;
-
-	/* JM: added code to test if the image is an icon */
-	if (src.getTransparencyType() == SWT.TRANSPARENCY_MASK) {
-		ImageData mask = src.getTransparencyMask();
-		for (int y = 0; y < src.height; y++) {
-			for (int x = 0; x < src.width; x++) {
-				if (mask.getPixel(x, y) != 0) {
-					int xx = x + ox;
-					int yy = y + oy;
-					if (xx >= 0 && xx < imageData.width && yy >= 0 && yy < imageData.height) {
-						int pixel = src.getPixel(x, y);
-						int newPixel = map[pixel];
-						if (newPixel < 0) {
-							RGB c = palette.getRGB(pixel);
-							map[pixel] = newPixel = alloc(out, c.red, c.green, c.blue);
-						}
-
-						imageData.setPixel(xx, yy, newPixel);
-					}
-				}
-			}
-		}
-		return;
-	}
-
-	int maskPixel = src.transparentPixel;
-	for (int y = 0; y < src.height; y++) {
-		for (int x = 0; x < src.width; x++) {
-			int pixel = src.getPixel(x, y);
-			if (maskPixel < 0 || pixel != maskPixel) {
-				int xx = x + ox;
-				int yy = y + oy;
-				if (xx >= 0 && xx < imageData.width && yy >= 0 && yy < imageData.height) {
-
-					int newPixel = map[pixel];
-					if (newPixel < 0) {
-						RGB c = palette.getRGB(pixel);
-						map[pixel] = newPixel = alloc(out, c.red, c.green, c.blue);
-					}
-
-					imageData.setPixel(xx, yy, newPixel);
-				}
-			}
-		}
-	}
-}
-/* (non-Javadoc)
- * Method declared on ImageDesciptor.
- */
-public ImageData getImageData() {
-
-	Point size = getSize();
-
-	RGB black = new RGB(0, 0, 0);
-	RGB[] rgbs = new RGB[256];
-	rgbs[0] = black; // transparency
-	rgbs[1] = black; // black
-
-	PaletteData dataPalette = new PaletteData(rgbs);
-	imageData = new ImageData(size.x, size.y, 8, dataPalette);
-	imageData.transparentPixel = 0;
-
-	drawCompositeImage(size.x, size.y);
-
-	for (int i = 0; i < rgbs.length; i++)
-		if (rgbs[i] == null)
-			rgbs[i] = black;
-
-	return imageData;
-
-}
-/**
- * Return the size of this composite image.
- * <p>
- * Subclasses must implement this framework method.
- * </p>
- *
- * @return the x and y size of the image expressed as a 
- *   point object
- */
-protected abstract Point getSize();
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/DataFormatException.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/DataFormatException.java
deleted file mode 100644
index ed7b923..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/DataFormatException.java
+++ /dev/null
@@ -1,35 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.resource;
-
-
-/**
- * An exception indicating that a string value could not be
- * converted into the requested data type.
- *
- * @see StringConverter
- */ 
-public class DataFormatException extends IllegalArgumentException {
-/**
- * Creates a new exception.
- */
-public DataFormatException() {
-	super();
-}
-/**
- * Creates a new exception.
- *
- * @param message the message
- */
-public DataFormatException(String message) {
-	super(message);
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/FileImageDescriptor.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/FileImageDescriptor.java
deleted file mode 100644
index 1f9f680..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/FileImageDescriptor.java
+++ /dev/null
@@ -1,146 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.resource;
-
-import java.io.BufferedInputStream;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.SWTException;
-import org.eclipse.swt.graphics.ImageData;
-
-/**
- * An image descriptor that loads its image information
- * from a file.
- */
-class FileImageDescriptor extends ImageDescriptor {
-
-	/**
-	 * The class whose resource directory contain the file, 
-	 * or <code>null</code> if none.
-	 */
-	private Class location;
-
-	/**
-	 * The name of the file.
-	 */
-	private String name;
-/**
- * Creates a new file image descriptor.
- * The file has the given file name and is located
- * in the given class's resource directory. If the given
- * class is <code>null</code>, the file name must be absolute.
- * <p>
- * Note that the file is not accessed until its
- * <code>getImageDate</code> method is called.
- * </p>
- *
- * @param clazz class for resource directory, or
- *   <code>null</code>
- * @param filename the name of the file
- */
-FileImageDescriptor(Class clazz, String filename) {
-	this.location = clazz;
-	this.name = filename;
-}
-/* (non-Javadoc)
- * Method declared on Object.
- */
-public boolean equals(Object o) {
-	if (!(o instanceof FileImageDescriptor)) {
-		return false;
-	}
-	FileImageDescriptor other = (FileImageDescriptor)o;
-	if (location != null) {
-		if (!location.equals(other.location)) {
-			return false;
-		}
-	} else {
-		if (other.location != null) {
-			return false;
-		}
-	}
-	return name.equals(other.name);
-}
-/* (non-Javadoc)
- * Method declared on ImageDesciptor.
- * Returns null if the image data cannot be read.
- */
-public ImageData getImageData() {
-	InputStream in = getStream();
-	ImageData result = null;
-	if (in != null) {
-		try {
-			result= new ImageData(in);
-		} catch (SWTException e) {
-			if (e.code != SWT.ERROR_INVALID_IMAGE)
-					throw e;
-				// fall through otherwise
-		} finally {
-			try {
-				in.close();
-			}catch (IOException e) {
-				//System.err.println(getClass().getName()+".getImageData(): "+
-				//  "Exception while closing InputStream : "+e);
-			}
-		}
-	}
-	return result;
-}
-/**
- * Returns a stream on the image contents.  Returns
- * null if a stream could not be opened.
- * 
- * @return the buffered stream on the file or <code>null</code>
- * if the file cannot be found
- */
-private InputStream getStream() {
-	InputStream is = null;
-
-	if (location != null) {
-		is = location.getResourceAsStream(name);
-		
-	} else {
-		try {
-			is = new FileInputStream(name);
-		} catch (FileNotFoundException e) {
-			return null;
-		}
-	}
-	if(is == null)
-		return null;
-	else
-		return new BufferedInputStream(is);
-}
-/* (non-Javadoc)
- * Method declared on Object.
- */
-public int hashCode() {
-	int code = name.hashCode();
-	if (location != null) {
-		code += location.hashCode();
-	}
-	return code;
-}
-/* (non-Javadoc)
- * Method declared on Object.
- */
-/**
- * The <code>FileImageDescriptor</code> implementation of this <code>Object</code> method 
- * returns a string representation of this object which is suitable only for debugging.
- */
-public String toString() {
-	return "FileImageDescriptor(location=" + location + ", name=" + name + ")";//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/FontRegistry.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/FontRegistry.java
deleted file mode 100644
index 82b9e62..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/FontRegistry.java
+++ /dev/null
@@ -1,700 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.resource;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-import java.util.Set;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * A font registry maintains a mapping between symbolic font names 
- * and SWT fonts.
- * <p>
- * A font registry owns all of the font objects registered
- * with it, and automatically disposes of them when the SWT Display
- * that creates the fonts is disposed. Because of this, clients do 
- * not need to (indeed, must not attempt to) dispose of font 
- * objects themselves.
- * </p>
- * <p>
- * A special constructor is provided for populating a font registry
- * from a property files using the standard Java resource bundle mechanism.
- * </p>
- * <p>
- * Methods are provided for registering listeners that will be kept
- * apprised of changes to list of registed fonts.
- * </p>
- * <p>
- * Clients may instantiate this class (it was not designed to be subclassed).
- * </p>
- * 
- * Since 3.0 this class extends ResourceRegistry.
- */
-public class FontRegistry extends ResourceRegistry {
-	
-	/**
-	 * FontRecord is a private helper class that holds onto a font
-	 * and can be used to generate its bold and italic version. 
-	 */
-	private class FontRecord{
-		
-		Font baseFont;
-		Font boldFont;
-		Font italicFont;
-		
-		FontData[] baseData;
-		
-		/**
-		 * Create a new instance of the receiver based on the 
-		 * plain font and the data for it.
-		 * @param plainFont The base looked up font.
-		 * @param data The data used to look it up.
-		 */
-		FontRecord(Font plainFont, FontData[] data){
-			baseFont = plainFont;
-			baseData = data;
-		}
-		
-		/**
-		 * Dispose any of the fonts created for this record.
-		 */
-		void dispose(){
-			baseFont.dispose();
-			if(boldFont != null)
-				boldFont.dispose();
-			if(italicFont != null)
-				italicFont.dispose();
-		}
-		
-		/**
-		 * Return the base Font.
-		 * @return Font
-		 */
-		public Font getBaseFont() {
-			return baseFont;
-		}
-		/**
-		 * Return the bold Font. Create a bold version
-		 * of the base font to get it.
-		 * @return Font
-		 */
-		public Font getBoldFont() {
-			if(boldFont != null)
-				return boldFont;
-			
-			FontData[] boldData = getModifiedFontData(SWT.BOLD);
-			boldFont = new Font(Display.getCurrent(),boldData);
-			return boldFont;
-		}
-		
-		/**
-		 * Get a version of the base font data with the specified 
-		 * style.
-		 * @param style
-		 * @return
-		 * @todo Generated comment
-		 */
-		private FontData[] getModifiedFontData(int style){
-			FontData[] styleData = new FontData[baseData.length];
-			for (int i = 0; i < styleData.length; i++) {
-				FontData base = baseData[i];
-				styleData[i] = new FontData(base.getName(),base.getHeight(),base.getStyle() | style);
-			}
-			
-			return styleData;
-		}
-		
-		/**
-		 * Return the italic Font. Create an italic version of the
-		 * base font to get it.
-		 * @return Font
-		 */
-		public Font getItalicFont() {
-			if(italicFont != null)
-				return italicFont;
-			
-			FontData[] italicData = getModifiedFontData(SWT.ITALIC);
-			italicFont = new Font(Display.getCurrent(),italicData);
-			return italicFont;
-		}
-		
-		/**
-		 * Add any fonts that were allocated for this record to the
-		 * stale fonts. Anything that matches the default font will
-		 * be skipped.
-		 * @param defaultFont The system default.
-		 */
-		void addAllocatedFontsToStale(Font defaultFont){
-			//Return all of the fonts allocated by the receiver.
-			//if any of them are the defaultFont then don't bother.
-			if(defaultFont != baseFont)
-				staleFonts.add(baseFont);
-			if(defaultFont != boldFont)
-				staleFonts.add(baseFont);
-			if(defaultFont != italicFont)
-				staleFonts.add(baseFont);
-		}
-	}
-
-    /**
-	 * Table of known fonts, keyed by symbolic font name
-	 * (key type: <code>String</code>, 
-	 *  value type: <code>FontRecord</code>.
-	 */
-	private Map stringToFontRecord = new HashMap(7);
-	/**
-	 * Table of known font data, keyed by symbolic font name
-	 * (key type: <code>String</code>, 
-	 *  value type: <code>org.eclipse.swt.graphics.FontData[]</code>).
-	 */
-	private Map stringToFontData = new HashMap(7);
-
-	/**
-	 * Collection of Fonts that are now stale to be disposed
-	 * when it is safe to do so (i.e. on shutdown).
-	 * @see List
-	 */
-	private List staleFonts = new ArrayList();
-	
-	/**
-	 * Runnable that cleans up the manager on disposal of the display.
-	 */	
-	protected Runnable displayRunnable = new Runnable() {
-		public void run() {
-			clearCaches();
-		}
-	};
-
-	/**
-	 * Creates an empty font registry.
-	 * <p>
-	 * There must be an SWT Display created in the current 
-	 * thread before calling this method.
-	 * </p>
-	 */
-	public FontRegistry() {
-		Display display = Display.getCurrent();
-		Assert.isNotNull(display);
-		hookDisplayDispose(display);
-	}
-	/**
-	 * Creates a font registry and initializes its content from
-	 * a property file.
-	 * <p>
-	 * There must be an SWT Display created in the current 
-	 * thread before calling this method.
-	 * </p>
-	 * <p>
-	 * The OS name (retrieved using <code>System.getProperty("os.name")</code>)
-	 * is converted to lowercase, purged of whitespace, and appended 
-	 * as suffix (separated by an underscore <code>'_'</code>) to the given 
-	 * location string to yield the base name of a resource bundle
-	 * acceptable to <code>ResourceBundle.getBundle</code>.
-	 * The standard Java resource bundle mechanism is then used to locate
-	 * and open the appropriate properties file, taking into account
-	 * locale specific variations.
-	 * </p>
-	 * <p>
-	 * For example, on the Windows 2000 operating system the location string
-	 * <code>"com.example.myapp.Fonts"</code> yields the base name 
-	 * <code>"com.example.myapp.Fonts_windows2000"</code>. For the US English locale,
-	 * this further elaborates to the resource bundle name
-	 * <code>"com.example.myapp.Fonts_windows2000_en_us"</code>.
-	 * </p>
-	 * <p>
-	 * If no appropriate OS-specific resource bundle is found, the
-	 * process is repeated using the location as the base bundle name.
-	 * </p>
-	 * <p>
-	 * The property file contains entries that look like this:
-	 * <pre>
-	 *	textfont.0=MS Sans Serif-regular-10
-	 *	textfont.1=Times New Roman-regular-10
-	 *	
-	 *	titlefont.0=MS Sans Serif-regular-12
-	 *	titlefont.1=Times New Roman-regular-12
-	 * </pre>
-	 * Each entry maps a symbolic font names (the font registry keys) with
-	 * a "<code>.<it>n</it></code> suffix to standard font names
-	 * on the right. The suffix indicated order of preference: 
-	 * "<code>.0</code>" indicates the first choice,
-	 * "<code>.1</code>" indicates the second choice, and so on.
-	 * </p>
-	 * The following example shows how to use the font registry:
-	 * <pre>
-	 *	FontRegistry registry = new FontRegistry("com.example.myapp.fonts");
-	 *  Font font = registry.get("textfont");
-	 *  control.setFont(font);
-	 *  ...
-	 * </pre>
-	 *
-	 * @param location the name of the resource bundle
-	 * @param the ClassLoader to use to find the resource bundle
-	 * @exception MissingResourceException if the resource bundle cannot be found
-	 * @since 2.1
-	 */
-	public FontRegistry(String location, ClassLoader loader)
-		throws MissingResourceException {
-		Display display = Display.getCurrent();
-		Assert.isNotNull(display);
-		// FIXE: need to respect loader
-		//readResourceBundle(location, loader);
-		readResourceBundle(location);
-
-		hookDisplayDispose(display);
-	}
-
-	/**
-	 * Load the FontRegistry using the ClassLoader from the PlatformUI
-	 * plug-in
-	 */
-	public FontRegistry(String location) throws MissingResourceException {
-		// FIXE:
-		//	this(location, WorkbenchPlugin.getDefault().getDescriptor().getPluginClassLoader());
-		this(location, null);
-	}
-
-	/**
-	 * Read the resource bundle at location. Look for a file with the
-	 * extension _os_ws first, then _os then just the name.
-	 * @param location - String - the location of the file.
-	 */
-
-	private void readResourceBundle(String location) {
-		String osname = System.getProperty("os.name").trim(); //$NON-NLS-1$
-		String wsname = SWT.getPlatform();
-		osname = StringConverter.removeWhiteSpaces(osname).toLowerCase();
-		wsname = StringConverter.removeWhiteSpaces(wsname).toLowerCase();
-		String OSLocation = location;
-		String WSLocation = location;
-		ResourceBundle bundle = null;
-		if (osname != null) {
-			OSLocation = location + "_" + osname; //$NON-NLS-1$
-			if (wsname != null)
-				WSLocation = OSLocation + "_" + wsname; //$NON-NLS-1$
-		}
-
-		try {
-			bundle = ResourceBundle.getBundle(WSLocation);
-			readResourceBundle(bundle, WSLocation);
-		} catch (MissingResourceException wsException) {
-			try {
-				bundle = ResourceBundle.getBundle(OSLocation);
-				readResourceBundle(bundle, WSLocation);
-			} catch (MissingResourceException osException) {
-				if (location != OSLocation) {
-					bundle = ResourceBundle.getBundle(location);
-					readResourceBundle(bundle, WSLocation);
-				} else
-					throw osException;
-			}
-		}
-	}
-
-	/**
-	 * Creates an empty font registry.
-	 *
-	 * @param display the Display
-	 */
-	public FontRegistry(Display display) {
-		Assert.isNotNull(display);
-		hookDisplayDispose(display);
-	}
-
-	/**
-	 * Find the first valid fontData in the provided list. 
-	 * If none are valid return the first one regardless.
-	 * If the list is empty return null.
-	 * Return null if one cannot be found.
-	 * @deprecated use bestDataArray in order to support 
-	 * Motif multiple entry fonts.
-	 */
-	public FontData bestData(FontData[] fonts, Display display) {
-		for (int i = 0; i < fonts.length; i++) {
-			FontData fd = fonts[i];
-
-			if (fd == null)
-				break;
-
-			FontData[] fixedFonts = display.getFontList(fd.getName(), false);
-			if (isFixedFont(fixedFonts, fd)) {
-				return fd;
-			}
-
-			FontData[] scalableFonts = display.getFontList(fd.getName(), true);
-			if (scalableFonts.length > 0) {
-				return fd;
-			}
-		}
-
-		//None of the provided datas are valid. Return the
-		//first one as it is at least the first choice.
-		if (fonts.length > 0)
-			return fonts[0];
-		else
-			//Nothing specified 
-			return null;
-	}
-
-	/**
-	 * Find the first valid fontData in the provided list. 
-	 * If none are valid return the first one regardless.
-	 * If the list is empty return null.
-	 */
-	public FontData[] bestDataArray(FontData[] fonts, Display display) {
-
-		FontData bestData = bestData(fonts, display);
-		if (bestData == null)
-			return null;
-		else {
-			FontData[] datas = new FontData[1];
-			datas[0] = bestData;
-			return datas;
-		}
-	}
-
-	/**
-	 * Creates a new font with the given font datas or <code>null</code>
-	 * if there is no data.
-	 * @return FontRecord for the new Font or <code>null</code>.
-	 */
-	private FontRecord createFont(String symbolicName, FontData[] fonts) {
-		Display display = Display.getCurrent();
-		if(display == null)
-			return null;
-			
-		FontData[] validData = bestDataArray(fonts, display);
-		if (validData == null) {
-			//Nothing specified 
-			return null;
-		} else {
-			//Do not fire the update from creation as it is not a property change
-			put(symbolicName, validData, false);
-			Font newFont = new Font(display, validData);
-			return new FontRecord(newFont,validData);
-		}
-	}
-	
-	/**
-	 * Calculates the default font and returns the result
-	 */
-	Font calculateDefaultFont() {
-		Display current = Display.getCurrent();
-		if (current == null) {
-			Shell shell = new Shell();
-			Font font = new Font(null, shell.getFont().getFontData());
-			shell.dispose();
-			return font;
-		} else
-			return new Font(current, current.getSystemFont().getFontData());
-	}
-	
-	/**
-	 * Returns the default font data.  Creates it if necessary.
-	 * @return Font
-	 */
-	public Font defaultFont() {
-		return defaultFontRecord().getBaseFont();
-	}
-	
-	/**
-	 * Returns the default font record.
-	 */
-	private FontRecord defaultFontRecord() {
-		
-		FontRecord record = (FontRecord) stringToFontRecord.get(JFaceResources.DEFAULT_FONT);
-		if(record == null){
-			Font defaultFont = calculateDefaultFont();
-			record = createFont(JFaceResources.DEFAULT_FONT,defaultFont.getFontData());
-			stringToFontRecord.put(JFaceResources.DEFAULT_FONT,record);
-		}
-		return record;
-	}
-	
-	/**
-	 * Returns the default font data.  Creates it if necessary.
-	 */
-	private FontData[] defaultFontData() {
-		return defaultFontRecord().baseData;
-	}
-	
-	/**
-	 * Returns the font data associated with the given symbolic font name.
-	 * Returns the default font data if there is no special value associated
-	 * with that name.
-	 *
-	 * @param symbolicName symbolic font name
-	 * @return the font
-	 */
-	public FontData[] getFontData(String symbolicName) {
-
-		Assert.isNotNull(symbolicName);
-		Object result = stringToFontData.get(symbolicName);
-		if (result == null)
-			return defaultFontData();
-
-		return (FontData[]) result;
-	}
-	
-	/**
-	 * Returns the font associated with the given symbolic font name.
-	 * Returns the default font if there is no special value associated
-	 * with that name.
-	 *
-	 * @param symbolicName symbolic font name
-	 * @return the font
-	 */
-	public Font get(String symbolicName) {
-
-		return getFontRecord(symbolicName).getBaseFont();
-	}
-	
-	/**
-	 * Returns the bold font associated with the given symbolic font name.
-	 * Returns the bolded default font if there is no special value associated
-	 * with that name.
-	 *
-	 * @param symbolicName symbolic font name
-	 * @return the font
-	 * @since 3.0
-	 */
-	public Font getBold(String symbolicName) {
-
-		return getFontRecord(symbolicName).getBoldFont();
-	}
-	
-	/**
-	 * Returns the italic font associated with the given symbolic font name.
-	 * Returns the italic default font if there is no special value associated
-	 * with that name.
-	 *
-	 * @param symbolicName symbolic font name
-	 * @return the font
-	 * @since 3.0
-	 */
-	public Font getItalic(String symbolicName) {
-
-		return getFontRecord(symbolicName).getItalicFont();
-	}
-	
-	/**
-	 * Return the font record for the key.
-	 * @param symbolicName The key for the record.
-	 * @return FontRecird
-	 */
-	private FontRecord getFontRecord(String symbolicName){
-		Assert.isNotNull(symbolicName);
-		Object result = stringToFontRecord.get(symbolicName);
-		if (result != null)
-			return (FontRecord) result;
-
-		result = stringToFontData.get(symbolicName);
-		
-		FontRecord fontRecord;
-		
-		if (result == null)
-			fontRecord = defaultFontRecord();
-		else 
-			fontRecord = createFont(symbolicName, (FontData[]) result);
-			
-		if (fontRecord == null) // create may have failed.  Ensure we have a valid font.
-			fontRecord = defaultFontRecord();
-		
-		stringToFontRecord.put(symbolicName, fontRecord);
-		return fontRecord;
-
-	}
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.resource.ResourceRegistry#getKeySet()
-	 */
-	public Set getKeySet() {
-	    return Collections.unmodifiableSet(stringToFontData.keySet());
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.resource.ResourceRegistry#hasValueFor(java.lang.String)
-	 */
-	public boolean hasValueFor(String fontKey){
-		return stringToFontData.containsKey(fontKey);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.resource.ResourceRegistry#clearCaches()
-	 */
-	protected void clearCaches() {
-
-		Iterator iterator = stringToFontRecord.values().iterator();
-		while (iterator.hasNext()) {
-			Object next = iterator.next();
-			((FontRecord) next).dispose();
-		}
-		
-		disposeFonts(staleFonts.iterator());
-		stringToFontRecord.clear();
-		staleFonts.clear();
-	}
-	
-	/**
-	 * Dispose of all of the fonts in this iterator.
-	 * @param Iterator over Collection of Font
-	 */
-	private void disposeFonts(Iterator iterator) {
-		while (iterator.hasNext()) {
-			Object next = iterator.next();
-			((Font) next).dispose();
-		}
-	}
-	
-	/**
-	 * Hook a dispose listener on the SWT display.
-	 */
-	private void hookDisplayDispose(Display display) {
-		display.disposeExec(displayRunnable);
-	}
-	
-	/**
-	 * Checks whether the given font is in the list of fixed fonts.
-	 */
-	private boolean isFixedFont(FontData[] fixedFonts, FontData fd) {
-		// Can't use FontData.equals() since some values aren't
-		// set if a fontdata isn't used.
-		int height = fd.getHeight();
-		String name = fd.getName();
-		for (int i = 0; i < fixedFonts.length; i++) {
-			FontData fixed = fixedFonts[i];
-			if (fixed.getHeight() == height && fixed.getName().equals(name))
-				return true;
-		}
-		return false;
-	}
-	/**
-	 * Converts a String into a FontData object.
-	 */
-	private FontData makeFontData(String value)
-		throws MissingResourceException {
-		try {
-			return StringConverter.asFontData(value.trim());
-		} catch (DataFormatException e) {
-			throw new MissingResourceException("Wrong font data format. Value is: \"" + value + "\"", getClass().getName(), value); //$NON-NLS-2$//$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Adds (or replaces) a font to this font registry under the given
-	 * symbolic name.
-	 * <p>
-	 * A property change event is reported whenever the mapping from
-	 * a symbolic name to a font changes. The source of the event is
-	 * this registry; the property name is the symbolic font name.
-	 * </p>
-	 *
-	 * @param symbolicName the symbolic font name
-	 * @param fontData an Array of FontData
-	 * @param update - fire a font mapping changed if true. False
-	 * 	if this method is called from the get method as no setting
-	 *  has changed.
-	 */
-	public void put(String symbolicName, FontData[] fontData) {
-		put(symbolicName, fontData, true);
-	}
-
-	/**
-	 * Adds (or replaces) a font to this font registry under the given
-	 * symbolic name.
-	 * <p>
-	 * A property change event is reported whenever the mapping from
-	 * a symbolic name to a font changes. The source of the event is
-	 * this registry; the property name is the symbolic font name.
-	 * </p>
-	 *
-	 * @param symbolicName the symbolic font name
-	 * @param fontData an Array of FontData
-	 * @param update - fire a font mapping changed if true. False
-	 * 	if this method is called from the get method as no setting
-	 *  has changed.
-	 */
-	private void put(
-		String symbolicName,
-		FontData[] fontData,
-		boolean update) {
-
-		Assert.isNotNull(symbolicName);
-		Assert.isNotNull(fontData);
-
-		FontData[] existing = (FontData[]) stringToFontData.get(symbolicName);
-		if (Arrays.equals(existing, fontData))
-			return;
-
-		FontRecord oldFont = (FontRecord) stringToFontRecord.remove(symbolicName);
-		stringToFontData.put(symbolicName, fontData);
-		if (update)
-			fireMappingChanged(symbolicName,existing,fontData);
-
-		if (oldFont != null)
-			oldFont.addAllocatedFontsToStale(defaultFontRecord().getBaseFont());
-	}
-	/**
-	 * Reads the resource bundle.  This puts FontData[] objects
-	 * in the mapping table.  These will lazily be turned into
-	 * real Font objects when requested.
-	 */
-	private void readResourceBundle(ResourceBundle bundle, String bundleName)
-		throws MissingResourceException {
-		Enumeration keys = bundle.getKeys();
-		while (keys.hasMoreElements()) {
-			String key = (String) keys.nextElement();
-			int pos = key.lastIndexOf('.');
-			if (pos == -1) {
-				stringToFontData.put(
-					key,
-					new FontData[] { makeFontData(bundle.getString(key))});
-			} else {
-				String name = key.substring(0, pos);
-				int i = 0;
-				try {
-					i = Integer.parseInt(key.substring(pos + 1));
-				} catch (NumberFormatException e) {
-					//Panic the file can not be parsed.
-					throw new MissingResourceException("Wrong key format ", bundleName, key); //$NON-NLS-1$
-				}
-				FontData[] elements = (FontData[]) stringToFontData.get(name);
-				if (elements == null) {
-					elements = new FontData[8];
-					stringToFontData.put(name, elements);
-				}
-				if (i > elements.length) {
-					FontData[] na = new FontData[i + 8];
-					System.arraycopy(elements, 0, na, 0, elements.length);
-					elements = na;
-					stringToFontData.put(name, elements);
-				}
-				elements[i] = makeFontData(bundle.getString(key));
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/ImageDescriptor.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/ImageDescriptor.java
deleted file mode 100644
index 943e8bb..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/ImageDescriptor.java
+++ /dev/null
@@ -1,209 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.resource;
-
-import java.net.URL;
-
-import org.eclipse.swt.SWTException;
-import org.eclipse.swt.graphics.Device;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.PaletteData;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * An image descriptor is an object that knows how to create
- * an SWT image.  It does not hold onto images or cache them,
- * but rather just creates them on demand.  An image descriptor
- * is intended to be a lightweight representation of an image
- * that can be manipulated even when no SWT display exists.
- * <p>
- * This package defines a concrete image descriptor implementation
- * which reads an image from a file (<code>FileImageDescriptor</code>).
- * It also provides abstract framework classes (this one and
- * <code>CompositeImageDescriptor</code>) which may be subclassed to define
- * news kinds of image descriptors.
- * </p>
- * <p>
- * Using this abstract class involves defining a concrete subclass
- * and providing an implementation for the <code>getImageData</code>
- * method.
- * </p>
- *
- * @see org.eclipse.swt.graphics.Image
- */
-public abstract class ImageDescriptor {
-	
-	/** 
-	 * A small red square used to warn that an image cannot be created.
-	 * <p>
-	 */
-	protected static final ImageData DEFAULT_IMAGE_DATA= new ImageData(6, 6, 1, new PaletteData(new RGB[] { new RGB(255, 0, 0) }));
-	
-/**
- * Constructs an image descriptor.
- */
-protected ImageDescriptor() {
-	// do nothing
-}
-
-/**
- * Creates and returns a new image descriptor from a file.
- * Convenience method for
- * <code>new FileImageDescriptor(location,filename)</code>.
- *
- * @param location the class whose resource directory contain the file
- * @param filename the file name
- * @return a new image descriptor
- */
-public static ImageDescriptor createFromFile(Class location, String filename) {
-	return new FileImageDescriptor(location, filename);
-}
-
-/**
- * Creates and returns a new image descriptor from a URL.
- *
- * @param url The URL of the image file.
- * @return a new image descriptor
- */
-public static ImageDescriptor createFromURL(URL url) {
-	if (url == null) {
-		return getMissingImageDescriptor();
-	}
-	return new URLImageDescriptor(url);
-}
-
-/**
- * Creates and returns a new SWT image for this image descriptor.
- * Note that each call returns a new SWT image object.
- * A default image is returned in the event of an error.
- * <p>
- * Note: it is still possible for this method to return <code>null</code> in extreme cases,
- * for example if SWT runs out of image handles.
- * </p>
- *
- * @return a new image or <code>null</code> if the image could not be created
- */
-public Image createImage() {
-	return createImage(true);
-}
-
-/**
- * Creates and returns a new SWT image for this image descriptor.
- * In the even of an error, a default image is returned if 
- * <code>returnMissingImageOnError</code> is true, otherwise <code>null</code>
- * is returned.  
- * <p>
- * Note: Even if <code>returnMissingImageOnError</code> is true, 
- * it is still possible for this method to return <code>null</code> in extreme cases,
- * for example if SWT runs out of image handles.
- * </p>
- *
- * @param returnMissingImageOnError flag that determines if a default image is returned on error
- * @return a new image or <code>null</code> if the image could not be created
- */
-public Image createImage(boolean returnMissingImageOnError) {
-	return createImage(returnMissingImageOnError, Display.getCurrent());	
-}
-
-/**
- * Creates and returns a new SWT image for this image descriptor.
- * A default image is returned in the event of an error.
- * <p>
- * Note: it is still possible for this method to return <code>null</code> in extreme cases,
- * for example if SWT runs out of image handles.
- * </p>
- *
- * @param device the device on which to create the image
- * @return a new image or <code>null</code> if the image could not be created
- * @since 2.0
- */
-public Image createImage(Device device) {
-	return createImage(true, device);
-}
-
-/**
- * Creates and returns a new SWT image for this image descriptor.
- * In the even of an error, a default image is returned if 
- * <code>returnMissingImageOnError</code> is true, otherwise <code>null</code>
- * is returned.  
- * <p>
- * Note: Even if <code>returnMissingImageOnError</code> is true, 
- * it is still possible for this method to return <code>null</code> in extreme cases,
- * for example if SWT runs out of image handles.
- * </p>
- *
- * @param returnMissingImageOnError flag that determines if a default image is returned on error
- * @param device the device on which to create the image
- * @return a new image or <code>null</code> if the image could not be created
- * @since 2.0
- */
-public Image createImage(boolean returnMissingImageOnError, Device device) {
-
-	ImageData data = getImageData();
-	if (data == null) {
-		if (!returnMissingImageOnError) {
-			return null;
-		} else {
-			data = DEFAULT_IMAGE_DATA;
-		}
-	}
-
-	/*
-	* Try to create the supplied image. If there is an SWT Exception try and create
-	* the default image if that was requested. Return null if this fails.
-	*/
-	
-	try {
-		if (data.transparentPixel >= 0) {
-			ImageData maskData = data.getTransparencyMask();
-			return new Image(device, data, maskData);
-		}
-		return new Image(device, data);
-	} catch (SWTException exception) {
-		if (returnMissingImageOnError) {
-			try {
-				return new Image(device, DEFAULT_IMAGE_DATA);
-			} catch (SWTException nextException) {
-				return null;
-			}
-		} else
-			return null;
-	}
-}
-
-/**
- * Creates and returns a new SWT <code>ImageData</code> object
- * for this image descriptor.
- * Note that each call returns a new SWT image data object.
- * <p>
- * This framework method is declared public so that it is
- * possible to request an image descriptor's image data without
- * creating an SWT image object.
- * </p>
- * <p>
- * Returns <code>null</code> if the image data could not be created.
- * </p>
- *
- * @return a new image data or <code>null</code>
- */
-public abstract ImageData getImageData();
-
-/**
- * Returns the shared image descriptor for a missing image.
- *
- * @return the missing image descriptor
- */
-public static ImageDescriptor getMissingImageDescriptor() {
-	return MissingImageDescriptor.getInstance();
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/ImageRegistry.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/ImageRegistry.java
deleted file mode 100644
index 2fcbe51..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/ImageRegistry.java
+++ /dev/null
@@ -1,281 +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 Corporation - initial API and implementation
- * 	   Steven Ketcham (sketcham@dsicdi.com) - Bug 42451
- * 			[Dialogs] ImageRegistry throws null pointer exception in 
- * 			application with multiple Display's
- *******************************************************************************/
-package org.eclipse.jface.resource;
-
-import java.util.*;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * An image registry maintains a mapping between symbolic image names 
- * and SWT image objects or special image descriptor objects which
- * defer the creation of SWT image objects until they are needed.
- * <p>
- * An image registry owns all of the image objects registered
- * with it, and automatically disposes of them when the SWT Display
- * that creates the images is disposed. Because of this, clients do not 
- * need to (indeed, must not attempt to) dispose of these images themselves.
- * </p>
- * <p>
- * Clients may instantiate this class (it was not designed to be subclassed).
- * </p>
- * <p>
- * Unlike the FontRegistry, it is an error to replace images. As a result
- * there are no events that fire when values are changed in the registry
- * </p>
- */
-public class ImageRegistry {
-
-	/**
-	 * Table of known images keyed by symbolic image name
-	 * (key type: <code>String</code>, 
-	 *  value type: <code>org.eclipse.swt.graphics.Image</code>
-	 *  or <code>ImageDescriptor</code>).
-	 */
-	private Map table = null;
-	
-	/**
-	 * display used when getting images
-	 */
-	private Display display;
-
-	/**
-	 * Creates an empty image registry.
-	 * <p>
-	 * There must be an SWT Display created in the current 
-	 * thread before calling this method.
-	 * </p>
-	 */
-	public ImageRegistry() {
-		this(Display.getCurrent());
-	}
-
-	/**
-	 * Creates an empty image registry.
-	 * 
-	 * @param display this <code>Display</code> must not be 
-	 *        <code>null</code> and must not be disposed in order
-	 *        to use this registry
-	 */
-	public ImageRegistry(Display display) {
-		super();
-		Assert.isNotNull(display);
-		hookDisplayDispose(display);
-		this.display = display;
-	}
-
-	/**
-	 * Returns the image associated with the given key in this registry, 
-	 * or <code>null</code> if none.
-	 *
-	 * @param key the key
-	 * @return the image, or <code>null</code> if none
-	 */
-	public Image get(String key) {
-		
-		// can be null
-		if (key == null){
-			return null;
-		}
-		/**
-		 * NOTE, for backwards compatibility the following images are supported
-		 * here, they should never be disposed, hence we explicitly return them 
-		 * rather then registering images that SWT will dispose.  
-		 * 
-		 * Applications should go direclty to SWT for these icons.
-		 * 
-		 * @see Display.getSystemIcon(int ID)
-		 */
-		int swtKey = -1;
-		if (key.equals(Dialog.DLG_IMG_INFO)) {
-			swtKey = SWT.ICON_INFORMATION;			
-		}
-		if (key.equals(Dialog.DLG_IMG_QUESTION)) {
-			swtKey = SWT.ICON_QUESTION;
-		}
-		if (key.equals(Dialog.DLG_IMG_WARNING)) {
-			swtKey = SWT.ICON_WARNING;
-		}
-		if (key.equals(Dialog.DLG_IMG_ERROR)) {
-				swtKey = SWT.ICON_ERROR;
-		}
-		// if we actually just want to return an SWT image do so without
-		// looking in the registry
-		if (swtKey != -1){
-			final Image[] image = new Image[1];
-			final int id = swtKey;
-			display.syncExec(new Runnable() {
-				public void run() {
-					image[0] = display.getSystemImage(id);
-				}
-			});
-			return image[0];
-		}
-		
-		Entry entry = getEntry(key);
-		if (entry == null) {
-			return null;
-		}
-		if (entry.image == null && entry.descriptor != null) {
-			entry.image = entry.descriptor.createImage();
-		}
-		return entry.image;
-	}
-
-	/**
-	 * Returns the descriptor associated with the given key in this registry, 
-	 * or <code>null</code> if none.
-	 *
-	 * @param key the key
-	 * @return the descriptor, or <code>null</code> if none
-	 * @since 2.1
-	 */
-	public ImageDescriptor getDescriptor(String key) {
-		Entry entry = getEntry(key);
-		if (entry == null) {
-			return null;
-		}
-		return entry.descriptor;
-	}
-
-	/**
-	 * Shut downs this resource registry and disposes of all registered images.
-	 */
-	void handleDisplayDispose() {
-		// remove reference to display
-		display = null;
-		//Do not bother if the table was never used
-		if (table == null)
-			return;
-
-		for (Iterator e = table.values().iterator(); e.hasNext();) {
-			Entry entry = (Entry) e.next();
-			if (entry.image != null) {
-				entry.image.dispose();
-			}
-		}
-		table = null;
-	}
-
-	/**
-	 * Hook a dispose listener on the SWT display.
-	 *
-	 * @param display the Display
-	 */
-	private void hookDisplayDispose(Display display) {
-		display.disposeExec(new Runnable() {
-			public void run() {
-				handleDisplayDispose();
-			}
-		});
-	}
-
-	/**
-	 * Adds (or replaces) an image descriptor to this registry. The first time
-	 * this new entry is retrieved, the image descriptor's image will be computed 
-	 * (via </code>ImageDescriptor.createImage</code>) and remembered. 
-	 * This method replaces an existing image descriptor associated with the 
-	 * given key, but fails if there is a real image associated with it.
-	 *
-	 * @param key the key
-	 * @param descriptor the ImageDescriptor
-	 * @exception IllegalArgumentException if the key already exists
-	 */
-	public void put(String key, ImageDescriptor descriptor) {
-		Entry entry = getEntry(key);
-		if (entry == null) {
-			entry = new Entry();
-			putEntry(key, entry);
-		}
-		if (entry.image == null) {
-			entry.descriptor = descriptor;
-			return;
-		}
-		throw new IllegalArgumentException("ImageRegistry key already in use: " + key); //$NON-NLS-1$
-	}
-
-	/**
-	 * Adds an image to this registry.  This method fails if there
-	 * is already an image or descriptor for the given key.
-	 * <p>
-	 * Note that an image registry owns all of the image objects registered
-	 * with it, and automatically disposes of them when the SWT Display is disposed. 
-	 * Because of this, clients must not register an image object
-	 * that is managed by another object.
-	 * </p>
-	 *
-	 * @param key the key
-	 * @param image the image
-	 * @exception IllegalArgumentException if the key already exists
-	 */
-	public void put(String key, Image image) {
-		Entry entry = getEntry(key);
-		if (entry == null) {
-			entry = new Entry();
-			putEntry(key, entry);
-		}
-		if (entry.image == null && entry.descriptor == null) {
-			entry.image = image;
-			return;
-		}
-		throw new IllegalArgumentException("ImageRegistry key already in use: " + key); //$NON-NLS-1$
-	}
-
-	/**
-	 * Removes an image from this registry.  
-     * If an SWT image was allocated, it is disposed.
-	 * This method has no effect if there is no image or descriptor for the given key.
-	 * @param key the key
-	 */
-	public void remove(String key) {
-		if (table == null)
-			return;
-
-		Entry entry = (Entry) getTable().remove(key);
-		if (entry != null) {
-		    if (entry.image != null && !entry.image.isDisposed()) {
-		        entry.image.dispose();
-		    }
-		    entry.image = null;
-		}
-	}
-
-	/**
-	 * Contains the data for an entry in the registry. 
-	 */
-	private static class Entry {
-		protected Image image;
-		protected ImageDescriptor descriptor;
-	}
-
-	private Entry getEntry(String key) {
-		return (Entry) getTable().get(key);
-	}
-
-	private void putEntry(String key, Entry entry) {
-		getTable().put(key, entry);
-	}
-
-	private Map getTable() {
-		if (table == null) {
-			table = new HashMap(10);
-		}
-		return table;
-	}
-
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/JFaceColors.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/JFaceColors.java
deleted file mode 100644
index 1756631..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/JFaceColors.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.resource;
-
- 
-import org.eclipse.jface.preference.JFacePreferences;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * JFaceColors is the class that stores references
- * to all of the colors used by JFace.
- */
-public class JFaceColors {
-
-    /**
-	 * Get the Color used for banner backgrounds
-	 */
-	public static Color getBannerBackground(Display display) {
-		return display.getSystemColor(SWT.COLOR_LIST_BACKGROUND);
-	}
-	
-	/**
-	 * Get the Color used for banner foregrounds
-	 */
-	public static Color getBannerForeground(Display display) {
-		return display.getSystemColor(SWT.COLOR_LIST_FOREGROUND);
-	}
-
-	/**
-	 * Get the background Color for widgets that
-	 * display errors.
-	 */
-	public static Color getErrorBackground(Display display) {
-		return display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND);
-	}
-
-	/**
-	 * Get the border Color for widgets that
-	 * display errors.
-	 */
-	public static Color getErrorBorder(Display display) {
-		return display.getSystemColor(SWT.COLOR_WIDGET_DARK_SHADOW);
-	}
-
-	/**
-	 * Get the default color to use for displaying errors.
-	 */
-	public static Color getErrorText(Display display) {
-	    return JFaceResources.getColorRegistry().get(JFacePreferences.ERROR_COLOR);
-	}
-	
-	/**
-	 * Get the default color to use for displaying hyperlinks.
-	 */
-	public static Color getHyperlinkText(Display display) {
-	    return JFaceResources.getColorRegistry().get(JFacePreferences.HYPERLINK_COLOR);
-	}
-	
-	/**
-	 * Get the default color to use for displaying active hyperlinks.
-	 */	
-	public static Color getActiveHyperlinkText(Display display) {
-	    return JFaceResources.getColorRegistry().get(JFacePreferences.ACTIVE_HYPERLINK_COLOR);
-	}		
-	
-	
-	/**
-	 * Clear out the cached color for name. This is generally
-	 * done when the color preferences changed and any cached colors
-	 * may be disposed. Users of the colors in this class should add a IPropertyChangeListener
-	 * to detect when any of these colors change.
-	 * 
-	 * @deprecated JFaceColors no longer maintains a cache of colors.  This job 
-	 * is now handled by the ColorRegistry.
-	 */
-	public static void clearColor(String colorName){
-	    //no-op
-	}
-	
-	/**
-	 * Dispose of all allocated colors. Called on workbench
-	 * shutdown.
-	 * 
-	 * @deprecated JFaceColors no longer maintains a cache of colors.  This job 
-	 * is now handled by the ColorRegistry.
-	 */
-	public static void disposeColors(){
-	    //no-op
-	}
-	
-	/**
-	 * Set the foreground and background colors of the
-	 * control to the specified values. If the values are
-	 * null than ignore them.
-	 * 
-	 * @param foreground Color
-	 * @param background Color
-	 */
-	public static void setColors(Control control,Color foreground, Color background){
-		if(foreground != null)
-			control.setForeground(foreground);
-		if(background != null)
-			control.setBackground(background);
-	}
-		
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/JFaceResources.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/JFaceResources.java
deleted file mode 100644
index 831254d..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/JFaceResources.java
+++ /dev/null
@@ -1,334 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.resource;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Utility methods to access JFace-specific resources.
- * <p>
- * All methods declared on this class are static. This
- * class cannot be instantiated.
- * </p>
- * <p>
- * The following global state is also maintained by this class:
- * <ul>
- *   <li>a font registry</li>
- *	 <li>a color registry</li>
- *   <li>an image registry</li>
- *   <li>a resource bundle</li>
- * </ul>
- * </p>
- */
-public class JFaceResources {
-
-	/**
-	 * The symbolic font name for the banner font 
-	 * (value <code>"org.eclipse.jface.bannerfont"</code>).
-	 */
-	public static final String BANNER_FONT = "org.eclipse.jface.bannerfont"; //$NON-NLS-1$
-
-	/**
-	 * The JFace resource bundle; eagerly initialized.
-	 */
-	private static final ResourceBundle bundle =
-		ResourceBundle.getBundle("org.eclipse.jface.messages"); //$NON-NLS-1$
-
-	/**
-	 * The JFace color registry; <code>null</code> until
-	 * lazily initialized or explicitly set.
-	 */
-	private static ColorRegistry colorRegistry;
-
-	/**
-	 * The symbolic font name for the standard font 
-	 * (value <code>"org.eclipse.jface.defaultfont"</code>).
-	 */
-	public static final String DEFAULT_FONT = "org.eclipse.jface.defaultfont"; //$NON-NLS-1$
-
-	/**
-	 * The symbolic font name for the dialog font 
-	 * (value <code>"org.eclipse.jface.dialogfont"</code>).
-	 */
-	public static final String DIALOG_FONT = "org.eclipse.jface.dialogfont"; //$NON-NLS-1$
-
-	/**
-	 * The JFace font registry; <code>null</code> until
-	 * lazily initialized or explicitly set.
-	 */
-	private static FontRegistry fontRegistry = null;
-
-	/**
-	 * The symbolic font name for the header font 
-	 * (value <code>"org.eclipse.jface.headerfont"</code>).
-	 */
-	public static final String HEADER_FONT = "org.eclipse.jface.headerfont"; //$NON-NLS-1$
-
-	/**
-	 * The JFace image registry; <code>null</code> until
-	 * lazily initialized.
-	 */
-	private static ImageRegistry imageRegistry = null;
-
-	/**
-	 * The symbolic font name for the text font 
-	 * (value <code>"org.eclipse.jface.textfont"</code>).
-	 */
-	public static final String TEXT_FONT = "org.eclipse.jface.textfont"; //$NON-NLS-1$
-
-	/**
-	 * The symbolic font name for the viewer font 
-	 * (value <code>"org.eclipse.jface.viewerfont"</code>).
-		* @deprecated This font is not in use
-	 */
-	public static final String VIEWER_FONT = "org.eclipse.jface.viewerfont"; //$NON-NLS-1$
-
-	/**
-	 * The symbolic font name for the window font 
-	 * (value <code>"org.eclipse.jface.windowfont"</code>).
-	 * @deprecated This font is not in use
-	 */
-	public static final String WINDOW_FONT = "org.eclipse.jface.windowfont"; //$NON-NLS-1$
-	
-	/**
-	 * Returns the formatted message for the given key in
-	 * JFace's 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 JFace's banner font.
-	 * Convenience method equivalent to
-	 * <pre>
-	 * JFaceResources.getFontRegistry().get(JFaceResources.BANNER_FONT)
-	 * </pre>
-	 *
-	 * @return the font
-	 */
-	public static Font getBannerFont() {
-		return getFontRegistry().get(BANNER_FONT);
-	}
-	
-	/**
-	 * Returns the resource bundle for JFace itself.
-	 * The resouble bundle is obtained from
-	 * <code>ResourceBundle.getBundle("org.eclipse.jface.jface_nls")</code>.
-	 * <p>
-	 * Note that several static convenience methods are 
-	 * also provided on this class for directly accessing
-	 * resources in this bundle.
-	 * </p>
-	 *
-	 * @return the resource bundle
-	 */
-	public static ResourceBundle getBundle() {
-		return bundle;
-	}
-
-	/**
-	 * Returns the color registry for JFace itself.
-	 * <p>
-	 * @return the <code>ColorRegistry</code>.
-	 * @since 3.0
-	 */
-	public static ColorRegistry getColorRegistry() {
-		if (colorRegistry == null)
-			colorRegistry = new ColorRegistry();
-		return colorRegistry;
-	}
-	
-	/**
-	 * Returns the JFace's standard font.
-	 * Convenience method equivalent to
-	 * <pre>
-	 * JFaceResources.getFontRegistry().get(JFaceResources.DEFAULT_FONT)
-	 * </pre>
-	 *
-	 * @return the font
-	 */
-	public static Font getDefaultFont() {
-		return getFontRegistry().defaultFont();
-	}
-	/**
-	 * Returns the JFace's dialog font.
-	 * Convenience method equivalent to
-	 * <pre>
-	 * JFaceResources.getFontRegistry().get(JFaceResources.DIALOG_FONT)
-	 * </pre>
-	 *
-	 * @return the font
-	 */
-	public static Font getDialogFont() {
-		return getFontRegistry().get(DIALOG_FONT);
-	}
-	/**
-	 * Returns the font in JFace's font registry with the given
-	 * symbolic font name.
-	 * Convenience method equivalent to
-	 * <pre>
-	 * JFaceResources.getFontRegistry().get(symbolicName)
-	 * </pre>
-	 *
-	 * If an error occurs, return the default font.
-	 *
-	 * @param symbolicName the symbolic font name
-	 * @return the font
-	 */
-	public static Font getFont(String symbolicName) {
-		return getFontRegistry().get(symbolicName);
-	}
-	/**
-	 * Returns the font registry for JFace itself.
-	 * If the value has not been established by an earlier
-	 * call to <code>setFontRegistry</code>, is it
-	 * initialized to
-	 * <code>new FontRegistry("org.eclipse.jface.resource.jfacefonts")</code>.
-	 * <p>
-	 * Note that several static convenience methods are 
-	 * also provided on this class for directly accessing
-	 * JFace's standard fonts.
-	 * </p>
-	 */
-	public static FontRegistry getFontRegistry() {
-		if (fontRegistry == null) {
-			fontRegistry = new FontRegistry("org.eclipse.jface.resource.jfacefonts"); //$NON-NLS-1$
-		}
-		return fontRegistry;
-	}
-
-	/**
-	 * Returns the JFace's header font.
-	 * Convenience method equivalent to
-	 * <pre>
-	 * JFaceResources.getFontRegistry().get(JFaceResources.HEADER_FONT)
-	 * </pre>
-	 *
-	 * @return the font
-	 */
-	public static Font getHeaderFont() {
-		return getFontRegistry().get(HEADER_FONT);
-	}
-
-	/**
-	 * Returns the image in JFace's image registry with the given key, 
-	 * or <code>null</code> if none.
-	 * Convenience method equivalent to
-	 * <pre>
-	 * JFaceResources.getImageRegistry().get(key)
-	 * </pre>
-	 *
-	 * @param key the key
-	 * @return the image, or <code>null</code> if none
-	 */
-	public static Image getImage(String key) {
-		return getImageRegistry().get(key);
-	}
-	/**
-	 * Returns the image registry for JFace itself.
-	 * <p>
-	 * Note that the static convenience method <code>getImage</code>
-	 * is also provided on this class.
-	 * </p>
-	 */
-	public static ImageRegistry getImageRegistry() {
-		if (imageRegistry == null)
-			imageRegistry = new ImageRegistry();
-		return imageRegistry;
-	}
-	/**
-	 * Returns the resource object with the given key in
-	 * JFace's 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 a list of string values corresponding to the
-	 * given list of keys. The lookup is done with <code>getString</code>.
-	 * The values are in the same order as the keys.
-	 *
-	 * @param keys a list of keys
-	 * @return a list of corresponding string values
-	 */
-	public static String[] getStrings(String[] keys) {
-		Assert.isNotNull(keys);
-		int length = keys.length;
-		String[] result = new String[length];
-		for (int i = 0; i < length; i++)
-			result[i] = getString(keys[i]);
-		return result;
-	}
-
-	/**
-	 * Returns the JFace's text font.
-	 * Convenience method equivalent to
-	 * <pre>
-	 * JFaceResources.getFontRegistry().get(JFaceResources.TEXT_FONT)
-	 * </pre>
-	 *
-	 * @return the font
-	 */
-	public static Font getTextFont() {
-		return getFontRegistry().get(TEXT_FONT);
-	}
-	/**
-	 * Returns the JFace's viewer font.
-	 * Convenience method equivalent to
-	 * <pre>
-	 * JFaceResources.getFontRegistry().get(JFaceResources.VIEWER_FONT)
-	 * </pre>
-	 *
-	 * @return the font
-	 * @deprecated This font is not in use
-	 */
-	public static Font getViewerFont() {
-		return getFontRegistry().get(VIEWER_FONT);
-	}
-	/**
-	 * Sets JFace's font registry to the given value.
-	 * This method may only be called once; the call must occur
-	 * before <code>JFaceResources.getFontRegistry</code>
-	 * is invoked (either directly or indirectly). 
-	 *
-	 * @param registry a font registry
-	 */
-	public static void setFontRegistry(FontRegistry registry) {
-		Assert.isTrue(fontRegistry == null, "Font registry can only be set once."); //$NON-NLS-1$
-		fontRegistry = registry;
-	}
-
-	/* (non-Javadoc)
-	 * Declare a private constructor to block instantiation.
-	 */
-	private JFaceResources() {
-		//no-op
-	}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/MissingImageDescriptor.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/MissingImageDescriptor.java
deleted file mode 100644
index 2cf3c5f..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/MissingImageDescriptor.java
+++ /dev/null
@@ -1,48 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.resource;
-
-import org.eclipse.swt.graphics.ImageData;
-
-/**
- * The image descriptor for a missing image.
- * <p>
- * Use <code>MissingImageDescriptor.getInstance</code> to
- * access the singleton instance maintained in an
- * internal state variable. 
- * </p>
- */
-class MissingImageDescriptor extends ImageDescriptor {
-	private static MissingImageDescriptor instance;
-/**
- * Constructs a new missing image descriptor.
- */
-private MissingImageDescriptor() {
-	super();
-}
-/* (non-Javadoc)
- * Method declared on ImageDesciptor.
- */
-public ImageData getImageData() {
-	return DEFAULT_IMAGE_DATA;
-}
-/**
- * Returns the shared missing image descriptor instance.
- *
- * @return the image descriptor for a missing image
- */
-static MissingImageDescriptor getInstance() {
-	if (instance == null) {
-		instance = new MissingImageDescriptor();
-	}
-	return instance;
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/ResourceRegistry.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/ResourceRegistry.java
deleted file mode 100644
index 6c6e18f..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/ResourceRegistry.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.resource;
-
-import java.util.Set;
-
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.PropertyChangeEvent;
-
-
-/**
- * Abstract baseclass for various JFace registries.
- * 
- * @since 3.0
- */
-public abstract class ResourceRegistry {
-
-    /**
-	 * List of property change listeners (element type: <code>org.eclipse.jface.util.IPropertyChangeListener</code>).
-	 */
-	private ListenerList listeners = new ListenerList();
-	    
-    /**
-	 * Adds a property change listener to this registry.
-	 * 
-	 * @param listener a property change listener
-	 */
-	public void addListener(IPropertyChangeListener listener) {
-		listeners.add(listener);
-	}
-	
-	/**
-	 * Disposes all currently allocated resources.
-	 */
-	protected abstract void clearCaches();	
-	
-	/** 
-	 * @return the set of keys this manager knows about.  This collection 
-	 * should be immutable.
-	 */
-	public abstract Set getKeySet();
-	
-	/**
-	 * Return whether or not the receiver has a value for the supplied key.
-	 * 
-	 * @param key the key
-	 * @return <code>true</code> if there is a value for this key
-	 */
-	public abstract boolean hasValueFor(String key);
-	
-	/**
-	 * Fires a <code>PropertyChangeEvent</code>.
-	 * 
-	 * @param name the name of the symbolic value that is changing.
-	 * @param oldValue the old value.
-	 * @param newValue the new value.
-	 */
-	protected void fireMappingChanged(
-		String name,
-		Object oldValue,
-		Object newValue) {
-		final Object[] myListeners = this.listeners.getListeners();
-		if (myListeners.length > 0) {
-			PropertyChangeEvent event =
-				new PropertyChangeEvent(this, name, oldValue, newValue);
-			for (int i = 0; i < myListeners.length; ++i) {
-				try {
-					((IPropertyChangeListener) myListeners[i]).propertyChange(
-						event);
-				} catch (Exception e) {
-					// TODO: how to log?
-				}
-			}
-		}
-	}	
-	
-	/**
-	 * Removes the given listener from this registry. Has no affect if the
-	 * listener is not registered.
-	 * 
-	 * @param listener a property change listener
-	 */
-	public void removeListener(IPropertyChangeListener listener) {
-		listeners.remove(listener);
-	}	
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/StringConverter.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/StringConverter.java
deleted file mode 100644
index 4a42942..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/StringConverter.java
+++ /dev/null
@@ -1,817 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.resource;
-
-import java.util.ArrayList;
-import java.util.NoSuchElementException;
-import java.util.StringTokenizer;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.graphics.Rectangle;
-
-/**
- * Helper class for converting various data types to and from
- * strings. Supported types include:
- * <ul>
- *   <li><code>boolean</code></li>
- *   <li><code>int</code></li>
- *   <li><code>long</code></li>
- *   <li><code>float</code></li>
- *   <li><code>double</code></li>
- *   <li><code>org.eclipse.swt.graphics.Point</code></li>
- *   <li><code>org.eclipse.swt.graphics.Rectangle</code></li>
- *   <li><code>org.eclipse.swt.graphics.RGB</code></li>
- *   <li><code>org.eclipse.swt.graphics.FontData</code></li>
- * </ul>
- * <p>
- * All methods declared on this class are static. This
- * class cannot be instantiated.
- * </p>
- */
-public class StringConverter {
-
-	/**
-	 * Internal font style constant for regular fonts.
-	 */
-	private static final String REGULAR = "regular"; //$NON-NLS-1$
-
-	/**
-	 * Internal font style constant for bold fonts.
-	 */
-	private static final String BOLD = "bold"; //$NON-NLS-1$
-
-	/**
-	 * Internal font style constant for italic fonts.
-	 */
-	private static final String ITALIC = "italic"; //$NON-NLS-1$
-
-	/**
-	 * Internal font style constant for bold italic fonts.
-	 */
-	private static final String BOLD_ITALIC = "bold italic"; //$NON-NLS-1$
-
-	/**
-	 * Internal constant for the separator character used in
-	 * font specifications.
-	 */
-	private static final char SEPARATOR = '-';
-
-	/**
-	 * Internal constant for the seperator character used in font list
-	 * specifications.
-	 */
-    private static final String FONT_SEPERATOR = ";"; //$NON-NLS-1$
-    
-	/* (non-Javadoc)
-	 * Declare a private constructor to block instantiation.
-	 */
-	private StringConverter() {
-	    //no-op
-	}
-	/**
-	 * Breaks out space-separated words into an array of words.
-	 * For example: <code>"no comment"</code> into an array 
-	 * <code>a[0]="no"</code> and <code>a[1]= "comment"</code>.
-	 *
-	 * @param value the string to be converted
-	 * @return the list of words
-	 */
-	public static String[] asArray(String value) throws DataFormatException {
-		ArrayList list = new ArrayList();
-		StringTokenizer stok = new StringTokenizer(value);
-		while (stok.hasMoreTokens()) {
-			list.add(stok.nextToken());
-		}
-		String result[] = new String[list.size()];
-		list.toArray(result);
-		return result;
-	}
-	/**
-	/**
-	 * Breaks out space-separated words into an array of words.
-	 * For example: <code>"no comment"</code> into an array 
-	 * <code>a[0]="no"</code> and <code>a[1]= "comment"</code>.
-	 * Returns the given default value if the value cannot be parsed.
-	 *
-	 * @param value the string to be converted
-	 * @param dflt the default value
-	 * @return the list of words, or the default value
-	 */
-	public static String[] asArray(String value, String[] dflt) {
-		try {
-			return asArray(value);
-		} catch (DataFormatException e) {
-			return dflt;
-		}
-	}
-	/**
-	 * Converts the given value into a boolean.
-	 * This method fails if the value does not represent a boolean.
-	 * <p>
-	 * Valid representations of <code>true</code> include the strings
-	 * "<code>t</code>", "<code>true</code>", or equivalent in mixed
-	 * or upper case.
-	 * Similarly, valid representations of <code>false</code> include the strings
-	 * "<code>f</code>", "<code>false</code>", or equivalent in mixed
-	 * or upper case. 
-	 * </p>
-	 *
-	 * @param value the value to be converted
-	 * @return the value as a boolean
-	 * @exception DataFormatException if the given value does not represent
-	 *	a boolean
-	 */
-	public static boolean asBoolean(String value) throws DataFormatException {
-		String v = value.toLowerCase();
-		if (v.equals("t") || v.equals("true")) //$NON-NLS-2$//$NON-NLS-1$
-			return true;
-		if (value.equals("f") || v.equals("false")) //$NON-NLS-2$//$NON-NLS-1$
-			return false;
-		throw new DataFormatException("Value " + value + "doesn't represent a boolean"); //$NON-NLS-2$//$NON-NLS-1$
-	}
-	/**
-	 * Converts the given value into a boolean.
-	 * Returns the given default value if the 
-	 * value does not represent a boolean.
-	 *
-	 * @param value the value to be converted
-	 * @param dflt the default value
-	 * @return the value as a boolean, or the default value
-	 */
-	public static boolean asBoolean(String value, boolean dflt) {
-		try {
-			return asBoolean(value);
-		} catch (DataFormatException e) {
-			return dflt;
-		}
-	}
-	/**
-	 * Converts the given value into a double.
-	 * This method fails if the value does not represent a double.
-	 *
-	 * @param value the value to be converted
-	 * @return the value as a double
-	 * @exception DataFormatException if the given value does not represent
-	 *	a double
-	 */
-	public static double asDouble(String value) throws DataFormatException {
-		try {
-			return (Double.valueOf(value)).doubleValue();
-		} catch (NumberFormatException e) {
-			throw new DataFormatException(e.getMessage());
-		}
-	}
-	/**
-	 * Converts the given value into a double.
-	 * Returns the given default value if the 
-	 * value does not represent a double.
-	 *
-	 * @param value the value to be converted
-	 * @param dflt the default value
-	 * @return the value as a double, or the default value
-	 */
-	public static double asDouble(String value, double dflt) {
-		try {
-			return asDouble(value);
-		} catch (DataFormatException e) {
-			return dflt;
-		}
-	}
-	/**
-	 * Converts the given value into a float.
-	 * This method fails if the value does not represent a float.
-	 *
-	 * @param value the value to be converted
-	 * @return the value as a float
-	 * @exception DataFormatException if the given value does not represent
-	 *	a float
-	 */
-	public static float asFloat(String value) throws DataFormatException {
-		try {
-			return (Float.valueOf(value)).floatValue();
-		} catch (NumberFormatException e) {
-			throw new DataFormatException(e.getMessage());
-		}
-	}
-	/**
-	 * Converts the given value into a float.
-	 * Returns the given default value if the 
-	 * value does not represent a float.
-	 *
-	 * @param value the value to be converted
-	 * @param dflt the default value
-	 * @return the value as a float, or the default value
-	 */
-	public static float asFloat(String value, float dflt) {
-		try {
-			return asFloat(value);
-		} catch (DataFormatException e) {
-			return dflt;
-		}
-	}
-	/**
-	 * Converts the given value into an SWT font data object.
-	 * This method fails if the value does not represent font data.
-	 * <p>
-	 * A valid font data representation is a string of the form
-	 * <code><it>fontname</it>-<it>style</it>-<it>height</it></code> where
-	 * <code><it>fontname</it></code> is the name of a font,
-	 * <code><it>style</it></code> is a font style (one of
-	 * <code>"regular"</code>, <code>"bold"</code>,
-	 * <code>"italic"</code>, or <code>"bold italic"</code>)
-	 * and <code><it>height</it></code> is an integer representing the
-	 * font height. Example: <code>Times New Roman-bold-36</code>.
-	 * </p>
-	 *
-	 * @param value the value to be converted
-	 * @return the value as font data
-	 * @exception DataFormatException if the given value does not represent
-	 *	font data
-	 */
-	public static FontData asFontData(String value)
-		throws DataFormatException {
-		if (value == null)
-			throw new DataFormatException("Null doesn't represent a valid font data"); //$NON-NLS-1$
-		String name = null;
-		int height = 0;
-		int style = 0;
-		try {
-			int length = value.length();
-			int heightIndex = value.lastIndexOf(SEPARATOR);
-			if (heightIndex == -1)
-				throw new DataFormatException("No correct font data format \"" + value + "\""); //$NON-NLS-2$//$NON-NLS-1$
-			height =
-				StringConverter.asInt(value.substring(heightIndex + 1, length));
-			int faceIndex = value.lastIndexOf(SEPARATOR, heightIndex - 1);
-			if (faceIndex == -1)
-				throw new DataFormatException("No correct font data format \"" + value + "\""); //$NON-NLS-2$//$NON-NLS-1$
-			String s = value.substring(faceIndex + 1, heightIndex);
-			if (BOLD_ITALIC.equals(s)) {
-				style = SWT.BOLD | SWT.ITALIC;
-			} else if (BOLD.equals(s)) {
-				style = SWT.BOLD;
-			} else if (ITALIC.equals(s)) {
-				style = SWT.ITALIC;
-			} else if (REGULAR.equals(s)) {
-				style = SWT.NORMAL;
-			} else {
-				throw new DataFormatException("Unknown face name \"" + s + "\""); //$NON-NLS-2$//$NON-NLS-1$
-			}
-			name = value.substring(0, faceIndex);
-		} catch (NoSuchElementException e) {
-			throw new DataFormatException(e.getMessage());
-		}
-		return new FontData(name, height, style);
-	}
-	/**
-	 * Convert the given value into an array of SWT font data objects.
-	 * 
-	 * @param value the font list string 
-	 * @return the value as a font list
-	 * @since 3.0
-	 */
-	public static FontData [] asFontDataArray(String value) {
-	    String [] strings = value.split(FONT_SEPERATOR);
-        ArrayList data = new ArrayList(strings.length);
-        for (int i = 0; i < strings.length; i++) {            
-            try {
-            	data.add(StringConverter.asFontData(strings[i]));
-           	}
-           	catch (DataFormatException e) {
-           		//do-nothing
-           	}
-        }
-        return (FontData []) data.toArray(new FontData [data.size()]);
-	}
-	
-	/**
-	 * Converts the given value into an SWT font data object.
-	 * Returns the given default value if the 
-	 * value does not represent a font data object.
-	 *
-	 * @param value the value to be converted
-	 * @param dflt the default value
-	 * @return the value as a font data object, or the default value
-	 */
-	public static FontData asFontData(String value, FontData dflt) {
-		try {
-			return asFontData(value);
-		} catch (DataFormatException e) {
-			return dflt;
-		}
-	}
-	/**
-	 * Converts the given value into an int.
-	 * This method fails if the value does not represent an int.
-	 *
-	 * @param value the value to be converted
-	 * @return the value as an int
-	 * @exception DataFormatException if the given value does not represent
-	 *	an int
-	 */
-	public static int asInt(String value) throws DataFormatException {
-		try {
-			return Integer.parseInt(value);
-		} catch (NumberFormatException e) {
-			throw new DataFormatException(e.getMessage());
-		}
-	}
-	/**
-	 * Converts the given value into an int.
-	 * Returns the given default value if the 
-	 * value does not represent an int.
-	 *
-	 * @param value the value to be converted
-	 * @param dflt the default value
-	 * @return the value as an int, or the default value
-	 */
-	public static int asInt(String value, int dflt) {
-		try {
-			return asInt(value);
-		} catch (DataFormatException e) {
-			return dflt;
-		}
-	}
-	/**
-	 * Converts the given value into a long.
-	 * This method fails if the value does not represent a long.
-	 *
-	 * @param value the value to be converted
-	 * @return the value as a long
-	 * @exception DataFormatException if the given value does not represent
-	 *	a long
-	 */
-	public static long asLong(String value) throws DataFormatException {
-		try {
-			return Long.parseLong(value);
-		} catch (NumberFormatException e) {
-			throw new DataFormatException(e.getMessage());
-		}
-	}
-	/**
-	 * Converts the given value into a long.
-	 * Returns the given default value if the 
-	 * value does not represent a long.
-	 *
-	 * @param value the value to be converted
-	 * @param dflt the default value
-	 * @return the value as a long, or the default value
-	 */
-	public static long asLong(String value, long dflt) {
-		try {
-			return asLong(value);
-		} catch (DataFormatException e) {
-			return dflt;
-		}
-	}
-	/**
-	 * Converts the given value into an SWT point.
-	 * This method fails if the value does not represent a point.
-	 * <p>
-	 * A valid point representation is a string of the form
-	 * <code><it>x</it>,<it>y</it></code> where
-	 * <code><it>x</it></code> and <code><it>y</it></code>
-	 * are valid ints.
-	 * </p>
-	 *
-	 * @param value the value to be converted
-	 * @return the value as a point
-	 * @exception DataFormatException if the given value does not represent
-	 *	a point
-	 */
-	public static Point asPoint(String value) throws DataFormatException {
-		if (value == null)
-			throw new DataFormatException("Null doesn't represent a valid point"); //$NON-NLS-1$
-		StringTokenizer stok = new StringTokenizer(value, ","); //$NON-NLS-1$
-		String x = stok.nextToken();
-		String y = stok.nextToken();
-		int xval = 0, yval = 0;
-		try {
-			xval = Integer.parseInt(x);
-			yval = Integer.parseInt(y);
-		} catch (NumberFormatException e) {
-			throw new DataFormatException(e.getMessage());
-		}
-		return new Point(xval, yval);
-	}
-	/**
-	 * Converts the given value into an SWT point.
-	 * Returns the given default value if the 
-	 * value does not represent a point.
-	 *
-	 * @param value the value to be converted
-	 * @param dflt the default value
-	 * @return the value as a point, or the default value
-	 */
-	public static Point asPoint(String value, Point dflt) {
-		try {
-			return asPoint(value);
-		} catch (DataFormatException e) {
-			return dflt;
-		}
-	}
-	/**
-	 * Converts the given value into an SWT rectangle.
-	 * This method fails if the value does not represent a rectangle.
-	 * <p>
-	 * A valid rectangle representation is a string of the form
-	 * <code><it>x</it>,<it>y</it>,<it>width</it>,<it>height</it></code>
-	 * where <code><it>x</it></code>, <code><it>y</it></code>,
-	 * <code><it>width</it></code>, and <code><it>height</it></code>
-	 * are valid ints.
-	 * </p>
-	 *
-	 * @param value the value to be converted
-	 * @return the value as a rectangle
-	 * @exception DataFormatException if the given value does not represent
-	 *	a rectangle
-	 */
-	public static Rectangle asRectangle(String value)
-		throws DataFormatException {
-		if (value == null)
-			throw new DataFormatException("Null doesn't represent a valid rectangle"); //$NON-NLS-1$
-		StringTokenizer stok = new StringTokenizer(value, ","); //$NON-NLS-1$
-		String x = stok.nextToken();
-		String y = stok.nextToken();
-		String width = stok.nextToken();
-		String height = stok.nextToken();
-		int xval = 0, yval = 0, wval = 0, hval = 0;
-		try {
-			xval = Integer.parseInt(x);
-			yval = Integer.parseInt(y);
-			wval = Integer.parseInt(width);
-			hval = Integer.parseInt(height);
-		} catch (NumberFormatException e) {
-			throw new DataFormatException(e.getMessage());
-		}
-		return new Rectangle(xval, yval, wval, hval);
-	}
-	/**
-	 * Converts the given value into an SWT rectangle.
-	 * Returns the given default value if the 
-	 * value does not represent a rectangle.
-	 *
-	 * @param value the value to be converted
-	 * @param dflt the default value
-	 * @return the value as a rectangle, or the default value
-	 */
-	public static Rectangle asRectangle(String value, Rectangle dflt) {
-		try {
-			return asRectangle(value);
-		} catch (DataFormatException e) {
-			return dflt;
-		}
-	}
-	/**
-	 * Converts the given value into an SWT RGB color value.
-	 * This method fails if the value does not represent an RGB
-	 * color value.
-	 * <p>
-	 * A valid RGB color value representation is a string of the form
-	 * <code><it>red</it>,<it>green</it></code>,<it>blue</it></code> where
-	 * <code><it>red</it></code>, <it>green</it></code>, and 
-	 * <code><it>blue</it></code> are valid ints.
-	 * </p>
-	 *
-	 * @param value the value to be converted
-	 * @return the value as an RGB color value
-	 * @exception DataFormatException if the given value does not represent
-	 *	an RGB color value
-	 */
-	public static RGB asRGB(String value) throws DataFormatException {
-		if (value == null)
-			throw new DataFormatException("Null doesn't represent a valid RGB"); //$NON-NLS-1$
-		StringTokenizer stok = new StringTokenizer(value, ","); //$NON-NLS-1$
-
-		try {
-			String red = stok.nextToken();
-			String green = stok.nextToken();
-			String blue = stok.nextToken();
-			int rval = 0, gval = 0, bval = 0;
-			try {
-				rval = Integer.parseInt(red);
-				gval = Integer.parseInt(green);
-				bval = Integer.parseInt(blue);
-			} catch (NumberFormatException e) {
-				DataFormatException dfe = new DataFormatException(e.getMessage());
-				dfe.initCause(e);
-				throw dfe;
-			}
-			return new RGB(rval, gval, bval);
-		}
-		catch (NoSuchElementException e) {
-		    DataFormatException dfe = new DataFormatException(e.getMessage());
-		    dfe.initCause(e);
-		    throw dfe;
-		}
-	}
-	/**
-	 * Converts the given value into an SWT RGB color value.
-	 * Returns the given default value if the 
-	 * value does not represent an RGB color value.
-	 *
-	 * @param value the value to be converted
-	 * @param dflt the default value
-	 * @return the value as a RGB color value, or the default value
-	 */
-	public static RGB asRGB(String value, RGB dflt) {
-		try {
-			return asRGB(value);
-		} catch (DataFormatException e) {
-			return dflt;
-		}
-	}
-    /**
-	 * Converts the given double value to a string.
-	 * Equivalent to <code>String.valueOf(value)</code>.
-	 *
-	 * @param value the double value
-	 * @return the string representing the given double
-	 */
-	public static String asString(double value) {
-		return String.valueOf(value);
-	}
-	/**
-	 * Converts the given float value to a string.
-	 * Equivalent to <code>String.valueOf(value)</code>.
-	 *
-	 * @param value the float value
-	 * @return the string representing the given float
-	 */
-	public static String asString(float value) {
-		return String.valueOf(value);
-	}
-	/**
-	 * Converts the given int value to a string.
-	 * Equivalent to <code>String.valueOf(value)</code>.
-	 *
-	 * @param value the int value
-	 * @return the string representing the given int
-	 */
-	public static String asString(int value) {
-		return String.valueOf(value);
-	}
-	/**
-	 * Converts the given long value to a string.
-	 * Equivalent to <code>String.valueOf(value)</code>.
-	 *
-	 * @param value the long value
-	 * @return the string representing the given long
-	 */
-	public static String asString(long value) {
-		return String.valueOf(value);
-	}
-	/**
-	 * Converts the given boolean object to a string.
-	 * Equivalent to <code>String.valueOf(value.booleanValue())</code>.
-	 *
-	 * @param value the boolean object
-	 * @return the string representing the given boolean value
-	 */
-	public static String asString(Boolean value) {
-		Assert.isNotNull(value);
-		return String.valueOf(value.booleanValue());
-	}
-	/**
-	 * Converts the given double object to a string.
-	 * Equivalent to <code>String.valueOf(value.doubleValue())</code>.
-	 *
-	 * @param value the double object
-	 * @return the string representing the given double value
-	 */
-	public static String asString(Double value) {
-		Assert.isNotNull(value);
-		return String.valueOf(value.doubleValue());
-	}
-	/**
-	 * Converts the given float object to a string.
-	 * Equivalent to <code>String.valueOf(value.floatValue())</code>.
-	 *
-	 * @param value the float object
-	 * @return the string representing the given float value
-	 */
-	public static String asString(Float value) {
-		Assert.isNotNull(value);
-		return String.valueOf(value.floatValue());
-	}
-	/**
-	 * Converts the given integer object to a string.
-	 * Equivalent to <code>String.valueOf(value.intValue())</code>.
-	 *
-	 * @param value the integer object
-	 * @return the string representing the given integer value
-	 */
-	public static String asString(Integer value) {
-		Assert.isNotNull(value);
-		return String.valueOf(value.intValue());
-	}
-	/**
-	 * Converts the given long object to a string.
-	 * Equivalent to <code>String.valueOf(value.longValue())</code>.
-	 *
-	 * @param value the long object
-	 * @return the string representing the given long value
-	 */
-	public static String asString(Long value) {
-		Assert.isNotNull(value);
-		return String.valueOf(value.longValue());
-	}
-	/**
-	 * Converts a font data array  to a string. The string representation is
-	 * that of asString(FontData) seperated by ';'
-	 * 
-	 * @param value The font data.
-	 * @return The string representation of the font data arra.
-	 * @since 3.0
-	 */
-	public static String asString(FontData [] value) {
-	    StringBuffer buffer = new StringBuffer();
-	    for (int i = 0; i < value.length; i++) {
-            buffer.append(asString(value[i]));
-            if (i != value.length - 1)
-                buffer.append(FONT_SEPERATOR);
-        }
-	    return buffer.toString();
-	}
-	
-	/**
-	 * Converts a font data object to a string. The string representation is
-	 * "font name-style-height" (for example "Times New Roman-bold-36").
-	 * @param value The font data.
-	 * @return The string representation of the font data object.
-	 */
-	public static String asString(FontData value) {
-		Assert.isNotNull(value);
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(value.getName());
-		buffer.append(SEPARATOR);
-		int style = value.getStyle();
-		boolean bold = (style & SWT.BOLD) == SWT.BOLD;
-		boolean italic = (style & SWT.ITALIC) == SWT.ITALIC;
-		if (bold && italic) {
-			buffer.append(BOLD_ITALIC);
-		} else if (bold) {
-			buffer.append(BOLD);
-		} else if (italic) {
-			buffer.append(ITALIC);
-		} else {
-			buffer.append(REGULAR);
-		}
-
-		buffer.append(SEPARATOR);
-		buffer.append(value.getHeight());
-		return buffer.toString();
-	}
-	/**
-	 * Converts the given SWT point object to a string.
-	 * <p>
-	 * The string representation of a point has the form
-	 * <code><it>x</it>,<it>y</it></code> where
-	 * <code><it>x</it></code> and <code><it>y</it></code>
-	 * are string representations of integers.
-	 * </p>
-	 *
-	 * @param value the point object
-	 * @return the string representing the given point
-	 */
-	public static String asString(Point value) {
-		Assert.isNotNull(value);
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(value.x);
-		buffer.append(',');
-		buffer.append(value.y);
-		return buffer.toString();
-	}
-	/**
-	 * Converts the given SWT rectangle object to a string.
-	 * <p>
-	 * The string representation of a rectangle has the form
-	 * <code><it>x</it>,<it>y</it>,<it>width</it>,<it>height</it></code>
-	 * where <code><it>x</it></code>, <code><it>y</it></code>,
-	 * <code><it>width</it></code>, and <code><it>height</it></code>
-	 * are string representations of integers.
-	 * </p>
-	 *
-	 * @param value the rectangle object
-	 * @return the string representing the given rectangle
-	 */
-	public static String asString(Rectangle value) {
-		Assert.isNotNull(value);
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(value.x);
-		buffer.append(',');
-		buffer.append(value.y);
-		buffer.append(',');
-		buffer.append(value.width);
-		buffer.append(',');
-		buffer.append(value.height);
-		return buffer.toString();
-	}
-	/**
-	 * Converts the given SWT RGB color value object to a string.
-	 * <p>
-	 * The string representation of an RGB color value has the form
-	 * <code><it>red</it>,<it>green</it></code>,<it>blue</it></code> where
-	 * <code><it>red</it></code>, <it>green</it></code>, and 
-	 * <code><it>blue</it></code> are string representations of integers.
-	 * </p>
-	 *
-	 * @param value the RGB color value object
-	 * @return the string representing the given RGB color value
-	 */
-	public static String asString(RGB value) {
-		Assert.isNotNull(value);
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(value.red);
-		buffer.append(',');
-		buffer.append(value.green);
-		buffer.append(',');
-		buffer.append(value.blue);
-		return buffer.toString();
-	}
-	/**
-	 * Converts the given boolean value to a string.
-	 * Equivalent to <code>String.valueOf(value)</code>.
-	 *
-	 * @param value the boolean value
-	 * @return the string representing the given boolean
-	 */
-	public static String asString(boolean value) {
-		return String.valueOf(value);
-	}
-	/**
-	 * Returns the given string with all whitespace characters removed.
-	 * <p>
-	 * All characters that have codes less than or equal to <code>'&#92;u0020'</code> 
-	 * (the space character) are considered to be a white space.
-	 * </p>
-	 *
-	 * @param s the source string
-	 * @return the string with all whitespace characters removed
-	 */
-	public static String removeWhiteSpaces(String s) {
-		//check for no whitespace (common case)
-		boolean found = false;
-		int wsIndex = -1;
-		int size = s.length();
-		for (int i = 0; i < size; i++) {
-			found = Character.isWhitespace(s.charAt(i));
-			if (found) {
-				wsIndex = i;
-				break;
-			}
-		}
-		if (!found)
-			return s;
-
-		StringBuffer result = new StringBuffer(s.substring(0, wsIndex));
-		for (int i = wsIndex + 1; i < size; i++) {
-			char ch = s.charAt(i);
-			if (!Character.isWhitespace(ch))
-				result.append(ch);
-		}
-		return result.toString();
-	}
-	/**
-	 * Converts a font data object to a string representation for display. 
-	 * 	The string representation is
-	 * "font name-style-height" (for example "Times New Roman-bold-36").
-	 * @param value The font data.
-	 * @return The string representation of the font data object.
-	 * @deprecated use asString(FontData)
-	 */
-	public static String asDisplayableString(FontData value) {
-		Assert.isNotNull(value);
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(value.getName());
-		buffer.append(SEPARATOR);
-		int style = value.getStyle();
-		boolean bold = (style & SWT.BOLD) == SWT.BOLD;
-		boolean italic = (style & SWT.ITALIC) == SWT.ITALIC;
-		if (bold && italic) {
-			buffer.append(JFaceResources.getString("BoldItalicFont")); //$NON-NLS-1$
-		} else if (bold) {
-			buffer.append(JFaceResources.getString("BoldFont")); //$NON-NLS-1$
-		} else if (italic) {
-			buffer.append(JFaceResources.getString("ItalicFont")); //$NON-NLS-1$
-		} else {
-			buffer.append(JFaceResources.getString("RegularFont")); //$NON-NLS-1$
-		}
-		buffer.append(SEPARATOR);
-		buffer.append(value.getHeight());
-		return buffer.toString();
-
-	}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/URLImageDescriptor.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/URLImageDescriptor.java
deleted file mode 100644
index 01ccf0b..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/URLImageDescriptor.java
+++ /dev/null
@@ -1,100 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.resource;
-
-import java.io.BufferedInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.SWTException;
-import org.eclipse.swt.graphics.ImageData;
-/**
- * An ImageDescriptor that gets its information from a URL.
- * This class is not public API.  Use ImageDescriptor#createFromURL
- * to create a descriptor that uses a URL.
- */
-class URLImageDescriptor extends ImageDescriptor {
-	private URL url;
-/**
- * Creates a new URLImageDescriptor.
- * @param url The URL to load the image from.  Must be non-null.
- */
-URLImageDescriptor(URL url) {
-	this.url = url;
-}
-/* (non-Javadoc)
- * Method declared on Object.
- */
-public boolean equals(Object o) {
-	if (!(o instanceof URLImageDescriptor)) {
-		return false;
-	}
-	return ((URLImageDescriptor)o).url.equals(this.url);
-}
-/* (non-Javadoc)
- * Method declared on ImageDesciptor.
- * Returns null if the image data cannot be read.
- */
-public ImageData getImageData() {
-	ImageData result = null;
-	InputStream in = getStream();
-	if (in != null) {
-		try {
-			result = new ImageData(in);
-		}
-		catch (SWTException e) {
-			if (e.code != SWT.ERROR_INVALID_IMAGE)
-				throw e;
-			// fall through otherwise
-		}
-		finally {
-			try {
-				in.close();
-			}
-			catch (IOException e) {
-				//System.err.println(getClass().getName()+".getImageData(): "+
-				//  "Exception while closing InputStream : "+e);
-			}
-		}
-	}
-	return result;
-}
-/**
- * Returns a stream on the image contents.  Returns
- * null if a stream could not be opened.
- * @return the stream for loading the data
- */
-protected InputStream getStream() {
-	try {
-		return new BufferedInputStream(url.openStream());
-	} catch (IOException e) {
-		return null;
-	}
-}
-/* (non-Javadoc)
- * Method declared on Object.
- */
-public int hashCode() {
-	return url.hashCode();
-}
-/* (non-Javadoc)
- * Method declared on Object.
- */
-/**
- * The <code>URLImageDescriptor</code> implementation of this <code>Object</code> method 
- * returns a string representation of this object which is suitable only for debugging.
- */
-public String toString() {
-	return "URLImageDescriptor(" + url + ")"; //$NON-NLS-1$ //$NON-NLS-2$
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts.properties b/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts.properties
deleted file mode 100644
index 1b4ed09..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts.properties
+++ /dev/null
@@ -1,23 +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 Corporation - initial API and implementation
-###############################################################################
-# Generic NLS font file for JFace
-# *.0 is Windows font
-# *.1 is Unix font
-#############################################################
-org.eclipse.jface.bannerfont.0=MS Sans Serif-bold-8
-org.eclipse.jface.bannerfont.1=b&h-lucidabright-regular-8
-
-org.eclipse.jface.headerfont.0=MS Sans Serif-bold-12
-org.eclipse.jface.headerfont.1=b&h-lucidabright-regular-12
-
-org.eclipse.jface.textfont.0=Courier New-regular-10
-org.eclipse.jface.textfont.1=Courier-regular-10
-org.eclipse.jface.textfont.2=b&h-lucidabright-regular-9
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_aix.properties b/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_aix.properties
deleted file mode 100644
index 462d316..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_aix.properties
+++ /dev/null
@@ -1,15 +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 Corporation - initial API and implementation
-###############################################################################
-# Aix font file for JFace
-#############################################################
-org.eclipse.jface.bannerfont.0=adobe-courier-bold-14
-org.eclipse.jface.headerfont.0=misc-fixed-bold-14
-org.eclipse.jface.textfont.0=adobe-courier-regular-12
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_hp-ux.properties b/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_hp-ux.properties
deleted file mode 100644
index b5be5e7..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_hp-ux.properties
+++ /dev/null
@@ -1,16 +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 Corporation - initial API and implementation
-###############################################################################
-# HP UX font file for JFace
-#############################################################
-
-org.eclipse.jface.bannerfont.0=adobe-courier-bold-14
-org.eclipse.jface.headerfont.0=adobe-courier-regular-14
-org.eclipse.jface.textfont.0=adobe-courier-regular-14
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_linux.properties b/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_linux.properties
deleted file mode 100644
index 87ee879..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_linux.properties
+++ /dev/null
@@ -1,15 +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 Corporation - initial API and implementation
-###############################################################################
-# Linux font file for JFace
-#############################################################
-org.eclipse.jface.bannerfont.0=adobe-courier-bold-14
-org.eclipse.jface.headerfont.0=misc-fixed-bold-14
-org.eclipse.jface.textfont.0=adobe-courier-regular-12
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_linux_gtk.properties b/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_linux_gtk.properties
deleted file mode 100644
index e5b2d94..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_linux_gtk.properties
+++ /dev/null
@@ -1,15 +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 Corporation - initial API and implementation
-###############################################################################
-# Linux GTK font file for JFace
-#############################################################
-org.eclipse.jface.bannerfont.0=Sans-bold-12 
-org.eclipse.jface.headerfont.0=Sans-bold-12
-org.eclipse.jface.textfont.0=Monospace-regular-10
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_macosx.properties b/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_macosx.properties
deleted file mode 100644
index 8fe1a54..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_macosx.properties
+++ /dev/null
@@ -1,18 +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 Corporation - initial API and implementation
-###############################################################################
-# Carbon font file for JFace
-#############################################################
-org.eclipse.jface.bannerfont.0=Lucida Grande-bold-12
-org.eclipse.jface.headerfont.0=Lucida Grande-bold-14
-
-org.eclipse.jface.textfont.0=Monaco-regular-11
-org.eclipse.jface.textfont.1=Courier-regular-12
-org.eclipse.jface.textfont.2=Courier New-regular-12
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_qnx.properties b/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_qnx.properties
deleted file mode 100644
index 09fae97..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_qnx.properties
+++ /dev/null
@@ -1,17 +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 Corporation - initial API and implementation
-###############################################################################
-# QNX font file for JFace
-#############################################################
-org.eclipse.jface.bannerfont.0=TextFont-bold-14
-org.eclipse.jface.headerfont.0=TextFont-bold-18
-org.eclipse.jface.textfont.0=FixedFont-regular-8
-
-
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_sunos.properties b/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_sunos.properties
deleted file mode 100644
index b8477e8..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_sunos.properties
+++ /dev/null
@@ -1,15 +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 Corporation - initial API and implementation
-###############################################################################
-# Solaris font file for JFace
-#############################################################
-org.eclipse.jface.bannerfont.0=adobe-courier-bold-14
-org.eclipse.jface.headerfont.0=misc-fixed-bold-14
-org.eclipse.jface.textfont.0=adobe-courier-regular-12
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_windows2000.properties b/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_windows2000.properties
deleted file mode 100644
index 7278916..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_windows2000.properties
+++ /dev/null
@@ -1,20 +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 Corporation - initial API and implementation
-###############################################################################
-# NLS font file for JFace when running under Windows NT
-#############################################################
-
-org.eclipse.jface.bannerfont.0=Tahoma-bold-8
-
-org.eclipse.jface.headerfont.0=Tahoma-bold-12
-
-org.eclipse.jface.textfont.0=Courier New-regular-10
-org.eclipse.jface.textfont.1=Courier-regular-10
-org.eclipse.jface.textfont.2=Lucida Console-regular-9
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_windows98.properties b/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_windows98.properties
deleted file mode 100644
index 01783cc..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_windows98.properties
+++ /dev/null
@@ -1,20 +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 Corporation - initial API and implementation
-###############################################################################
-# NLS font file for JFace when running under Windows 98
-#############################################################
-
-org.eclipse.jface.bannerfont.0=MS Sans Serif-bold-8
-
-org.eclipse.jface.headerfont.0=MS Sans Serif-bold-12
-
-org.eclipse.jface.textfont.0=Courier New-regular-10
-org.eclipse.jface.textfont.1=Courier-regular-10
-org.eclipse.jface.textfont.2=Lucida Console-regular-9
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_windowsnt.properties b/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_windowsnt.properties
deleted file mode 100644
index 5994032..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_windowsnt.properties
+++ /dev/null
@@ -1,19 +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 Corporation - initial API and implementation
-###############################################################################
-# NLS font file for JFace when running under Windows NT
-#############################################################
-org.eclipse.jface.bannerfont.0=MS Sans Serif-bold-8
-
-org.eclipse.jface.headerfont.0=MS Sans Serif-bold-12
-
-org.eclipse.jface.textfont.0=Courier New-regular-10
-org.eclipse.jface.textfont.1=Courier-regular-10
-org.eclipse.jface.textfont.2=Lucida Console-regular-9
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_windowsxp.properties b/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_windowsxp.properties
deleted file mode 100644
index 2d4e257..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/jfacefonts_windowsxp.properties
+++ /dev/null
@@ -1,19 +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 Corporation - initial API and implementation
-###############################################################################
-# NLS font file for JFace when running under Windows NT
-#############################################################
-org.eclipse.jface.bannerfont.0=Tahoma-bold-8
-
-org.eclipse.jface.headerfont.0=Tahoma-bold-12
-
-org.eclipse.jface.textfont.0=Courier New-regular-10
-org.eclipse.jface.textfont.1=Courier-regular-10
-org.eclipse.jface.textfont.2=Lucida Console-regular-9
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/package.html b/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/package.html
deleted file mode 100644
index b409a46..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/package.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">
-   <meta name="Author" content="IBM">
-   <meta name="GENERATOR" content="Mozilla/4.5 [en] (Win98; I) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides support for managing resources such as SWT
-fonts and images.
-<h2>
-Package Specification</h2>
-This package contains support for managing resources, including:
-<ul>
-<li>
-font registries (<tt>FontRegistry</tt>) - for hanging on to the SWT font
-objects needed by an application</li>
-
-<li>
-image registries (<tt>ImageRegistry</tt>) - for hanging on to the SWT image
-objects needed by an application</li>
-
-<li>
-image descriptors (<tt>ImageDescriptor</tt>) - surrogate object for creating
-SWT images</li>
-
-<li>
-string conversion (<tt>StringConverter</tt>) - for parsing property files</li>
-</ul>
-The JFace resources module is an independent JFace module requiring a basic
-knowledge of SWT and the JFace property change event mechanism. Familiarity
-with other JFace modules is not required.
-<p>Image descriptors are objects that knows how to create an image on demand.
-They serve as a lightweight representation of images in situations where
-no SWT display exists yet, and are used mainly in conjunction with image
-registries. This package contains the image descriptor framework, which
-is a simple hierarchy rooted at the abstract class <tt>ImageDescriptor</tt>.
-The framework includes abstract subclasses for composing images (<tt>CompositeImageDescriptor</tt>)
-as well as a ready-made concrete subclass for loading images from files
-(<tt>FileImageDescriptor</tt>).
-<p>The class <tt>JFaceResources</tt> maintains global state on behalf of
-JFace itself consisting of JFace's own image registry, font registry, resource
-bundle, and preference store.
-<br>&nbsp;
-</body>
-</html>
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/util/Assert.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/util/Assert.java
deleted file mode 100644
index 926681c..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/util/Assert.java
+++ /dev/null
@@ -1,171 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.util;
-
- 
-/**
- * <code>Assert</code> is useful for for embedding runtime sanity checks
- * in code. The static 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 (or not thrown). <b>If you find yourself in the
- * position where you need to catch an assertion failure, you have most 
- * certainly written your program incorrectly.</b>
- * </p>
- * <p>
- * Note that an <code>assert</code> statement is slated to be added to the
- * Java language in JDK 1.4, rending this class obsolete.
- * </p>
- */
-public final class Assert {
-	
-	/**
-	 * <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>
-	 */
-	private static class AssertionFailedException extends RuntimeException {
-
-		/**
-		 * Constructs a new exception.
-		 */
-		public AssertionFailedException() {
-		}
-		
-		/**
-		 * Constructs a new exception with the given message.
-		 */
-		public AssertionFailedException(String detail) {
-		    super(detail);
-		}
-	}
-/* 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 outcome 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) {
-	// succeed as quickly as possible
-	if (expression) {
-		return true;
-	}
-	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 outcome 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("assertion failed; " + message); //$NON-NLS-1$
-	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.
- * <p>
- * As a general rule, parameters passed to API methods must not be
- * <code>null</code> unless <b>explicitly</b> allowed in the method's
- * specification. Similarly, results returned from API methods are never
- * <code>null</code> unless <b>explicitly</b> allowed in the method's
- * specification. Implementations are encouraged to make regular use of 
- * <code>Assert.isNotNull</code> to ensure that <code>null</code> 
- * parameters are detected as early as possible.
- * </p>
- * 
- * @param object the value to test
- * @exception Throwable an unspecified unchecked exception if the object
- *   is <code>null</code>
- */
-public static void isNotNull(Object object) {
-	// succeed as quickly as possible
-	if (object != null) {
-		return;
-	}
-	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.
- * <p>
- * As a general rule, parameters passed to API methods must not be
- * <code>null</code> unless <b>explicitly</b> allowed in the method's
- * specification. Similarly, results returned from API methods are never
- * <code>null</code> unless <b>explicitly</b> allowed in the method's
- * specification. Implementations are encouraged to make regular use of 
- * <code>Assert.isNotNull</code> to ensure that <code>null</code> 
- * parameters are detected as early as possible.
- * </p>
- * 
- * @param object the value to test
- * @param message the message to include in the exception
- * @exception Throwable an unspecified unchecked exception 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 outcome of the check
- * @return <code>true</code> if the check passes (does not return
- *    if the check fails)
- */
-public static boolean isTrue(boolean expression) {
-	// succeed as quickly as possible
-	if (expression) {
-		return true;
-	}
-	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 outcome 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.jface/src/org/eclipse/jface/util/DelegatingDragAdapter.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/util/DelegatingDragAdapter.java
deleted file mode 100644
index a6801a2..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/util/DelegatingDragAdapter.java
+++ /dev/null
@@ -1,254 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.util;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.swt.dnd.DragSource;
-import org.eclipse.swt.dnd.DragSourceEvent;
-import org.eclipse.swt.dnd.DragSourceListener;
-import org.eclipse.swt.dnd.Transfer;
-
-/**
- * A <code>DelegatingDragAdapter</code> is a <code>DragSourceListener</code> that  
- * maintains and delegates to a set of {@link TransferDragSourceListener}s. Each 
- * TransferDragSourceListener can then be implemented as if it were the 
- * <code>DragSource's</code> only DragSourceListener.
- * <p>
- * When a drag is started, a subset of all <code>TransferDragSourceListeners</code>
- * is generated and stored in a list of <i>active</i> listeners. This subset is
- * calculated by forwarding {@link DragSourceListener#dragStart(DragSourceEvent) to 
- * every listener, and checking if the {@link DragSourceEvent#doit doit} field is left 
- * set to <code>true</code>.
- * </p> 
- * The <code>DragSource</code>'s set of supported Transfer types ({@link
- * DragSource#setTransfer(Transfer[])}) is updated to reflect the Transfer types
- * corresponding to the active listener subset.
- * <p>
- * If and when {@link #dragSetData(DragSourceEvent)} is called, a single
- * <code>TransferDragSourceListener</code> is chosen, and only it is allowed to set the
- * drag data. The chosen listener is the first listener in the subset of active listeners
- * whose Transfer supports ({@link Transfer#isSupportedType(TransferData)}) the 
- * <code>dataType</code> in the <code>DragSourceEvent</code>.
- * </p>
- * <p>
- * The following example snippet shows a <code>DelegatingDragAdapter</code> with two
- * <code>TransferDragSourceListeners</code>. One implements drag of text strings, 
- * the other supports file transfer and demonstrates how a listener can be disabled using
- * the dragStart method. 
- * </p>
- * <code><pre>
- *		final TreeViewer viewer = new TreeViewer(shell, SWT.NONE);
- *		
- *		DelegatingDragAdapter dragAdapter = new DelegatingDragAdapter();		
- *		dragAdapter.addDragSourceListener(new TransferDragSourceListener() {
- *			public Transfer getTransfer() {
- *				return TextTransfer.getInstance();
- *			}
- *			public void dragStart(DragSourceEvent event) {
- *				// always enabled, can control enablement based on selection etc.
- *			}
- *			public void dragSetData(DragSourceEvent event) {
- *				event.data = "Transfer data";
- *			}
- *			public void dragFinished(DragSourceEvent event) {
- *				// no clean-up required
- *			}
- *		});
- *		dragAdapter.addDragSourceListener(new TransferDragSourceListener() {
- *			public Transfer getTransfer() {
- *				return FileTransfer.getInstance();
- *			}
- *			public void dragStart(DragSourceEvent event) {
- *				// enable drag listener if there is a viewer selection
- *				event.doit = !viewer.getSelection().isEmpty();
- *			}
- *			public void dragSetData(DragSourceEvent event) {
- *				File file1 = new File("C:/temp/file1");
- *				File file2 = new File("C:/temp/file2");
- *				event.data = new String[] {file1.getAbsolutePath(), file2.getAbsolutePath()};
- *			}
- *			public void dragFinished(DragSourceEvent event) {
- *				// no clean-up required
- *			}
- *		});
- *		viewer.addDragSupport(DND.DROP_COPY | DND.DROP_MOVE, dragAdapter.getTransfers(), dragAdapter);
- * </pre></code>
- * <p>
- * NOTE: This API is experimental and subject to change including removal.
- * </p>
- * @since 2.2
- */
-public class DelegatingDragAdapter implements DragSourceListener {
-	private List listeners = new ArrayList();
-	private List activeListeners = new ArrayList();
-	private TransferDragSourceListener currentListener;
-
-	/**
-	 * Adds the given <code>TransferDragSourceListener</code>.
-	 * 
-	 * @param listener the new listener
-	 */
-	public void addDragSourceListener(TransferDragSourceListener listener) {
-		listeners.add(listener);
-	}
-	/**
-	 * The drop has successfully completed. This event is forwarded to the current 
-	 * drag listener.
-	 * Doesn't update the current listener, since the current listener  is already the one
-	 * that completed the drag operation.
-	 * 
-	 * @param event the drag source event
-	 * @see DragSourceListener#dragFinished(DragSourceEvent)
-	 */
-	public void dragFinished(final DragSourceEvent event) {
-//		if (Policy.DEBUG_DRAG_DROP)
-//			System.out.println("Drag Finished: " + toString()); //$NON-NLS-1$
-		Platform.run(new SafeRunnable() {
-			public void run() throws Exception {					
-				if (currentListener != null) {
-					// there is a listener that can handle the drop, delegate the event
-					currentListener.dragFinished(event);
-				}
-				else {
-					// The drag was canceled and currentListener was never set, so send the
-					// dragFinished event to all the active listeners. 
-					Iterator iterator = activeListeners.iterator();
-					while (iterator.hasNext())
-						((TransferDragSourceListener)iterator.next()).dragFinished(event);
-				}
-			}
-		});
-		currentListener = null;
-		activeListeners.clear();
-	}
-	/**
-	 * The drop data is requested.
-	 * Updates the current listener and then forwards the event to it.
-	 * 
-	 * @param event the drag source event
-	 * @see DragSourceListener#dragSetData(DragSourceEvent)
-	 */
-	public void dragSetData(final DragSourceEvent event) {
-//		if (Policy.DEBUG_DRAG_DROP)
-//			System.out.println("Drag Set Data: " + toString()); //$NON-NLS-1$
-		
-		updateCurrentListener(event);	// find a listener that can provide the given data type
-		if (currentListener != null) {
-			Platform.run(new SafeRunnable() {
-				public void run() throws Exception {			
-					currentListener.dragSetData(event);
-				}
-			});
-		}
-	}
-	/**
-	 * A drag operation has started.
-	 * Forwards this event to each listener. A listener must set <code>event.doit</code> 
-	 * to <code>false</code> if it cannot handle the drag operation. If a listener can  
-	 * handle the drag, it is added to the list of active listeners.  
-	 * The drag is aborted if there are no listeners that can handle it.  
-	 * 
-	 * @param event the drag source event
-	 * @see DragSourceListener#dragStart(DragSourceEvent)
-	 */
-	public void dragStart(final DragSourceEvent event) {
-//		if (Policy.DEBUG_DRAG_DROP)
-//			System.out.println("Drag Start: " + toString()); //$NON-NLS-1$
-		boolean doit = false;	// true if any one of the listeners can handle the drag
-		List transfers = new ArrayList(listeners.size());
-		
-		activeListeners.clear();
-		for (int i = 0; i < listeners.size(); i++) {
-			final TransferDragSourceListener listener = (TransferDragSourceListener)listeners.get(i);
-			event.doit = true;		// restore event.doit
-			Platform.run(new SafeRunnable() {
-				public void run() throws Exception {			
-					listener.dragStart(event);
-				}
-			});
-			if (event.doit) { 		// the listener can handle this drag
-				transfers.add(listener.getTransfer());
-				activeListeners.add(listener);
-			}
-			doit |= event.doit;
-		}
-		
-		if (doit)
-			((DragSource)event.widget).setTransfer(
-				(Transfer[])transfers.toArray(new Transfer[transfers.size()]));
-		
-		event.doit = doit;
-	}
-	/**
-	 * Returns the <code>Transfer<code>s from every <code>TransferDragSourceListener</code>.
-	 * 
-	 * @return the combined <code>Transfer</code>s
-	 */
-	public Transfer[] getTransfers() {
-		Transfer[] types = new Transfer[listeners.size()];
-		for (int i = 0; i < listeners.size(); i++) {
-			TransferDragSourceListener listener = (TransferDragSourceListener)listeners.get(i);
-			types[i] = listener.getTransfer();
-		}
-		return types;
-	}
-	/**
-	 * Returns <code>true</code> if there are no listeners to delegate drag events to.
-	 * 
-	 * @return <code>true</code> if there are no <code>TransferDragSourceListeners</code>
-	 * 	<code>false</code> otherwise.
-	 */
-	public boolean isEmpty() {
-		return listeners.isEmpty();
-	}
-	/**
-	 * Removes the given <code>TransferDragSourceListener</code>.
-	 * Listeners should not be removed while a drag and drop operation is in progress.
-	 *  
-	 * @param listener the <code>TransferDragSourceListener</code> to remove
-	 */
-	public void removeDragSourceListener(TransferDragSourceListener listener) {
-		listeners.remove(listener);
-		if (currentListener == listener)
-			currentListener = null;
-		if (activeListeners.contains(listener))
-			activeListeners.remove(listener);
-	}
-	/**
-	 * Updates the current listener to one that can handle the drag. There can 
-	 * be many listeners and each listener may be able to handle many <code>TransferData</code> 
-	 * types.  The first listener found that supports one of the <code>TransferData</ode> 
-	 * types specified in the <code>DragSourceEvent</code> will be selected.
-	 * 
-	 * @param event the drag source event
-	 */
-	private void updateCurrentListener(DragSourceEvent event) {
-		currentListener = null;
-		if (event.dataType == null)
-			return;
-		Iterator iterator = activeListeners.iterator();
-		while (iterator.hasNext()) {
-			TransferDragSourceListener listener = (TransferDragSourceListener)iterator.next();
-	
-			if (listener.getTransfer().isSupportedType(event.dataType)) {
-//				if (Policy.DEBUG_DRAG_DROP)
-//					System.out.println("Current drag listener: " + listener); //$NON-NLS-1$			
-				currentListener = listener;
-				return;
-			}
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/util/DelegatingDropAdapter.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/util/DelegatingDropAdapter.java
deleted file mode 100644
index a26c25d..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/util/DelegatingDropAdapter.java
+++ /dev/null
@@ -1,361 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.util;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DropTargetEvent;
-import org.eclipse.swt.dnd.DropTargetListener;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.dnd.TransferData;
-
-/**
- * A <code>DelegatingDropAdapter</code> is a <code>DropTargetListener</code> that 
- * maintains and delegates to a set of {@link TransferDropTargetListener}s. Each 
- * <code>TransferDropTargetListener</code> can then be implemented as if it were 
- * the DropTarget's only <code>DropTargetListener</code>.
- * <p>
- * On <code>dragEnter</code>, <code>dragOperationChanged</code>, <code>dragOver</code>
- * and <code>drop</code>, a <i>current</i> listener is obtained from the set of all 
- * <code>TransferDropTargetListeners</code>. The current listener is the first listener 
- * to return <code>true</code> for 
- * {@link TransferDropTargetListener#isEnabled(DropTargetEvent)}.
- * The current listener is forwarded all <code>DropTargetEvents</code> until some other
- * listener becomes the current listener, or the drop terminates.
- * </p>
- * <p>
- * After adding all <code>TransferDropTargetListeners</code> to the 
- * <code>DelegatingDropAdapter</code> the combined set of <code>Transfers</code> should 
- * be set in the SWT <code>DropTarget</code>. <code>#getTransfers()</code> provides the 
- * set of <code>Transfer</code> types of all <code>TransferDropTargetListeners</code>. 
- * </p>
- * <p>
- * The following example snippet shows a <code>DelegatingDropAdapter</code> with two
- * <code>TransferDropTargetListeners</code>. One supports dropping resources and 
- * demonstrates how a listener can be disabled in the isEnabled method. 
- * The other listener supports text transfer. 
- * </p>
- * <code><pre>
- *		final TreeViewer viewer = new TreeViewer(shell, SWT.NONE);
- * 		DelegatingDropAdapter dropAdapter = new DelegatingDropAdapter();
- *		dropAdapter.addDropTargetListener(new TransferDropTargetListener() {
- *			public Transfer getTransfer() {
- *				return ResourceTransfer.getInstance();
- *			}
- *			public boolean isEnabled(DropTargetEvent event) {
- *				// disable drop listener if there is no viewer selection
- *				if (viewer.getSelection().isEmpty())
- *					return false;
- *				return true;
- *			}
- *			public void dragEnter(DropTargetEvent event) {}
- *			public void dragLeave(DropTargetEvent event) {}
- *			public void dragOperationChanged(DropTargetEvent event) {}
- *			public void dragOver(DropTargetEvent event) {}
- *			public void drop(DropTargetEvent event) {
- *				if (event.data == null)
- *					return;
- *				IResource[] resources = (IResource[]) event.data;
- *				if (event.detail == DND.DROP_COPY) {
- *					// copy resources
- *				} else {
- *					// move resources
- *				}
- *					
- *			}
- *			public void dropAccept(DropTargetEvent event) {}
- *		});
- *		dropAdapter.addDropTargetListener(new TransferDropTargetListener() {
- *			public Transfer getTransfer() {
- *				return TextTransfer.getInstance();
- *			}
- *			public boolean isEnabled(DropTargetEvent event) {
- *				return true;
- *			}
- *			public void dragEnter(DropTargetEvent event) {}
- *			public void dragLeave(DropTargetEvent event) {}
- *			public void dragOperationChanged(DropTargetEvent event) {}
- *			public void dragOver(DropTargetEvent event) {}
- *			public void drop(DropTargetEvent event) {
- *				if (event.data == null)
- *					return;
- *				System.out.println(event.data);
- *			}
- *			public void dropAccept(DropTargetEvent event) {}
- *		});		
- *		viewer.addDropSupport(DND.DROP_COPY | DND.DROP_MOVE, dropAdapter.getTransfers(), dropAdapter);
- * </pre></code>
- * <p>
- * NOTE: This API is experimental and subject to change including removal.
- * </p>
- * @since 2.2
- */
-public class DelegatingDropAdapter implements DropTargetListener {
-	private List listeners = new ArrayList();
-	private TransferDropTargetListener currentListener;
-	private int originalDropType;
-
-	/**
-	 * Adds the given <code>TransferDropTargetListener</code>.
-	 * 
-	 * @param listener the new listener
-	 */
-	public void addDropTargetListener(TransferDropTargetListener listener) {
-		listeners.add(listener);
-	}
-	/**
-	 * The cursor has entered the drop target boundaries. The current listener is 
-	 * updated, and <code>#dragEnter()</code> is forwarded to the current listener.
-	 * 
-	 * @param event the drop target event 
-	 * @see DropTargetListener#dragEnter(DropTargetEvent)
-	 */
-	public void dragEnter(DropTargetEvent event) {
-//		if (Policy.DEBUG_DRAG_DROP)
-//			System.out.println("Drag Enter: " + toString()); //$NON-NLS-1$
-		originalDropType = event.detail;
-		updateCurrentListener(event);
-	}
-	/**
-	 * The cursor has left the drop target boundaries. The event is forwarded to the 
-	 * current listener.
-	 * 
-	 * @param event the drop target event
-	 * @see DropTargetListener#dragLeave(DropTargetEvent)
-	 */
-	public void dragLeave(final DropTargetEvent event) {
-//		if (Policy.DEBUG_DRAG_DROP)
-//			System.out.println("Drag Leave: " + toString()); //$NON-NLS-1$
-		setCurrentListener(null, event);
-	}
-	/**
-	 * The operation being performed has changed (usually due to the user changing 
-	 * a drag modifier key while dragging). Updates the current listener and forwards 
-	 * this event to that listener.
-	 * 
-	 * @param event the drop target event
-	 * @see DropTargetListener#dragOperationChanged(DropTargetEvent)
-	 */
-	public void dragOperationChanged(final DropTargetEvent event) {
-//		if (Policy.DEBUG_DRAG_DROP)
-//			System.out.println("Drag Operation Changed to: " + event.detail); //$NON-NLS-1$
-		originalDropType = event.detail;
-		TransferDropTargetListener oldListener = getCurrentListener();
-		updateCurrentListener(event);
-		final TransferDropTargetListener newListener = getCurrentListener();
-		// only notify the current listener if it hasn't changed based on the 
-		// operation change. otherwise the new listener would get a dragEnter 
-		// followed by a dragOperationChanged with the exact same event. 
-		if (newListener != null && newListener == oldListener) {
-			Platform.run(new SafeRunnable() {
-				public void run() throws Exception {
-					newListener.dragOperationChanged(event);
-				}
-			});
-		}
-	}
-	/**
-	 * The cursor is moving over the drop target. Updates the current listener and 
-	 * forwards this event to that listener. If no listener can handle the drag 
-	 * operation the <code>event.detail</code> field is set to <code>DND.DROP_NONE</code> 
-	 * to indicate an invalid drop.
-	 *   
-	 * @param event the drop target event
-	 * @see DropTargetListener#dragOver(DropTargetEvent)
-	 */
-	public void dragOver(final DropTargetEvent event) {
-		TransferDropTargetListener oldListener = getCurrentListener();
-		updateCurrentListener(event);
-		final TransferDropTargetListener newListener = getCurrentListener();
-	
-		// only notify the current listener if it hasn't changed based on the 
-		// drag over. otherwise the new listener would get a dragEnter 
-		// followed by a dragOver with the exact same event. 
-		if (newListener != null && newListener == oldListener) {
-			Platform.run(new SafeRunnable() {
-				public void run() throws Exception {
-					newListener.dragOver(event);
-				}
-			});
-		}
-	}
-	/**
-	 * Forwards this event to the current listener, if there is one. Sets the
-	 * current listener to <code>null</code> afterwards.
-	 * 
-	 * @param event the drop target event
-	 * @see DropTargetListener#drop(DropTargetEvent)
-	 */
-	public void drop(final DropTargetEvent event) {
-//		if (Policy.DEBUG_DRAG_DROP)
-//			System.out.println("Drop: " + toString()); //$NON-NLS-1$
-		updateCurrentListener(event);
-		if (getCurrentListener() != null) { 
-			Platform.run(new SafeRunnable() {
-				public void run() throws Exception {
-					getCurrentListener().drop(event);
-				}
-			});
-		}
-		setCurrentListener(null, event);
-	}
-	/**
-	 * Forwards this event to the current listener if there is one.
-	 * 
-	 * @param event the drop target event
-	 * @see DropTargetListener#dropAccept(DropTargetEvent)
-	 */
-	public void dropAccept(final DropTargetEvent event) {
-//		if (Policy.DEBUG_DRAG_DROP)
-//			System.out.println("Drop Accept: " + toString()); //$NON-NLS-1$
-		if (getCurrentListener() != null) {
-			Platform.run(new SafeRunnable() {
-				public void run() throws Exception {
-					getCurrentListener().dropAccept(event);
-				}
-			});
-		}
-	}
-	/**
-	 * Returns the listener which currently handles drop events.
-	 * 
-	 * @return the <code>TransferDropTargetListener</code> which currently 
-	 * 	handles drop events.
-	 */
-	private TransferDropTargetListener getCurrentListener() {
-		return currentListener;
-	}
-	/**
-	 * Returns the transfer data type supported by the given listener.
-	 * Returns <code>null</code> if the listener does not support any of the   
-	 * specified data types.
-	 *  
-	 * @param dataTypes available data types
-	 * @param listener <code>TransferDropTargetListener</code> to use for testing 
-	 * 	supported data types.
-	 * @return the transfer data type supported by the given listener or 
-	 * 	<code>null</code>.
-	 */
-	private TransferData getSupportedTransferType(TransferData[] dataTypes, TransferDropTargetListener listener) {
-		for (int i = 0; i < dataTypes.length; i++) {
-			if (listener.getTransfer().isSupportedType(dataTypes[i])) {
-				return dataTypes[i];
-			}
-		}
-		return null;
-	}
-	/**
-	 * Returns the combined set of <code>Transfer</code> types of all 
-	 * <code>TransferDropTargetListeners</code>.
-	 * 
-	 * @return the combined set of <code>Transfer</code> types
-	 */
-	public Transfer[] getTransfers() {
-		Transfer[] types = new Transfer[listeners.size()];
-		for (int i = 0; i < listeners.size(); i++) {
-			TransferDropTargetListener listener = (TransferDropTargetListener)listeners.get(i);
-			types[i] = listener.getTransfer();
-		}
-		return types;
-	}
-	/**
-	 * Returns <code>true</code> if there are no listeners to delegate events to.
-	 * 
-	 * @return <code>true</code> if there are no <code>TransferDropTargetListeners</code>
-	 *	<code>false</code> otherwise
-	 */
-	public boolean isEmpty() {
-		return listeners.isEmpty();
-	}
-	/**
-	 * Removes the given <code>TransferDropTargetListener</code>.
-	 * Listeners should not be removed while a drag and drop operation is in progress.
-	 * 
-	 * @param listener the listener to remove
-	 */
-	public void removeDropTargetListener(TransferDropTargetListener listener) {
-		if (currentListener == listener)
-			currentListener = null;
-		listeners.remove(listener);
-	}
-	/**
-	 * Sets the current listener to <code>listener</code>. Sends the given 
-	 * <code>DropTargetEvent</code> if the current listener changes.
-	 * 
-	 * @return <code>true</code> if the new listener is different than the previous
-	 *	<code>false</code> otherwise
-	 */
-	private boolean setCurrentListener(TransferDropTargetListener listener, final DropTargetEvent event) {
-		if (currentListener == listener) 
-			return false;
-		if (currentListener != null) {
-			Platform.run(new SafeRunnable() {
-				public void run() throws Exception {			
-					currentListener.dragLeave(event);
-				}
-			});
-		}
-		currentListener = listener;
-//		if (Policy.DEBUG_DRAG_DROP)
-//			System.out.println("Current drop listener: " + listener); //$NON-NLS-1$
-		if (currentListener != null) {
-			Platform.run(new SafeRunnable() {
-				public void run() throws Exception {			
-					currentListener.dragEnter(event);
-				}
-			});
-		}
-		return true;
-	}
-	/**
-	 * Updates the current listener to one that can handle the drop. There can be many
-	 * listeners and each listener may be able to handle many <code>TransferData</code> 
-	 * types. The first listener found that can handle a drop of one of the given 
-	 * <code>TransferData</code> types will be selected.
-	 * If no listener can handle the drag operation the <code>event.detail</code> field
-	 * is set to <code>DND.DROP_NONE</code> to indicate an invalid drop.
-	 *
-	 * @param event the drop target event
-	 */
-	private void updateCurrentListener(DropTargetEvent event) {
-		int originalDetail = event.detail;
-		// revert the detail to the "original" drop type that the User indicated.
-		// this is necessary because the previous listener may have changed the detail 
-		// to something other than what the user indicated.
-		event.detail = originalDropType;
-	
-		Iterator iter = listeners.iterator();
-		while (iter.hasNext()) {
-			TransferDropTargetListener listener = (TransferDropTargetListener) iter.next();
-			TransferData dataType = getSupportedTransferType(event.dataTypes, listener); 
-			if (dataType != null) {
-				TransferData originalDataType = event.currentDataType;
-				// set the data type supported by the drop listener
-				event.currentDataType = dataType;
-				if (listener.isEnabled(event)) {
-					// if the listener stays the same, set its previously determined  
-					// event detail 
-					if (!setCurrentListener(listener, event))
-						event.detail = originalDetail;
-					return;
-				} else {
-					event.currentDataType = originalDataType;
-				}				
-			}			
-		}
-		setCurrentListener(null, event);
-		event.detail = DND.DROP_NONE;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/util/Geometry.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/util/Geometry.java
deleted file mode 100644
index 34d408c..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/util/Geometry.java
+++ /dev/null
@@ -1,501 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.util;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * Contains static methods for performing simple geometric operations
- * on the SWT geometry classes.
- *
- * @since 3.0
- */
-public class Geometry {
-
-	/**
-	 * Prevent this class from being instantiated.
-	 * 
-	 * @since 3.0
-	 */
-	private Geometry() {
-	}
-
-	/**
-	 * Returns the square of the distance between two points. 
-	 * <p>This is preferred over the real distance when searching
-	 * for the closest point, since it avoids square roots.</p>
-	 * 
-	 * @param p1 first endpoint
-	 * @param p2 second endpoint
-	 * @return the square of the distance between the two points
-	 * 
-	 * @since 3.0
-	 */
-	public static int distanceSquared(Point p1, Point p2) {
-		int term1 = p1.x - p2.x;
-		int term2 = p1.y - p2.y;
-		return term1 * term1 + term2 * term2;
-	}
-
-	/**
-	 * Returns the magnitude of the given 2d vector (represented as a Point)
-	 *  
-	 * @param p point representing the 2d vector whose magnitude is being computed
-	 * @return the magnitude of the given 2d vector
-	 * @since 3.0
-	 */
-	public static double magnitude(Point p) {
-		return Math.sqrt(magnitudeSquared(p));
-	}
-
-	/**
-	 * Returns the square of the magnitude of the given 2-space vector (represented
-	 * using a point)
-	 * 
-	 * @param p the point whose magnitude is being computed
-	 * @return the square of the magnitude of the given vector
-	 * @since 3.0
-	 */
-	public static int magnitudeSquared(Point p) {
-		return p.x * p.x + p.y * p.y;
-	}
-	
-	/**
-	 * Returns the dot product of the given vectors (expressed as Points)
-	 * 
-	 * @param p1 the first vector
-	 * @param p2 the second vector
-	 * @return the dot product of the two vectors
-	 * @since 3.0
-	 */
-	public static int dotProduct(Point p1, Point p2) {
-		return p1.x * p2.x + p1.y * p2.y;
-	}
-
-	/**
-	 * Returns a new point whose coordinates are the minimum of the coordinates of the
-	 * given points
-	 * 
-	 * @param p1 a Point
-	 * @param p2 a Point
-	 * @return a new point whose coordinates are the minimum of the coordinates of the
-	 * given points
-	 * @since 3.0
-	 */
-	public static Point min(Point p1, Point p2) {
-		return new Point(Math.min(p1.x, p2.x), Math.min(p1.y, p2.y));
-	}
-	
-	/**
-	 * Returns a new point whose coordinates are the maximum of the coordinates
-	 * of the given points
-	 * @param p1 a Point
-	 * @param p2 a Point
-	 * @return point a new point whose coordinates are the maximum of the coordinates
-	 * @since 3.0
-	 */
-	public static Point max(Point p1, Point p2) {
-		return new Point(Math.max(p1.x, p2.x), Math.max(p1.y, p2.y));
-	}
-
-	/**
-	 * Returns a vector in the given direction with the given
-	 * magnitude. Directions are given using SWT direction constants, and
-	 * the resulting vector is in the screen's coordinate system. That is,
-	 * the vector (0, 1) is down and the vector (1, 0) is right. 
-	 * 
-	 * @param distance magnitude of the vector
-	 * @param direction one of SWT.TOP, SWT.BOTTOM, SWT.LEFT, or SWT.RIGHT
-	 * @return a point representing a vector in the given direction with the given magnitude
-	 * @since 3.0
-	 */
-	public static Point getDirectionVector(int distance, int direction) {
-		switch (direction) {
-			case SWT.TOP: return new Point(0, -distance);
-			case SWT.BOTTOM: return new Point(0, distance);
-			case SWT.LEFT: return new Point(-distance, 0);
-			case SWT.RIGHT: return new Point(distance, 0);
-		}
-		
-		return new Point(0,0);
-	}
-
-	/**
-	 * Returns the point in the center of the given rectangle.
-	 * 
-	 * @param rect rectangle being computed
-	 * @return a Point at the center of the given rectangle.
-	 * @since 3.0
-	 */
-	public static Point centerPoint(Rectangle rect) {
-		return new Point(rect.x + rect.width / 2, rect.y + rect.height / 2);
-	}
-
-	/**
-	 * Returns a copy of the given point
-	 * 
-	 * @param toCopy point to copy
-	 * @return a copy of the given point
-	 */
-	public static Point copy(Point toCopy) {
-		return new Point(toCopy.x, toCopy.y);
-	}
-	
-	/**
-	 * Adds two points as 2d vectors. Returns a new point whose coordinates are
-	 * the sum of the original two points.
-	 * 
-	 * @param point1 the first point (not null)
-	 * @param point2 the second point (not null)
-	 * @return a new point whose coordinates are the sum of the given points
-	 * @since 3.0
-	 */
-	public static Point add(Point point1, Point point2) {
-		return new Point(point1.x + point2.x, point1.y + point2.y);
-	}
-	
-	/**
-	 * Performs vector subtraction on two points. Returns a new point equal to
-	 * (point1 - point2).
-	 * 
-	 * @param point1 initial point
-	 * @param point2 vector to subtract
-	 * @return the difference (point1 - point2)
-	 * @since 3.0
-	 */
-	public static Point subtract(Point point1, Point point2) {
-		return new Point(point1.x - point2.x, point1.y - point2.y);
-	}
-	
-	/**
-	 * Returns the height or width of the given rectangle.
-	 * 
-	 * @param toMeasure rectangle to measure
-	 * @param width returns the width if true, and the height if false
-	 * @return the width or height of the given rectangle
-	 * @since 3.0
-	 */
-	public static int getDimension(Rectangle toMeasure, boolean width) {
-		if (width) {
-			return toMeasure.width;
-		} else {
-			return toMeasure.height;
-		}
-	}
-
-	/**
-	 * Returns the distance of the given point from a particular side of the given rectangle.
-	 * Returns negative values for points outside the rectangle.
-	 * 
-	 * @param rectangle a bounding rectangle
-	 * @param testPoint a point to test
-	 * @param edgeOfInterest side of the rectangle to test against
-	 * @return the distance of the given point from the given edge of the rectangle
-	 * @since 3.0
-	 */
-	public static int getDistanceFromEdge(Rectangle rectangle, Point testPoint, int edgeOfInterest) {
-		switch(edgeOfInterest) {
-			case SWT.TOP: return testPoint.y - rectangle.y ;
-			case SWT.BOTTOM: return rectangle.y + rectangle.height - testPoint.y;
-			case SWT.LEFT: return testPoint.x - rectangle.x;
-			case SWT.RIGHT: return rectangle.x + rectangle.width - testPoint.x;
-		}
-		
-		return 0;
-	}
-
-	/**
-	 * Extrudes the given edge inward by the given distance. That is, if one side of the rectangle
-	 * was sliced off with a given thickness, this returns the rectangle that forms the slice. Note
-	 * that the returned rectangle will be inside the given rectangle if size > 0.
-	 * 
-	 * @param toExtrude the rectangle to extrude. The resulting rectangle will share three sides
-	 * with this rectangle.
-	 * @param size distance to extrude. A negative size will extrude outwards (that is, the resulting
-	 * rectangle will overlap the original iff this is positive). 
-	 * @param orientation the side to extrude.  One of SWT.LEFT, SWT.RIGHT, SWT.TOP, or SWT.BOTTOM. The 
-	 * resulting rectangle will always share this side with the original rectangle.
-	 * @return a rectangle formed by extruding the given side of the rectangle by the given distance.
-	 * @since 3.0
-	 */
-	public static Rectangle getExtrudedEdge(Rectangle toExtrude, int size, int orientation) {
-		Rectangle bounds = new Rectangle(toExtrude.x, toExtrude.y, toExtrude.width, toExtrude.height);
-		
-		if (!isHorizontal(orientation)) {
-			bounds.width = size;
-		} else {
-			bounds.height = size;
-		}
-		
-		switch(orientation) {
-		case SWT.RIGHT:
-			bounds.x = toExtrude.x + toExtrude.width - bounds.width;
-			break;
-		case SWT.BOTTOM:
-			bounds.y = toExtrude.y + toExtrude.height - bounds.height;
-			break;
-		}
-	
-		normalize(bounds);
-		
-		return bounds;
-	}
-
-	/**
-	 * Returns the opposite of the given direction. That is, returns SWT.LEFT if
-	 * given SWT.RIGHT and visa-versa.
-	 * 
-	 * @param swtDirectionConstant one of SWT.LEFT, SWT.RIGHT, SWT.TOP, or SWT.BOTTOM
-	 * @return one of SWT.LEFT, SWT.RIGHT, SWT.TOP, or SWT.BOTTOM
-	 * @since 3.0
-	 */
-	public static int getOppositeSide(int swtDirectionConstant) {
-		switch(swtDirectionConstant) {
-			case SWT.TOP: return SWT.BOTTOM;
-			case SWT.BOTTOM: return SWT.TOP;
-			case SWT.LEFT: return SWT.RIGHT;
-			case SWT.RIGHT: return SWT.LEFT;
-		}
-		
-		return swtDirectionConstant;
-	}
-
-	/**
-	 * Converts the given boolean into an SWT orientation constant.
-	 * 
-	 * @param horizontal if true, returns SWT.HORIZONTAL. If false, returns SWT.VERTICAL 
-	 * @return SWT.HORIZONTAL or SWT.VERTICAL.
-	 * @since 3.0
-	 */
-	public static int getSwtHorizontalOrVerticalConstant(boolean horizontal) {
-		if (horizontal) {
-			return SWT.HORIZONTAL;
-		} else {
-			return SWT.VERTICAL;
-		}
-	}
-
-	/**
-	 * Returns true iff the given SWT side constant corresponds to a horizontal side
-	 * of a rectangle. That is, returns true for the top and bottom but false for the
-	 * left and right.
-	 * 
-	 * @param swtSideConstant one of SWT.TOP, SWT.BOTTOM, SWT.LEFT, or SWT.RIGHT
-	 * @return true iff the given side is horizontal.
-	 * @since 3.0
-	 */
-	public static boolean isHorizontal(int swtSideConstant) {
-		return !(swtSideConstant == SWT.LEFT || swtSideConstant == SWT.RIGHT);
-	}
-
-	/**
-	 * Moves the given rectangle by the given delta.
-	 * 
-	 * @param rect rectangle to move (will be modified)
-	 * @param delta direction vector to move the rectangle by
-	 * @since 3.0
-	 */
-	public static void moveRectangle(Rectangle rect, Point delta) {
-		rect.x += delta.x;
-		rect.y += delta.y;
-	}
-
-	/**
-	 * Normalizes the given rectangle. That is, any rectangle with
-	 * negative width or height becomes a rectangle with positive
-	 * width or height that extends to the upper-left of the original
-	 * rectangle. 
-	 * 
-	 * @param rect rectangle to modify
-	 * @since 3.0
-	 */
-	public static void normalize(Rectangle rect) {
-		if (rect.width < 0) {
-			rect.width = -rect.width;
-			rect.x -= rect.width;
-		}
-		
-		if (rect.height < 0) {
-			rect.height = -rect.height;
-			rect.y -= rect.height;
-		}
-	}
-
-	/**
-	 * Converts the given rectangle from display coordinates to the local coordinate system 
-	 * of the given object into display coordinates.
-	 * 
-	 * @param coordinateSystem local coordinate system being converted to
-	 * @param toConvert rectangle to convert
-	 * @return a rectangle in control coordinates
-	 * @since 3.0
-	 */
-	public static Rectangle toControl(Control coordinateSystem, Rectangle toConvert) {
-		Point start = coordinateSystem.toControl(toConvert.x, toConvert.y);
-		return new Rectangle(start.x, start.y, toConvert.width, toConvert.height);		
-	}
-	
-	/**
-	 * Converts the given rectangle from the local coordinate system of the given object
-	 * into display coordinates.
-	 * 
-	 * @param coordinateSystem local coordinate system being converted from
-	 * @param toConvert rectangle to convert
-	 * @return a rectangle in display coordinates
-	 * @since 3.0
-	 */
-	public static Rectangle toDisplay(Control coordinateSystem, Rectangle toConvert) {
-		Point start = coordinateSystem.toDisplay(toConvert.x, toConvert.y);
-		return new Rectangle(start.x, start.y, toConvert.width, toConvert.height);
-	}
-
-	/**
-	 * Determines where the given point lies with respect to the given rectangle.
-	 * Returns a combination of SWT.LEFT, SWT.RIGHT, SWT.TOP, and SWT.BOTTOM, combined
-	 * with bitwise or (for example, returns SWT.TOP | SWT.LEFT if the point is to the
-	 * upper-left of the rectangle). Returns 0 if the point lies within the rectangle.
-	 * Positions are in screen coordinates (ie: a point is to the upper-left of the
-	 * rectangle if its x and y coordinates are smaller than any point in the rectangle)
-	 *  
-	 * @param boundary normalized boundary rectangle 
-	 * @param toTest point whose relative position to the rectangle is being computed
-	 * @return one of SWT.LEFT | SWT.TOP, SWT.TOP, SWT.RIGHT | SWT.TOP, SWT.LEFT, 0,
-	 * SWT.RIGHT, SWT.LEFT | SWT.BOTTOM, SWT.BOTTOM, SWT.RIGHT | SWT.BOTTOM
-	 * @since 3.0
-	 */
-	public static int getRelativePosition(Rectangle boundary, Point toTest) {
-		int result = 0;
-		
-		if (toTest.x < boundary.x) {
-			result |= SWT.LEFT;
-		} else if (toTest.x >= boundary.x + boundary.width) {
-			result |= SWT.RIGHT;
-		} 
-		
-		if (toTest.y < boundary.y) {
-			result |= SWT.TOP;
-		} else if (toTest.y >= boundary.y + boundary.height) {
-			result |= SWT.BOTTOM;
-		}
-		
-		return result;
-	}
-	
-	/**
-	 * Returns the edge of the given rectangle is closest to the given
-	 * point.
-	 * 
-	 * @param boundary rectangle to test
-	 * @param toTest point to compare
-	 * @return one of SWT.LEFT, SWT.RIGHT, SWT.TOP, or SWT.BOTTOM
-	 * 
-	 * @since 3.0
-	 */
-	public static int getClosestSide(Rectangle boundary, Point toTest) {
-		int[] sides = new int[] {SWT.LEFT, SWT.RIGHT, SWT.TOP, SWT.BOTTOM};
-		
-		int closestSide = SWT.LEFT;
-		int closestDistance = Integer.MAX_VALUE;
-		
-		for (int idx = 0; idx < sides.length; idx++) {
-			int side = sides[idx];
-			
-			int distance = getDistanceFromEdge(boundary, toTest, side);
-			
-			if (distance < closestDistance) {
-				closestDistance = distance;
-				closestSide = side;
-			}
-		}
-		
-		return closestSide;
-	}
-
-	/**
-	 * Returns a copy of the given rectangle
-	 * 
-	 * @param toCopy rectangle to copy
-	 * @return a copy of the given rectangle
-	 * @since 3.0
-	 */
-	public static Rectangle copy(Rectangle toCopy) {
-		return new Rectangle(toCopy.x, toCopy.y, toCopy.width, toCopy.height);
-	}
-	
-	/**
-	 * Returns the size of the rectangle, as a Point
-	 * 
-	 * @param rectangle rectangle whose size is being computed
-	 * @return the size of the given rectangle
-	 * @since 3.0
-	 */
-	public static Point getSize(Rectangle rectangle) {
-		return new Point(rectangle.width, rectangle.height);
-	}
-	
-	/**
-	 * Sets the size of the given rectangle to the given size
-	 * 
-	 * @param rectangle rectangle to modify
-	 * @param newSize new size of the rectangle
-	 * @since 3.0
-	 */
-	public static void setSize(Rectangle rectangle, Point newSize) {
-		rectangle.width = newSize.x;
-		rectangle.height = newSize.y;
-	}
-	
-	/**
-	 * Sets the x,y position of the given rectangle. For a normalized
-	 * rectangle (a rectangle with positive width and height), this will
-	 * be the upper-left corner of the rectangle. 
-	 * 
-	 * @param rectangle rectangle to modify
-	 * @param newSize new size of the rectangle
-	 * 
-	 * @since 3.0
-	 */
-	public static void setLocation(Rectangle rectangle, Point newSize) {
-		rectangle.width = newSize.x;
-		rectangle.height = newSize.y;
-	}
-	
-	/**
-	 * Returns the x,y position of the given rectangle. For normalized rectangles
-	 * (rectangles with positive width and height), this is the upper-left
-	 * corner of the rectangle.
-	 * 
-	 * @param toQuery rectangle to query
-	 * @return a Point containing the x,y position of the rectangle
-	 * 
-	 * @since 3.0
-	 */
-	public static Point getLocation(Rectangle toQuery) {
-		return new Point(toQuery.x, toQuery.y);
-	}
-
-	/**
-	 * Returns a new rectangle with the given position and dimensions, expressed
-	 * as points.
-	 * 
-	 * @param position the (x,y) position of the rectangle
-	 * @param size the size of the new rectangle, where (x,y) -> (width, height)
-	 * @return a new Rectangle with the given position and size
-	 * 
-	 * @since 3.0
-	 */
-	public static Rectangle createRectangle(Point position, Point size) {
-		return new Rectangle(position.x, position.y, size.x, size.y);
-	}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/util/IOpenEventListener.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/util/IOpenEventListener.java
deleted file mode 100644
index cf33317..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/util/IOpenEventListener.java
+++ /dev/null
@@ -1,37 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.util;
-import org.eclipse.swt.events.SelectionEvent;
-/**
- * Listener for open events which are generated on selection
- * of default selection depending on the user preferences.
- * 
- * <p>
- * Usage:
- * <pre>
- *	OpenStrategy handler = new OpenStrategy(control);
- *	handler.addOpenListener(new IOpenEventListener() {
- *		public void handleOpen(SelectionEvent e) {
- *			... // code to handle the open event.
- *		}
- *	});
- * </pre>
- * </p>
- *
- * @see OpenStrategy
- */
-public interface IOpenEventListener {
-	/**
-	 * Called when a selection or default selection occurs 
-	 * depending on the user preference. 
-	 */
-	public void handleOpen(SelectionEvent e);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/util/IPropertyChangeListener.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/util/IPropertyChangeListener.java
deleted file mode 100644
index e071dd4..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/util/IPropertyChangeListener.java
+++ /dev/null
@@ -1,44 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.util;
-
-import java.util.EventListener;
-
-/**
- * Listener for property changes.
- * <p>
- * Usage:
- * <pre>
- * IPropertyChangeListener listener =
- *   new IPropertyChangeListener() {
- *      public void propertyChange(PropertyChangeEvent event) {
- *         ... // code to deal with occurrence of property change
- *      }
- *   };
- * emitter.addPropertyChangeListener(listener);
- * ...
- * emitter.removePropertyChangeListener(listener);
- * </pre>
- * </p>
- */
-public interface IPropertyChangeListener extends EventListener {
-/**
- * Notification that a property has changed.
- * <p>
- * This method gets called when the observed object fires a property
- * change event.
- * </p>
- *
- * @param event the property change event object describing which property
- * changed and how
- */
-public void propertyChange(PropertyChangeEvent event);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/util/ListenerList.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/util/ListenerList.java
deleted file mode 100644
index 7f0a07c..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/util/ListenerList.java
+++ /dev/null
@@ -1,178 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.util;
-
-
-/**
- * This class is used to maintain a list of listeners, and
- * is used in the implementations of several classes within JFace
- * which allow you to register listeners of various kinds.
- * It is a fairly lightweight object, occupying minimal space when
- * no listeners are registered.
- * <p>
- * Note that the <code>add</code> method checks for and eliminates 
- * duplicates based on identity (not equality).  Likewise, the
- * <code>remove</code> method compares based on identity.
- * </p>
- * <p>
- * Use the <code>getListeners</code> method when notifying listeners.
- * Note that no garbage is created if no listeners are registered.
- * The recommended code sequence for notifying all registered listeners
- * of say, <code>FooListener.eventHappened</code>, is:
- * <pre>
- * Object[] listeners = myListenerList.getListeners();
- * for (int i = 0; i < listeners.length; ++i) {
- *    ((FooListener) listeners[i]).eventHappened(event);
- * }
- * </pre>
- * </p>
- */
-public class ListenerList {
-	/**
-	 * The initial capacity of the list. Always >= 1.
-	 */
-	private int capacity;
-
-	/**
-	 * The current number of listeners.
-	 * Maintains invariant: 0 <= size <= listeners.length.
-	 */
-	private int size;
-
-	/**
-	 * The list of listeners.  Initially <code>null</code> but initialized
-	 * to an array of size capacity the first time a listener is added.
-	 * Maintains invariant: listeners != null IFF size != 0
-	 */
-	private Object[] listeners = null;
-
-	/**
-	 * The empty array singleton instance, returned by getListeners()
-	 * when size == 0.
-	 */
-	private static final Object[] EmptyArray = new Object[0];
-	
-	/**
-	 * Creates a listener list with an initial capacity of 1.
-	 */
-	public ListenerList() {
-		this(1);
-	}
-	
-	/**
-	 * Creates a listener list with the given initial capacity.
-	 *
-	 * @param capacity the number of listeners which this list can initially accept 
-	 *    without growing its internal representation; must be at least 1
-	 */
-	public ListenerList(int capacity) {
-		Assert.isTrue(capacity >= 1);
-		this.capacity = capacity;
-	}
-	
-	/**
-	 * Adds the given listener to this list. Has no effect if an identical listener
-	 * is already registered.
-	 *
-	 * @param listener the listener
-	 */
-	public void add(Object listener) {
-		Assert.isNotNull(listener);
-		if (size == 0) {
-			listeners = new Object[capacity];
-		} else {
-			// check for duplicates using identity
-			for (int i = 0; i < size; ++i) {
-				if (listeners[i] == listener) {
-					return;
-				}
-			}
-			// grow array if necessary
-			if (size == listeners.length) {
-				System.arraycopy(listeners, 0, listeners = new Object[size * 2 + 1], 0, size);
-			}
-		}
-		
-		listeners[size] = listener;
-		size++;
-	}
-
-	/**
-	 * Removes all listeners from this list.
-	 */
-	public void clear() {
-		size = 0;
-		listeners = null;
-	}
-
-	/**
-	 * Returns an array containing all the registered listeners,
-	 * in the order in which they were added.
-	 * <p>
-	 * The resulting array is unaffected by subsequent adds or removes.
-	 * If there are no listeners registered, the result is an empty array
-	 * singleton instance (no garbage is created).
-	 * Use this method when notifying listeners, so that any modifications
-	 * to the listener list during the notification will have no effect on the
-	 * notification itself.
-	 * </p>
-	 *
-	 * @return the list of registered listeners
-	 */
-	public Object[] getListeners() {
-		if (size == 0)
-			return EmptyArray;
-		Object[] result = new Object[size];
-		System.arraycopy(listeners, 0, result, 0, size);
-		return result;
-	}
-	
-	/**
-	 * Returns whether this listener list is empty.
-	 *
-	 * @return <code>true</code> if there are no registered listeners, and
-	 *   <code>false</code> otherwise
-	 */
-	public boolean isEmpty() {
-		return size == 0;
-	}
-	
-	/**
-	 * Removes the given listener from this list. Has no effect if an identical
-	 * listener was not already registered.
-	 *
-	 * @param listener the listener
-	 */
-	public void remove(Object listener) {
-		Assert.isNotNull(listener);
-		for (int i = 0; i < size; ++i) {
-			if (listeners[i] == listener) {
-				if (size == 1) {
-					listeners = null;
-					size = 0;
-				} else {
-					System.arraycopy(listeners, i + 1, listeners, i, --size - i);
-					listeners[size] = null;
-				}
-				return;
-			}
-		}
-	}
-	
-	/**
-	 * Returns the number of registered listeners.
-	 *
-	 * @return the number of registered listeners
-	 */
-	public int size() {
-		return size;
-	}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/util/OpenStrategy.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/util/OpenStrategy.java
deleted file mode 100644
index 54f4904..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/util/OpenStrategy.java
+++ /dev/null
@@ -1,403 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.util;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.TableTree;
-import org.eclipse.swt.custom.TableTreeItem;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.*;
-/**
- * Implementation of single-click and double-click strategies.
- * <p>
- * Usage:
- * <pre>
- *	OpenStrategy handler = new OpenStrategy(control);
- *	handler.addOpenListener(new IOpenEventListener() {
- *		public void handleOpen(SelectionEvent e) {
- *			... // code to handle the open event.
- *		}
- *	});
- * </pre>
- * </p>
- */
-public class OpenStrategy {
-	/** 
-	 * Default behavior. Double click to open the item.
-	 */
-	public static final int DOUBLE_CLICK = 0;
-	/** 
-	 * Single click will open the item.
-	 */
-	public static final int SINGLE_CLICK = 1;
-	/** 
-	 * Hover will select the item.
-	 */
-	public static final int SELECT_ON_HOVER = 1 << 1;
-	/**
-	 * Open item when using arrow keys
-	 */
-	public static final int ARROW_KEYS_OPEN = 1 << 2;
-	/** A single click will generate
-	 * an open event but key arrows will not do anything.
-	 * 
-	 * @deprecated
-	 */
-	public static final int NO_TIMER = SINGLE_CLICK;
-	/** A single click will generate an open
-	 * event and key arrows will generate an open event after a
-	 * small time.
-	 * 
-	 * @deprecated
-	 */
-	public static final int FILE_EXPLORER = SINGLE_CLICK | ARROW_KEYS_OPEN;
-	/** Pointing to an item will change the selection
-	 * and a single click will gererate an open event
-	 * 
-	 * @deprecated
-	 */
-	public static final int ACTIVE_DESKTOP = SINGLE_CLICK | SELECT_ON_HOVER;		
-	
-	// Time used in FILE_EXPLORER and ACTIVE_DESKTOP
-	private static final int TIME = 500;
-	
-	/* SINGLE_CLICK or DOUBLE_CLICK;
-	 * In case of SINGLE_CLICK, the bits SELECT_ON_HOVER and ARROW_KEYS_OPEN
-	 * my be set as well. */
-	private static int CURRENT_METHOD = DOUBLE_CLICK;
-	
-	private Listener eventHandler;
-	
-	private ListenerList openEventListeners = new ListenerList(1);
-	private ListenerList selectionEventListeners = new ListenerList(1);
-	private ListenerList postSelectionEventListeners = new ListenerList(1);
-	
-	public OpenStrategy(Control control) {
-		initializeHandler(control.getDisplay());
-		addListener(control);
-	}
-	/**
-	 * Adds an IOpenEventListener to the collection of openEventListeners
-	 */
-	public void addOpenListener(IOpenEventListener listener) {
-		openEventListeners.add(listener);
-	}
-	/**
-	 * Removes an IOpenEventListener to the collection of openEventListeners
-	 */
-	public void removeOpenListener(IOpenEventListener listener) {
-		openEventListeners.remove(listener);
-	}
-	/**
-	 * Adds an SelectionListener to the collection of selectionEventListeners
-	 */
-	public void addSelectionListener(SelectionListener listener) {
-		selectionEventListeners.add(listener);
-	}
-	/**
-	 * Removes an SelectionListener to the collection of selectionEventListeners
-	 */
-	public void removeSelectionListener(SelectionListener listener) {
-		selectionEventListeners.remove(listener);
-	}
-	/**
-	 * Adds an SelectionListener to the collection of selectionEventListeners
-	 */
-	public void addPostSelectionListener(SelectionListener listener) {
-		postSelectionEventListeners.add(listener);
-	}
-	/**
-	 * Removes an SelectionListener to the collection of selectionEventListeners
-	 */
-	public void removePostSelectionListener(SelectionListener listener) {
-		postSelectionEventListeners.remove(listener);
-	}	
-	/**
-	 * Returns the current used single/double-click method
-	 * 
-	 * This method is internal to the framework; it should not be implemented outside
-	 * the framework.
-	 */
-	public static int getOpenMethod() {
-		return CURRENT_METHOD;
-	}
-	/**
-	 * Set the current used single/double-click method.
-	 * 
-	 * This method is internal to the framework; it should not be implemented outside
-	 * the framework.
-	 */
-	public static void setOpenMethod(int method) {
-		if(method == DOUBLE_CLICK) {
-			CURRENT_METHOD = method;
-			return;
-		}
-		if((method & SINGLE_CLICK) == 0)
-			throw new IllegalArgumentException("Invalid open mode"); //$NON-NLS-1$
-		if((method & (SINGLE_CLICK | SELECT_ON_HOVER | ARROW_KEYS_OPEN)) == 0)
-			throw new IllegalArgumentException("Invalid open mode"); //$NON-NLS-1$
-		CURRENT_METHOD = method;
-	}
-	/**
-	 * Return true if editors should be activated when opened.
-	 */
-	public static boolean activateOnOpen() {
-		return getOpenMethod() == DOUBLE_CLICK;
-	}
-	/*
-	 * Adds all needed listener to the control in order to implement
-	 * single-click/double-click strategies.
-	 */ 
-	private void addListener(Control c) {
-		c.addListener(SWT.MouseEnter,eventHandler);
-		c.addListener(SWT.MouseExit,eventHandler);
-		c.addListener(SWT.MouseMove,eventHandler);
-		c.addListener(SWT.MouseDown, eventHandler);
-		c.addListener(SWT.MouseUp, eventHandler);
-		c.addListener(SWT.KeyDown, eventHandler);
-		c.addListener(SWT.Selection, eventHandler);
-		c.addListener(SWT.DefaultSelection, eventHandler);
-		c.addListener(SWT.Collapse, eventHandler);
-		c.addListener(SWT.Expand, eventHandler);
-	}
-	/*
-	 * Fire the selection event to all selectionEventListeners
-	 */ 
-	private void fireSelectionEvent(SelectionEvent e) {
-		if(e.item != null && e.item.isDisposed())
-			return;
-		Object l[] = selectionEventListeners.getListeners();
-		for (int i = 0; i < l.length; i++) {
-			((SelectionListener)l[i]).widgetSelected(e);
-		}
-	}
-	/*
-	 * Fire the default selection event to all selectionEventListeners
-	 */ 
-	private void fireDefaultSelectionEvent(SelectionEvent e) {
-		Object l[] = selectionEventListeners.getListeners();
-		for (int i = 0; i < l.length; i++) {
-			((SelectionListener)l[i]).widgetDefaultSelected(e);
-		}
-	}	
-	/*
-	 * Fire the post selection event to all postSelectionEventListeners
-	 */ 
-	private void firePostSelectionEvent(SelectionEvent e) {
-		if(e.item != null && e.item.isDisposed())
-			return;
-		Object l[] = postSelectionEventListeners.getListeners();
-		for (int i = 0; i < l.length; i++) {
-			((SelectionListener)l[i]).widgetSelected(e);
-		}
-	}		
-	/*
-	 * Fire the open event to all openEventListeners
-	 */ 
-	private void fireOpenEvent(SelectionEvent e) {
-		if(e.item != null && e.item.isDisposed())
-			return;
-		Object l[] = openEventListeners.getListeners();
-		for (int i = 0; i < l.length; i++) {
-			((IOpenEventListener)l[i]).handleOpen(e);
-		}
-	}
-	
-	//Initialize event handler.
-	private void initializeHandler(final Display display) {
-		eventHandler = new Listener() {
-			boolean timerStarted = false;
-			Event mouseUpEvent = null;
-			Event mouseMoveEvent = null;
-			SelectionEvent selectionPendent = null;
-			boolean enterKeyDown = false;
-			SelectionEvent defaultSelectionPendent = null;
-
-			boolean arrowKeyDown = false;
-			final int[] count = new int[1];
-			
-			long startTime = System.currentTimeMillis();
-			
-			boolean collapseOccurred = false;
-			boolean expandOccurred = false;
-
-			public void handleEvent(final Event e) {
-				if(e.type == SWT.DefaultSelection) {
-					SelectionEvent event = new SelectionEvent(e);
-					fireDefaultSelectionEvent(event);
-					if(CURRENT_METHOD == DOUBLE_CLICK) {
-						fireOpenEvent(event);
-					} else {
-						if(enterKeyDown) {
-							fireOpenEvent(event);
-							enterKeyDown = false;
-							defaultSelectionPendent = null;
-						} else {
-							defaultSelectionPendent = event;
-						}
-					}
-					return;
-				}
-				
-				switch (e.type) {			
-					case SWT.MouseEnter:
-					case SWT.MouseExit:
-						mouseUpEvent = null;
-						mouseMoveEvent = null;
-						selectionPendent = null;
-						break;
-					case SWT.MouseMove:
-						if((CURRENT_METHOD & SELECT_ON_HOVER) == 0)
-							return;
-						if(e.stateMask != 0)
-							return;
-						if(e.widget.getDisplay().getFocusControl() != e.widget)
-							return;							
-						mouseMoveEvent = e;
-						final Runnable runnable[] = new Runnable[1];
-						runnable[0] = new Runnable() {
-							public void run() {
-								long time = System.currentTimeMillis();
-								int diff = (int)(time - startTime);
-								if(diff <= TIME) {
-									display.timerExec(diff * 2 / 3,runnable[0]);
-								} else {
-									timerStarted = false;
-									setSelection(mouseMoveEvent);
-								}
-							}
-						};
-						startTime = System.currentTimeMillis();
-						if(!timerStarted) {
-							timerStarted = true;
-							display.timerExec(TIME * 2 / 3,runnable[0]);
-						}
-						break;
-					case SWT.MouseDown :
-						mouseUpEvent = null;
-						arrowKeyDown = false;
-						break;
-					case SWT.Expand:
-						expandOccurred = true;
-						break;
-					case SWT.Collapse:
-						collapseOccurred = true;
-						break;
-					case SWT.MouseUp:
-						mouseMoveEvent = null;
-						if((e.button != 1) || ((e.stateMask & ~SWT.BUTTON1) != 0))
-							return;
-						if (selectionPendent != null && !(collapseOccurred || expandOccurred)) {
-							mouseSelectItem(selectionPendent);
-						}
-						else {
-							mouseUpEvent = e;
-							collapseOccurred = false;
-							expandOccurred = false;
-						}
-						break;
-					case SWT.KeyDown:
-						mouseMoveEvent = null;
-						mouseUpEvent = null;
-						arrowKeyDown = ((e.keyCode == SWT.ARROW_UP) || (e.keyCode == SWT.ARROW_DOWN)) && e.stateMask == 0;
-						if(e.character == SWT.CR) {
-							if(defaultSelectionPendent != null) {
-								fireOpenEvent(new SelectionEvent(e));
-								enterKeyDown = false;
-								defaultSelectionPendent = null;
-							} else {
-								enterKeyDown = true;
-							}
-						}	
-						break;
-					case SWT.Selection:
-						SelectionEvent event = new SelectionEvent(e);
-						fireSelectionEvent(event);
-						mouseMoveEvent = null;
-						if (mouseUpEvent != null)
-							mouseSelectItem(event);
-						else
-							selectionPendent = event;
-						count[0]++;
-						// In the case of arrowUp/arrowDown when in the arrowKeysOpen mode, we
-						// want to delay any selection until the last arrowDown/Up occurs.  This
-						// handles the case where the user presses arrowDown/Up successively.
-						// We only want to open an editor for the last selected item.
-						display.asyncExec(new Runnable() {
-							public void run() {
-								if (arrowKeyDown) {
-									display.timerExec(TIME, new Runnable() {
-										int id = count[0];
-										public void run() {
-											if (id == count[0]) {
-												firePostSelectionEvent(new SelectionEvent(e));
-												if((CURRENT_METHOD & ARROW_KEYS_OPEN) != 0)
-													fireOpenEvent(new SelectionEvent(e));
-											}
-										}
-									});
-								} else {
-									firePostSelectionEvent(new SelectionEvent(e));
-								}
-							}
-						});
-						break;
-				}
-			}
-
-			void mouseSelectItem(SelectionEvent e) {
-				if((CURRENT_METHOD & SINGLE_CLICK) != 0)
-					fireOpenEvent(e);
-				mouseUpEvent = null;
-				selectionPendent = null;
-			}
-			void setSelection(Event e) {
-				if(e == null)
-					return;				
-				Widget w = e.widget;
-				if(w.isDisposed())
-					return;
-
-				SelectionEvent selEvent = new SelectionEvent(e);
-									
-				/*ISSUE: May have to create a interface with method:
-				setSelection(Point p) so that user's custom widgets 
-				can use this class. If we keep this option. */
-				if(w instanceof Tree) {
-					Tree tree = (Tree)w;
-					TreeItem item = tree.getItem(new Point(e.x,e.y));
-					if(item != null)
-						tree.setSelection(new TreeItem[]{item});
-					selEvent.item = item;
-				} else if(w instanceof Table) {
-					Table table = (Table)w;
-					TableItem item = table.getItem(new Point(e.x,e.y));
-					if(item != null)
-						table.setSelection(new TableItem[]{item});
-					selEvent.item = item;						
-				} else if(w instanceof TableTree) {
-					TableTree table = (TableTree)w;
-					TableTreeItem item = table.getItem(new Point(e.x,e.y));
-					if(item != null)
-						table.setSelection(new TableTreeItem[]{item});
-					selEvent.item = item;
-				} else {
-					return;
-				}
-				if(selEvent.item == null)
-					return;
-				fireSelectionEvent(selEvent);
-				firePostSelectionEvent(selEvent);
-			}
-		};
-	}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/util/Policy.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/util/Policy.java
deleted file mode 100644
index a22c03e..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/util/Policy.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.util;
-import org.eclipse.core.runtime.ILog;
-import org.eclipse.core.runtime.ILogListener;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.osgi.framework.Bundle;
-/**
- * The Policy class is a class to handle debug flags within the JFace plug-in.
- * @since 3.0
- */
-public class Policy {
-	
-	/**
-	 * Constant for the the default setting for debug options.
-	 */
-	public static final boolean DEFAULT = false;
-	/**
-	 * Constant for the first segment of jface debug option
-	 * names.
-	 */
-	public static final String JFACE = "org.eclipse.jface";//$NON-NLS-1$
-	private static ILog log;
-	
-	/**
-	 * A flag to indicate whether unparented dialogs should
-	 * be checked.
-	 */
-	public static boolean DEBUG_DIALOG_NO_PARENT = DEFAULT;
-	
-	/**
-	 * A flag to indicate whether actions are being traced.
-	 */
-	public static boolean TRACE_ACTIONS = DEFAULT;
-	
-	/**
-	 * A flag to indicate whether toolbars are being traced.
-	 */
-	
-	public static boolean TRACE_TOOLBAR = DEFAULT;
-	static {
-		if (getDebugOption("/debug")) { //$NON-NLS-1$
-			DEBUG_DIALOG_NO_PARENT = getDebugOption("/debug/dialog/noparent"); //$NON-NLS-1$
-			TRACE_ACTIONS = getDebugOption("/trace/actions"); //$NON-NLS-1$
-			TRACE_TOOLBAR = getDebugOption("/trace/toolbarDisposal"); //$NON-NLS-1$
-		}
-	}
-	
-	/**
-	 * Get the dummy log to use if none has been set
-	 * @return ILog
-	 */
-	private static ILog getDummyLog() {
-		return new ILog() {
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.core.runtime.ILog#addLogListener(org.eclipse.core.runtime.ILogListener)
-			 */
-			public void addLogListener(ILogListener listener) {
-				// Do nothing as this is a dummy placeholder
-			}
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.core.runtime.ILog#getBundle()
-			 */
-			public Bundle getBundle() {
-				//Do nothing as this is a dummy placeholder
-				return null;
-			}
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.core.runtime.ILog#log(org.eclipse.core.runtime.IStatus)
-			 */
-			public void log(IStatus status) {
-				System.err.println(status.getMessage());
-			}
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.core.runtime.ILog#removeLogListener(org.eclipse.core.runtime.ILogListener)
-			 */
-			public void removeLogListener(ILogListener listener) {
-				//Do nothing as this is a dummy placeholder
-			}
-		};
-	}
-	private static boolean getDebugOption(String option) {
-		if(Platform.isRunning())
-			return "true".equalsIgnoreCase(Platform.getDebugOption(JFACE + option)); //$NON-NLS-1$
-		return false;
-	}
-	
-	/**
-	 * Set the log to be forwarding log.
-	 * @param forwardingLog
-	 */
-	public static void setLog(ILog forwardingLog){
-		log = forwardingLog;
-	}
-	/**
-	 * Return the log the receiver is using.
-	 * @return
-	 */
-	public static ILog getLog(){
-		if (log == null)
-			log = getDummyLog();
-		return log;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/util/PropertyChangeEvent.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/util/PropertyChangeEvent.java
deleted file mode 100644
index ed48a1e..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/util/PropertyChangeEvent.java
+++ /dev/null
@@ -1,96 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.util;
-
-import java.util.EventObject;
-
-/**
- * An event object describing a change to a named property.
- * <p>
- * This concrete class was designed to be instantiated, but may
- * also be subclassed if required.
- * </p>
- * <p>
- * The JFace frameworks contain classes that report property 
- * change events for internal state changes that may be of interest
- * to external parties. A special listener interface
- * (<code>IPropertyChangeListener</code>) is defined for this purpose,
- * and a typical class allow listeners to be registered via
- * an <code>addPropertyChangeListener</code> method.
- * </p>
- *
- * @see IPropertyChangeListener
- */
-public class PropertyChangeEvent extends EventObject {
-
-	/**
-	 * The name of the changed property.
-	 */
-	private String propertyName;
-
-	/**
-	 * The old value of the changed property, or <code>null</code> if
-	 * not known or not relevant.
-	 */
-	private Object oldValue;
-
-	/**
-	 * The new value of the changed property, or <code>null</code> if
-	 * not known or not relevant.
-	 */
-	private Object newValue;
-/**
- * Creates a new property change event.
- *
- * @param source the object whose property has changed
- * @param property the property that has changed (must not be <code>null</code>)
- * @param oldValue the old value of the property, or <code>null</code> if none
- * @param newValue the new value of the property, or <code>null</code> if none
- */
-public PropertyChangeEvent(Object source, String property, Object oldValue, Object newValue) {
-	super(source);
-	Assert.isNotNull(property);
-	this.propertyName = property;
-	this.oldValue = oldValue;
-	this.newValue = newValue;
-}
-/**
- * Returns the new value of the property.
- *
- * @return the new value, or <code>null</code> if not known
- *  or not relevant
- */
-public Object getNewValue() {
-	return newValue;
-}
-/**
- * Returns the old value of the property.
- *
- * @return the old value, or <code>null</code> if not known
- *  or not relevant
- */
-public Object getOldValue() {
-	return oldValue;
-}
-/**
- * Returns the name of the property that changed.
- * <p>
- * Warning: there is no guarantee that the property name returned
- * is a constant string.  Callers must compare property names using
- * equals, not ==.
- * </p>
- *
- * @return the name of the property that changed
- */
-public String getProperty() {
-	return propertyName;
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/util/SafeRunnable.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/util/SafeRunnable.java
deleted file mode 100644
index 212dafd..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/util/SafeRunnable.java
+++ /dev/null
@@ -1,79 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.util;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.resource.JFaceResources;
-
-/**
- * Implements a default implementation of ISafeRunnable.
- * The default implementation of <code>handleException</code>
- * opens a message dialog.
- * <p><b>Note:<b> This class can open an error dialog and should not 
- *  be used outside of the UI Thread.</p>
- */
-public abstract class SafeRunnable implements ISafeRunnable {
-	private String message;
-	private static boolean ignoreErrors = false;
-
-/**
- * Creates a new instance of SafeRunnable with a default error message.
- */
-public SafeRunnable() {
-    // do nothing
-}
-
-/**
- * Creates a new instance of SafeRunnable with the given error message.
- * 
- * @param message the error message to use
- */
-public SafeRunnable(String message) {
-	this.message = message;
-}
-
-/* (non-Javadoc)
- * Method declared on ISafeRunnable.
- */
-public void handleException(Throwable e) {
-	// Workaround to avoid interactive error dialogs during automated testing
-	if (!ignoreErrors) {
-		if(message == null)
-			message = JFaceResources.getString("SafeRunnable.errorMessage"); //$NON-NLS-1$
-		MessageDialog.openError(null, JFaceResources.getString("Error"), message); //$NON-NLS-1$
-	}
-}
-
-/**
- * Flag to avoid interactive error dialogs during automated testing.
- * @deprecated use getIgnoreErrors()
- */
-public static boolean getIgnoreErrors(boolean flag) {
-	return ignoreErrors;
-}
-
-/**
- * Flag to avoid interactive error dialogs during automated testing.
- * 
- * @since 3.0
- */
-public static boolean getIgnoreErrors() {
-	return ignoreErrors;
-}
-
-/**
- * Flag to avoid interactive error dialogs during automated testing.
- */
-public static void setIgnoreErrors(boolean flag) {
-	ignoreErrors = flag;
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/util/TransferDragSourceListener.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/util/TransferDragSourceListener.java
deleted file mode 100644
index b3d76be..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/util/TransferDragSourceListener.java
+++ /dev/null
@@ -1,44 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.util;
-
-import org.eclipse.swt.dnd.DragSourceListener;
-import org.eclipse.swt.dnd.Transfer;
-
-/**
- * A <code>TransferDragSourceListener</code> is a <code>DragSourceListener</code> 
- * that can handle one type of SWT {@link Transfer}. 
- * The purpose of a <code>TransferDragSourceListener</code> is to:
- * <ul>
- *   <li>Determine enablement for a drag operation. A <code>TransferDragSourceListener</code>
- * 	will not be used in a drag operation if the <code>DragSourceEvent#doit</code> field 
- * 	is set to false in <code>DragSourceListener#dragStart(DragSourceEvent)</code>.
- *   <li>Set data for a single type of drag and <code>Transfer</code> type.
- * </ul>
- * <p>
- * A <code>DelegatingDragAdapter</code> allows these functions to be implemented 
- * separately for unrelated types of drags. <code>DelegatingDragAdapter</code> then 
- * combines the function of each <code>TransferDragSourceListener</code>, while 
- * allowing them to be implemented as if they were the only <code>DragSourceListener</code>.
- * </p>
-  * <p>
- * NOTE: This API is experimental and subject to change including removal.
- * </p>
-* @since 2.2
- */
-public interface TransferDragSourceListener extends DragSourceListener {
-	/**
-	 * Returns the <code>Transfer</code> type that this listener can provide data for.
-	 * 
-	 * @return the <code>Transfer</code> associated with this listener
-	 */
-	Transfer getTransfer();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/util/TransferDropTargetListener.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/util/TransferDropTargetListener.java
deleted file mode 100644
index da6e2a6..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/util/TransferDropTargetListener.java
+++ /dev/null
@@ -1,57 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.util;
-
-import org.eclipse.swt.dnd.*;
-
-/**
- * A <code>TransferDropTargetListener</code> is a <code>DropTragetListener</code> 
- * that handles one type of SWT {@link Transfer}. 
- * The purpose of a <code>TransferDropTargetListener</code> is to:
- * <ul>
- *   <li>Determine enablement for a drop operation. A <code>TransferDropTargetListener</code>
- * 		will not be used if <code>isEnabled</code> returns false. 
- *   <li>When enabled, optionally show feedback on the <code>DropTarget</code>.
- *   <li>Perform the actual drop
- * </ul>
- * A <code>DelegatingDropAdapter</code> allows these functions to be implemented 
- * separately for unrelated types of drags. <code>DelegatingDropAdapter</code> then 
- * combines the function of each <code>TransferDropTargetListener</code>, while 
- * allowing them to be implemented as if they were the only <code>DragSourceListener</code>.
-  * <p>
- * NOTE: This API is experimental and subject to change including removal.
- * </p>
- * @since 2.2
-*/
-public interface TransferDropTargetListener extends DropTargetListener {
-	/**
-	 * Returns the <code>Transfer</code> type that this listener can 
-	 * accept a drop operation for.
-	 * 
-	 * @return the <code>Transfer</code> for this listener
-	 */
-	Transfer getTransfer();
-	/**
-	 * Returns <code>true</code> if this listener can handle the drop
-	 * based on the given <code>DropTargetEvent</code>.
-	 * <p>
-	 * This method is called by the <code>DelegatingDropAdapter</code> only
-	 * if the <code>DropTargetEvent</code> contains a transfer data type
-	 * supported by this listener. The <code>Transfer</code> returned by the 
-	 * <code>#getTransfer()</code> method is used for this purpose.
-	 * </p>
-	 * 
-	 * @param event the drop target event
-	 * @return <code>true</code> if the listener is enabled for the given
-	 * 	drop target event.
-	 */
-	boolean isEnabled(DropTargetEvent event);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/util/package.html b/bundles/org.eclipse.jface/src/org/eclipse/jface/util/package.html
deleted file mode 100644
index ef2e922..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/util/package.html
+++ /dev/null
@@ -1,15 +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 useful building blocks used throughout JFace,
-including property change events, a listener list implementation, and runtime
-checked assertions.
-<br>&nbsp;
-</body>
-</html>
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractListViewer.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractListViewer.java
deleted file mode 100644
index ef9d91b..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractListViewer.java
+++ /dev/null
@@ -1,408 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.viewers;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Widget;
-
-/**
- * Abstract base class for viewers that contain lists of items (such as a combo or list).
- * Most of the viewer implementation is in this base class, except for the minimal code that
- * actually communicates with the underlying widget.
- * 
- * @see org.eclipse.jface.viewers.ListViewer
- * @see org.eclipse.jface.viewers.ComboViewer
- * 
- * @since 3.0
- */
-public abstract class AbstractListViewer extends StructuredViewer {
-
-/**
- * A list of viewer elements (element type: <code>Object</code>).
- */
-private java.util.List listMap = new ArrayList();
-
-/**
- * Adds the given string to the underlying widget at the given index
- *  
- * @param string the string to add
- * @param index position to insert the string into
- */
-protected abstract void listAdd(String string, int index);
-
-/**
- * Sets the text of the item at the given index in the underlying widget.
- * 
- * @param index index to modify
- * @param string new text
- */
-protected abstract void listSetItem(int index, String string);
-
-/**
- * Returns the zero-relative indices of the items which are currently
- * selected in the underlying widget.  The array is empty if no items are selected.
- * <p>
- * Note: This is not the actual structure used by the receiver
- * to maintain its selection, so modifying the array will
- * not affect the receiver. 
- * </p>
- * @return the array of indices of the selected items
- */
-protected abstract int[] listGetSelectionIndices();
-
-/**
- * Returns the number of items contained in the underlying widget.
- *
- * @return the number of items
- */
-protected abstract int listGetItemCount();
-
-/**
- * Sets the underlying widget's items to be the given array of items.
- *
- * @param items the array of items
- */
-protected abstract void listSetItems(String[] labels);
-
-/**
- * Removes all of the items from the underlying widget.
- */
-protected abstract void listRemoveAll();
-
-/**
- * Removes the item from the underlying widget at the given
- * zero-relative index.
- * 
- * @param index the index for the item
- */
-protected abstract void listRemove(int index);
-
-/**
- * Selects the items at the given zero-relative indices in the underlying widget.
- * The current selection is cleared before the new items are selected.
- * <p>
- * Indices that are out of range and duplicate indices are ignored.
- * If the receiver is single-select and multiple indices are specified,
- * then all indices are ignored.
- *
- * @param ixs the indices of the items to select
- */
-protected abstract void listSetSelection(int[] ixs);
-
-/**
- * Shows the selection.  If the selection is already showing in the receiver,
- * this method simply returns.  Otherwise, the items are scrolled until
- * the selection is visible.
- */
-protected abstract void listShowSelection();
-
-/**
- * Deselects all selected items in the underlying widget.
- */
-protected abstract void listDeselectAll();
-
-/**
- * Adds the given elements to this list viewer.
- * If this viewer does not have a sorter, the elements are added at the end
- * in the order given; otherwise the elements are inserted at appropriate positions.
- * <p>
- * This method should be called (by the content provider) when elements 
- * have been added to the model, in order to cause the viewer to accurately
- * reflect the model. This method only affects the viewer, not the model.
- * </p>
- *
- * @param elements the elements to add
- */
-public void add(Object[] elements) {
-	assertElementsNotNull(elements);
-	Object[] filtered = filter(elements);
-	ILabelProvider labelProvider = (ILabelProvider) getLabelProvider();
-	for (int i = 0; i < filtered.length; i++){
-		Object element = filtered[i];
-		int ix = indexForElement(element);
-		listAdd(labelProvider.getText(element), ix);
-		listMap.add(ix, element);
-		mapElement(element, getControl()); // must map it, since findItem only looks in map, if enabled
-	}
-}
-/**
- * Adds the given element to this list viewer.
- * If this viewer does not have a sorter, the element is added at the end;
- * otherwise the element is inserted at the appropriate position.
- * <p>
- * This method should be called (by the content provider) when a single element 
- * has been added to the model, in order to cause the viewer to accurately
- * reflect the model. This method only affects the viewer, not the model.
- * Note that there is another method for efficiently processing the simultaneous
- * addition of multiple elements.
- * </p>
- *
- * @param element the element
- */
-public void add(Object element) {
-	add(new Object[] { element });
-}
-/* (non-Javadoc)
- * Method declared on StructuredViewer.
- * Since SWT.List doesn't use items we always return the List itself.
- */
-protected Widget doFindInputItem(Object element) {
-	if (element != null && equals(element, getRoot()))
-		return getControl();
-	return null;
-}
-/* (non-Javadoc)
- * Method declared on StructuredViewer.
- * Since SWT.List doesn't use items we always return the List itself.
- */
-protected Widget doFindItem(Object element) {
-	if (element != null) {
-		if (listMap.contains(element))
-			return getControl();
-	}
-	return null;
-}
-/* (non-Javadoc)
- * Method declared on StructuredViewer.
- */
-protected void doUpdateItem(Widget data, Object element, boolean fullMap) {
-	if (element != null) {
-		int ix = listMap.indexOf(element);
-		if (ix >= 0) {
-			ILabelProvider labelProvider = (ILabelProvider) getLabelProvider();
-			listSetItem(ix, labelProvider.getText(element));
-		}
-	}
-}
-/* (non-Javadoc)
- * Method declared on Viewer.
- */
-public abstract Control getControl();
-/**
- * Returns the element with the given index from this list viewer.
- * Returns <code>null</code> if the index is out of range.
- *
- * @param index the zero-based index
- * @return the element at the given index, or <code>null</code> if the
- *   index is out of range
- */
-public Object getElementAt(int index) {
-	if (index >= 0 && index < listMap.size())
-		return listMap.get(index);
-	return null;
-}
-/**
- * The list viewer implementation of this <code>Viewer</code> framework
- * method returns the label provider, which in the case of list
- * viewers will be an instance of <code>ILabelProvider</code>.
- */
-public IBaseLabelProvider getLabelProvider() {
-	return super.getLabelProvider();
-}
-
-/* (non-Javadoc)
- * Method declared on Viewer.
- */
-/* (non-Javadoc)
- * Method declared on StructuredViewer.
- */
-protected List getSelectionFromWidget() {
-	int[] ixs = listGetSelectionIndices();
-	ArrayList list = new ArrayList(ixs.length);
-	for (int i = 0; i < ixs.length; i++) {
-		Object e = getElementAt(ixs[i]);
-		if (e != null)
-			list.add(e);
-	}
-	return list;
-}
-/*
- * Returns the index where the item should be inserted.
-*/
-protected int indexForElement(Object element) {
-	ViewerSorter sorter = getSorter();
-	if(sorter == null)
-		return listGetItemCount();
-	int count = listGetItemCount();
-	int min = 0, max = count - 1;
-	while (min <= max) {
-		int mid = (min + max) / 2;
-		Object data = listMap.get(mid);
-		int compare = sorter.compare(this, data, element);
-		if (compare == 0) {
-			// find first item > element
-			while (compare == 0) {
-				++mid;
-				if (mid >= count) {
-					break;
-				}
-				data = listMap.get(mid);
-				compare = sorter.compare(this, data, element);
-			}
-			return mid;
-		}
-		if (compare < 0)
-			min = mid + 1;
-		else
-			max = mid - 1;
-	}
-	return min;
-}
-/* (non-Javadoc)
- * Method declared on Viewer.
- */
-protected void inputChanged(Object input, Object oldInput) {
-	listMap.clear();
-	Object[] children = getSortedChildren(getRoot());
-	int size = children.length;
-
-	listRemoveAll();
-	String[] labels = new String[size];
-	for (int i = 0; i < size; i++) {
-		Object el = children[i];
-		labels[i] = ((ILabelProvider) getLabelProvider()).getText(el);
-		listMap.add(el);
-		mapElement(el, getControl()); // must map it, since findItem only looks in map, if enabled
-	}
-	listSetItems(labels);
-}
-
-/* (non-Javadoc)
- * Method declared on StructuredViewer.
- */
-protected void internalRefresh(Object element) {
-
-	Control list = getControl();
-	if (element == null || equals(element, getRoot())) {
-		// the parent
-		if (listMap != null)
-			listMap.clear();
-		unmapAllElements();
-		List selection = getSelectionFromWidget();
-
-		list.setRedraw(false);
-		listRemoveAll();
-		Object[] children = getSortedChildren(getRoot());
-		ILabelProvider labelProvider= (ILabelProvider) getLabelProvider();
-		for (int i= 0; i < children.length; i++) {
-			Object el = children[i];
-			listAdd(labelProvider.getText(el), i);
-			listMap.add(el);
-			mapElement(el, list); // must map it, since findItem only looks in map, if enabled
-		}
-		list.setRedraw(true);
-		setSelectionToWidget(selection, false);
-	} else {
-		doUpdateItem(list, element, true);
-	}
-}
-/**
- * Removes the given elements from this list viewer.
- *
- * @param elements the elements to remove
- */
-private void internalRemove(final Object[] elements) {
-	Object input = getInput();
-	for (int i = 0; i < elements.length; ++i) {
-	    if (equals(elements[i], input)) {
-		    setInput(null);
-		    return;
-	    }
-		int ix = listMap.indexOf(elements[i]);
-		if (ix >= 0) {
-			listRemove(ix);
-			listMap.remove(ix);
-			unmapElement(elements[i], getControl());
-		}
-	}
-}
-/**
- * Removes the given elements from this list viewer.
- * The selection is updated if required.
- * <p>
- * This method should be called (by the content provider) when elements 
- * have been removed from the model, in order to cause the viewer to accurately
- * reflect the model. This method only affects the viewer, not the model.
- * </p>
- *
- * @param elements the elements to remove
- */
-public void remove(final Object[] elements) {
-	assertElementsNotNull(elements);
-	preservingSelection(new Runnable() {
-		public void run() {
-			internalRemove(elements);
-		}
-	});
-}
-/**
- * Removes the given element from this list viewer.
- * The selection is updated if necessary.
- * <p>
- * This method should be called (by the content provider) when a single element 
- * has been removed from the model, in order to cause the viewer to accurately
- * reflect the model. This method only affects the viewer, not the model.
- * Note that there is another method for efficiently processing the simultaneous
- * removal of multiple elements.
- * </p>
- *
- * @param element the element
- */
-public void remove(Object element) {
-	remove(new Object[] { element });
-}
-
-/**
- * The list viewer implementation of this <code>Viewer</code> framework
- * method ensures that the given label provider is an instance
- * of <code>ILabelProvider</code>.
- */
-public void setLabelProvider(IBaseLabelProvider labelProvider) {
-	Assert.isTrue(labelProvider instanceof ILabelProvider);
-	super.setLabelProvider(labelProvider);
-}
-
-/* (non-Javadoc)
- * Method declared on StructuredViewer.
- */
-protected void setSelectionToWidget(List in, boolean reveal) {
-	if (in == null || in.size() == 0) { // clear selection
-		listDeselectAll();
-	} else {
-		int n = in.size();
-		int[] ixs = new int[n];
-		int count = 0;
-		for (int i = 0; i < n; ++i) {
-			Object el = in.get(i);
-			int ix = listMap.indexOf(el);
-			if (ix >= 0)
-				ixs[count++] = ix;
-		}
-		if (count < n) {
-			System.arraycopy(ixs, 0, ixs = new int[count], 0, count);
-		}
-		listSetSelection(ixs);
-		if (reveal) {
-			listShowSelection();
-		}	
-	}
-}
-
-int getElementIndex(Object element) {
-	return listMap.indexOf(element);
-}
-
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractTreeViewer.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractTreeViewer.java
deleted file mode 100644
index aa2aaf7..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractTreeViewer.java
+++ /dev/null
@@ -1,1649 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.viewers;
-
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.List;
-
-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.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.events.TreeEvent;
-import org.eclipse.swt.events.TreeListener;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Widget;
-
-/**
- * Abstract base implementation for tree-structure-oriented viewers (trees and
- * table trees).
- * <p>
- * Nodes in the tree can be in either an expanded or a collapsed state,
- * depending on whether the children on a node are visible. This class
- * introduces public methods for controlling the expanding and collapsing of
- * nodes.
- * </p>
- * <p>
- * Content providers for abstract tree viewers must implement the <code>ITreeContentProvider</code>
- * interface.
- * </p>
- * 
- * @see TreeViewer
- * @see TableTreeViewer
- */
-public abstract class AbstractTreeViewer extends StructuredViewer {
-
-	/**
-	 * Constant indicating that all levels of the tree should be expanded or
-	 * collapsed.
-	 * 
-	 * @see #expandToLevel
-	 * @see #collapseToLevel
-	 */
-	public static final int ALL_LEVELS = -1;
-
-	/**
-	 * List of registered tree listeners (element type: <code>TreeListener</code>). */
-	private ListenerList treeListeners = new ListenerList(1);
-
-	/**
-	 * The level to which the tree is automatically expanded each time the
-	 * viewer's input is changed (that is, by <code>setInput</code>). A
-	 * value of 0 means that auto-expand is off.
-	 * 
-	 * @see #setAutoExpandLevel
-	 */
-	private int expandToLevel = 0;
-
-	/**
-	 * Safe runnable used to update an item.
-	 */
-	class UpdateItemSafeRunnable extends SafeRunnable {
-		private Object element;
-		private Item item;
-	    UpdateItemSafeRunnable(Item item, Object element) {
-	        this.item = item;
-	        this.element = element;
-	    }
-		public void run() {
-			doUpdateItem(item, element);
-		}
-	}
-
-	/**
-	 * Creates an abstract tree viewer. The viewer has no input, no content
-	 * provider, a default label provider, no sorter, no filters, and has
-	 * auto-expand turned off.
-	 */
-	protected AbstractTreeViewer() {
-	    // do nothing
-	}
-	/**
-	 * Adds the given child elements to this viewer as children of the given
-	 * parent element. If this viewer does not have a sorter, the elements are
-	 * added at the end of the parent's list of children in the order given;
-	 * otherwise, the elements are inserted at the appropriate positions.
-	 * <p>
-	 * This method should be called (by the content provider) when elements
-	 * have been added to the model, in order to cause the viewer to accurately
-	 * reflect the model. This method only affects the viewer, not the model.
-	 * </p>
-	 * 
-	 * @param parentElement
-	 *           the parent element
-	 * @param childElements
-	 *           the child elements to add
-	 */
-	public void add(Object parentElement, Object[] childElements) {
-		Assert.isNotNull(parentElement);
-		assertElementsNotNull(childElements);
-		
-		Widget widget = findItem(parentElement);
-		// If parent hasn't been realized yet, just ignore the add.
-		if (widget == null)
-			return;
-
-		Control tree = getControl();
-
-		// optimization!
-		// if the widget is not expanded we just invalidate the subtree
-		if (widget instanceof Item) {
-			Item ti = (Item) widget;
-			if (!getExpanded(ti)) {
-				boolean needDummy = isExpandable(parentElement);
-				boolean haveDummy = false;
-				// remove all children
-				Item[] items = getItems(ti);
-				for (int i = 0; i < items.length; i++) {
-					if (items[i].getData() != null) {
-						disassociate(items[i]);
-						items[i].dispose();
-					} else {
-						if (needDummy && !haveDummy) {
-							haveDummy = true;
-						} else {
-							items[i].dispose();
-						}
-					}
-				}
-				// append a dummy if necessary
-				if (needDummy && !haveDummy) {
-					newItem(ti, SWT.NULL, -1);
-				} else {
-					// XXX: Workaround (PR missing)
-					tree.redraw();
-				}
-
-				return;
-			}
-		}
-
-		if (childElements.length > 0) {
-			Object[] filtered = filter(childElements);
-			for (int i = 0; i < filtered.length; i++) {
-				createAddedElement(widget,filtered[i]);				
-			}
-		}
-	}
-	
-	/**
-	 * Create the new element in the parent widget. If the
-	 * child already exists do nothing.
-	 * @param widget
-	 * @param element
-	 */
-	private void createAddedElement(Widget widget, Object element){
-		
-		if(equals(element,widget.getData()))
-			return;
-		
-		Item[] items = getChildren(widget); 
-		for(int i = 0; i < items.length; i++){
-			if(items[i].getData().equals(element))
-				return;
-		}				
-		
-		int index = indexForElement(widget, element);
-		createTreeItem(widget, element, index);
-	}
-
-	/**
-	 * Returns the index where the item should be inserted.
-	 * 
-	 * @param parent
-	 *           The parent widget the element will be inserted into.
-	 * @param element
-	 *           The element to insert.
-	 * @return int
-	 */
-	protected int indexForElement(Widget parent, Object element) {
-		ViewerSorter sorter = getSorter();
-		Item[] items = getChildren(parent);
-
-		if (sorter == null)
-			return items.length;
-		int count = items.length;
-		int min = 0, max = count - 1;
-
-		while (min <= max) {
-			int mid = (min + max) / 2;
-			Object data = items[mid].getData();
-			int compare = sorter.compare(this, data, element);
-			if (compare == 0) {
-				// find first item > element
-				while (compare == 0) {
-					++mid;
-					if (mid >= count) {
-						break;
-					}
-					data = items[mid].getData();
-					compare = sorter.compare(this, data, element);
-				}
-				return mid;
-			}
-			if (compare < 0)
-				min = mid + 1;
-			else
-				max = mid - 1;
-		}
-		return min;
-	}
-	/**
-	 * Adds the given child element to this viewer as a child of the given
-	 * parent element. If this viewer does not have a sorter, the element is
-	 * added at the end of the parent's list of children; otherwise, the
-	 * element is inserted at the appropriate position.
-	 * <p>
-	 * This method should be called (by the content provider) when a single
-	 * element has been added to the model, in order to cause the viewer to
-	 * accurately reflect the model. This method only affects the viewer, not
-	 * the model. Note that there is another method for efficiently processing
-	 * the simultaneous addition of multiple elements.
-	 * </p>
-	 * 
-	 * @param parentElement
-	 *           the parent element
-	 * @param childElement
-	 *           the child element
-	 */
-	public void add(Object parentElement, Object childElement) {
-		add(parentElement, new Object[] { childElement });
-	}
-	/**
-	 * Adds the given SWT selection listener to the given SWT control.
-	 * 
-	 * @param control
-	 *           the SWT control
-	 * @param listener
-	 *           the SWT selection listener
-	 * @deprecated
-	 */
-	protected void addSelectionListener(
-		Control control,
-		SelectionListener listener) {
-	    // do nothing
-	}
-	/**
-	 * Adds a listener for expand and collapse events in this viewer. Has no
-	 * effect if an identical listener is already registered.
-	 * 
-	 * @param listener
-	 *           a tree viewer listener
-	 */
-	public void addTreeListener(ITreeViewerListener listener) {
-		treeListeners.add(listener);
-	}
-	/**
-	 * Adds the given SWT tree listener to the given SWT control.
-	 * 
-	 * @param control
-	 *           the SWT control
-	 * @param listener
-	 *           the SWT tree listener
-	 */
-	protected abstract void addTreeListener(
-		Control control,
-		TreeListener listener);
-
-	/* (non-Javadoc) @see StructuredViewer#associate(Object, Item) */
-	protected void associate(Object element, Item item) {
-		Object data = item.getData();
-		if (data != null && data != element && equals(data, element)) {
-			// workaround for PR 1FV62BT
-			// assumption: elements are equal but not identical
-			// -> remove from map but don't touch children
-			unmapElement(data, item);
-			item.setData(element);
-			mapElement(element, item);
-		} else {
-			// recursively disassociate all
-			super.associate(element, item);
-		}
-	}
-
-	/**
-	 * Collapses all nodes of the viewer's tree, starting with the root. This
-	 * method is equivalent to <code>collapseToLevel(ALL_LEVELS)</code>.
-	 */
-	public void collapseAll() {
-		Object root = getRoot();
-		if (root != null) {
-			collapseToLevel(root, ALL_LEVELS);
-		}
-	}
-	/**
-	 * Collapses the subtree rooted at the given element to the given level.
-	 * 
-	 * @param element
-	 *           the element
-	 * @param level
-	 *           non-negative level, or <code>ALL_LEVELS</code> to collapse
-	 *           all levels of the tree
-	 */
-	public void collapseToLevel(Object element, int level) {
-		Assert.isNotNull(element);
-		Widget w = findItem(element);
-		if (w != null)
-			internalCollapseToLevel(w, level);
-	}
-	/**
-	 * Creates all children for the given widget.
-	 * <p>
-	 * The default implementation of this framework method assumes that <code>widget.getData()</code>
-	 * returns the element corresponding to the node. Note: the node is not
-	 * visually expanded! You may have to call <code>parent.setExpanded(true)</code>.
-	 * </p>
-	 * 
-	 * @param widget
-	 *           the widget
-	 */
-	protected void createChildren(final Widget widget) {
-		final Item[] tis = getChildren(widget);
-		if (tis != null && tis.length > 0) {
-			Object data = tis[0].getData();
-			if (data != null)
-				return; // children already there!
-		}
-
-		BusyIndicator.showWhile(widget.getDisplay(), new Runnable() {
-			public void run() {
-				// fix for PR 1FW89L7:
-				// don't complain and remove all "dummies" ...
-				if (tis != null) {
-					for (int i = 0; i < tis.length; i++) {
-						if (tis[i].getData() != null){
-							disassociate(tis[i]);
-							Assert.isTrue(tis[i].getData() == null, "Second or later child is non -null");//$NON-NLS-1$
-							
-						}
-						tis[i].dispose();
-					}
-				}
-				Object d = widget.getData();
-				if (d != null) {
-					Object parentElement = d;
-					Object[] children = getSortedChildren(parentElement);
-					for (int i = 0; i < children.length; i++) {
-						createTreeItem(widget, children[i], -1);
-					}
-				}
-			}
-		});
-	}
-	/**
-	 * Creates a single item for the given parent and synchronizes it with the
-	 * given element.
-	 * 
-	 * @param parent
-	 *           the parent widget
-	 * @param element
-	 *           the element
-	 * @param index
-	 *           if non-negative, indicates the position to insert the item
-	 *           into its parent
-	 */
-	protected void createTreeItem(Widget parent, Object element, int index) {
-		Item item = newItem(parent, SWT.NULL, index);
-		updateItem(item, element);
-		updatePlus(item, element);
-	}
-	/**
-	 * The <code>AbstractTreeViewer</code> implementation of this method also
-	 * recurses over children of the corresponding element.
-	 */
-	protected void disassociate(Item item) {
-		super.disassociate(item);
-		// recursively unmapping the items is only required when
-		// the hash map is used. In the other case disposing
-		// an item will recursively dispose its children.
-		if (usingElementMap())
-			disassociateChildren(item);
-	}
-	/**
-	 * Disassociates the children of the given SWT item from their
-	 * corresponding elements.
-	 * 
-	 * @param item
-	 *           the widget
-	 */
-	private void disassociateChildren(Item item) {
-		Item[] items = getChildren(item);
-		for (int i = 0; i < items.length; i++) {
-			if (items[i].getData() != null)
-				disassociate(items[i]);
-		}
-	}
-	/* (non-Javadoc) Method declared on StructuredViewer. */
-	protected Widget doFindInputItem(Object element) {
-		// compare with root
-		Object root = getRoot();
-		if (root == null)
-			return null;
-
-		if (equals(root, element))
-			return getControl();
-		return null;
-	}
-	/* (non-Javadoc) Method declared on StructuredViewer. */
-	protected Widget doFindItem(Object element) {
-		// compare with root
-		Object root = getRoot();
-		if (root == null)
-			return null;
-
-		Item[] items = getChildren(getControl());
-		if (items != null) {
-			for (int i = 0; i < items.length; i++) {
-				Widget o = internalFindItem(items[i], element);
-				if (o != null)
-					return o;
-			}
-		}
-		return null;
-	}
-	/**
-	 * Copies the attributes of the given element into the given SWT item.
-	 * 
-	 * @param item
-	 *           the SWT item
-	 * @param element
-	 *           the element
-	 */
-	protected abstract void doUpdateItem(Item item, Object element);
-	/* (non-Javadoc) Method declared on StructuredViewer. */
-	protected void doUpdateItem(
-		Widget widget,
-		Object element,
-		boolean fullMap) {
-		if (widget instanceof Item) {
-			Item item = (Item) widget;
-
-			// ensure that backpointer is correct
-			if (fullMap) {
-				associate(element, item);
-			} else {
-				item.setData(element);
-				mapElement(element, item);
-			}
-
-			// update icon and label
-			Platform.run(new UpdateItemSafeRunnable(item, element));
-		}
-	}
-	/**
-	 * Expands all nodes of the viewer's tree, starting with the root. This
-	 * method is equivalent to <code>expandToLevel(ALL_LEVELS)</code>.
-	 */
-	public void expandAll() {
-		expandToLevel(ALL_LEVELS);
-	}
-	/**
-	 * Expands the root of the viewer's tree to the given level.
-	 * 
-	 * @param level
-	 *           non-negative level, or <code>ALL_LEVELS</code> to expand all
-	 *           levels of the tree
-	 */
-	public void expandToLevel(int level) {
-		expandToLevel(getRoot(), level);
-	}
-	/**
-	 * Expands all ancestors of the given element so that the given element
-	 * becomes visible in this viewer's tree control, and then expands the
-	 * subtree rooted at the given element to the given level.
-	 * 
-	 * @param element
-	 *           the element
-	 * @param level
-	 *           non-negative level, or <code>ALL_LEVELS</code> to expand all
-	 *           levels of the tree
-	 */
-	public void expandToLevel(Object element, int level) {
-		Widget w = internalExpand(element, true);
-		if (w != null)
-			internalExpandToLevel(w, level);
-	}
-	/**
-	 * Fires a tree collapsed event. Only listeners registered at the time this
-	 * method is called are notified.
-	 * 
-	 * @param event
-	 *           the tree expansion event
-	 * @see ITreeViewerListener#treeCollapsed
-	 */
-	protected void fireTreeCollapsed(final TreeExpansionEvent event) {
-		Object[] listeners = treeListeners.getListeners();
-		for (int i = 0; i < listeners.length; ++i) {
-			final ITreeViewerListener l = (ITreeViewerListener) listeners[i];
-			Platform.run(new SafeRunnable() {
-				public void run() {
-					l.treeCollapsed(event);
-				}
-			});
-		}
-	}
-	/**
-	 * Fires a tree expanded event. Only listeners registered at the time this
-	 * method is called are notified.
-	 * 
-	 * @param event
-	 *           the tree expansion event
-	 * @see ITreeViewerListener#treeExpanded
-	 */
-	protected void fireTreeExpanded(final TreeExpansionEvent event) {
-		Object[] listeners = treeListeners.getListeners();
-		for (int i = 0; i < listeners.length; ++i) {
-			final ITreeViewerListener l = (ITreeViewerListener) listeners[i];
-			Platform.run(new SafeRunnable() {
-				public void run() {
-					l.treeExpanded(event);
-				}
-			});
-		}
-
-	}
-	/**
-	 * Returns the auto-expand level.
-	 * 
-	 * @return non-negative level, or <code>ALL_LEVELS</code> if all levels
-	 *         of the tree are expanded automatically
-	 * @see #setAutoExpandLevel
-	 */
-	public int getAutoExpandLevel() {
-		return expandToLevel;
-	}
-	/**
-	 * Returns the SWT child items for the given SWT widget.
-	 * 
-	 * @param widget
-	 *           the widget
-	 * @return the child items
-	 */
-	protected abstract Item[] getChildren(Widget widget);
-	/**
-	 * Returns whether the given SWT item is expanded or collapsed.
-	 * 
-	 * @param item
-	 *           the item
-	 * @return <code>true</code> if the item is considered expanded and
-	 *         <code>false</code> if collapsed
-	 */
-	protected abstract boolean getExpanded(Item item);
-	/**
-	 * Returns a list of elements corresponding to expanded nodes in this
-	 * viewer's tree, including currently hidden ones that are marked as
-	 * expanded but are under a collapsed ancestor.
-	 * <p>
-	 * This method is typically used when preserving the interesting state of a
-	 * viewer; <code>setExpandedElements</code> is used during the restore.
-	 * </p>
-	 * 
-	 * @return the array of expanded elements
-	 * @see #setExpandedElements
-	 */
-	public Object[] getExpandedElements() {
-		ArrayList v = new ArrayList();
-		internalCollectExpanded(v, getControl());
-		return v.toArray();
-	}
-	/**
-	 * Returns whether the node corresponding to the given element is expanded
-	 * or collapsed.
-	 * 
-	 * @param element
-	 *           the element
-	 * @return <code>true</code> if the node is expanded, and <code>false</code>
-	 *         if collapsed
-	 */
-	public boolean getExpandedState(Object element) {
-		Assert.isNotNull(element);
-		Widget item = findItem(element);
-		if (item instanceof Item)
-			return getExpanded((Item) item);
-		return false;
-	}
-	/**
-	 * Returns the number of child items of the given SWT control.
-	 * 
-	 * @param control
-	 *           the control
-	 * @return the number of children
-	 */
-	protected abstract int getItemCount(Control control);
-	/**
-	 * Returns the number of child items of the given SWT item.
-	 * 
-	 * @param item
-	 *           the item
-	 * @return the number of children
-	 */
-	protected abstract int getItemCount(Item item);
-	/**
-	 * Returns the child items of the given SWT item.
-	 * 
-	 * @param item
-	 *           the item
-	 * @return the child items
-	 */
-	protected abstract Item[] getItems(Item item);
-	/**
-	 * Returns the item after the given item in the tree, or <code>null</code>
-	 * if there is no next item.
-	 * 
-	 * @param item
-	 *           the item
-	 * @param includeChildren
-	 *           <code>true</code> if the children are considered in
-	 *           determining which item is next, and <code>false</code> if
-	 *           subtrees are ignored
-	 * @return the next item, or <code>null</code> if none
-	 */
-	protected Item getNextItem(Item item, boolean includeChildren) {
-		if (item == null) {
-			return null;
-		}
-		if (includeChildren && getExpanded(item)) {
-			Item[] children = getItems(item);
-			if (children != null && children.length > 0) {
-				return children[0];
-			}
-		}
-
-		//next item is either next sibling or next sibling of first
-		//parent that has a next sibling.
-		Item parent = getParentItem(item);
-		if (parent == null) {
-			return null;
-		}
-		Item[] siblings = getItems(parent);
-		if (siblings != null && siblings.length <= 1) {
-			return getNextItem(parent, false);
-		}
-		for (int i = 0; i < siblings.length; i++) {
-			if (siblings[i] == item && i < (siblings.length - 1)) {
-				return siblings[i + 1];
-			}
-		}
-		return getNextItem(parent, false);
-	}
-	/**
-	 * Returns the parent item of the given item in the tree, or <code>null</code>
-	 * if there is parent item.
-	 * 
-	 * @param item
-	 *           the item
-	 * @return the parent item, or <code>null</code> if none
-	 */
-	protected abstract Item getParentItem(Item item);
-	/**
-	 * Returns the item before the given item in the tree, or <code>null</code>
-	 * if there is no previous item.
-	 * 
-	 * @param item
-	 *           the item
-	 * @return the previous item, or <code>null</code> if none
-	 */
-	protected Item getPreviousItem(Item item) {
-		//previous item is either right-most visible descendent of previous
-		//sibling or parent
-		Item parent = getParentItem(item);
-		if (parent == null) {
-			return null;
-		}
-		Item[] siblings = getItems(parent);
-		if (siblings.length == 0 || siblings[0] == item) {
-			return parent;
-		}
-		Item previous = siblings[0];
-		for (int i = 1; i < siblings.length; i++) {
-			if (siblings[i] == item) {
-				return rightMostVisibleDescendent(previous);
-			}
-			previous = siblings[i];
-		}
-		return null;
-	}
-	/* (non-Javadoc) Method declared on StructuredViewer. */
-	protected Object[] getRawChildren(Object parent) {
-		if (parent != null) {
-			if (equals(parent, getRoot()))
-				return super.getRawChildren(parent);
-			ITreeContentProvider cp =
-				(ITreeContentProvider) getContentProvider();
-			if (cp != null) {
-				Object[] result = cp.getChildren(parent);
-				if (result != null)
-					return result;
-			}
-		}
-		return new Object[0];
-	}
-	/**
-	 * Returns all selected items for the given SWT control.
-	 * 
-	 * @param control
-	 *           the control
-	 * @return the list of selected items
-	 */
-	protected abstract Item[] getSelection(Control control);
-	/* (non-Javadoc) Method declared on StructuredViewer. */
-	protected List getSelectionFromWidget() {
-		Widget[] items = getSelection(getControl());
-		ArrayList list = new ArrayList(items.length);
-		for (int i = 0; i < items.length; i++) {
-			Widget item = items[i];
-			Object e = item.getData();
-			if (e != null)
-				list.add(e);
-		}
-		return list;
-	}
-	/**
-	 * Handles a tree collapse event from the SWT widget.
-	 * 
-	 * @param event
-	 *           the SWT tree event
-	 */
-	protected void handleTreeCollapse(TreeEvent event) {
-		if (event.item.getData() != null) {
-			fireTreeCollapsed(
-				new TreeExpansionEvent(this, event.item.getData()));
-		}
-	}
-	/**
-	 * Handles a tree expand event from the SWT widget.
-	 * 
-	 * @param event
-	 *           the SWT tree event
-	 */
-	protected void handleTreeExpand(TreeEvent event) {
-		createChildren(event.item);
-		if (event.item.getData() != null) {
-			fireTreeExpanded(
-				new TreeExpansionEvent(this, event.item.getData()));
-		}
-	}
-	/* (non-Javadoc) Method declared on Viewer. */
-	protected void hookControl(Control control) {
-		super.hookControl(control);
-		addTreeListener(control, new TreeListener() {
-			public void treeExpanded(TreeEvent event) {
-				handleTreeExpand(event);
-			}
-			public void treeCollapsed(TreeEvent event) {
-				handleTreeCollapse(event);
-			}
-		});
-	}
-	/*
-	 * (non-Javadoc) Method declared on StructuredViewer. Builds the initial
-	 * tree and handles the automatic expand feature.
-	 */
-	protected void inputChanged(Object input, Object oldInput) {
-		preservingSelection(new Runnable() {
-			public void run() {
-				Control tree = getControl();
-				boolean useRedraw = true;
-				// (size > REDRAW_THRESHOLD) || (table.getItemCount() >
-				// REDRAW_THRESHOLD);
-				if (useRedraw)
-					tree.setRedraw(false);
-				removeAll(tree);
-				tree.setData(getRoot());
-				createChildren(tree);
-				internalExpandToLevel(tree, expandToLevel);
-				if (useRedraw)
-					tree.setRedraw(true);
-			}
-		});
-	}
-	/**
-	 * Recursively collapses the subtree rooted at the given widget to the
-	 * given level.
-	 * <p>
-	 * </p>
-	 * Note that the default implementation of this method does not call <code>setRedraw</code>.
-	 * 
-	 * @param widget
-	 *           the widget
-	 * @param level
-	 *           non-negative level, or <code>ALL_LEVELS</code> to collapse
-	 *           all levels of the tree
-	 */
-	protected void internalCollapseToLevel(Widget widget, int level) {
-		if (level == ALL_LEVELS || level > 0) {
-
-			if (widget instanceof Item)
-				setExpanded((Item) widget, false);
-
-			if (level == ALL_LEVELS || level > 1) {
-				Item[] children = getChildren(widget);
-				if (children != null) {
-					int nextLevel =
-						(level == ALL_LEVELS ? ALL_LEVELS : level - 1);
-					for (int i = 0; i < children.length; i++)
-						internalCollapseToLevel(children[i], nextLevel);
-				}
-			}
-		}
-	}
-	/**
-	 * Recursively collects all expanded elements from the given widget.
-	 * 
-	 * @param result
-	 *           a list (element type: <code>Object</code>) into which to
-	 *           collect the elements
-	 * @param widget
-	 *           the widget
-	 */
-	private void internalCollectExpanded(List result, Widget widget) {
-		Item[] items = getChildren(widget);
-		for (int i = 0; i < items.length; i++) {
-			Item item = items[i];
-			if (getExpanded(item)) {
-				Object data = item.getData();
-				if (data != null)
-					result.add(data);
-			}
-			internalCollectExpanded(result, item);
-		}
-	}
-	/**
-	 * Tries to create a path of tree items for the given element. This method
-	 * recursively walks up towards the root of the tree and assumes that
-	 * <code>getParent</code> returns the correct parent of an element.
-	 * 
-	 * @param element
-	 *           the element
-	 * @param expand
-	 *           <code>true</code> if all nodes on the path should be
-	 *           expanded, and <code>false</code> otherwise
-	 * @return Widget
-	 */
-	protected Widget internalExpand(Object element, boolean expand) {
-
-		if (element == null)
-			return null;
-
-		Widget w = findItem(element);
-		if (w == null) {
-			if (equals(element, getRoot())) { // stop at root
-				return null;
-			}
-			// my parent has to create me
-			ITreeContentProvider cp =
-				(ITreeContentProvider) getContentProvider();
-			if (cp == null) {
-				return null;
-			}
-			Object parent = cp.getParent(element);
-			if (parent != null) {
-				Widget pw = internalExpand(parent, expand);
-				if (pw != null) {
-					// let my parent create me
-					createChildren(pw);
-					// expand parent and find me
-					if (pw instanceof Item) {
-						Item item = (Item) pw;
-						if (expand)
-							setExpanded(item, true);
-						w = internalFindChild(item, element);
-					}
-				}
-			}
-		}
-		return w;
-	}
-	/**
-	 * Recursively expands the subtree rooted at the given widget to the given
-	 * level.
-	 * <p>
-	 * </p>
-	 * Note that the default implementation of this method does not call <code>setRedraw</code>.
-	 * 
-	 * @param widget
-	 *           the widget
-	 * @param level
-	 *           non-negative level, or <code>ALL_LEVELS</code> to collapse
-	 *           all levels of the tree
-	 */
-	protected void internalExpandToLevel(Widget widget, int level) {
-		if (level == ALL_LEVELS || level > 0) {
-			createChildren(widget);
-			if (widget instanceof Item)
-				setExpanded((Item) widget, true);
-			if (level == ALL_LEVELS || level > 1) {
-				Item[] children = getChildren(widget);
-				if (children != null) {
-					int newLevel =
-						(level == ALL_LEVELS ? ALL_LEVELS : level - 1);
-					for (int i = 0; i < children.length; i++)
-						internalExpandToLevel(children[i], newLevel);
-				}
-			}
-		}
-	}
-	/**
-	 * Non-recursively tries to find the given element as a child of the given
-	 * parent item.
-	 * 
-	 * @param parent
-	 *           the parent item
-	 * @param element
-	 *           the element
-	 * @return Widget
-	 */
-	private Widget internalFindChild(Item parent, Object element) {
-		Item[] items = getChildren(parent);
-		for (int i = 0; i < items.length; i++) {
-			Item item = items[i];
-			Object data = item.getData();
-			if (data != null && equals(data, element))
-				return item;
-		}
-		return null;
-	}
-	/**
-	 * Recursively tries to find the given element.
-	 * 
-	 * @param parent
-	 *           the parent item
-	 * @param element
-	 *           the element
-	 * @return Widget
-	 */
-	private Widget internalFindItem(Item parent, Object element) {
-
-		// compare with node
-		Object data = parent.getData();
-		if (data != null) {
-			if (equals(data, element))
-				return parent;
-		}
-		// recurse over children
-		Item[] items = getChildren(parent);
-		for (int i = 0; i < items.length; i++) {
-			Item item = items[i];
-			Widget o = internalFindItem(item, element);
-			if (o != null)
-				return o;
-		}
-		return null;
-	}
-	/* (non-Javadoc) Method declared on StructuredViewer. */
-	protected void internalRefresh(Object element) {
-		internalRefresh(element, true);
-	}
-	/* (non-Javadoc) Method declared on StructuredViewer. */
-	protected void internalRefresh(Object element, boolean updateLabels) {
-		// If element is null, do a full refresh.
-		if (element == null) {
-			internalRefresh(getControl(), getRoot(), true, updateLabels);
-			return;
-		}
-		Widget item = findItem(element);
-		if (item != null) {
-			// pick up structure changes too
-			internalRefresh(item, element, true, updateLabels);
-		}
-	}
-	/**
-	 * Refreshes the tree starting at the given widget.
-	 * 
-	 * @param widget
-	 *           the widget
-	 * @param element
-	 *           the element
-	 * @param doStruct
-	 *           <code>true</code> if structural changes are to be picked up,
-	 *           and <code>false</code> if only label provider changes are of
-	 *           interest
-	 * @param updateLabels
-	 *           <code>true</code> to update labels for existing elements,
-	 *           <code>false</code> to only update labels as needed, assuming
-	 *           that labels for existing elements are unchanged.
-	 */
-	private void internalRefresh(
-		Widget widget,
-		Object element,
-		boolean doStruct,
-		boolean updateLabels) {
-
-		if (widget instanceof Item) {
-			if (doStruct) {
-				updatePlus((Item) widget, element);
-			}
-			if (updateLabels || !equals(element, widget.getData())) {
-				doUpdateItem(widget, element, true);
-			} else {
-				associate(element, (Item) widget);
-			}
-		}
-
-		if (doStruct) {
-			internalRefreshStruct(widget, element, updateLabels);
-		} else {
-			Item[] children = getChildren(widget);
-			if (children != null) {
-				for (int i = 0; i < children.length; i++) {
-					Widget item = children[i];
-					Object data = item.getData();
-					if (data != null)
-						internalRefresh(item, data, doStruct, updateLabels);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Update the structure and recurse. Items are updated in updateChildren,
-	 * as needed.
-	 * @param widget
-	 * @param element
-	 * @param updateLabels
-	 */
-	private void internalRefreshStruct(
-		Widget widget,
-		Object element,
-		boolean updateLabels) {
-		updateChildren(widget, element, null, updateLabels);
-		Item[] children = getChildren(widget);
-		if (children != null) {
-			for (int i = 0; i < children.length; i++) {
-				Widget item = children[i];
-				Object data = item.getData();
-				if (data != null)
-					internalRefreshStruct(item, data, updateLabels);
-			}
-		}
-	}
-
-	/**
-	 * Removes the given elements from this viewer.
-	 * 
-	 * @param elements
-	 *           the elements to remove
-	 */
-	private void internalRemove(Object[] elements) {
-		Object input = getInput();
-		// Note: do not use the comparer here since the hashtable
-		// contains SWT Items, not model elements.
-		CustomHashtable parentItems = new CustomHashtable(5);
-		for (int i = 0; i < elements.length; ++i) {
-			if (equals(elements[i], input)) {
-				setInput(null);
-				return;
-			}
-			Widget childItem = findItem(elements[i]);
-			if (childItem instanceof Item) {
-				Item parentItem = getParentItem((Item) childItem);
-				if (parentItem != null) {
-					parentItems.put(parentItem, parentItem);
-				}
-				disassociate((Item) childItem);
-				childItem.dispose();
-			}
-		}
-		Control tree = getControl();
-		for (Enumeration e = parentItems.keys(); e.hasMoreElements();) {
-			Item parentItem = (Item) e.nextElement();
-			if (!getExpanded(parentItem) && getItemCount(parentItem) == 0) {
-				// append a dummy if necessary
-				if (isExpandable(parentItem.getData())) {
-					newItem(parentItem, SWT.NULL, -1);
-				} else {
-					// XXX: Workaround (PR missing)
-					tree.redraw();
-				}
-			}
-		}
-	}
-	/**
-	 * Sets the expanded state of all items to correspond to the given set of
-	 * expanded elements.
-	 * 
-	 * @param expandedElements
-	 *           the set (element type: <code>Object</code>) of elements
-	 *           which are expanded
-	 * @param widget
-	 *           the widget
-	 */
-	private void internalSetExpanded(CustomHashtable expandedElements, Widget widget) {
-		Item[] items = getChildren(widget);
-		for (int i = 0; i < items.length; i++) {
-			Item item = items[i];
-			Object data = item.getData();
-			if (data != null) {
-				// remove the element to avoid an infinite loop
-				// if the same element appears on a child item
-				boolean expanded = expandedElements.remove(data) != null;
-				if (expanded != getExpanded(item)) {
-					if (expanded) {
-						createChildren(item);
-					}
-					setExpanded(item, expanded);
-				}
-			}
-			internalSetExpanded(expandedElements, item);
-		}
-	}
-	/**
-	 * Return whether the tree node representing the given element can be
-	 * expanded.
-	 * <p>
-	 * The default implementation of this framework method calls <code>hasChildren</code>
-	 * on this viewer's content provider. It may be overridden if necessary.
-	 * </p>
-	 * 
-	 * @param element
-	 *           the element
-	 * @return <code>true</code> if the tree node representing the given
-	 *         element can be expanded, or <code>false</code> if not
-	 */
-	public boolean isExpandable(Object element) {
-		ITreeContentProvider cp = (ITreeContentProvider) getContentProvider();
-		return cp != null && cp.hasChildren(element);
-	}
-	/* (non-Javadoc) Method declared on Viewer. */
-	protected void labelProviderChanged() {
-		// we have to walk the (visible) tree and update every item
-		Control tree = getControl();
-		tree.setRedraw(false);
-		// don't pick up structure changes, but do force label updates
-		internalRefresh(tree, getRoot(), false, true);
-		tree.setRedraw(true);
-	}
-	/**
-	 * Creates a new item.
-	 * 
-	 * @param parent
-	 *           the parent widget
-	 * @param style
-	 *           SWT style bits
-	 * @param index
-	 *           if non-negative, indicates the position to insert the item
-	 *           into its parent
-	 * @return the newly-created item
-	 */
-	protected abstract Item newItem(Widget parent, int style, int index);
-	/**
-	 * Removes the given elements from this viewer. The selection is updated if
-	 * required.
-	 * <p>
-	 * This method should be called (by the content provider) when elements
-	 * have been removed from the model, in order to cause the viewer to
-	 * accurately reflect the model. This method only affects the viewer, not
-	 * the model.
-	 * </p>
-	 * 
-	 * @param elements
-	 *           the elements to remove
-	 */
-	public void remove(final Object[] elements) {
-		assertElementsNotNull(elements);
-		preservingSelection(new Runnable() {
-			public void run() {
-				internalRemove(elements);
-			}
-		});
-	}
-	/**
-	 * Removes the given element from the viewer. The selection is updated if
-	 * necessary.
-	 * <p>
-	 * This method should be called (by the content provider) when a single
-	 * element has been removed from the model, in order to cause the viewer to
-	 * accurately reflect the model. This method only affects the viewer, not
-	 * the model. Note that there is another method for efficiently processing
-	 * the simultaneous removal of multiple elements.
-	 * </p>
-	 * 
-	 * @param element
-	 *           the element
-	 */
-	public void remove(Object element) {
-		remove(new Object[] { element });
-	}
-	/**
-	 * Removes all items from the given control.
-	 * 
-	 * @param control
-	 *           the control
-	 */
-	protected abstract void removeAll(Control control);
-	/**
-	 * Removes a listener for expand and collapse events in this viewer. Has no
-	 * affect if an identical listener is not registered.
-	 * 
-	 * @param listener
-	 *           a tree viewer listener
-	 */
-	public void removeTreeListener(ITreeViewerListener listener) {
-		treeListeners.remove(listener);
-	}
-	/* Non-Javadoc. Method defined on StructuredViewer. */
-	public void reveal(Object element) {
-		Assert.isNotNull(element);
-		Widget w = internalExpand(element, true);
-		if (w instanceof Item)
-			showItem((Item) w);
-	}
-	/**
-	 * Returns the rightmost visible descendent of the given item. Returns the
-	 * item itself if it has no children.
-	 * 
-	 * @param item
-	 *           the item to compute the descendent of
-	 * @return the rightmost visible descendent or the item iself if it has no
-	 *         children
-	 */
-	private Item rightMostVisibleDescendent(Item item) {
-		Item[] children = getItems(item);
-		if (getExpanded(item) && children != null && children.length > 0) {
-			return rightMostVisibleDescendent(children[children.length - 1]);
-		} 
-		return item;
-	}
-	/* (non-Javadoc) Method declared on Viewer. */
-	public Item scrollDown(int x, int y) {
-		Item current = getItem(x, y);
-		if (current != null) {
-			Item next = getNextItem(current, true);
-			showItem(next == null ? current : next);
-			return next;
-		}
-		return null;
-	}
-	/* (non-Javadoc) Method declared on Viewer. */
-	public Item scrollUp(int x, int y) {
-		Item current = getItem(x, y);
-		if (current != null) {
-			Item previous = getPreviousItem(current);
-			showItem(previous == null ? current : previous);
-			return previous;
-		}
-		return null;
-	}
-	/**
-	 * Sets the auto-expand level. The value 0 means that there is no
-	 * auto-expand; 1 means that top-level elements are expanded, but not their
-	 * children; 2 means that top-level elements are expanded, and their
-	 * children, but not grandchildren; and so on.
-	 * <p>
-	 * The value <code>ALL_LEVELS</code> means that all subtrees should be
-	 * expanded.
-	 * </p>
-	 * 
-	 * @param level
-	 *           non-negative level, or <code>ALL_LEVELS</code> to expand all
-	 *           levels of the tree
-	 */
-	public void setAutoExpandLevel(int level) {
-		expandToLevel = level;
-	}
-	/**
-	 * The <code>AbstractTreeViewer</code> implementation of this method
-	 * checks to ensure that the content provider is an <code>ITreeContentProvider</code>.
-	 */
-	public void setContentProvider(IContentProvider provider) {
-		Assert.isTrue(provider instanceof ITreeContentProvider);
-		super.setContentProvider(provider);
-	}
-	/**
-	 * Sets the expand state of the given item.
-	 * 
-	 * @param item
-	 *           the item
-	 * @param expand
-	 *           the expand state of the item
-	 */
-	protected abstract void setExpanded(Item item, boolean expand);
-	/**
-	 * Sets which nodes are expanded in this viewer's tree. The given list
-	 * contains the elements that are to be expanded; all other nodes are to be
-	 * collapsed.
-	 * <p>
-	 * This method is typically used when restoring the interesting state of a
-	 * viewer captured by an earlier call to <code>getExpandedElements</code>.
-	 * </p>
-	 * 
-	 * @param elements
-	 *           the array of expanded elements
-	 * @see #getExpandedElements
-	 */
-	public void setExpandedElements(Object[] elements) {
-		assertElementsNotNull(elements);
-		CustomHashtable expandedElements = newHashtable(elements.length * 2 + 1);
-		for (int i = 0; i < elements.length; ++i) {
-		    Object element = elements[i];
-			// Ensure item exists for element
-			internalExpand(element, false);
-			expandedElements.put(element, element);
-		}
-		internalSetExpanded(expandedElements, getControl());
-	}
-	/**
-	 * Sets whether the node corresponding to the given element is expanded or
-	 * collapsed.
-	 * 
-	 * @param element
-	 *           the element
-	 * @param expanded
-	 *           <code>true</code> if the node is expanded, and <code>false</code>
-	 *           if collapsed
-	 */
-	public void setExpandedState(Object element, boolean expanded) {
-		Assert.isNotNull(element);
-		Widget item = internalExpand(element, false);
-		if (item instanceof Item) {
-			if (expanded) {
-				createChildren(item);
-			}
-			setExpanded((Item) item, expanded);
-		}
-	}
-	/**
-	 * Sets the selection to the given list of items.
-	 * 
-	 * @param items
-	 *           list of items (element type: <code>org.eclipse.swt.widgets.Item</code>)
-	 */
-	protected abstract void setSelection(List items);
-	/* (non-Javadoc) Method declared on StructuredViewer. */
-	protected void setSelectionToWidget(List v, boolean reveal) {
-		if (v == null) {
-			setSelection(new ArrayList(0));
-			return;
-		}
-		int size = v.size();
-		List newSelection = new ArrayList(size);
-		for (int i = 0; i < size; ++i) {
-			// Use internalExpand since item may not yet be created. See
-			// 1G6B1AR.
-			Widget w = internalExpand(v.get(i), true);
-			if (w instanceof Item) {
-				newSelection.add(w);
-			}
-		}
-		setSelection(newSelection);
-		if (reveal && newSelection.size() > 0) {
-			showItem((Item) newSelection.get(0));
-		}
-	}
-	/**
-	 * Shows the given item.
-	 * 
-	 * @param item
-	 *           the item
-	 */
-	protected abstract void showItem(Item item);
-
-	/**
-	 * Updates the tree items to correspond to the child elements of the given
-	 * parent element. If null is passed for the children, this method obtains
-	 * them (only if needed).
-	 * 
-	 * @param widget
-	 *           the widget
-	 * @param parent
-	 *           the parent element
-	 * @param elementChildren
-	 *           the child elements, or null
-	 * @deprecated this is no longer called by the framework
-	 */
-	protected void updateChildren(
-		Widget widget,
-		Object parent,
-		Object[] elementChildren) {
-		updateChildren(widget, parent, elementChildren, true);
-	}
-
-	/**
-	 * Updates the tree items to correspond to the child elements of the given
-	 * parent element. If null is passed for the children, this method obtains
-	 * them (only if needed).
-	 * 
-	 * @param widget
-	 *           the widget
-	 * @param parent
-	 *           the parent element
-	 * @param elementChildren
-	 *           the child elements, or null
-	 * @param updateLabels
-	 *           <code>true</code> to update labels for existing elements,
-	 *           <code>false</code> to only update labels as needed, assuming
-	 *           that labels for existing elements are unchanged.
-	 * @since 2.1
-	 */
-	private void updateChildren(
-		Widget widget,
-		Object parent,
-		Object[] elementChildren,
-		boolean updateLabels) {
-		// optimization! prune collapsed subtrees
-		if (widget instanceof Item) {
-			Item ti = (Item) widget;
-			if (!getExpanded(ti)) {
-				// need a dummy node if element is expandable;
-				// but try to avoid recreating the dummy node
-				boolean needDummy = isExpandable(parent);
-				boolean haveDummy = false;
-				// remove all children
-				Item[] items = getItems(ti);
-				for (int i = 0; i < items.length; i++) {
-					if (items[i].getData() != null) {
-						disassociate(items[i]);
-						items[i].dispose();
-					} else {
-						if (needDummy && !haveDummy) {
-							haveDummy = true;
-						} else {
-							items[i].dispose();
-						}
-					}
-				}
-				if (needDummy && !haveDummy) {
-					newItem(ti, SWT.NULL, -1);
-				}
-
-				return;
-			}
-		}
-
-		// If the children weren't passed in, get them now since they're needed
-		// below.
-		if (elementChildren == null) {
-			elementChildren = getSortedChildren(parent);
-		}
-
-		Control tree = getControl();
-
-		// WORKAROUND
-		int oldCnt = -1;
-		if (widget == tree)
-			oldCnt = getItemCount(tree);
-
-		Item[] items = getChildren(widget);
-
-		// save the expanded elements
-		CustomHashtable expanded = newHashtable(CustomHashtable.DEFAULT_CAPACITY); // assume num expanded is small
-		for (int i = 0; i < items.length; ++i) {
-			if (getExpanded(items[i])) {
-				Object element = items[i].getData();
-				if (element != null) {
-					expanded.put(element, element);
-				}
-			}
-		}
-
-		int min = Math.min(elementChildren.length, items.length);
-
-		// Note: In the code below, doing disassociate calls before associate
-		// calls is important,
-		// since a later disassociate can undo an earlier associate,
-		// if items are changing position.
-
-		// dispose of all items beyond the end of the current elements
-		for (int i = items.length; --i >= min;) {
-			if (items[i].getData() != null) {
-				disassociate(items[i]);
-			}
-			items[i].dispose();
-		}
-
-		// compare first min items, and update item if necessary
-		// need to do it in two passes:
-		// 1: disassociate old items
-		// 2: associate new items
-		// because otherwise a later disassociate can remove a mapping made for
-		// a previous associate,
-		// making the map inconsistent
-		for (int i = 0; i < min; ++i) {
-			Item item = items[i];
-			Object oldElement = item.getData();
-			if (oldElement != null) {
-				Object newElement = elementChildren[i];
-				if (newElement != oldElement) {
-					if (equals(newElement, oldElement)) {
-						// update the data to be the new element, since
-						// although the elements
-						// may be equal, they may still have different labels
-						// or children
-						item.setData(newElement);
-						mapElement(newElement, item);
-					} else {
-						disassociate(item);
-						//Clear the text and image to force a label update
-						item.setImage(null);
-						item.setText("");//$NON-NLS-1$
-						
-					}
-				}
-			}
-		}
-		for (int i = 0; i < min; ++i) {
-			Item item = items[i];
-			Object newElement = elementChildren[i];
-			if (item.getData() == null) {
-				// old and new elements are not equal
-				associate(newElement, item);
-				updatePlus(item, newElement);
-				updateItem(item, newElement);
-				// Restore expanded state for items that changed position.
-				// Make sure setExpanded is called after updatePlus, since
-				// setExpanded(false) fails if item has no children.
-				// Need to call setExpanded for both expanded and unexpanded
-				// cases
-				// since the expanded state can change either way.
-				setExpanded(item, expanded.containsKey(newElement));
-			} else {
-				// old and new elements are equal
-				updatePlus(item, newElement);
-				if (updateLabels) {
-					updateItem(item, newElement);
-				}
-			}
-		}
-
-		// add any remaining elements
-		if (min < elementChildren.length) {
-			for (int i = min; i < elementChildren.length; ++i) {
-				createTreeItem(widget, elementChildren[i], i);
-			}
-
-			// Need to restore expanded state in a separate pass
-			// because createTreeItem does not return the new item.
-			// Avoid doing this unless needed.
-			if (expanded.size() > 0) {
-				// get the items again, to include the new items
-				items = getChildren(widget);
-				for (int i = min; i < elementChildren.length; ++i) {
-					// Restore expanded state for items that changed position.
-					// Make sure setExpanded is called after updatePlus (called
-					// in createTreeItem), since
-					// setExpanded(false) fails if item has no children.
-					// Only need to call setExpanded if element was expanded
-					// since new items are initially unexpanded.
-					if (expanded.containsKey(elementChildren[i])) {
-						setExpanded(items[i], true);
-					}
-				}
-			}
-		}
-
-		// WORKAROUND
-		if (widget == tree && oldCnt == 0 && getItemCount(tree) != 0) {
-			//System.out.println("WORKAROUND setRedraw");
-			tree.setRedraw(false);
-			tree.setRedraw(true);
-		}
-	}
-	/**
-	 * Updates the "+"/"-" icon of the tree node from the given element. It
-	 * calls <code>isExpandable</code> to determine whether an element is
-	 * expandable.
-	 * 
-	 * @param item
-	 *           the item
-	 * @param element
-	 *           the element
-	 */
-	protected void updatePlus(Item item, Object element) {
-		boolean hasPlus = getItemCount(item) > 0;
-		boolean needsPlus = isExpandable(element);
-		boolean removeAll = false;
-		boolean addDummy = false;
-		Object data = item.getData();
-		if (data != null && equals(element, data)) {
-			// item shows same element
-			if (hasPlus != needsPlus) {
-				if (needsPlus)
-					addDummy = true;
-				else
-					removeAll = true;
-			}
-		} else {
-			// item shows different element
-			removeAll = true;
-			addDummy = needsPlus;
-
-			// we cannot maintain expand state so collapse it
-			setExpanded(item, false);
-		}
-		if (removeAll) {
-			// remove all children
-			Item[] items = getItems(item);
-			for (int i = 0; i < items.length; i++) {
-				if (items[i].getData() != null)
-					disassociate(items[i]);
-				items[i].dispose();
-			}
-		}
-		if (addDummy)
-			newItem(item, SWT.NULL, -1); // append a dummy
-	}
-
-	/**
-	 * Gets the expanded elements that are visible to the user. An expanded
-	 * element is only visible if the parent is expanded.
-	 * 
-	 * @return the visible expanded elements
-	 * @since 2.0
-	 */
-	public Object[] getVisibleExpandedElements() {
-		ArrayList v = new ArrayList();
-		internalCollectVisibleExpanded(v, getControl());
-		return v.toArray();
-	}
-
-	private void internalCollectVisibleExpanded(
-		ArrayList result,
-		Widget widget) {
-		Item[] items = getChildren(widget);
-		for (int i = 0; i < items.length; i++) {
-			Item item = items[i];
-			if (getExpanded(item)) {
-				Object data = item.getData();
-				if (data != null)
-					result.add(data);
-				//Only recurse if it is expanded - if
-				//not then the children aren't visible
-				internalCollectVisibleExpanded(result, item);
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ArrayContentProvider.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ArrayContentProvider.java
deleted file mode 100644
index abf31b8..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ArrayContentProvider.java
+++ /dev/null
@@ -1,52 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.viewers;
-
-import java.util.Collection;
-
-/**
- * This implementation of <code>IStructuredContentProvider</code> handles
- * the case where the viewer input is an unchanging array or collection of elements.
- * <p>
- * This class is not intended to be subclassed outside the viewer framework.
- * </p> 
- * 
- * @since 2.1
- */
-public class ArrayContentProvider implements IStructuredContentProvider {
-	
-	/**
-	 * Returns the elements in the input, which must be either an array or a
-	 * <code>Collection</code>. 
-	 */
-	public Object[] getElements(Object inputElement) {
-		if (inputElement instanceof Object[])
-			return (Object[]) inputElement;
-		if (inputElement instanceof Collection)
-			return ((Collection) inputElement).toArray();
-		return new Object[0];
-	}
-	
-	/**
-	 * This implementation does nothing.
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		// do nothing.
-	}
-
-	/**
-	 * This implementation does nothing.
-	 */
-	public void dispose() {
-		// do nothing.
-	}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/CellEditor.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/CellEditor.java
deleted file mode 100644
index 61d7a6a..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/CellEditor.java
+++ /dev/null
@@ -1,789 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.viewers;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.util.Assert;
-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.swt.SWT;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-/**
- * Abstract base class for cell editors. Implements property change listener handling,
- * and SWT window management.
- * <p>
- * Subclasses implement particular kinds of cell editors. This package contains various
- * specialized cell editors:
- * <ul>
- *   <li><code>TextCellEditor</code> - for simple text strings</li>
- *   <li><code>ColorCellEditor</code> - for colors</li>
- *   <li><code>ComboBoxCellEditor</code> - value selected from drop-down combo box</li>
- *   <li><code>CheckboxCellEditor</code> - boolean valued checkbox</li>
- *   <li><code>DialogCellEditor</code> - value from arbitrary dialog</li>
- * </ul>
- * </p>
- */
-public abstract class CellEditor {
-
-	/**
-	 * List of cell editor listeners (element type: <code>ICellEditorListener</code>).
-	 */
-	private ListenerList listeners = new ListenerList(3);
-	/**
-	 * List of cell editor property change listeners 
-	 * (element type: <code>IPropertyChangeListener</code>).
-	 */
-	private ListenerList propertyChangeListeners = new ListenerList(3);
-	
-	/**
-	 * Indicates whether this cell editor's current value is valid.
-	 */
-	private boolean valid = false;
-	
-	/**
-	 * Optional cell editor validator; <code>null</code> if none.
-	 */
-	private ICellEditorValidator validator = null;
-
-	/**
-	 * The error message string to display for invalid values;
-	 * <code>null</code> if none (that is, the value is valid).
-	 */
-	private String errorMessage = null;
-	
-	/**
-	 * Indicates whether this cell editor has been changed recently.
-	 */
-	private boolean dirty = false;
-
-	/**
-	 * This cell editor's control, or <code>null</code>
-	 * if not created yet.
-	 */
-	private Control control = null;
-
-	/**
-	 * Default cell editor style
-	 */
-	private static final int defaultStyle = SWT.NONE;
-
-	/**
-	 * This cell editor's style
-	 */
-	private int style = defaultStyle;
-
-	/** 
-	 * Struct-like layout data for cell editors, with reasonable defaults
-	 * for all fields.
-	 */	
-	public static class LayoutData {
-		/**
-		 * Horizontal alignment; <code>SWT.LEFT</code> by default.
-		 */
-		public int horizontalAlignment = SWT.LEFT;
-
-		/**
-		 * Indicates control grabs additional space; <code>true</code> by default.
-		 */
-		public boolean grabHorizontal = true;
-
-		/**
-		 * Minimum width in pixels; <code>50</code> pixels by default.
-		 */
-		public int minimumWidth = 50;
-	}
-
-	/**
-	 * Property name for the copy action
-	 */
-	public static final String COPY = "copy"; //$NON-NLS-1$
-
-	/**
-	 * Property name for the cut action
-	 */
-	public static final String CUT = "cut"; //$NON-NLS-1$
-	
-	/**
-	 * Property name for the delete action
-	 */
-	public static final String DELETE = "delete"; //$NON-NLS-1$
-
-	/**
-	 * Property name for the find action
-	 */
-	public static final String FIND = "find"; //$NON-NLS-1$
-
-	/**
-	 * Property name for the paste action
-	 */
-	public static final String PASTE = "paste"; //$NON-NLS-1$
-
-	/**
-	 * Property name for the redo action
-	 */
-	public static final String REDO = "redo"; //$NON-NLS-1$
-
-	/**
-	 * Property name for the select all action
-	 */
-	public static final String SELECT_ALL = "selectall"; //$NON-NLS-1$
-
-	/**
-	 * Property name for the undo action
-	 */
-	public static final String UNDO = "undo"; //$NON-NLS-1$
-
-/**
- * Creates a new cell editor with no control 
- * The cell editor has no cell validator.
- * @since 2.1
- */
-protected CellEditor() {
-}
-/**
- * Creates a new cell editor under the given parent control.
- * The cell editor has no cell validator.
- *
- * @param parent the parent control
- */
-protected CellEditor(Composite parent) {
-	this(parent, defaultStyle);
-}
-/**
- * Creates a new cell editor under the given parent control.
- * The cell editor has no cell validator.
- *
- * @param parent the parent control
- * @param style the style bits
- * @since 2.1
- */
-protected CellEditor(Composite parent, int style) {
-	this.style = style;
-	create(parent);
-}
-/**
- * Activates this cell editor.
- * <p>
- * The default implementation of this framework method
- * does nothing. Subclasses may reimplement.
- * </p>
- */
-public void activate() {
-}
-/**
- * Adds a listener to this cell editor.
- * Has no effect if an identical listener is already registered.
- *
- * @param listener a cell editor listener
- */
-public void addListener(ICellEditorListener listener) {
-	listeners.add(listener);
-}
-/**
- * Adds a property change listener to this cell editor.
- * Has no effect if an identical property change listener 
- * is already registered.
- *
- * @param listener a property change listener
- */
-public void addPropertyChangeListener(IPropertyChangeListener listener) {
-	propertyChangeListeners.add(listener);
-}
-/**
- * Creates the control for this cell editor under the given parent control.
- * <p>
- * This framework method must be implemented by concrete
- * subclasses.
- * </p>
- *
- * @param parent the parent control
- * @return the new control, or <code>null</code> if this cell editor has no control
- */
-protected abstract Control createControl(Composite parent);
-/**
- * Creates the control for this cell editor under the given parent control.
- * 
- * @param parent the parent control
- * @since 2.1
- */
-public void create(Composite parent) {
-	Assert.isTrue(control==null);
-	control = createControl(parent);
-	// See 1GD5CA6: ITPUI:ALL - TaskView.setSelection does not work
-	// Control is created with isVisible()==true by default.
-	// This causes composite.setFocus() to work incorrectly.
-	// The cell editor's control grabs focus instead, even if it is not active.
-	// Make the control invisible here by default.
-	deactivate();
-}
-/**
- * Hides this cell editor's control. Does nothing if this 
- * cell editor is not visible.
- */
-public void deactivate() {
-	if (control != null && !control.isDisposed())
-		control.setVisible(false);
-}
-/**
- * Disposes of this cell editor and frees any associated SWT resources.
- */
-public void dispose() {
-	if (control != null && !control.isDisposed()) {
-		control.dispose();
-	}
-	control = null;
-}
-/**
- * Returns this cell editor's value.
- * <p>
- * This framework method must be implemented by concrete subclasses.
- * </p>
- *
- * @return the value of this cell editor
- * @see #getValue
- */
-protected abstract Object doGetValue();
-/**
- * Sets the focus to the cell editor's control.
- * <p>
- * This framework method must be implemented by concrete subclasses.
- * </p>
- *
- * @see #setFocus
- */
-protected abstract void doSetFocus();
-/**
- * Sets this cell editor's value.
- * <p>
- * This framework method must be implemented by concrete subclasses.
- * </p>
- *
- * @param value the value of this cell editor
- * @see #setValue
- */
-protected abstract void doSetValue(Object value);
-/**
- * Notifies all registered cell editor listeners of an apply event.
- * Only listeners registered at the time this method is called are notified.
- *
- * @see ICellEditorListener#applyEditorValue
- */
-protected void fireApplyEditorValue() {
-	Object[] array = listeners.getListeners();
-	for (int i = 0; i < array.length; i ++) {
-		final ICellEditorListener l = (ICellEditorListener)array[i];
-		Platform.run(new SafeRunnable() {
-			public void run() {
-				l.applyEditorValue();
-			}
-		});
-	}	
-}
-/**
- * Notifies all registered cell editor listeners that editing has been
- * canceled.
- *
- * @see ICellEditorListener#cancelEditor
- */
-protected void fireCancelEditor() {
-	Object[] array = listeners.getListeners();
-	for (int i = 0; i < array.length; i ++) {
-		final ICellEditorListener l = (ICellEditorListener)array[i];
-		Platform.run(new SafeRunnable() {
-			public void run() {
-				l.cancelEditor();
-			}
-		});
-	}	
-}
-/**
- * Notifies all registered cell editor listeners of a value change.
- *
- * @param oldValidState the valid state before the end user changed the value
- * @param newValidState the current valid state
- * @see ICellEditorListener#editorValueChanged
- */
-protected void fireEditorValueChanged(final boolean oldValidState, final boolean newValidState) {
-	Object[] array = listeners.getListeners();
-	for (int i = 0; i < array.length; i ++) {
-		final ICellEditorListener l = (ICellEditorListener)array[i];
-		Platform.run(new SafeRunnable() {
-			public void run() {
-				l.editorValueChanged(oldValidState, newValidState);
-			}
-		});
-	}	
-}
-/**
- * Notifies all registered property listeners
- * of an enablement change.
- *
- * @param actionId the id indicating what action's enablement has changed.
- */
-protected void fireEnablementChanged(final String actionId) {
-	Object[] array = propertyChangeListeners.getListeners();
-	for (int i = 0; i < array.length; i ++) {
-		final IPropertyChangeListener l = (IPropertyChangeListener)array[i];
-		Platform.run(new SafeRunnable() {
-			public void run() {
-				l.propertyChange(new PropertyChangeEvent(this, actionId, null, null));
-			}
-		});
-	}	
-}
-/**
- * Sets the style bits for this cell editor.
- * 
- * @param style the SWT style bits for this cell editor
- * @since 2.1
- */
-public void setStyle(int style) {
-	this.style = style;
-}
-
-/**
- * Returns the style bits for this cell editor.
- *
- * @return the style for this cell editor
- * @since 2.1
- */
-public int getStyle() {
-	return style;
-}
-/**
- * Returns the control used to implement this cell editor.
- *
- * @return the control, or <code>null</code> if this cell editor has no control
- */
-public Control getControl() {
-	return control;
-}
-/**
- * Returns the current error message for this cell editor.
- * 
- * @return the error message if the cell editor is in an invalid state,
- *  and <code>null</code> if the cell editor is valid
- */
-public String getErrorMessage() {
-	return errorMessage;
-}
-/**
- * Returns a layout data object for this cell editor.
- * This is called each time the cell editor is activated
- * and controls the layout of the SWT table editor.
- * <p>
- * The default implementation of this method sets the 
- * minimum width to the control's preferred width.
- * Subclasses may extend or reimplement.
- * </p>
- *
- * @return the layout data object 
- */
-public LayoutData getLayoutData() {
-	LayoutData result = new LayoutData();
-	Control control = getControl();
-	if (control != null) {
-		result.minimumWidth = control.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x;
-	}
-	return result;
-}
-/**
- * Returns the input validator for this cell editor.
- *
- * @return the input validator, or <code>null</code> if none
- */
-public ICellEditorValidator getValidator() {
-	return validator;
-}
-/**
- * Returns this cell editor's value provided that it has a valid one.
- *
- * @return the value of this cell editor, or <code>null</code>
- *   if the cell editor does not contain a valid value
- */
-public final Object getValue() {
-	if (!valid)
-		return null;
-
-	return doGetValue();
-}
-/**
- * Returns whether this cell editor is activated.
- *
- * @return <code>true</code> if this cell editor's control is
- *   currently visible, and <code>false</code> if not visible
- */
-public boolean isActivated() {
-	return control != null && control.isVisible();
-}
-/**
- * Returns <code>true</code> if this cell editor is
- * able to perform the copy action.
- * <p>
- * This default implementation always returns 
- * <code>false</code>.
- * </p>
- * <p>
- * Subclasses may override
- * </p>
- * @return <code>true</code> if copy is possible,
- *  <code>false</code> otherwise
- */
-public boolean isCopyEnabled() {
-	return false;
-}
-/**
- * Returns whether the given value is valid for this cell editor.
- * This cell editor's validator (if any) makes the actual determination.
- *
- * @return <code>true</code> if the value is valid, and <code>false</code>
- *  if invalid
- */
-protected boolean isCorrect(Object value) {
-	errorMessage = null;
-	if (validator == null)
-		return true;
-
-	errorMessage = validator.isValid(value);
-	return (errorMessage == null || errorMessage.equals(""));//$NON-NLS-1$
-}
-/**
- * Returns <code>true</code> if this cell editor is
- * able to perform the cut action.
- * <p>
- * This default implementation always returns 
- * <code>false</code>.
- * </p>
- * <p>
- * Subclasses may override
- * </p>
- * @return <code>true</code> if cut is possible,
- *  <code>false</code> otherwise
- */
-public boolean isCutEnabled() {
-	return false;
-}
-/**
- * Returns <code>true</code> if this cell editor is
- * able to perform the delete action.
- * <p>
- * This default implementation always returns 
- * <code>false</code>.
- * </p>
- * <p>
- * Subclasses may override
- * </p>
- * @return <code>true</code> if delete is possible,
- *  <code>false</code> otherwise
- */
-public boolean isDeleteEnabled() {
-	return false;
-}
-/**
- * Returns whether the value of this cell editor has changed since the
- * last call to <code>setValue</code>.
- *
- * @return <code>true</code> if the value has changed, and <code>false</code>
- *  if unchanged
- */
-public boolean isDirty() {
-	return dirty;
-}
-/**
- * Marks this cell editor as dirty.
- * @since 2.1
- */
-protected void markDirty() {
-	dirty = true;
-}
-/**
- * Returns <code>true</code> if this cell editor is
- * able to perform the find action.
- * <p>
- * This default implementation always returns 
- * <code>false</code>.
- * </p>
- * <p>
- * Subclasses may override
- * </p>
- * @return <code>true</code> if find is possible,
- *  <code>false</code> otherwise
- */
-public boolean isFindEnabled() {
-	return false;
-}
-/**
- * Returns <code>true</code> if this cell editor is
- * able to perform the paste action.
- * <p>
- * This default implementation always returns 
- * <code>false</code>.
- * </p>
- * <p>
- * Subclasses may override
- * </p>
- * @return <code>true</code> if paste is possible,
- *  <code>false</code> otherwise
- */
-public boolean isPasteEnabled() {
-	return false;
-}
-/**
- * Returns <code>true</code> if this cell editor is
- * able to perform the redo action.
- * <p>
- * This default implementation always returns 
- * <code>false</code>.
- * </p>
- * <p>
- * Subclasses may override
- * </p>
- * @return <code>true</code> if redo is possible,
- *  <code>false</code> otherwise
- */
-public boolean isRedoEnabled() {
-	return false;
-}
-/**
- * Returns <code>true</code> if this cell editor is
- * able to perform the select all action.
- * <p>
- * This default implementation always returns 
- * <code>false</code>.
- * </p>
- * <p>
- * Subclasses may override
- * </p>
- * @return <code>true</code> if select all is possible,
- *  <code>false</code> otherwise
- */
-public boolean isSelectAllEnabled() {
-	return false;
-}
-/**
- * Returns <code>true</code> if this cell editor is
- * able to perform the undo action.
- * <p>
- * This default implementation always returns 
- * <code>false</code>.
- * </p>
- * <p>
- * Subclasses may override
- * </p>
- * @return <code>true</code> if undo is possible,
- *  <code>false</code> otherwise
- */
-public boolean isUndoEnabled() {
-	return false;
-}
-/**
- * Returns whether this cell editor has a valid value.
- * The default value is false.
- *
- * @return <code>true</code> if the value is valid, and <code>false</code>
- *  if invalid
- *
- * @see #setValueValid
- */
-public boolean isValueValid() {
-	return valid;
-}
-/**
- * Processes a key release event that occurred in this cell editor.
- * <p>
- * The default implementation of this framework method cancels editing
- * when the ESC key is pressed.  When the RETURN key is pressed the current
- * value is applied and the cell editor deactivates.
- * Subclasses should call this method at appropriate times. 
- * Subclasses may also extend or reimplement.
- * </p>
- *
- * @param keyEvent the key event
- */
-protected void keyReleaseOccured(KeyEvent keyEvent) {
-	if (keyEvent.character == '\u001b') { // Escape character
-		fireCancelEditor();
-	} else if (keyEvent.character == '\r') { // Return key
-		fireApplyEditorValue();
-		deactivate();
-	}
-}
-/**
- * Processes a focus lost event that occurred in this cell editor.
- * <p>
- * The default implementation of this framework method applies the current
- * value and deactivates the cell editor.
- * Subclasses should call this method at appropriate times. 
- * Subclasses may also extend or reimplement.
- * </p>
- */
-protected void focusLost() {
-	if (isActivated()) {
-		fireApplyEditorValue();
-		deactivate();
-	}
-}
-/**
- * Performs the copy action.
- * This default implementation does nothing.
- * <p>
- * Subclasses may override
- * </p>
- */
-public void performCopy() {
-}
-/**
- * Performs the cut action.
- * This default implementation does nothing.
- * <p>
- * Subclasses may override
- * </p>
- */
-public void performCut() {
-}
-/**
- * Performs the delete action.
- * This default implementation does nothing.
- * <p>
- * Subclasses may override
- * </p>
- */
-public void performDelete() {
-}
-/**
- * Performs the find action.
- * This default implementation does nothing.
- * <p>
- * Subclasses may override
- * </p>
- */
-public void performFind() {
-}
-/**
- * Performs the paste action.
- * This default implementation does nothing.
- * <p>
- * Subclasses may override
- * </p>
- */
-public void performPaste() {
-}
-/**
- * Performs the redo action.
- * This default implementation does nothing.
- * <p>
- * Subclasses may override
- * </p>
- */
-public void performRedo() {
-}
-/**
- * Performs the select all action.
- * This default implementation does nothing.
- * <p>
- * Subclasses may override
- * </p>
- */
-public void performSelectAll() {
-}
-/**
- * Performs the undo action.
- * This default implementation does nothing.
- * <p>
- * Subclasses may override
- * </p>
- */
-public void performUndo() {
-}
-/**
- * Removes the given listener from this cell editor.
- * Has no affect if an identical listener is not registered.
- *
- * @param listener a cell editor listener
- */
-public void removeListener(ICellEditorListener listener) {
-	listeners.remove(listener);
-}
-/**
- * Removes the given property change listener from this cell editor.
- * Has no affect if an identical property change listener is not 
- * registered.
- *
- * @param listener a property change listener
- */
-public void removePropertyChangeListener(IPropertyChangeListener listener) {
-	propertyChangeListeners.remove(listener);
-}
-/**
- * Sets or clears the current error message for this cell editor.
- * 
- * @param message the error message, or <code>null</code> to clear
- */
-protected void setErrorMessage(String message) {
-	errorMessage = message;
-}
-/**
- * Sets the focus to the cell editor's control.
- */
-public void setFocus() {
-	doSetFocus();
-}
-/**
- * Sets the input validator for this cell editor.
- *
- * @param validator the input validator, or <code>null</code> if none
- */
-public void setValidator(ICellEditorValidator validator) {
-	this.validator = validator;
-}
-/**
- * Sets this cell editor's value.
- *
- * @param value the value of this cell editor
- */
-public final void setValue(Object value) {
-	valid = isCorrect(value);
-	dirty = false;
-	doSetValue(value);
-}
-/**
- * Sets the valid state of this cell editor.
- * The default value is false.
- * Subclasses should call this method on construction.
- *
- * @param valid <code>true</code> if the current valie is valid,
- *  and <code>false</code> if invalid
- *
- * @see #isValueValid
- */
-protected void setValueValid(boolean valid) {
-	this.valid = valid;
-}
-/**
- * The value has changed.  
- * Updates the valid state flag, marks this cell editor as dirty,
- * and notifies all registered cell editor listeners of a value change.
- *
- * @param oldValidState the valid state before the end user changed the value
- * @param newValidState the current valid state
- * @see ICellEditorListener#editorValueChanged
- */
-protected void valueChanged(boolean oldValidState, boolean newValidState) {
-	valid = newValidState;
-	dirty = true;
-	fireEditorValueChanged(oldValidState, newValidState);
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/CheckStateChangedEvent.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/CheckStateChangedEvent.java
deleted file mode 100644
index d105680..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/CheckStateChangedEvent.java
+++ /dev/null
@@ -1,68 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-import java.util.EventObject;
-
-/**
- * Event object describing a change to the checked state
- * of a viewer element.
- *
- * @see ICheckStateListener
- */
-public class CheckStateChangedEvent extends EventObject {
-
-	/**
-	 * The viewer element.
-	 */
-	private Object element;
-
-	/**
-	 * The checked state.
-	 */
-	private boolean state;
-/**
- * Creates a new event for the given source, element, and checked state.
- *
- * @param source the source
- * @param element the element
- * @param state the checked state
- */
-public CheckStateChangedEvent(ICheckable source, Object element, boolean state) {
-	super(source);
-	this.element = element;
-	this.state = state;
-}
-/**
- * Returns the checkable that is the source of this event.
- *
- * @return the originating checkable
- */
-public ICheckable getCheckable() {
-	return (ICheckable) source;
-}
-/**
- * Returns the checked state of the element.
- *
- * @return the checked state
- */
-public boolean getChecked() {
-	return state;
-}
-/**
- * Returns the element whose check state changed.
- *
- * @return the element
- */
-public Object getElement() {
-	return element;
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/CheckboxCellEditor.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/CheckboxCellEditor.java
deleted file mode 100644
index afd2668..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/CheckboxCellEditor.java
+++ /dev/null
@@ -1,119 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * A cell editor that manages a checkbox.
- * The cell editor's value is a boolean.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * <p>
- * Note that this implementation simply fakes it and does does not create
- * any new controls. The mere activation of this editor means that the value
- * of the check box is being toggled by the end users; the listener method
- * <code>applyEditorValue</code> is immediately called to signal the change.
- * </p>
- */
-public class CheckboxCellEditor extends CellEditor {
-
-	/**
-	 * The checkbox value.
-	 */
-	/* package */
-	boolean value = false;
-
-	/**
-	 * Default CheckboxCellEditor style
-	 */
-	private static final int defaultStyle = SWT.NONE;
-
-	/**
-	 * Creates a new checkbox cell editor with no control
-	 * @since 2.1
-	 */
-	public CheckboxCellEditor() {
-		setStyle(defaultStyle);
-	}
-	/**
-	 * Creates a new checkbox cell editor parented under the given control.
-	 * The cell editor value is a boolean value, which is initially <code>false</code>. 
-	 * Initially, the cell editor has no cell validator.
-	 *
-	 * @param parent the parent control
-	 */
-	public CheckboxCellEditor(Composite parent) {
-		this(parent, defaultStyle);
-	}
-	/**
-	 * Creates a new checkbox cell editor parented under the given control.
-	 * The cell editor value is a boolean value, which is initially <code>false</code>. 
-	 * Initially, the cell editor has no cell validator.
-	 *
-	 * @param parent the parent control
-	 * @param style the style bits
-	 * @since 2.1
-	 */
-	public CheckboxCellEditor(Composite parent, int style) {
-		super(parent, style);
-	}
-	/**
-	 * The <code>CheckboxCellEditor</code> implementation of
-	 * this <code>CellEditor</code> framework method simulates
-	 * the toggling of the checkbox control and notifies
-	 * listeners with <code>ICellEditorListener.applyEditorValue</code>.
-	 */
-	public void activate() {
-		value = !value;
-		fireApplyEditorValue();
-	}
-	/**
-	 * The <code>CheckboxCellEditor</code> implementation of
-	 * this <code>CellEditor</code> framework method does
-	 * nothing and returns <code>null</code>.
-	 */
-	protected Control createControl(Composite parent) {
-		return null;
-	}
-	/**
-	 * The <code>CheckboxCellEditor</code> implementation of
-	 * this <code>CellEditor</code> framework method returns
-	 * the checkbox setting wrapped as a <code>Boolean</code>.
-	 *
-	 * @return the Boolean checkbox value
-	 */
-	protected Object doGetValue() {
-		return new Boolean(value);
-	}
-	/* (non-Javadoc)
-	 * Method declared on CellEditor.
-	 */
-	protected void doSetFocus() {
-		// Ignore
-	}
-	/**
-	 * The <code>CheckboxCellEditor</code> implementation of
-	 * this <code>CellEditor</code> framework method accepts
-	 * a value wrapped as a <code>Boolean</code>.
-	 *
-	 * @param value a Boolean value
-	 */
-	protected void doSetValue(Object value) {
-		Assert.isTrue(value instanceof Boolean);
-		this.value = ((Boolean) value).booleanValue();
-	}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/CheckboxTableViewer.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/CheckboxTableViewer.java
deleted file mode 100644
index 4c451c7..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/CheckboxTableViewer.java
+++ /dev/null
@@ -1,418 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.Platform;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Widget;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.SafeRunnable;
-
-/**
- * A concrete viewer based on an SWT <code>Table</code>
- * control with checkboxes on each node.
- * <p>
- * This class is not intended to be subclassed outside the viewer framework. 
- * It is designed to be instantiated with a pre-existing SWT table control and configured
- * with a domain-specific content provider, label provider, element filter (optional),
- * and element sorter (optional).
- * </p>
- */
-public class CheckboxTableViewer extends TableViewer implements ICheckable {
-
-	/**
-	 * List of check state listeners (element type: <code>ICheckStateListener</code>).
-	 */
-	private ListenerList checkStateListeners = new ListenerList(3);
-/**
- * Creates a table viewer on a newly-created table control under the given parent.
- * The table control is created using the SWT style bits: 
- * <code>SWT.CHECK</code> and <code>SWT.BORDER</code>.
- * The table has one column.
- * The viewer has no input, no content provider, a default label provider, 
- * no sorter, and no filters.
- * <p>
- * This is equivalent to calling <code>new CheckboxTableViewer(parent, SWT.BORDER)</code>.
- * See that constructor for more details.
- * </p>
- *
- * @param parent the parent control
- * 
- * @deprecated use newCheckList(Composite, int) or new CheckboxTableViewer(Table)
- *   instead (see below for details)
- */
-public CheckboxTableViewer(Composite parent) {
-	this(parent, SWT.BORDER);
-}
-/**
- * Creates a table viewer on a newly-created table control under the given parent.
- * The table control is created using the given SWT style bits, plus the 
- * <code>SWT.CHECK</code> style bit.
- * The table has one column. 
- * The viewer has no input, no content provider, a default label provider, 
- * no sorter, and no filters.
- * <p>
- * This also adds a <code>TableColumn</code> for the single column, 
- * and sets a <code>TableLayout</code> on the table which sizes the column to fill 
- * the table for its initial sizing, but does nothing on subsequent resizes.
- * </p>
- * <p>
- * If the caller just needs to show a single column with no header,
- * it is preferable to use the <code>newCheckList</code> factory method instead,
- * since SWT properly handles the initial sizing and subsequent resizes in this case.
- * </p>
- * <p>
- * If the caller adds its own columns, uses <code>Table.setHeadersVisible(true)</code>, 
- * or needs to handle dynamic resizing of the table, it is recommended to  
- * create the <code>Table</code> itself, specifying the <code>SWT.CHECK</code> style bit 
- * (along with any other style bits needed), and use <code>new CheckboxTableViewer(Table)</code> 
- * rather than this constructor.
- * </p>
- * 
- * @param parent the parent control
- * @param style SWT style bits
- * 
- * @deprecated use newCheckList(Composite, int) or new CheckboxTableViewer(Table) 
- *   instead (see above for details)
- */
-public CheckboxTableViewer(Composite parent, int style) {
-	this(createTable(parent, style));
-}
-
-/**
- * Creates a table viewer on a newly-created table control under the given parent.
- * The table control is created using the given SWT style bits, plus the 
- * <code>SWT.CHECK</code> style bit.
- * The table shows its contents in a single column, with no header.
- * The viewer has no input, no content provider, a default label provider, 
- * no sorter, and no filters.
- * <p>
- * No <code>TableColumn</code> is added. SWT does not require a 
- * <code>TableColumn</code> if showing only a single column with no header.
- * SWT correctly handles the initial sizing and subsequent resizes in this case.
- *
- * @param parent the parent control
- * @param style SWT style bits
- * 
- * @since 2.0
- */
-public static CheckboxTableViewer newCheckList(Composite parent, int style) {
-	Table table = new Table(parent, SWT.CHECK | style);
-	return new CheckboxTableViewer(table);
-}
-
-/**
- * Creates a table viewer on the given table control.
- * The <code>SWT.CHECK</code> style bit must be set on the given table control.
- * The viewer has no input, no content provider, a default label provider, 
- * no sorter, and no filters.
- *
- * @param table the table control
- */
-public CheckboxTableViewer(Table table) {
-	super(table);
-}
-/* (non-Javadoc)
- * Method declared on ICheckable.
- */
-public void addCheckStateListener(ICheckStateListener listener) {
-	checkStateListeners.add(listener);
-}
-/**
- * Creates a new table control with one column.
- *
- * @param parent the parent control
- * @param style style bits
- * @return a new table control
- */
-protected static Table createTable(Composite parent, int style) {
-	Table table = new Table(parent, SWT.CHECK | style);
-	
-	// Although this table column is not needed, and can cause resize problems,
-	// it can't be removed since this would be a breaking change against R1.0.
-	// See bug 6643 for more details.
-	new TableColumn(table, SWT.NONE);
-	TableLayout layout = new TableLayout();
-	layout.addColumnData(new ColumnWeightData(100));
-	table.setLayout(layout);
-	
-	return table;
-}
-
-/**
- * Notifies any check state listeners that a check state changed  has been received.
- * Only listeners registered at the time this method is called are notified.
- *
- * @param event a check state changed event
- *
- * @see ICheckStateListener#checkStateChanged
- */
-private void fireCheckStateChanged(final CheckStateChangedEvent event) {
-	Object[] array = checkStateListeners.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);
-			}
-		});
-	}
-}
-/* (non-Javadoc)
- * Method declared on ICheckable.
- */
-public boolean getChecked(Object element) {
-	Widget widget = findItem(element);
-	if (widget instanceof TableItem) {
-		return ((TableItem) widget).getChecked();
-	}
-	return false;
-}
-/**
- * Returns a list of elements corresponding to checked table items in this
- * viewer.
- * <p>
- * This method is typically used when preserving the interesting
- * state of a viewer; <code>setCheckedElements</code> is used during the restore.
- * </p>
- *
- * @return the array of checked elements
- * @see #setCheckedElements
- */
-public Object[] getCheckedElements() {
-	TableItem[] children = getTable().getItems();
-	ArrayList v = new ArrayList(children.length);
-	for (int i = 0; i < children.length; i++) {
-		TableItem item = children[i];
-		if (item.getChecked())
-			v.add(item.getData());
-	}
-	return v.toArray();
-}
-/**
- * Returns the grayed state of the given element.
- *
- * @param element the element
- * @return <code>true</code> if the element is grayed,
- *   and <code>false</code> if not grayed
- */
-public boolean getGrayed(Object element) {
-	Widget widget = findItem(element);
-	if (widget instanceof TableItem) {
-		return ((TableItem) widget).getGrayed();
-	}
-	return false;
-}
-/**
- * Returns a list of elements corresponding to grayed nodes in this
- * viewer.
- * <p>
- * This method is typically used when preserving the interesting
- * state of a viewer; <code>setGrayedElements</code> is used during the restore.
- * </p>
- *
- * @return the array of grayed elements
- * @see #setGrayedElements
- */
-public Object[] getGrayedElements() {
-	TableItem[] children = getTable().getItems();
-	List v = new ArrayList(children.length);
-	for (int i = 0; i < children.length; i++) {
-		TableItem item = children[i];
-		if (item.getGrayed())
-			v.add(item.getData());
-	}
-	return v.toArray();
-}
-/* (non-Javadoc)
- * Method declared on StructuredViewer.
- */
-public void handleSelect(SelectionEvent event) {
-	if (event.detail == SWT.CHECK) {
-		super.handleSelect(event); // this will change the current selection
-
-		TableItem item = (TableItem) event.item;
-		Object data = item.getData();
-		if (data != null) {
-			fireCheckStateChanged(new CheckStateChangedEvent(this, data, item.getChecked()));
-		}
-	} else
-		super.handleSelect(event);
-}
-/* (non-Javadoc)
- * Method declared on Viewer.
- */
-protected void preservingSelection(Runnable updateCode) {
-
-	TableItem[] children = getTable().getItems();
-	CustomHashtable checked = newHashtable(children.length*2+1);
-	CustomHashtable grayed = newHashtable(children.length*2+1);
-
-	for (int i = 0; i < children.length; i++) {
-		TableItem item = children[i];
-		Object data = item.getData();
-		if (data != null) {
-			if (item.getChecked())
-				checked.put(data, data);
-			if (item.getGrayed())
-				grayed.put(data, data);
-		}
-	}
-
-	super.preservingSelection(updateCode);
-
-	children = getTable().getItems();
-	for (int i = 0; i < children.length; i++) {
-		TableItem item = children[i];
-		Object data = item.getData();
-		if (data != null) {
-			item.setChecked(checked.containsKey(data));
-			item.setGrayed(grayed.containsKey(data));
-		}
-	}
-}
-/* (non-Javadoc)
- * Method declared on ICheckable.
- */
-public void removeCheckStateListener(ICheckStateListener listener) {
-	checkStateListeners.remove(listener);
-}
-/**
- * Sets to the given value the checked state for all elements in this viewer.
- *
- * @param state <code>true</code> if the element should be checked,
- *  and <code>false</code> if it should be unchecked
- */
-public void setAllChecked(boolean state) {
-	TableItem[] children = getTable().getItems();
-	for (int i = 0; i < children.length; i++) {
-		TableItem item = children[i];
-		item.setChecked(state);
-	}
-}
-/**
- * Sets to the given value the grayed state for all elements in this viewer.
- *
- * @param state <code>true</code> if the element should be grayed,
- *  and <code>false</code> if it should be ungrayed
- */
-public void setAllGrayed(boolean state) {
-	TableItem[] children = getTable().getItems();
-	for (int i = 0; i < children.length; i++) {
-		TableItem item = children[i];
-		item.setGrayed(state);
-	}
-}
-/* (non-Javadoc)
- * Method declared on ICheckable.
- */
-public boolean setChecked(Object element, boolean state) {
-	Assert.isNotNull(element);
-	Widget widget = findItem(element);
-	if (widget instanceof TableItem) {
-		((TableItem) widget).setChecked(state);
-		return true;
-	}
-	return false;
-}
-/**
- * Sets which nodes are checked in this viewer.
- * The given list contains the elements that are to be checked;
- * all other nodes are to be unchecked.
- * <p>
- * This method is typically used when restoring the interesting
- * state of a viewer captured by an earlier call to <code>getCheckedElements</code>.
- * </p>
- *
- * @param elements the list of checked elements (element type: <code>Object</code>)
- * @see #getCheckedElements
- */
-public void setCheckedElements(Object[] elements) {
-	assertElementsNotNull(elements);
-	CustomHashtable set = newHashtable(elements.length*2+1);
-	for (int i = 0; i < elements.length; ++i) {
-		set.put(elements[i], elements[i]);
-	}
-	TableItem[] items = getTable().getItems();
-	for (int i = 0; i < items.length; ++i) {
-		TableItem item = items[i];
-		Object element = item.getData();
-		if (element != null) {
-			boolean check = set.containsKey(element);
-			// only set if different, to avoid flicker
-			if (item.getChecked() != check) {
-				item.setChecked(check);
-			}
-		}
-	}
-}
-/**
- * Sets the grayed state for the given element in this viewer.
- *
- * @param element the element
- * @param state <code>true</code> if the item should be grayed,
- *  and <code>false</code> if it should be ungrayed
- * @return <code>true</code> if the element is visible and the gray
- *  state could be set, and <code>false</code> otherwise
- */
-public boolean setGrayed(Object element, boolean state) {
-	Assert.isNotNull(element);
-	Widget widget = findItem(element);
-	if (widget instanceof TableItem) {
-		((TableItem) widget).setGrayed(state);
-		return true;
-	}
-	return false;
-}
-/**
- * Sets which nodes are grayed in this viewer.
- * The given list contains the elements that are to be grayed;
- * all other nodes are to be ungrayed.
- * <p>
- * This method is typically used when restoring the interesting
- * state of a viewer captured by an earlier call to <code>getGrayedElements</code>.
- * </p>
- *
- * @param elements the array of grayed elements
- *
- * @see #getGrayedElements
- */
-public void setGrayedElements(Object[] elements) {
-	assertElementsNotNull(elements);
-	CustomHashtable set = newHashtable(elements.length*2+1);
-	for (int i = 0; i < elements.length; ++i) {
-		set.put(elements[i], elements[i]);
-	}
-	TableItem[] items = getTable().getItems();
-	for (int i = 0; i < items.length; ++i) {
-		TableItem item = items[i];
-		Object element = item.getData();
-		if (element != null) {
-			boolean gray = set.containsKey(element);
-			// only set if different, to avoid flicker
-			if (item.getGrayed() != gray) {
-				item.setGrayed(gray);
-			}
-		}
-	}
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/CheckboxTreeViewer.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/CheckboxTreeViewer.java
deleted file mode 100644
index f0c1132..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/CheckboxTreeViewer.java
+++ /dev/null
@@ -1,527 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.Platform;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-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.util.Assert;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.SafeRunnable;
-
-/**
- * A concrete tree-structured viewer based on an SWT <code>Tree</code>
- * control with checkboxes on each node.
- * <p>
- * This class is not intended to be subclassed outside the viewer framework. 
- * It is designed to be instantiated with a pre-existing SWT tree control and configured
- * with a domain-specific content provider, label provider, element filter (optional),
- * and element sorter (optional).
- * </p>
- */
-public class CheckboxTreeViewer extends TreeViewer implements ICheckable {
-	
-	/**
-	 * List of check state listeners (element type: <code>ICheckStateListener</code>).
-	 */
-	private ListenerList checkStateListeners = new ListenerList(3);
-
-	/**
-	 * Last item clicked on, or <code>null</code> if none.
-	 */
-	private TreeItem lastClickedItem = null;	
-/**
- * Creates a tree viewer on a newly-created tree control under the given parent.
- * The tree control is created using the SWT style bits: <code>CHECK</code> and <code>BORDER</code>.
- * The viewer has no input, no content provider, a default label provider, 
- * no sorter, and no filters.
- *
- * @param parent the parent control
- */
-public CheckboxTreeViewer(Composite parent) {
-	this(parent, SWT.BORDER);
-}
-/**
- * Creates a tree viewer on a newly-created tree control under the given parent.
- * The tree control is created using the given SWT style bits, plus the <code>CHECK</code> style bit.
- * The viewer has no input, no content provider, a default label provider, 
- * no sorter, and no filters.
- *
- * @param parent the parent control
- * @param style the SWT style bits
- */
-public CheckboxTreeViewer(Composite parent, int style) {
-	this(new Tree(parent, SWT.CHECK | style));
-}
-/**
- * Creates a tree viewer on the given tree control.
- * The <code>SWT.CHECK</code> style bit must be set on the given tree control.
- * The viewer has no input, no content provider, a default label provider, 
- * no sorter, and no filters.
- *
- * @param tree the tree control
- */
-public CheckboxTreeViewer(Tree tree) {
-	super(tree);
-}
-/* (non-Javadoc)
- * Method declared on ICheckable.
- */
-public void addCheckStateListener(ICheckStateListener listener) {
-	checkStateListeners.add(listener);
-}
-/**
- * Applies the checked and grayed states of the given widget and its
- * descendents.
- *
- * @param checked a set of elements (element type: <code>Object</code>) 
- * @param grayed a set of elements (element type: <code>Object</code>) 
- * @param widget the widget
- */
-private void applyState(CustomHashtable checked, CustomHashtable grayed, Widget widget) {
-	Item[] items = getChildren(widget);
-	for (int i = 0; i < items.length; i++) {
-		Item item = items[i];
-		if (item instanceof TreeItem) {
-			Object data = item.getData();
-			if (data != null) {
-				TreeItem ti = (TreeItem) item;
-				ti.setChecked(checked.containsKey(data));
-				ti.setGrayed(grayed.containsKey(data));
-			}
-		}
-		applyState(checked, grayed, item);
-	}
-}
-/**
- * Notifies any check state listeners that the check state of an element has changed.
- * Only listeners registered at the time this method is called are notified.
- *
- * @param event a check state changed event
- *
- * @see ICheckStateListener#checkStateChanged
- */
-protected void fireCheckStateChanged(final CheckStateChangedEvent event) {
-	Object[] array = checkStateListeners.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);
-			}
-		});
-	}	
-	
-}
-/**
- * Gathers the checked and grayed states of the given widget and its
- * descendents.
- *
- * @param checked a writeable set of elements (element type: <code>Object</code>) 
- * @param grayed a writeable set of elements (element type: <code>Object</code>) 
- * @param widget the widget
- */
-private void gatherState(CustomHashtable checked, CustomHashtable grayed, Widget widget) {
-	Item[] items = getChildren(widget);
-	for (int i = 0; i < items.length; i++) {
-		Item item = items[i];
-		if (item instanceof TreeItem) {
-			Object data = item.getData();
-			if (data != null) {
-				TreeItem ti = (TreeItem) item;
-				if (ti.getChecked())
-					checked.put(data, data);
-				if (ti.getGrayed())
-					grayed.put(data, data);
-			}
-		}
-		gatherState(checked, grayed, item);
-	}
-}
-/* (non-Javadoc)
- * Method declared on ICheckable.
- */
-public boolean getChecked(Object element) {
-	Widget widget = findItem(element);
-	if (widget instanceof TreeItem)
-		return ((TreeItem) widget).getChecked();
-	return false;
-}
-/**
- * Returns a list of checked elements in this viewer's tree, 
- * including currently hidden ones that are marked as
- * checked but are under a collapsed ancestor.
- * <p>
- * This method is typically used when preserving the interesting
- * state of a viewer; <code>setCheckedElements</code> is used during the restore.
- * </p>
- *
- * @return the array of checked elements
- *
- * @see #setCheckedElements
- */
-public Object[] getCheckedElements() {
-	ArrayList v = new ArrayList();
-	Control tree = getControl();
-	internalCollectChecked(v, tree);
-	return v.toArray();
-}
-/**
- * Returns the grayed state of the given element.
- *
- * @param element the element
- * @return <code>true</code> if the element is grayed,
- *   and <code>false</code> if not grayed
- */
-public boolean getGrayed(Object element) {
-	Widget widget = findItem(element);
-	if (widget instanceof TreeItem) {
-		return ((TreeItem) widget).getGrayed();
-	}
-	return false;
-}
-/**
- * Returns a list of grayed elements in this viewer's tree, 
- * including currently hidden ones that are marked as
- * grayed but are under a collapsed ancestor.
- * <p>
- * This method is typically used when preserving the interesting
- * state of a viewer; <code>setGrayedElements</code> is used during the restore.
- * </p>
- *
- * @return the array of grayed elements
- *
- * @see #setGrayedElements
- */
-public Object[] getGrayedElements() {
-	List result = new ArrayList();
-	internalCollectGrayed(result, getControl());
-	return result.toArray();
-}
-/* (non-Javadoc)
- * Method declared on StructuredViewer.
- */
-protected void handleDoubleSelect(SelectionEvent event) {
-
-	if (lastClickedItem != null) {
-		TreeItem item = lastClickedItem;
-		Object data = item.getData();
-		if (data != null) {
-			boolean state = item.getChecked();
-			setChecked(data, !state);
-			fireCheckStateChanged(new CheckStateChangedEvent(this, data, !state));
-		}
-		lastClickedItem = null;
-	} else
-		super.handleDoubleSelect(event);
-}
-/* (non-Javadoc)
- * Method declared on StructuredViewer.
- */
-protected void handleSelect(SelectionEvent event) {
-
-	lastClickedItem = null;
-	if (event.detail == SWT.CHECK) {
-		TreeItem item = (TreeItem) event.item;
-		lastClickedItem = item;
-		super.handleSelect(event);
-
-		Object data = item.getData();
-		if (data != null) {
-			fireCheckStateChanged(new CheckStateChangedEvent(this, data, item.getChecked()));
-		}
-	} else
-		super.handleSelect(event);
-}
-/**
- * Gathers the checked states of the given widget and its
- * descendents, following a pre-order traversal of the tree.
- *
- * @param result a writeable list of elements (element type: <code>Object</code>)
- * @param widget the widget
- */
-private void internalCollectChecked(List result, Widget widget) {
-	Item[] items = getChildren(widget);
-	for (int i = 0; i < items.length; i++) {
-		Item item = items[i];
-		if (item instanceof TreeItem && ((TreeItem) item).getChecked()) {
-			Object data = item.getData();
-			if (data != null)
-				result.add(data);
-		}
-		internalCollectChecked(result, item);
-	}
-}
-/**
- * Gathers the grayed states of the given widget and its
- * descendents, following a pre-order traversal of the tree.
- *
- * @param result a writeable list of elements (element type: <code>Object</code>)
- * @param widget the widget
- */
-private void internalCollectGrayed(List result, Widget widget) {
-	Item[] items = getChildren(widget);
-	for (int i = 0; i < items.length; i++) {
-		Item item = items[i];
-		if (item instanceof TreeItem && ((TreeItem) item).getGrayed()) {
-			Object data = item.getData();
-			if (data != null)
-				result.add(data);
-		}
-		internalCollectGrayed(result, item);
-	}
-}
-/**
- * Sets the checked state of all items to correspond to the given set of checked elements.
- *
- * @param checkedElements the set (element type: <code>Object</code>) of elements which are checked
- * @param widget the widget
- */
-private void internalSetChecked(CustomHashtable checkedElements, Widget widget) {
-	Item[] items = getChildren(widget);
-	for (int i = 0; i < items.length; i++) {
-		TreeItem item = (TreeItem) items[i];
-		Object data = item.getData();
-		if (data != null) {
-			boolean checked = checkedElements.containsKey(data);
-			if (checked != item.getChecked()) {
-				item.setChecked(checked);
-			}
-		}
-		internalSetChecked(checkedElements, item);
-	}
-}
-/**
- * Sets the grayed state of all items to correspond to the given set of grayed elements.
- *
- * @param grayedElements the set (element type: <code>Object</code>) of elements which are grayed
- * @param widget the widget
- */
-private void internalSetGrayed(CustomHashtable grayedElements, Widget widget) {
-	Item[] items = getChildren(widget);
-	for (int i = 0; i < items.length; i++) {
-		TreeItem item = (TreeItem) items[i];
-		Object data = item.getData();
-		if (data != null) {
-			boolean grayed = grayedElements.containsKey(data);
-			if (grayed != item.getGrayed()) {
-				item.setGrayed(grayed);
-			}
-		}
-		internalSetGrayed(grayedElements, item);
-	}
-}
-/* (non-Javadoc)
- * Method declared on Viewer.
- */
-protected void preservingSelection(Runnable updateCode) {
-
-	int n = getItemCount(getControl());
-	CustomHashtable checkedNodes = newHashtable(n*2+1);
-	CustomHashtable grayedNodes = newHashtable(n*2+1);
-
-	gatherState(checkedNodes, grayedNodes, getControl());
-
-	super.preservingSelection(updateCode);
-
-	applyState(checkedNodes, grayedNodes, getControl());
-}
-/* (non-Javadoc)
- * Method declared on ICheckable.
- */
-public void removeCheckStateListener(ICheckStateListener listener) {
-	checkStateListeners.remove(listener);
-}
-/* (non-Javadoc)
- * Method declared on ICheckable.
- */
-public boolean setChecked(Object element, boolean state) {
-	Assert.isNotNull(element);
-	Widget widget = internalExpand(element, false);
-	if (widget instanceof TreeItem) {
-		((TreeItem) widget).setChecked(state);
-		return true;
-	}
-	return false;
-}
-/**
- * Sets the checked state for the children of the given item.
- *
- * @param item the item
- * @param state <code>true</code> if the item should be checked,
- *  and <code>false</code> if it should be unchecked
- */
-private void setCheckedChildren(Item item, boolean state) {
-	createChildren(item);
-	Item[] items = getChildren(item);
-	if (items != null) {
-		for (int i = 0; i < items.length; i++) {
-			Item it = items[i];
-			if (it.getData() != null && (it instanceof TreeItem)) {
-				TreeItem treeItem = (TreeItem) it;
-				treeItem.setChecked(state);
-				setCheckedChildren(treeItem, state);
-			}
-		}
-	}
-}
-/**
- * Sets which elements are checked in this viewer's tree.
- * The given list contains the elements that are to be checked;
- * all other elements are to be unchecked.
- * <p>
- * This method is typically used when restoring the interesting
- * state of a viewer captured by an earlier call to <code>getCheckedElements</code>.
- * </p>
- *
- * @param elements the array of checked elements
- * @see #getCheckedElements
- */
-public void setCheckedElements(Object[] elements) {
-	assertElementsNotNull(elements);
-	CustomHashtable checkedElements = newHashtable(elements.length*2+1);
-	for (int i = 0; i < elements.length; ++i) {
-	    Object element = elements[i];
-		// Ensure item exists for element
-		internalExpand(element, false);
-		checkedElements.put(element, element);
-	}
-	Control tree = getControl();
-	tree.setRedraw(false);
-	internalSetChecked(checkedElements, tree);
-	tree.setRedraw(true);
-}
-/**
- * Sets the grayed state for the given element in this viewer.
- *
- * @param element the element
- * @param state <code>true</code> if the item should be grayed,
- *  and <code>false</code> if it should be ungrayed
- * @return <code>true</code> if the gray state could be set, 
- *  and <code>false</code> otherwise
- */
-public boolean setGrayed(Object element, boolean state) {
-	Assert.isNotNull(element);
-	Widget widget = internalExpand(element, false);
-	if (widget instanceof TreeItem) {
-		((TreeItem) widget).setGrayed(state);
-		return true;
-	}
-	return false;
-}
-
-/**
- * Check and gray the selection rather than calling both
- * setGrayed and setChecked as an optimization.
- * @param element the item being checked
- * @param state a boolean indicating selection or deselection
- * @return boolean indicating success or failure.
- */
-public boolean setGrayChecked(Object element, boolean state) {
-	Assert.isNotNull(element);
-	Widget widget = internalExpand(element, false);
-	if (widget instanceof TreeItem) {
-		TreeItem item = (TreeItem) widget;
-		item.setChecked(state);
-		item.setGrayed(state);
-		return true;
-	}
-	return false;
-}
-
-/**
- * Sets which elements are grayed in this viewer's tree.
- * The given list contains the elements that are to be grayed;
- * all other elements are to be ungrayed.
- * <p>
- * This method is typically used when restoring the interesting
- * state of a viewer captured by an earlier call to <code>getGrayedElements</code>.
- * </p>
- *
- * @param elements the array of grayed elements
- *
- * @see #getGrayedElements
- */
-public void setGrayedElements(Object[] elements) {
-	assertElementsNotNull(elements);
-	CustomHashtable grayedElements = newHashtable(elements.length*2+1);
-	for (int i = 0; i < elements.length; ++i) {
-	    Object element = elements[i];
-		// Ensure item exists for element
-		internalExpand(element, false);
-		grayedElements.put(element, element);
-	}
-	Control tree = getControl();
-	tree.setRedraw(false);
-	internalSetGrayed(grayedElements, tree);
-	tree.setRedraw(true);
-}
-/**
- * Sets the grayed state for the given element and its parents
- * in this viewer.
- *
- * @param element the element
- * @param state <code>true</code> if the item should be grayed,
- *  and <code>false</code> if it should be ungrayed
- * @return <code>true</code> if the element is visible and the gray
- *  state could be set, and <code>false</code> otherwise
- * @see #setGrayed
- */
-public boolean setParentsGrayed(Object element, boolean state) {
-	Assert.isNotNull(element);
-	Widget widget = internalExpand(element, false);
-	if (widget instanceof TreeItem) {
-		TreeItem item = (TreeItem) widget;
-		item.setGrayed(state);
-		item = item.getParentItem();
-		while (item != null) {
-			item.setGrayed(state);
-			item = item.getParentItem();
-		}
-		return true;
-	}
-	return false;
-}
-/**
- * Sets the checked state for the given element and its visible
- * children in this viewer.
- * Assumes that the element has been expanded before. To enforce
- * that the item is expanded, call <code>expandToLevel</code>
- * for the element.
- *
- * @param element the element
- * @param state <code>true</code> if the item should be checked,
- *  and <code>false</code> if it should be unchecked
- * @return <code>true</code> if the checked state could be set, 
- *  and <code>false</code> otherwise
- */
-public boolean setSubtreeChecked(Object element, boolean state) {
-	Widget widget = internalExpand(element, false);
-	if (widget instanceof TreeItem) {
-		TreeItem item = (TreeItem) widget;
-		item.setChecked(state);
-		setCheckedChildren(item, state);
-		return true;
-	}
-	return false;
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ColorCellEditor.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ColorCellEditor.java
deleted file mode 100644
index 4458fad..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ColorCellEditor.java
+++ /dev/null
@@ -1,218 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.TableTree;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * A cell editor that manages a color field.
- * The cell editor's value is the color (an SWT <code>RBG</code>).
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class ColorCellEditor extends DialogCellEditor {
-
-	/**
-	 * The default extent in pixels.
-	 */
-	private static final int DEFAULT_EXTENT= 16;
-	
-	/**
-	 * Gap between between image and text in pixels.
-	 */	 	
-	private static final int GAP = 6;
-
-	/**
-	 * The composite widget containing the color and RGB label widgets
-	 */
-	private Composite composite;
-
-	/**
-	 * The label widget showing the current color.
-	 */
-	private Label colorLabel;
-
-	/**
-	 * The label widget showing the RGB values.
-	 */
-	private Label rgbLabel;
-
-	/**
-	 * The image.
-	 */
-	private Image image;
-	
-	/**
-	 * Internal class for laying out this cell editor.
-	 */
-	private class ColorCellLayout extends Layout {
-		public Point computeSize(
-			Composite editor, 
-			int wHint, 
-			int hHint, 
-			boolean force) {
-			if (wHint != SWT.DEFAULT && hHint != SWT.DEFAULT)
-				return new Point(wHint, hHint);
-			Point colorSize = colorLabel.computeSize(SWT.DEFAULT, SWT.DEFAULT, force);
-			Point rgbSize = rgbLabel.computeSize(SWT.DEFAULT, SWT.DEFAULT, force);
-			return new Point(
-				colorSize.x + GAP + rgbSize.x, 
-				Math.max(colorSize.y, rgbSize.y)); 
-		}
-		public void layout(Composite editor, boolean force) {
-			Rectangle bounds = editor.getClientArea();
-			Point colorSize = colorLabel.computeSize(SWT.DEFAULT, SWT.DEFAULT, force);
-			Point rgbSize = rgbLabel.computeSize(SWT.DEFAULT, SWT.DEFAULT, force);
-			int ty = (bounds.height - rgbSize.y) / 2;
-			if (ty < 0)
-				ty = 0;
-			colorLabel.setBounds(-1, 0, colorSize.x, colorSize.y);
-			rgbLabel.setBounds(
-				colorSize.x + GAP - 1, 
-				ty, 
-				bounds.width - colorSize.x - GAP, 
-				bounds.height); 
-		}
-	}
-/**
- * Creates a new color cell editor parented under the given control.
- * The cell editor value is black (<code>RGB(0,0,0)</code>) initially, and has no 
- * validator.
- *
- * @param parent the parent control
- */
-public ColorCellEditor(Composite parent) {
-	this(parent, SWT.NONE);
-}
-/**
- * Creates a new color cell editor parented under the given control.
- * The cell editor value is black (<code>RGB(0,0,0)</code>) initially, and has no 
- * validator.
- *
- * @param parent the parent control
- * @param style the style bits
- * @since 2.1
- */
-public ColorCellEditor(Composite parent, int style) {
-	super(parent, style);
-	doSetValue(new RGB(0, 0, 0));
-}
-/**
- * Creates and returns the color image data for the given control
- * and RGB value. The image's size is either the control's item extent 
- * or the cell editor's default extent, which is 16 pixels square.
- *
- * @param w the control
- * @param color the color
- */
-private ImageData createColorImage(Control w, RGB color) {
-
-	GC gc = new GC(w);
-	FontMetrics fm = gc.getFontMetrics();
-	int size = fm.getAscent();
-	gc.dispose();
-
-	int indent = 6;
-	int extent = DEFAULT_EXTENT;
-	if (w instanceof Table)
-		extent = ((Table) w).getItemHeight() - 1;
-	else if (w instanceof Tree)
-		extent = ((Tree) w).getItemHeight() - 1;
-	else if (w instanceof TableTree)
-		extent = ((TableTree) w).getItemHeight() - 1;
-
-	if (size > extent)
-		size = extent;
-
-	int width = indent + size;
-	int height = extent;
-
-	int xoffset = indent;
-	int yoffset = (height - size) / 2;
-
-	RGB black = new RGB(0, 0, 0);
-	PaletteData dataPalette = new PaletteData(new RGB[] {black, black, color});
-	ImageData data = new ImageData(width, height, 4, dataPalette);
-	data.transparentPixel = 0;
-
-	int end = size - 1;
-	for (int y = 0; y < size; y++) {
-		for (int x = 0; x < size; x++) {
-			if (x == 0 || y == 0 || x == end || y == end)
-				data.setPixel(x + xoffset, y + yoffset, 1);
-			else
-				data.setPixel(x + xoffset, y + yoffset, 2);
-		}
-	}
-
-	return data;
-}
-/* (non-Javadoc)
- * Method declared on DialogCellEditor.
- */
-protected Control createContents(Composite cell) {
-	Color bg = cell.getBackground();
-	composite = new Composite(cell, getStyle());
-	composite.setBackground(bg);
-	composite.setLayout(new ColorCellLayout());
-	colorLabel = new Label(composite, SWT.LEFT);
-	colorLabel.setBackground(bg);
-	rgbLabel = new Label(composite, SWT.LEFT);
-	rgbLabel.setBackground(bg);
-	rgbLabel.setFont(cell.getFont());
-	return composite;
-}
-/* (non-Javadoc)
- * Method declared on CellEditor.
- */
-public void dispose() {
-	if (image != null) {
-		image.dispose();
-		image = null;
-	}
-	super.dispose();
-}
-/* (non-Javadoc)
- * Method declared on DialogCellEditor.
- */
-protected Object openDialogBox(Control cellEditorWindow) {
-	ColorDialog dialog = new ColorDialog(cellEditorWindow.getShell());
-	Object value = getValue();
-	if (value != null)
-		dialog.setRGB((RGB) value);
-	value = dialog.open();
-	return dialog.getRGB();
-}
-/* (non-Javadoc)
- * Method declared on DialogCellEditor.
- */
-protected void updateContents(Object value) {
-	RGB rgb = (RGB) value;
-	// XXX: We don't have a value the first time this method is called".
-	if (rgb == null) {
-		rgb = new RGB(0, 0, 0);
-	}
-	// XXX: Workaround for 1FMQ0P3: SWT:ALL - TableItem.setImage doesn't work if using the identical image."
-	if (image != null)
-		image.dispose();
-
-	ImageData id = createColorImage(colorLabel.getParent().getParent(), rgb);
-	ImageData mask = id.getTransparencyMask();
-	image = new Image(colorLabel.getDisplay(), id, mask);
-	colorLabel.setImage(image);
-
-	rgbLabel.setText("(" + rgb.red + "," + rgb.green + "," + rgb.blue + ")");//$NON-NLS-4$//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ColumnLayoutData.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ColumnLayoutData.java
deleted file mode 100644
index 03adda4..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ColumnLayoutData.java
+++ /dev/null
@@ -1,35 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
- 
-/**
- * An abstract column layout data describing the information needed 
- * (by <code>TableLayout</code>) to properly lay out a table. 
- * <p>
- * This class is not intended to be subclassed outside the framework.
- * </p>
- */
-public abstract class ColumnLayoutData {
-	
-	/**
-	 * Indicates whether the column is resizable.
-	 */
-	public boolean resizable;
-/**
- * Creates a new column layout data object.
- *
- * @param resizable <code>true</code> if the column is resizable, and <code>false</code> if not
- */
-protected ColumnLayoutData(boolean resizable) {
-	this.resizable = resizable;
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ColumnPixelData.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ColumnPixelData.java
deleted file mode 100644
index 6f5e0c8..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ColumnPixelData.java
+++ /dev/null
@@ -1,48 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-import org.eclipse.jface.util.Assert;
-
-/**
- * Describes the width of a table column in pixels, and
- * whether the column is resizable.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class ColumnPixelData extends ColumnLayoutData {
-
-	/**
-	 * The column's width in pixels.
-	 */
-	public int width;
-/**
- * Creates a resizable column width of the given number of pixels.
- *
- * @param widthInPixels the width of column in pixels
- */
-public ColumnPixelData(int widthInPixels) {
-	this(widthInPixels, true);
-}
-/**
- * Creates a column width of the given number of pixels.
- *
- * @param widthInPixels the width of column in pixels
- * @param resizable <code>true</code> if the column is resizable,
- *   and <code>false</code> if size of the column is fixed
- */
-public ColumnPixelData(int widthInPixels, boolean resizable) {
-	super(resizable);
-	Assert.isTrue(widthInPixels >= 0);
-	this.width = widthInPixels;
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ColumnWeightData.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ColumnWeightData.java
deleted file mode 100644
index befef9b..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ColumnWeightData.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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-import org.eclipse.jface.util.Assert;
-
-/**
- * Describes the width of a table column in terms of a weight, 
- * a minimum width, and whether the column is resizable.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class ColumnWeightData extends ColumnLayoutData {
-
-	/** 
-	 * Default width of a column (in pixels).
-	 */
-	public static final int MINIMUM_WIDTH = 20;
-	
-	/**
-	 * The column's minimum width in pixels.
-	 */
-	public int minimumWidth;
-	
-	/**
-	 * The column's weight.
-	 */
-	public int weight;
-/**
- * Creates a resizable column width with the given weight and a default
- * minimum width.
- *
- * @param weight the weight of the column
- */
-public ColumnWeightData(int weight) {
-	this(weight, true);
-}
-/**
- * Creates a resizable column width with the given weight and minimum width.
- *
- * @param weight the weight of the column
- * @param minimumWidth the minimum width of the column in pixels
- */
-public ColumnWeightData(int weight, int minimumWidth) {
-	this(weight, minimumWidth, true);
-}
-/**
- * Creates a column width with the given weight and minimum width.
- *
- * @param weight the weight of the column
- * @param minimumWidth the minimum width of the column in pixels
- * @param resizable <code>true</code> if the column is resizable,
- *   and <code>false</code> if size of the column is fixed
- */
-public ColumnWeightData(int weight, int minimumWidth, boolean resizable) {
-	super(resizable);
-	Assert.isTrue(weight >= 0);
-	Assert.isTrue(minimumWidth >= 0);
-	this.weight = weight;
-	this.minimumWidth = minimumWidth;
-}
-/**
- * Creates a column width with the given weight and a default
- * minimum width.
- *
- * @param weight the weight of the column
- * @param resizable <code>true</code> if the column is resizable,
- *   and <code>false</code> if size of the column is fixed
- */
-public ColumnWeightData(int weight, boolean resizable) {
-	this(weight, MINIMUM_WIDTH, resizable);
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ComboBoxCellEditor.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ComboBoxCellEditor.java
deleted file mode 100644
index ae4e35b..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ComboBoxCellEditor.java
+++ /dev/null
@@ -1,267 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.viewers;
-
-import java.text.MessageFormat;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * A cell editor that presents a list of items in a combo box.
- * The cell editor's value is the zero-based index of the selected
- * item.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class ComboBoxCellEditor extends CellEditor {
-
-	/**
-	 * The list of items to present in the combo box.
-	 */
-	private String[] items;
-
-	/**
-	 * The zero-based index of the selected item.
-	 */
-	int selection;
-
-	/**
-	 * The custom combo box control.
-	 */
-	CCombo comboBox;
-
-	/**
-	 * Default ComboBoxCellEditor style
-	 */
-	private static final int defaultStyle = SWT.NONE;
-
-/**
- * Creates a new cell editor with no control and no  st of choices. Initially,
- * the cell editor has no cell validator.
- * 
- * @since 2.1
- * @see #setStyle
- * @see #create
- * @see #setItems
- * @see #dispose
- */
-public ComboBoxCellEditor() {
-	setStyle(defaultStyle);
-}
-
-/**
- * Creates a new cell editor with a combo containing the given 
- * list of choices and parented under the given control. The cell
- * editor value is the zero-based index of the selected item.
- * Initially, the cell editor has no cell validator and
- * the first item in the list is selected. 
- *
- * @param parent the parent control
- * @param items the list of strings for the combo box
- */
-public ComboBoxCellEditor(Composite parent, String[] items) {
-	this(parent, items, defaultStyle);
-}
-
-/**
- * Creates a new cell editor with a combo containing the given 
- * list of choices and parented under the given control. The cell
- * editor value is the zero-based index of the selected item.
- * Initially, the cell editor has no cell validator and
- * the first item in the list is selected. 
- *
- * @param parent the parent control
- * @param items the list of strings for the combo box
- * @param style the style bits
- * @since 2.1
- */
-public ComboBoxCellEditor(Composite parent, String[] items, int style) {
-	super(parent, style);
-	setItems(items);
-}
-
-/**
- * Returns the list of choices for the combo box
- *
- * @return the list of choices for the combo box
- */
-public String[] getItems() {
-	return this.items;
-}
-
-/**
- * Sets the list of choices for the combo box
- *
- * @param items the list of choices for the combo box
- */
-public void setItems(String[] items) {
-	Assert.isNotNull(items);
-	this.items = items;
-	populateComboBoxItems();
-}
-
-/* (non-Javadoc)
- * Method declared on CellEditor.
- */
-protected Control createControl(Composite parent) {
-	
-	comboBox = new CCombo(parent, getStyle());
-	comboBox.setFont(parent.getFont());
-
-	comboBox.addKeyListener(new KeyAdapter() {
-		// hook key pressed - see PR 14201  
-		public void keyPressed(KeyEvent e) {
-			keyReleaseOccured(e);
-		}
-	});
-
-	comboBox.addSelectionListener(new SelectionAdapter() {
-		public void widgetDefaultSelected(SelectionEvent event) {
-			applyEditorValueAndDeactivate();
-		}
-		
-		public void widgetSelected(SelectionEvent event) {
-			selection = comboBox.getSelectionIndex();
-		}
-	});
-
-	comboBox.addTraverseListener(new TraverseListener() {
-		public void keyTraversed(TraverseEvent e) {
-			if (e.detail == SWT.TRAVERSE_ESCAPE || e.detail == SWT.TRAVERSE_RETURN) {
-				e.doit = false;
-			}
-		}
-	});
-
-	comboBox.addFocusListener(new FocusAdapter() {
-		public void focusLost(FocusEvent e) {
-			ComboBoxCellEditor.this.focusLost();
-		}
-	});
-	return comboBox;
-}
-
-/**
- * The <code>ComboBoxCellEditor</code> implementation of
- * this <code>CellEditor</code> framework method returns
- * the zero-based index of the current selection.
- *
- * @return the zero-based index of the current selection wrapped
- *  as an <code>Integer</code>
- */
-protected Object doGetValue() {
-	return new Integer(selection);
-}
-
-/* (non-Javadoc)
- * Method declared on CellEditor.
- */
-protected void doSetFocus() {
-	comboBox.setFocus();
-}
-
-/**
- * The <code>ComboBoxCellEditor</code> implementation of
- * this <code>CellEditor</code> framework method sets the 
- * minimum width of the cell.  The minimum width is 10 characters
- * if <code>comboBox</code> is not <code>null</code> or <code>disposed</code>
- * eles it is 60 pixels to make sure the arrow button and some text is visible.
- * The list of CCombo will be wide enough to show its longest item.
- */
-public LayoutData getLayoutData() {
-	LayoutData layoutData = super.getLayoutData();
-	if ((comboBox == null) || comboBox.isDisposed())
-		layoutData.minimumWidth = 60;
-	else {
-		// make the comboBox 10 characters wide
-		GC gc = new GC(comboBox);
-		layoutData.minimumWidth = (gc.getFontMetrics().getAverageCharWidth() * 10) + 10;
-		gc.dispose();
-	}
-	return layoutData;
-}
-
-/**
- * The <code>ComboBoxCellEditor</code> implementation of
- * this <code>CellEditor</code> framework method
- * accepts a zero-based index of a selection.
- *
- * @param value the zero-based index of the selection wrapped
- *   as an <code>Integer</code>
- */
-protected void doSetValue(Object value) {
-	Assert.isTrue(comboBox != null && (value instanceof Integer));
-	selection = ((Integer) value).intValue();
-	comboBox.select(selection);
-}
-
-/**
- * Updates the list of choices for the combo box for the current control.
- */
-private void populateComboBoxItems() {
-	if (comboBox != null && items != null) {
-		comboBox.removeAll();
-		for (int i = 0; i < items.length; i++)
-			comboBox.add(items[i], i);
-
-		setValueValid(true);
-		selection = 0;
-	}
-}
-/**
- * Applies the currently selected value and deactiavates the cell editor
- */
-void applyEditorValueAndDeactivate() {
-	//	must set the selection before getting value
-	selection = comboBox.getSelectionIndex();
-	Object newValue = doGetValue();
-	markDirty();
-	boolean isValid = isCorrect(newValue);
-	setValueValid(isValid);
-	if (!isValid) {
-		// try to insert the current value into the error message.
-		setErrorMessage(
-			MessageFormat.format(getErrorMessage(), new Object[] {items[selection]})); 
-	}
-	fireApplyEditorValue();
-	deactivate();
-}
-
-/*
- *  (non-Javadoc)
- * @see org.eclipse.jface.viewers.CellEditor#focusLost()
- */
-protected void focusLost() {
-	if (isActivated()) {
-		applyEditorValueAndDeactivate();
-	}
-}
-
-/*
- *  (non-Javadoc)
- * @see org.eclipse.jface.viewers.CellEditor#keyReleaseOccured(org.eclipse.swt.events.KeyEvent)
- */
-protected void keyReleaseOccured(KeyEvent keyEvent) {
-	if (keyEvent.character == '\u001b') { // Escape character
-		fireCancelEditor();
-	} else if (keyEvent.character == '\t') { // tab key
-		applyEditorValueAndDeactivate();
-	}
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ComboViewer.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ComboViewer.java
deleted file mode 100644
index 3dfcf8b..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ComboViewer.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.viewers;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * A concrete viewer based on an SWT <code>Combo</code> control. This class is intended
- * as an alternative to the JFace <code>ListViewer</code>, which displays its content
- * in a combo box rather than a list. Wherever possible, this class attempts to behave
- * like ListViewer. <p>
- * 
- * This class is designed to be instantiated with a pre-existing SWT combo control 
- * and configured with a domain-specific content provider, label provider, element
- * filter (optional), and element sorter (optional).
- * </p>
- * 
- * @see org.eclipse.jface.viewers.ListViewer
- * @since 3.0
- */
-public final class ComboViewer extends AbstractListViewer {
-
-	/**
-	 * This viewer's list control.
-	 */
-	private Combo combo;
-
-	/**
-	 * Creates a combo viewer on a newly-created combo control under the given parent.
-	 * The viewer has no input, no content provider, a default label provider, 
-	 * no sorter, and no filters.
-	 *
-	 * @param parent the parent control
-	 */
-	public ComboViewer(Composite parent) {
-		this(parent, SWT.READ_ONLY | SWT.BORDER);
-	}
-	/**
-	 * Creates a combo viewer on a newly-created combo control under the given parent.
-	 * The combo control is created using the given SWT style bits.
-	 * The viewer has no input, no content provider, a default label provider, 
-	 * no sorter, and no filters.
-	 *
-	 * @param parent the parent control
-	 * @param style the SWT style bits
-	 */
-	public ComboViewer(Composite parent, int style) {
-		this(new Combo(parent, style));
-	}
-	/**
-	 * Creates a combo viewer on the given combo control.
-	 * The viewer has no input, no content provider, a default label provider, 
-	 * no sorter, and no filters.
-	 *
-	 * @param list the combo control
-	 */
-	public ComboViewer(Combo list) {
-		this.combo = list;
-		hookControl(list);
-	}
-
-	protected void listAdd(String string, int index) {
-		combo.add(string, index); 
-	}
-	
-	protected void listSetItem(int index, String string) {
-		combo.setItem(index, string);
-	}
-	
-	protected int[] listGetSelectionIndices() {
-		return new int[] {combo.getSelectionIndex()}; 
-	}
-	
-	protected int listGetItemCount() {
-		return combo.getItemCount();
-	}
-	
-	protected void listSetItems(String[] labels) {
-		combo.setItems(labels);
-	}
-	
-	protected void listRemoveAll() {
-		combo.removeAll();
-	}
-	
-	protected void listRemove(int index) {
-		combo.remove(index);
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on Viewer.
-	 */
-	public Control getControl() {
-		return combo;
-	}
-		
-	/**
-	 * Returns this list viewer's list control.
-	 *
-	 * @return the list control
-	 */
-	public Combo getCombo() {
-		return combo;
-	}
-		
-	/*
-	 * Do nothing -- combos only display the selected element, so there is no way
-	 * we can ensure that the given element is visible without changing the selection.
-	 * Method defined on StructuredViewer.
-	 */
-	public void reveal(Object element) {
-		return;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.AbstractListViewer#listSelectAndShow(int[])
-	 */
-	protected void listSetSelection(int[] ixs) {
-		for (int idx = 0; idx < ixs.length; idx++) {
-			combo.select(ixs[idx]);			
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.AbstractListViewer#listDeselectAll()
-	 */
-	protected void listDeselectAll() {
-		combo.deselectAll();
-		combo.clearSelection();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.AbstractListViewer#listShowSelection()
-	 */
-	protected void listShowSelection() {
-		
-	}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ContentViewer.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ContentViewer.java
deleted file mode 100644
index e078eff..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ContentViewer.java
+++ /dev/null
@@ -1,275 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * A content viewer is a model-based adapter on a widget which accesses its
- * model by means of a content provider and a label provider.
- * <p>
- * A viewer's model consists of elements, represented by objects.
- * A viewer defines and implements generic infrastructure for handling model 
- * input, updates, and selections in terms of elements.
- * Input is obtained by querying an <code>IContentProvider</code> which returns
- * elements. The elements themselves are not displayed directly.  They are
- * mapped to labels, containing text and/or an image, using the viewer's 
- * <code>ILabelProvider</code>.
- * </p>
- * <p>
- * Implementing a concrete content viewer typically involves the following steps:
- * <ul>
- * <li>
- * create SWT controls for viewer (in constructor) (optional)
- * </li>
- * <li>
- * initialize SWT controls from input (inputChanged)
- * </li>
- * <li>
- * define viewer-specific update methods
- * </li>
- * <li>
- * support selections (<code>setSelection</code>, <code>getSelection</code>)
- * </ul>
- * </p>
- */
-public abstract class ContentViewer extends Viewer {
-
-	/**
-	 * This viewer's content provider, or <code>null</code> if none.
-	 */
-	private IContentProvider contentProvider = null;
-
-	/**
-	 * This viewer's input, or <code>null</code> if none.
-	 * The viewer's input provides the "model" for the viewer's content.
-	 */
-	private Object input = null;
-
-	/**
-	 * This viewer's label provider. Initially <code>null</code>, but
-	 * lazily initialized (to a <code>SimpleLabelProvider</code>).
-	 */
-	private IBaseLabelProvider labelProvider = null;
-	
-	/**
-	 * This viewer's label provider listener.
-	 * Note: Having a viewer register a label provider listener with
-	 * a label provider avoids having to define public methods
-	 * for internal events.
-	 */
-	private final ILabelProviderListener labelProviderListener = new ILabelProviderListener() {
-		public void labelProviderChanged(LabelProviderChangedEvent event) {
-			ContentViewer.this.handleLabelProviderChanged(event);
-		}
-	};
-/**
- * Creates a content viewer with no input, no content provider, and a
- * default label provider.
- */
-protected ContentViewer() {
-}
-/**
- * Returns the content provider used by this viewer, 
- * or <code>null</code> if this view does not yet have a content
- * provider.
- * <p>
- * The <code>ContentViewer</code> implementation of this method returns the content
- * provider recorded is an internal state variable. 
- * Overriding this method is generally not required; 
- * however, if overriding in a subclass, 
- * <code>super.getContentProvider</code> must be invoked.
- * </p>
- *
- * @return the content provider, or <code>null</code> if none
- */
-public IContentProvider getContentProvider() {
-	return contentProvider;
-}
-/**
- * The <code>ContentViewer</code> implementation of this <code>IInputProvider</code> 
- * method returns the current input of this viewer, or <code>null</code>
- * if none. The viewer's input provides the "model" for the viewer's
- * content.
- */
-public Object getInput() {
-	return input;
-}
-/**
- * Returns the label provider used by this viewer.
- * <p>
- * The <code>ContentViewer</code> implementation of this method returns the label
- * provider recorded in an internal state variable; if none has been
- * set (with <code>setLabelProvider</code>) a <code>SimpleLabelProvider</code>
- * will be created, remembered, and returned.
- * Overriding this method is generally not required; 
- * however, if overriding in a subclass,
- * <code>super.getLabelProvider</code> must be invoked.
- * </p>
- *
- * @return a label provider
- */
-public IBaseLabelProvider getLabelProvider() {
-	if (labelProvider == null)
-		labelProvider = new LabelProvider();
-	return labelProvider;
-}
-/**
- * Handles a dispose event on this viewer's control.
- * <p>
- * The <code>ContentViewer</code> implementation of this method disposes of this
- * viewer's label provider and content provider (if it has one).
- * Subclasses should override this method to perform any additional
- * cleanup of resources; however, overriding methods must invoke
- * <code>super.handleDispose</code>.
- * </p>
- *
- * @param event a dispose event
- */
-protected void handleDispose(DisposeEvent event) {
-	if (contentProvider != null) {
-		contentProvider.inputChanged(this, getInput(), null);
-		contentProvider.dispose();
-		contentProvider = null;
-	}
-	if (labelProvider != null) {
-		labelProvider.removeListener(labelProviderListener);
-		labelProvider.dispose();
-		labelProvider = null;
-	}
-}
-/**
- * Handles a label provider changed event.
- * <p>
- * The <code>ContentViewer</code> implementation of this method calls <code>labelProviderChanged()</code>
- * to cause a complete refresh of the viewer.
- * Subclasses may reimplement or extend.
- * </p>
- */
-protected void handleLabelProviderChanged(LabelProviderChangedEvent event) {
-	labelProviderChanged();
-}
-/**
- * Adds event listener hooks to the given control.
- * <p>
- * All subclasses must call this method when their control is
- * first established.
- * </p> 
- * <p>
- * The <code>ContentViewer</code> implementation of this method hooks 
- * dispose events for the given control.
- * Subclasses may override if they need to add other control hooks;
- * however, <code>super.hookControl</code> must be invoked.
- * </p>
- *
- * @param control the control
- */
-protected void hookControl(Control control) {
-	control.addDisposeListener(new DisposeListener() {
-		public void widgetDisposed(DisposeEvent event) {
-			handleDispose(event);
-		}
-	});
-}
-/**
- * Notifies that the label provider has changed.
- * <p>
- * The <code>ContentViewer</code> implementation of this method calls <code>refresh()</code>.
- * Subclasses may reimplement or extend.
- * </p>
- */
-protected void labelProviderChanged() {
-	refresh();
-}
-/**
- * Sets the content provider used by this viewer.
- * <p>
- * The <code>ContentViewer</code> implementation of this method records the 
- * content provider in an internal state variable.
- * Overriding this method is generally not required; 
- * however, if overriding in a subclass,
- * <code>super.setContentProvider</code> must be invoked.
- * </p>
- *
- * @param contentProvider the content provider
- * @see #getContentProvider
- */
-public void setContentProvider(IContentProvider contentProvider) {
-	Assert.isNotNull(contentProvider);
-	IContentProvider oldContentProvider = this.contentProvider;
-	this.contentProvider = contentProvider;
-	if (oldContentProvider != null) {
-		Object currentInput = getInput();
-		oldContentProvider.inputChanged(this, currentInput, null);
-		oldContentProvider.dispose();
-		contentProvider.inputChanged(this, null, currentInput);
-		refresh();
-	}
-}
-/**
- * The <code>ContentViewer</code> implementation of this <code>Viewer</code>
- * method invokes <code>inputChanged</code> on the content provider and then the
- * <code>inputChanged</code> hook method. This method fails if this viewer does
- * not have a content provider. Subclassers are advised to override 
- * <code>inputChanged</code> rather than this method, but may extend this method
- * if required.
- */
-public void setInput(Object input) {
-	Assert.isTrue(
-		getContentProvider() != null, 
-		"ContentViewer must have a content provider when input is set."); //$NON-NLS-1$
-
-	Object oldInput = getInput();
-	contentProvider.inputChanged(this, oldInput, input);
-	this.input = input;
-
-	// call input hook
-	inputChanged(this.input, oldInput);
-}
-/**
- * Sets the label provider for this viewer.
- * <p>
- * The <code>ContentViewer</code> implementation of this method ensures that the
- * given label provider is connected to this viewer and the
- * former label provider is disconnected from this viewer.
- * Overriding this method is generally not required; 
- * however, if overriding in a subclass,
- * <code>super.setLabelProvider</code> must be invoked.
- * </p>
- *
- * @param labelProvider the label provider, or <code>null</code> if none
- */
-public void setLabelProvider(IBaseLabelProvider labelProvider) {
-	IBaseLabelProvider oldProvider = this.labelProvider;
-	// If it hasn't changed, do nothing.
-	// This also ensures that the provider is not disposed
-	// if set a second time.
-	if (labelProvider == oldProvider) {
-		return;
-	}
-	if (oldProvider != null) {
-		oldProvider.removeListener(this.labelProviderListener);
-	}
-	this.labelProvider = labelProvider;
-	if (labelProvider != null) {
-		labelProvider.addListener(this.labelProviderListener);
-	}
-	refresh();
-
-	// Dispose old provider after refresh, so that items never refer to stale images.
-	if (oldProvider != null) {
-		oldProvider.dispose();
-	}
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/CustomHashtable.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/CustomHashtable.java
deleted file mode 100644
index c21cf71..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/CustomHashtable.java
+++ /dev/null
@@ -1,377 +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:
- *     Peter Shipton - original hashtable implementation
- *     Nick Edgar - added element comparer support
- ******************************************************************************/
-
-package org.eclipse.jface.viewers;
-
-import java.util.Enumeration;
-import java.util.NoSuchElementException;
-
-/**
- * CustomHashtable associates keys with values. Keys and values cannot be null.
- * The size of the Hashtable is the number of key/value pairs it contains.
- * The capacity is the number of key/value pairs the Hashtable can hold.
- * The load factor is a float value which determines how full the Hashtable
- * gets before expanding the capacity. If the load factor of the Hashtable
- * is exceeded, the capacity is doubled.
- * <p>
- * CustomHashtable allows a custom comparator and hash code provider.
- */
-/* package */ final class CustomHashtable {
-	
-/**
- * HashMapEntry is an internal class which is used to hold the entries of a Hashtable.
- */
-private static class HashMapEntry {
-	Object key, value;
-	HashMapEntry next;
-
-	HashMapEntry(Object theKey, Object theValue) {
-		key = theKey;
-		value = theValue;
-	}
-}	
-
-private static final class EmptyEnumerator implements Enumeration {
-	public boolean hasMoreElements() {
-		return false;
-	}
-	
-	public Object nextElement() {
-		throw new NoSuchElementException();
-	}
-}
-
-private class HashEnumerator implements Enumeration {
-	boolean key;
-	int start;
-	HashMapEntry entry;
-	
-	HashEnumerator(boolean isKey) {
-		key = isKey;
-		start = firstSlot;
-	}
-	
-	public boolean hasMoreElements() {
-		if (entry != null) return true;
-		while (start <= lastSlot)
-			if (elementData[start++] != null) {
-				entry = elementData[start-1];
-				return true;
-			}
-		return false;
-	}
-	
-	public Object nextElement() {
-		if (hasMoreElements()) {
-			Object result = key ? entry.key : entry.value;
-			entry = entry.next;
-			return result;
-		} else throw new NoSuchElementException();
-	}
-}
-
-	transient int elementCount;
-	transient HashMapEntry[] elementData;
-	private float loadFactor;
-	private int threshold;
-	transient int firstSlot = 0;
-	transient int lastSlot = -1;
-	transient private IElementComparer comparer;
-	
-	private static final EmptyEnumerator emptyEnumerator = new EmptyEnumerator();
-
-	/**
-	 * The default capacity used when not specified in the constructor.
-	 */
-	public static final int DEFAULT_CAPACITY = 13;
-	
-	/**
-	 * Constructs a new Hashtable using the default capacity
-	 * and load factor.
-	 */
-	public CustomHashtable() {
-		this(13);
-	}
-
-	/**
-	 * Constructs a new Hashtable using the specified capacity
-	 * and the default load factor.
-	 *
-	 * @param capacity the initial capacity
-	 */
-	public CustomHashtable(int capacity) {
-		this(capacity, null);
-	}
-
-	/**
-	 * Constructs a new hash table with the default capacity and the given
-	 * element comparer.
-	 *
-	 * @param comparer the element comparer to use to compare keys and obtain
-	 *   hash codes for keys, or <code>null</code>  to use the normal 
-	 *   <code>equals</code> and <code>hashCode</code> methods
-	 */
-	public CustomHashtable(IElementComparer comparer) {
-		this(DEFAULT_CAPACITY, comparer);
-	}
-
-	/**
-	 * Constructs a new hash table with the given capacity and the given
-	 * element comparer.
-	 * 
-	 * @param capacity the maximum number of elements that can be added without
-	 *   rehashing
-	 * @param comparer the element comparer to use to compare keys and obtain
-	 *   hash codes for keys, or <code>null</code>  to use the normal 
-	 *   <code>equals</code> and <code>hashCode</code> methods
-	 */
-	public CustomHashtable(int capacity, IElementComparer comparer) {
-		if (capacity >= 0) {
-			elementCount = 0;
-			elementData = new HashMapEntry[capacity == 0 ? 1 : capacity];
-			firstSlot = elementData.length;
-			loadFactor = 0.75f;
-			computeMaxSize();
-		} else throw new IllegalArgumentException();
-		this.comparer = comparer;
-	}
-
-	/**
-	 * Constructs a new hash table with enough capacity to hold all keys in the
-	 * given hash table, then adds all key/value pairs in the given hash table
-	 * to the new one, using the given element comparer.
-	 * 
-	 * @param capacity the maximum number of elements that can be added without
-	 *   rehashing
-	 * @param comparer the element comparer to use to compare keys and obtain
-	 *   hash codes for keys, or <code>null</code>  to use the normal 
-	 *   <code>equals</code> and <code>hashCode</code> methods
-	 */
-	public CustomHashtable(CustomHashtable table, IElementComparer comparer) {
-		this(table.size() * 2, comparer);
-		for (int i = table.elementData.length; --i >= 0;) {
-			HashMapEntry entry = table.elementData[i];
-			while (entry != null) {
-				put(entry.key, entry.value);
-				entry = entry.next;
-			}
-		}
-	}
-
-	private void computeMaxSize() {
-		threshold = (int)(elementData.length * loadFactor);
-	}
-
-	/**
-	 * Answers if this Hashtable contains the specified object as a key
-	 * of one of the key/value pairs.
-	 *
-	 * @param		key	the object to look for as a key in this Hashtable
-	 * @return		true if object is a key in this Hashtable, false otherwise
-	 */
-	public boolean containsKey(Object key) {
-		return getEntry(key) != null;
-	}
-
-	/**
-	 * Answers an Enumeration on the values of this Hashtable. The
-	 * results of the Enumeration may be affected if the contents
-	 * of this Hashtable are modified.
-	 *
-	 * @return		an Enumeration of the values of this Hashtable
-	 */
-	public Enumeration elements() {
-		if (elementCount == 0) return emptyEnumerator;
-		return new HashEnumerator(false);
-	}
-
-	/**
-	 * Answers the value associated with the specified key in
-	 * this Hashtable.
-	 *
-	 * @param		key	the key of the value returned
-	 * @return		the value associated with the specified key, null if the specified key
-	 *				does not exist
-	 */
-	public Object get(Object key) {
-		int index = (hashCode(key) & 0x7FFFFFFF) % elementData.length;
-		HashMapEntry entry = elementData[index];
-		while (entry != null) {
-			if (keyEquals(key, entry.key)) return entry.value;
-			entry = entry.next;
-		}
-		return null;
-	}
-
-	private HashMapEntry getEntry(Object key) {
-		int index = (hashCode(key) & 0x7FFFFFFF) % elementData.length;
-		HashMapEntry entry = elementData[index];
-		while (entry != null) {
-			if (keyEquals(key, entry.key)) return entry;
-			entry = entry.next;
-		}
-		return null;
-	}
-	
-	/**
-	 * Answers the hash code for the given key.
-	 */
-	private int hashCode(Object key) {
-		if (comparer == null)
-			return key.hashCode();
-		else
-			return comparer.hashCode(key);
-	}
-	
-	/**
-	 * Compares two keys for equality.
-	 */
-	private boolean keyEquals(Object a, Object b) {
-		if (comparer ==  null)
-			return a.equals(b);
-		else
-			return comparer.equals(a, b);
-	}
-
-	/**
-	 * Answers an Enumeration on the keys of this Hashtable. The
-	 * results of the Enumeration may be affected if the contents
-	 * of this Hashtable are modified.
-	 *
-	 * @return		an Enumeration of the keys of this Hashtable
-	 */
-	public Enumeration keys() {
-		if (elementCount == 0) return emptyEnumerator;
-		return new HashEnumerator(true);
-	}
-
-	/**
-	 * Associate the specified value with the specified key in this Hashtable.
-	 * If the key already exists, the old value is replaced. The key and value
-	 * cannot be null.
-	 *
-	 * @param		key	the key to add
-	 * @param		value	the value to add
-	 * @return		the old value associated with the specified key, null if the key did
-	 *				not exist
-	 */
-	public Object put(Object key, Object value) {
-		if (key != null && value != null) {
-			int index = (hashCode(key) & 0x7FFFFFFF) % elementData.length;
-			HashMapEntry entry = elementData[index];
-			while (entry != null && !keyEquals(key, entry.key))
-				entry = entry.next;
-			if (entry == null) {
-				if (++elementCount > threshold) {
-					rehash();
-					index = (hashCode(key) & 0x7FFFFFFF) % elementData.length;
-				}
-				if (index < firstSlot) firstSlot = index;
-				if (index > lastSlot) lastSlot = index;
-				entry = new HashMapEntry(key, value);
-				entry.next = elementData[index];
-				elementData[index] = entry;
-				return null;
-			}
-			Object result = entry.value;
-			entry.key = key; // important to avoid hanging onto keys that are equal but "old" -- see bug 30607
-			entry.value = value;
-			return result;
-		} else throw new NullPointerException();
-	}
-
-
-	/**
-	 * Increases the capacity of this Hashtable. This method is sent when
-	 * the size of this Hashtable exceeds the load factor.
-	 */
-	private void rehash() {
-		int length = elementData.length<<1;
-		if (length == 0) length = 1;
-		firstSlot = length;
-		lastSlot = -1;
-		HashMapEntry[] newData = new HashMapEntry[length];
-		for (int i=elementData.length; --i >= 0;) {
-			HashMapEntry entry = elementData[i];
-			while (entry != null) {
-				int index = (hashCode(entry.key) & 0x7FFFFFFF) % length;
-				if(index < firstSlot) firstSlot = index;
-				if(index > lastSlot) lastSlot = index;
-				HashMapEntry next = entry.next;
-				entry.next = newData[index];
-				newData[index] = entry;
-				entry = next;
-			}
-		}
-		elementData = newData;
-		computeMaxSize();
-	}
-	
-	/**
-	 * Remove the key/value pair with the specified key from this Hashtable.
-	 *
-	 * @param		key	the key to remove
-	 * @return		the value associated with the specified key, null if the specified key
-	 *				did not exist
-	 */
-	public Object remove(Object key) {
-		HashMapEntry last = null;
-		int index = (hashCode(key) & 0x7FFFFFFF) % elementData.length;
-		HashMapEntry entry = elementData[index];
-		while (entry != null && !keyEquals(key, entry.key)) {
-			last = entry;
-			entry = entry.next;
-		}
-		if (entry != null) {
-			if (last == null) elementData[index] = entry.next;
-			else last.next = entry.next;
-			elementCount--;
-			return entry.value;
-		}
-		return null;
-	}
-	
-	/**
-	 * Answers the number of key/value pairs in this Hashtable.
-	 *
-	 * @return		the number of key/value pairs in this Hashtable
-	 */
-	public int size() {
-		return elementCount;
-	}
-	
-	/**
-	 * Answers the string representation of this Hashtable.
-	 *
-	 * @return		the string representation of this Hashtable
-	 */
-	public String toString() {
-		if (size() == 0) return "{}"; //$NON-NLS-1$
-	
-		StringBuffer buffer = new StringBuffer();
-		buffer.append('{');
-		for (int i=elementData.length; --i >= 0;) {
-			HashMapEntry entry = elementData[i];
-			while (entry != null) {
-				buffer.append(entry.key);
-				buffer.append('=');
-				buffer.append(entry.value);
-				buffer.append(", "); //$NON-NLS-1$
-				entry = entry.next;
-			}
-		}
-		// Remove the last ", "
-		if (elementCount > 0) buffer.setLength(buffer.length() - 2);
-		buffer.append('}');
-		return buffer.toString();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/DecoratingLabelProvider.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/DecoratingLabelProvider.java
deleted file mode 100644
index d81fe01..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/DecoratingLabelProvider.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-import org.eclipse.swt.graphics.Image;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.util.ListenerList;
-
-/**
- * A decorating label provider is a label provider which combines 
- * a nested label provider and an optional decorator.
- * The decorator decorates the label text and image provided by the nested label provider.
- */
-public class DecoratingLabelProvider extends LabelProvider implements ILabelProvider,IViewerLabelProvider {
-	private ILabelProvider provider;	
-	private ILabelDecorator decorator;
-	// Need to keep our own list of listeners
-	private ListenerList listeners = new ListenerList();
-/**
- * Creates a decorating label provider which uses the given label decorator
- * to decorate labels provided by the given label provider.
- *
- * @param provider the nested label provider
- * @param decorator the label decorator, or <code>null</code> if no decorator is to be used initially
- */
-public DecoratingLabelProvider(ILabelProvider provider, ILabelDecorator decorator) {
-	Assert.isNotNull(provider);
-	this.provider = provider;
-	this.decorator = decorator;
-}
-
-
-/**
- * The <code>DecoratingLabelProvider</code> implementation of this <code>IBaseLabelProvider</code> method
- * adds the listener to both the nested label provider and the label decorator.
- *
- * @param listener a label provider listener
- */
-public void addListener(ILabelProviderListener listener) {
-	super.addListener(listener);
-	provider.addListener(listener);
-	if (decorator != null) {
-		decorator.addListener(listener);
-	}
-	listeners.add(listener);
-}
-/**
- * The <code>DecoratingLabelProvider</code> implementation of this <code>IBaseLabelProvider</code> method
- * disposes both the nested label provider and the label decorator.
- */
-public void dispose() {
-	provider.dispose();
-	if (decorator != null) {
-		decorator.dispose();
-	}
-}
-/**
- * The <code>DecoratingLabelProvider</code> implementation of this 
- * <code>ILabelProvider</code> method returns the image provided
- * by the nested label provider's <code>getImage</code> method, 
- * decorated with the decoration provided by the label decorator's
- * <code>decorateImage</code> method.
- */
-public Image getImage(Object element) {
-	Image image = provider.getImage(element);
-	if (decorator != null) {
-		Image decorated = decorator.decorateImage(image, element);
-		if (decorated != null) {
-			return decorated;
-		}
-	}
-	return image;
-}
-/**
- * Returns the label decorator, or <code>null</code> if none has been set.
- *
- * @return the label decorator, or <code>null</code> if none has been set.
- */
-public ILabelDecorator getLabelDecorator() {
-	return decorator;
-}
-/**
- * Returns the nested label provider.
- *
- * @return the nested label provider
- */
-public ILabelProvider getLabelProvider() {
-	return provider;
-}
-/**
- * The <code>DecoratingLabelProvider</code> implementation of this 
- * <code>ILabelProvider</code> method returns the text label provided
- * by the nested label provider's <code>getText</code> method, 
- * decorated with the decoration provided by the label decorator's
- * <code>decorateText</code> method.
- */
-public String getText(Object element) {
-	String text = provider.getText(element);
-	if (decorator != null) {
-		String decorated = decorator.decorateText(text, element);
-		if (decorated != null) {
-			return decorated;
-		}
-	}
-	return text;
-}
-/**
- * The <code>DecoratingLabelProvider</code> implementation of this 
- * <code>IBaseLabelProvider</code> method returns <code>true</code> if the corresponding method
- * on the nested label provider returns <code>true</code> or if the corresponding method on the 
- * decorator returns <code>true</code>.
- */
-public boolean isLabelProperty(Object element, String property) {
-	if (provider.isLabelProperty(element, property))
-		return true;
-	if (decorator != null && decorator.isLabelProperty(element, property))
-		return true;
-	return false;
-}
-/**
- * The <code>DecoratingLabelProvider</code> implementation of this <code>IBaseLabelProvider</code> method
- * removes the listener from both the nested label provider and the label decorator.
- *
- * @param listener a label provider listener
- */
-public void removeListener(ILabelProviderListener listener) {
-	super.removeListener(listener);
-	provider.removeListener(listener);
-	if (decorator != null) {
-		decorator.removeListener(listener);
-	}
-	listeners.remove(listener);
-}
-/**
- * Sets the label decorator.
- * Removes all known listeners from the old decorator, and adds all known listeners to the new decorator.
- * The old decorator is not disposed.
- * Fires a label provider changed event indicating that all labels should be updated.
- * Has no effect if the given decorator is identical to the current one.
- *
- * @param decorator the label decorator, or <code>null</code> if no decorations are to be applied
- */
-public void setLabelDecorator(ILabelDecorator decorator) {
-	ILabelDecorator oldDecorator = this.decorator;
-	if (oldDecorator != decorator) {
-		Object[] listenerList = this.listeners.getListeners();
-		if (oldDecorator != null) {
-			for (int i = 0; i < listenerList.length; ++i) {
-				oldDecorator.removeListener((ILabelProviderListener) listenerList[i]);
-			}
-		}
-		this.decorator = decorator;
-		if (decorator != null) {
-			for (int i = 0; i < listenerList.length; ++i) {
-				decorator.addListener((ILabelProviderListener) listenerList[i]);
-			}
-		}
-		fireLabelProviderChanged(new LabelProviderChangedEvent(this));
-	}
-}
-
-
-
-/**
- * Return whether the two image handles are equal.
- * @param oldImage
- * @param newImage
- * @return
- */
-private boolean equals(Image oldImage, Image newImage) {
-	return ((oldImage == null && newImage == null) ||
-		(oldImage!= null && newImage != null && oldImage.equals(newImage)));
-}
-
-
-/*
- *  (non-Javadoc)
- * @see org.eclipse.jface.viewers.IViewerLabelProvider#updateLabel(org.eclipse.jface.viewers.ViewerLabel, java.lang.Object)
- */
-public void updateLabel(ViewerLabel settings, Object element) {
-
-	ILabelDecorator currentDecorator = getLabelDecorator();
-	String oldText = settings.getText();
-	boolean decorationReady = true;
-	if (currentDecorator instanceof IDelayedLabelDecorator) {
-		IDelayedLabelDecorator delayedDecorator = (IDelayedLabelDecorator) currentDecorator;
-		if (!delayedDecorator.prepareDecoration(element,oldText)) {
-			// The decoration is not ready but has been queued for processing
-			decorationReady = false;
-		}
-	}
-	// update icon and label
-	
-	if (decorationReady || oldText == null || settings.getText().length() == 0) 
-		settings.setText(getText(element));
-	
-	Image oldImage = settings.getImage();
-	if (decorationReady || oldImage == null) {
-		settings.setImage(getImage(element));
-	}
-
-}
-
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/DialogCellEditor.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/DialogCellEditor.java
deleted file mode 100644
index 8fc9fba..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/DialogCellEditor.java
+++ /dev/null
@@ -1,285 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-
-import java.text.MessageFormat;
-
-import org.eclipse.jface.resource.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * An abstract cell editor that uses a dialog.
- * Dialog cell editors usually have a label control on the left and a button on
- * the right. Pressing the button opens a dialog window (for example, a color dialog
- * or a file dialog) to change the cell editor's value.
- * The cell editor's value is the value of the dialog.
- * <p>
- * Subclasses may override the following method:
- * <ul>
- *	<li><code>createButton</code>: creates the cell editor's button control</li>
- *	<li><code>openDialogBox</code>: opens the dialog box when the end user presses
- *      the button</li>
- *	<li><code>updateLabel</code>: updates the cell editor's label after its
- *		value has changed</li>
- * </ul>
- * </p>
- */
-public abstract class DialogCellEditor extends CellEditor {
-
-	/**
-	 * Image registry key for three dot image (value <code>"cell_editor_dots_button_image"</code>).
-	 */
-	public static final String CELL_EDITOR_IMG_DOTS_BUTTON = "cell_editor_dots_button_image";//$NON-NLS-1$
-
-	/**
-	 * The editor control.
-	 */
-	private Composite editor;
-
-	/**
-	 * The current contents.
-	 */
-	private Control contents;
-
-	/**
-	 * The label that gets reused by <code>updateLabel</code>.
-	 */
-	private Label defaultLabel;
-
-	/**
-	 * The button.
-	 */
-	private Button button;
-
-	/**
-	 * The value of this cell editor; initially <code>null</code>.
-	 */
-	private Object value = null;
-	
-	static {
-		ImageRegistry reg = JFaceResources.getImageRegistry();
-		reg.put(CELL_EDITOR_IMG_DOTS_BUTTON, ImageDescriptor.createFromFile(DialogCellEditor.class, "images/dots_button.gif"));//$NON-NLS-1$
-	}
-
-	/**
-	 * Internal class for laying out the dialog.
-	 */
-	private class DialogCellLayout extends Layout {
-		public void layout(Composite editor, boolean force) {
-			Rectangle bounds = editor.getClientArea();
-			Point size = button.computeSize(SWT.DEFAULT, SWT.DEFAULT, force);
-			if (contents != null)
-				contents.setBounds(0, 0, bounds.width-size.x, bounds.height);
-			button.setBounds(bounds.width-size.x, 0, size.x, bounds.height);
-		}
-		public Point computeSize(Composite editor, int wHint, int hHint, boolean force) {
-			if (wHint != SWT.DEFAULT && hHint != SWT.DEFAULT)
-				return new Point(wHint, hHint);
-			Point contentsSize = contents.computeSize(SWT.DEFAULT, SWT.DEFAULT, force); 
-			Point buttonSize =  button.computeSize(SWT.DEFAULT, SWT.DEFAULT, force);
-			// Just return the button width to ensure the button is not clipped
-			// if the label is long.
-			// The label will just use whatever extra width there is
-			Point result = new Point(buttonSize.x,
-							        Math.max(contentsSize.y, buttonSize.y));
-			return result;			
-		}
-	}
-	
-	/**
-	 * Default DialogCellEditor style
-	 */
-	private static final int defaultStyle = SWT.NONE;
-	
-/**
- * Creates a new dialog cell editor with no control
- * @since 2.1
- */
-public DialogCellEditor() {
-	setStyle(defaultStyle);
-}	
-/**
- * Creates a new dialog cell editor parented under the given control.
- * The cell editor value is <code>null</code> initially, and has no 
- * validator.
- *
- * @param parent the parent control
- */
-protected DialogCellEditor(Composite parent) {
-	this(parent, defaultStyle);
-}
-/**
- * Creates a new dialog cell editor parented under the given control.
- * The cell editor value is <code>null</code> initially, and has no 
- * validator.
- *
- * @param parent the parent control
- * @param style the style bits
- * @since 2.1
- */
-protected DialogCellEditor(Composite parent, int style) {
-	super(parent, style);
-}
-/**
- * Creates the button for this cell editor under the given parent control.
- * <p>
- * The default implementation of this framework method creates the button 
- * display on the right hand side of the dialog cell editor. Subclasses
- * may extend or reimplement.
- * </p>
- *
- * @param parent the parent control
- * @return the new button control
- */
-protected Button createButton(Composite parent) {
-	Button result = new Button(parent, SWT.DOWN);
-	result.setText("..."); //$NON-NLS-1$
-	return result;
-}
-/**
- * Creates the controls used to show the value of this cell editor.
- * <p>
- * The default implementation of this framework method creates
- * a label widget, using the same font and background color as the parent control.
- * </p>
- * <p>
- * Subclasses may reimplement.  If you reimplement this method, you
- * should also reimplement <code>updateContents</code>.
- * </p>
- *
- * @param cell the control for this cell editor
- */
-protected Control createContents(Composite cell) {
-	defaultLabel = new Label(cell, SWT.LEFT);
-	defaultLabel.setFont(cell.getFont());
-	defaultLabel.setBackground(cell.getBackground());
-	return defaultLabel;
-}
-/* (non-Javadoc)
- * Method declared on CellEditor.
- */
-protected Control createControl(Composite parent) {
-
-	Font font = parent.getFont();
-	Color bg = parent.getBackground();
-
-	editor = new Composite(parent, getStyle());
-	editor.setFont(font);
-	editor.setBackground(bg);
-	editor.setLayout(new DialogCellLayout());
-
-	contents = createContents(editor);
-	updateContents(value);
-	
-	button = createButton(editor);
-	button.setFont(font);
-
-	button.addKeyListener(new KeyAdapter() {
-		public void keyReleased(KeyEvent e) {
-			if (e.character == '\u001b') { // Escape
-				fireCancelEditor();
-			}
-		}
-	});
-
-	button.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent event) {
-			Object newValue = openDialogBox(editor);
-			if (newValue != null) {
-				boolean newValidState = isCorrect(newValue);
-				if (newValidState) {
-					markDirty();
-					doSetValue(newValue);
-				} else {
-					// try to insert the current value into the error message.
-					setErrorMessage(MessageFormat.format(getErrorMessage(), new Object[] { newValue.toString()}));
-				}
-				fireApplyEditorValue();
-			}
-		}
-	});
-
-	setValueValid(true);
-
-	return editor;
-}
-/* (non-Javadoc)
- * Method declared on CellEditor.
- */
-protected Object doGetValue() {
-	return value;
-}
-/* (non-Javadoc)
- * Method declared on CellEditor.
- * The focus is set to the cell editor's button. 
- */
-protected void doSetFocus() {
-	button.setFocus();
-}
-/* (non-Javadoc)
- * Method declared on CellEditor.
- */
-protected void doSetValue(Object value) {
-	this.value = value;
-	updateContents(value);
-}
-/**
- * Returns the default label widget created by <code>createContents</code>.
- *
- * @return the default label widget
- */
-protected Label getDefaultLabel() {
-	return defaultLabel;
-}
-/**
- * Opens a dialog box under the given parent control and returns the
- * dialog's value when it closes, or <code>null</code> if the dialog
- * was cancelled or no selection was made in the dialog.
- * <p>
- * This framework method must be implemented by concrete subclasses.
- * It is called when the user has pressed the button and the dialog
- * box must pop up.
- * </p>
- *
- * @param cellEditorWindow the parent control cell editor's window
- *   so that a subclass can adjust the dialog box accordingly
- * @return the selected value, or <code>null</code> if the dialog was 
- *   cancelled or no selection was made in the dialog
- */
-protected abstract Object openDialogBox(Control cellEditorWindow);
-/**
- * Updates the controls showing the value of this cell editor.
- * <p>
- * The default implementation of this framework method just converts
- * the passed object to a string using <code>toString</code> and
- * sets this as the text of the label widget.
- * </p>
- * <p>
- * Subclasses may reimplement.  If you reimplement this method, you
- * should also reimplement <code>createContents</code>.
- * </p>
- *
- * @param value the new value of this cell editor
- */
-protected void updateContents(Object value) {
-	if (defaultLabel == null)
-		return;
-		
-	String text = "";//$NON-NLS-1$
-	if (value != null)
-		text = value.toString(); 
-	defaultLabel.setText(text);
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/DoubleClickEvent.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/DoubleClickEvent.java
deleted file mode 100644
index 067e69d..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/DoubleClickEvent.java
+++ /dev/null
@@ -1,56 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-import java.util.EventObject;
-
-import org.eclipse.jface.util.Assert;
-
-/**
- * Event object describing a double-click. The source of these
- * events is a viewer.
- *
- * @see IDoubleClickListener
- */
-public class DoubleClickEvent extends EventObject {
-
-	/**
-	 * The selection.
-	 */
-	protected ISelection selection;
-/**
- * Creates a new event for the given source and selection.
- *
- * @param source the viewer
- * @param selection the selection
- */
-public DoubleClickEvent(Viewer source, ISelection selection) {
-	super(source);
-	Assert.isNotNull(selection);
-	this.selection = selection;
-}
-/**
- * Returns the selection.
- *
- * @return the selection
- */
-public ISelection getSelection() {
-	return selection;
-}
-/**
- * Returns the viewer that is the source of this event.
- *
- * @return the originating viewer
- */
-public Viewer getViewer() {
-	return (Viewer) getSource();
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IBaseLabelProvider.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IBaseLabelProvider.java
deleted file mode 100644
index d13eeb2..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IBaseLabelProvider.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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-
-/**
- * A label provider maps an element of the viewer's model to
- * an optional image and optional text string used to display
- * the element in the viewer's control.  Certain label providers
- * may allow multiple labels per element.  
- * This is an "abstract interface", defining methods common 
- * to all label providers, but does not actually define the methods 
- * to get the label(s) for an element.  This interface should never
- * be directly implemented.
- * Most viewers will take either an <code>ILabelProvider</code> or
- * an <code>ITableLabelProvider</code>.
- * <p>
- * A label provider must not be shared between viewers 
- * since a label provider generally manages SWT resources (images),
- * which must be disposed when the viewer is disposed.
- * To simplify life cycle management, the current label provider 
- * of a viewer is disposed when the viewer is disposed.
- * </p>
- * <p>
- * Label providers can be used outside the context of viewers wherever
- * images are needed.  When label providers are used in this fashion
- * it is the responsibility of the user to ensure <code>dispose</code>
- * is called when the provider is no longer needed.
- * </p>
- *
- * @see ILabelProvider
- * @see ITableLabelProvider
- */ 
-public interface IBaseLabelProvider {
-/**
- * Adds a listener to this label provider. 
- * Has no effect if an identical listener is already registered.
- * <p>
- * Label provider listeners are informed about state changes 
- * that affect the rendering of the viewer that uses this label provider.
- * </p>
- *
- * @param listener a label provider listener
- */
-public void addListener(ILabelProviderListener listener);
-/**
- * Disposes of this label provider.  When a label provider is
- * attached to a viewer, the viewer will automatically call
- * this method when the viewer is being closed.  When label providers
- * are used outside of the context of a viewer, it is the client's
- * responsibility to ensure that this method is called when the
- * provider is no longer needed.
- */
-public void dispose();
-/**
- * Returns whether the label would be affected 
- * by a change to the given property of the given element.
- * This can be used to optimize a non-structural viewer update.
- * If the property mentioned in the update does not affect the label,
- * then the viewer need not update the label.
- *
- * @param element the element
- * @param property the property
- * @return <code>true</code> if the label would be affected,
- *    and <code>false</code> if it would be unaffected
- */
-public boolean isLabelProperty(Object element, String property);
-/**
- * Removes a listener to this label provider.
- * Has no affect if an identical listener is not registered.
- *
- * @param listener a label provider listener
- */	
-public void removeListener(ILabelProviderListener listener);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IBasicPropertyConstants.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IBasicPropertyConstants.java
deleted file mode 100644
index 231fbae..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IBasicPropertyConstants.java
+++ /dev/null
@@ -1,55 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-
-/**
- * Predefined property names used for elements displayed in viewers.
- *
- * @see StructuredViewer#update(Object, String[])
- * @see StructuredViewer#update(Object[], String[])
- * @see IBaseLabelProvider#isLabelProperty
- * @see ViewerSorter#isSorterProperty
- * @see ViewerFilter#isFilterProperty
- */
-public interface IBasicPropertyConstants {
-	
-	/**
-	 * Property name constant (value <code>"org.eclipse.jface.text"</code>)
-	 * for an element's label text.
-	 *
-	 * @see org.eclipse.jface.viewers.ILabelProvider#getText
-	 */
-	public static final String P_TEXT = "org.eclipse.jface.text"; //$NON-NLS-1$
-
-	
-	/**
-	 * Property name constant (value <code>"org.eclipse.jface.image"</code>)
-	 * for an element's label image.
-	 *
-	 * @see org.eclipse.jface.viewers.ILabelProvider#getImage
-	 */
-	public static final String P_IMAGE = "org.eclipse.jface.image"; //$NON-NLS-1$
-	
-	
-	/**
-	 * Property name constant (value <code>"org.eclipse.jface.children"</code>)
-	 * for an element's children.
-	 */
-	public static final String P_CHILDREN = "org.eclipse.jface.children"; //$NON-NLS-1$
-	
-	/**
-	 * Property name constant (value <code>"org.eclipse.jface.parent"</code>)
-	 * for an element's parent object.
-	 */
-	public static final String P_PARENT = "org.eclipse.jface.parent"; //$NON-NLS-1$
-	
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ICellEditorListener.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ICellEditorListener.java
deleted file mode 100644
index 9190975..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ICellEditorListener.java
+++ /dev/null
@@ -1,66 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-
-
-/**
- * A listener which is notified of significant events in the
- * life of a cell editor.
- * <p>
- * This interface should be implemented by classes that wish to
- * react to cell editor activity.
- * </p>
- * <p>
- * Note: the cell editor is not passed as a parameter to any
- * of these methods; so the assumption is that the listener
- * knows which cell editor is talking to it.
- * </p>
- */
-public interface ICellEditorListener {
-/**
- * Notifies that the end user has requested applying a value.
- * All cell editors send this notification.
- * <p>
- * The normal reaction is to update the model with the current cell editor value.
- * However, if the value is not valid, it should not be applied. 
- * A typical text-based cell editor would send this message
- * when the end user hits Return, whereas other editors would
- * send it whenever their value changes.
- * </p>
- */
-public void applyEditorValue();
-/**
- * Notifies that the end user has canceled editing.
- * All cell editors send this notification.
- * A listener should <b>not</b> update the model based on this
- * notification; see <code>applyEditorValue</code>.
- */
-public void cancelEditor();
-/**
- * Notifies that the end user is changing the value in the cell editor. This
- * notification is normally sent only by text-based editors in response to a
- * keystroke, so that the listener may show an error message reflecting the
- * current valid state. This notification is sent while the value is being
- * actively edited, before the value is applied or cancelled.  A listener should
- * <b>not</b> update the model based on this notification; see
- * <code>applyEditorValue</code>.
- * <p>
- * If the <code>newValidState</code> parameter is <code>true</code>,
- * the new value may be retrieved by calling <code>ICellEditor.getValue</code>
- * on the appropriate cell editor.
- * </p>
- * 
- * @param oldValidState the valid state before the end user changed the value
- * @param newValidState the current valid state
- */
-public void editorValueChanged(boolean oldValidState, boolean newValidState);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ICellEditorValidator.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ICellEditorValidator.java
deleted file mode 100644
index e736dd9..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ICellEditorValidator.java
+++ /dev/null
@@ -1,33 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
- 
-/**
- * An interface for validating a cell editor's input.
- * <p>
- * This interface should be implemented by classes that wish to
- * act as cell editor validators.
- * </p>
- */
-public interface ICellEditorValidator {
-/**
- * Returns a string indicating whether the given value is valid;
- * <code>null</code> means valid, and non-<code>null</code> means
- * invalid, with the result being the error message to display
- * to the end user.
- *
- * @param value the value to be validated
- * @return the error message, or <code>null</code> indicating
- *	that the value is valid
- */
-public String isValid(Object value);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ICellModifier.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ICellModifier.java
deleted file mode 100644
index fd420ea..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ICellModifier.java
+++ /dev/null
@@ -1,70 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-  
-/**
- * A cell modifier is used to access the data model from a cell
- * editor in an abstract way. It offers methods to:
- * <ul>
- *	<li>to check if a a model element's property can be edited or not</li>
- *	<li>retrieve a value a model element's property</li>
- *	<li>to store a cell editor's value back into the model 
- *    element's property</li>
- * </ul>
- * <p>
- * This interface should be implemented by classes that wish to
- * act as cell modifiers.
- * </p>
- */
-public interface ICellModifier {
-/**
- * Checks whether the given property of the given element can be 
- * modified.
- *
- * @param element the element
- * @param property the property
- * @return <code>true</code> if the property can be modified,
- *   and <code>false</code> if it is not modifiable
- */
-public boolean canModify(Object element, String property);
-/**
- * Returns the value for the given property of the given element.
- * Returns <code>null</code> if the element does not have the given property.
- *
- * @param element the element
- * @param property the property
- * @return the property value
- */
-public Object getValue(Object element, String property);
-/**
- * Modifies the value for the given property of the given element.
- * Has no effect if the element does not have the given property,
- * or if the property cannot be modified.
- * <p>
- * Note that it is possible for an SWT Item to be passed instead of 
- * the model element. To handle this case in a safe way, use: 
- * <pre>
- *     if (element instanceof Item) {
- *         element = ((Item) element).getData();
- *     }
- *     // modify the element's property here
- * </pre>
- * </p>
- * 
- * @param element the model element or SWT Item (see above)
- * @param property the property
- * @param value the new property value
- * 
- * @see org.eclipse.swt.widgets.Item
- */
-public void modify(Object element, String property, Object value);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ICheckStateListener.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ICheckStateListener.java
deleted file mode 100644
index ed567c9..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ICheckStateListener.java
+++ /dev/null
@@ -1,27 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-
-/**
- * A listener which is notified of changes to the checked
- * state of items in checkbox viewers.
- *
- * @see CheckStateChangedEvent
- */
-public interface ICheckStateListener {
-/**
- * Notifies of a change to the checked state of an element.
- *
- * @param event event object describing the change
- */
-void checkStateChanged(CheckStateChangedEvent event);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ICheckable.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ICheckable.java
deleted file mode 100644
index 93347e1..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ICheckable.java
+++ /dev/null
@@ -1,54 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-
-/**
- * Interface for objects that support elements with a checked state.
- *
- * @see ICheckStateListener
- * @see CheckStateChangedEvent
- */
-public interface ICheckable {
-/**
- * Adds a listener for changes to the checked state of elements
- * in this viewer.
- * Has no effect if an identical listener is already registered.
- *
- * @param listener a check state listener
- */
-public void addCheckStateListener(ICheckStateListener listener);
-/**
- * Returns the checked state of the given element.
- *
- * @param element the element
- * @return <code>true</code> if the element is checked,
- *   and <code>false</code> if not checked
- */
-public boolean getChecked(Object element);
-/**
- * Removes the given check state listener from this viewer.
- * Has no effect if an identical listener is not registered.
- *
- * @param listener a check state listener
- */
-public void removeCheckStateListener(ICheckStateListener listener);
-/**
- * Sets the checked state for the given element in this viewer.
- *
- * @param element the element
- * @param state <code>true</code> if the item should be checked,
- *  and <code>false</code> if it should be unchecked
- * @return <code>true</code> if the checked state could be set, 
- *  and <code>false</code> otherwise
- */
-public boolean setChecked(Object element, boolean state);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IColorProvider.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IColorProvider.java
deleted file mode 100644
index d115491..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IColorProvider.java
+++ /dev/null
@@ -1,38 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.viewers;
-
-import org.eclipse.swt.graphics.Color;
-
-/**
- * Interface to provide color representation for a given element.
- */
-public interface IColorProvider {
-
-	/**
-	 * Provides a foreground color for the given element.
-	 * 
-	 * @param element the element
-	 * @return	the foreground color for the element, or <code>null</code> 
-	 *   to use the default foreground color
-	 */
-	Color getForeground(Object element);
-
-	/**
-	 * Provides a background color for the given element.
-	 * 
-	 * @param element the element
-	 * @return	the background color for the element, or <code>null</code> 
-	 *   to use the default background color
-	 */
-	Color getBackground(Object element);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IContentProvider.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IContentProvider.java
deleted file mode 100644
index b5371cf..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IContentProvider.java
+++ /dev/null
@@ -1,51 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-
-/** 
- * A content provider mediates between the viewer's model
- * and the viewer itself.
- * 
- * @see org.eclipse.jface.viewers.ContentViewer#setContentProvider(IContentProvider)
- */
-public interface IContentProvider {
-/**
- * Disposes of this content provider.  
- * This is called by the viewer when it is disposed.
- * <p>
- * The viewer should not be updated during this call, as it is in the process
- * of being disposed.
- * </p>
- */
-public void dispose();
-/**
- * Notifies this content provider that the given viewer's input
- * has been switched to a different element.
- * <p>
- * A typical use for this method is registering the content provider as a listener
- * to changes on the new input (using model-specific means), and deregistering the viewer 
- * from the old input. In response to these change notifications, the content provider
- * should update the viewer (see the add, remove, update and refresh methods on the viewers).
- * </p>
- * <p>
- * The viewer should not be updated during this call, as it might be in the process
- * of being disposed.
- * </p>
- *
- * @param viewer the viewer
- * @param oldInput the old input element, or <code>null</code> if the viewer
- *   did not previously have an input
- * @param newInput the new input element, or <code>null</code> if the viewer
- *   does not have an input
- */
-public void inputChanged(Viewer viewer, Object oldInput, Object newInput);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IDecoration.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IDecoration.java
deleted file mode 100644
index 6e77f32..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IDecoration.java
+++ /dev/null
@@ -1,60 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-
-import org.eclipse.jface.resource.ImageDescriptor;
-
-/**
- * Defines the result of decorating an element. 
- * 
- * This interface is not meant to be implemented and will
- * be provided to instances of <code>ILightweightLabelDecorator</code>.
- */
-public interface IDecoration {
-	
-	/**
-	 * Constants for placement of image decorations.
-	 */
-	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;
-
-	/**
-	 * Adds a prefix to the element's label.
-	 * 
-	 * @param prefix the prefix
-	 */
-	public void addPrefix(String prefix);
-
-	/**
-	 * Adds a suffix to the element's label.
-	 * 
-	 * @param suffix the suffix
-	 */
-	public void addSuffix(String suffix);
-	
-	/**
-	 * Adds an overlay to the element's image.
-	 * 
-	 * @param overlay the overlay image descriptor
-	 */
-	public void addOverlay(ImageDescriptor overlay);
-	
-	/**
-	 * Adds an overlay to the element's image.
-	 * 
-	 * @param overlay the overlay image descriptor
-	 */
-	public void addOverlay(ImageDescriptor overlay, int quadrant);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IDelayedLabelDecorator.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IDelayedLabelDecorator.java
deleted file mode 100644
index ee48a59..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IDelayedLabelDecorator.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-/**
- * A delayed label decorator is a label decorator that may not have a
- * decoration available immidiately. This interface defines the methods for
- * requesting the preparation of a decorator for an object and for querying
- * if the decorator is ready. Interested parties should register an
- * ILabelProviderListener with a delyaed label decorator in order to be informed
- * when the decoration is ready.
- * @param element. The element to be decorated
- * @param originalText The text that is to be decorated
- * @since 3.0
- */
-public interface IDelayedLabelDecorator extends ILabelDecorator {
-	
-	/**
-	 * Prepare the element for decoration. If it is already decorated and ready for update
-	 * return true. If decoration is pending return false.
-	 * @param element The element to be decorated
-	 * @param originalText The starting text. 
-	 * @return boolean true if the decoration is ready for this element
-	 */
-	
-	public boolean prepareDecoration(Object element, String originalText);
-
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IDoubleClickListener.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IDoubleClickListener.java
deleted file mode 100644
index eda3ae5..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IDoubleClickListener.java
+++ /dev/null
@@ -1,24 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-
-/**
- * A listener which is notified of double-click events on viewers.
- */
-public interface IDoubleClickListener {
-/**
- * Notifies of a double click.
- *
- * @param event event object describing the double-click
- */
-public void doubleClick(DoubleClickEvent event);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IElementComparer.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IElementComparer.java
deleted file mode 100644
index bf7f51f..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IElementComparer.java
+++ /dev/null
@@ -1,41 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.viewers;
-
-/**
- * This interface is used to compare elements in a viewer for equality,
- * and to provide the hash code for an element.
- * This allows the client of the viewer to specify different equality criteria
- * and a different hash code implementation than the 
- * <code>equals</code> and <code>hashCode</code> implementations of the
- * elements themselves. 
- * 
- * @see StructuredViewer#setComparer
- */
-public interface IElementComparer {
-	
-	/**
-	 * Compares two elements for equality
-	 * 
-	 * @param a the first element
-	 * @param b the second element
-	 * @return whether a is equal to b
-	 */
-	boolean equals(Object a, Object b);
-	
-	/**
-	 * Returns the hash code for the given element.
-	 * 
-	 * @return the hash code for the given element
-	 */
-	int hashCode(Object element);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IFontProvider.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IFontProvider.java
deleted file mode 100644
index c38ae67..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IFontProvider.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-import org.eclipse.swt.graphics.Font;
-
-
-/**
- * Interface to provide font representation for a given element.
- * 
- * @since 3.0
- */
-public interface IFontProvider {
-
-    /**
-	 * Provides a font for the given element.
-	 * 
-	 * @param element the element
-	 * @return the font for the element, or <code>null</code> 
-	 *   to use the default font
-	 */    
-    public Font getFont(Object element);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IInputProvider.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IInputProvider.java
deleted file mode 100644
index 7a23c7a..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IInputProvider.java
+++ /dev/null
@@ -1,24 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
- 
-/**
- * Interface common to all objects that provide an input.
- */
-public interface IInputProvider {
-/**
- * Returns the input.
- *
- * @return the input object
- */
-public Object getInput();
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IInputSelectionProvider.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IInputSelectionProvider.java
deleted file mode 100644
index d05fa7d..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IInputSelectionProvider.java
+++ /dev/null
@@ -1,19 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
- 
-/**
- * Interface common to all objects that provide both an input and
- * a selection.
- */
-public interface IInputSelectionProvider extends IInputProvider, ISelectionProvider {
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ILabelDecorator.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ILabelDecorator.java
deleted file mode 100644
index 979049d..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ILabelDecorator.java
+++ /dev/null
@@ -1,59 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-import org.eclipse.swt.graphics.Image;
-
-/**
- * A label decorator decorates the label text and image for some element.
- * The original label text and image are obtained by some other means,
- * for example by a label provider.
- *
- * @see ILabelProvider
- */
-public interface ILabelDecorator extends IBaseLabelProvider {
-/**
- * Returns an image that is based on the given image,
- * but decorated with additional information relating to the state
- * of the provided element.
- * 
- * Text and image decoration updates can occur as a result of other updates
- * within the workbench including deferred decoration by background processes.
- * Clients should handle labelProviderChangedEvents for the given element to get
- * the complete decoration.
- * @see LabelProviderChangedEvent
- * @see IBaseLabelProvider#addListener
- *
- * @param image the input image to decorate, or <code>null</code> if the element has no image
- * @param element the element whose image is being decorated
- * @return the decorated image, or <code>null</code> if no decoration is to be applied
- *
- * @see org.eclipse.jface.resource.CompositeImageDescriptor
- */
-public Image decorateImage(Image image, Object element);
-/**
- * Returns a text label that is based on the given text label,
- * but decorated with additional information relating to the state
- * of the provided element.
- * 
- * Text and image decoration updates can occur as a result of other updates
- * within the workbench including deferred decoration by background processes.
- * Clients should handle labelProviderChangedEvents for the given element to get
- * the complete decoration.
- * @see LabelProviderChangedEvent
- * @see IBaseLabelProvider#addListener
- *
- * @param text the input text label to decorate
- * @param element the element whose image is being decorated
- * @return the decorated text label, or <code>null</code> if no decoration is to be applied
- */
-public String decorateText(String text, Object element);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ILabelProvider.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ILabelProvider.java
deleted file mode 100644
index 9a4843f..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ILabelProvider.java
+++ /dev/null
@@ -1,39 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Extends <code>IBaseLabelProvider</code> with the methods
- * to provide the text and/or image for the label of a given element. 
- * Used by most structured viewers, except table viewers.
- */
-public interface ILabelProvider extends IBaseLabelProvider {
-/**
- * Returns the image for the label of the given element.  The image
- * is owned by the label provider and must not be disposed directly.
- * Instead, dispose the label provider when no longer needed.
- *
- * @param element the element for which to provide the label image
- * @return the image used to label the element, or <code>null</code>
- *   if there is no image for the given object
- */
-public Image getImage(Object element);
-/**
- * Returns the text for the label of the given element.
- *
- * @param element the element for which to provide the label text
- * @return the text string used to label the element, or <code>null</code>
- *   if there is no text label for the given object
- */
-public String getText(Object element);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ILabelProviderListener.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ILabelProviderListener.java
deleted file mode 100644
index b2e1cab..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ILabelProviderListener.java
+++ /dev/null
@@ -1,32 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-
-/** 
- * A listener which is notified when a label provider's state changes.
- *
- * @see IBaseLabelProvider#addListener
- * @see IBaseLabelProvider#removeListener
- */
-public interface ILabelProviderListener {
-/**
- * Notifies this listener that the state of the label provider 
- * has changed in a way that affects the labels it computes.
- * <p>
- * A typical response would be to refresh all labels by 
- * re-requesting them from the label provider.
- * </p>
- *
- * @param event the label provider change event
- */
-public void labelProviderChanged(LabelProviderChangedEvent event);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ILightweightLabelDecorator.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ILightweightLabelDecorator.java
deleted file mode 100644
index 493b833..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ILightweightLabelDecorator.java
+++ /dev/null
@@ -1,30 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-
-
-/**
- * The <code>ILightweightLabelDecorator</code> is a decorator that decorates
- * using a prefix, suffix and overlay image rather than doing all 
- * of the image and text management itself like an <code>ILabelDecorator</code>.
- */
-public interface ILightweightLabelDecorator extends IBaseLabelProvider {
-	
-	/**
-	 * Calculates decorations based on element. 
-	 * 
-	 * @param element the element to decorate
-	 * @param decoration the decoration to set
-	 */
-	public void decorate(Object element, IDecoration decoration);
-
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IOpenListener.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IOpenListener.java
deleted file mode 100644
index 846ef33..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IOpenListener.java
+++ /dev/null
@@ -1,24 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-
-/**
- * A listener which is notified of open events on viewers.
- */
-public interface IOpenListener {
-/**
- * Notifies of an open event.
- *
- * @param event event object describing the open event
- */
-public void open(OpenEvent event);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IPostSelectionProvider.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IPostSelectionProvider.java
deleted file mode 100644
index 586ad3d..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IPostSelectionProvider.java
+++ /dev/null
@@ -1,44 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
- 
-/**
- * Selection provider extension interface to allow providers
- * to notify about post selection changed events.
- * A post selection changed event is equivalent to selection changed event
- * if the selection change was triggered by the mouse, but it has a delay 
- * if the selection change is triggered by keyboard navigation.
- *
- * @see ISelectionProvider
- * 
- * @since 3.0
- */
-public interface IPostSelectionProvider extends ISelectionProvider {
-	
-/**
- * Adds a listener for post selection changes in this selection provider.
- * Has no effect if an identical listener is already registered.
- *
- * @param listener a selection changed listener
- */
-public void addPostSelectionChangedListener(ISelectionChangedListener listener);
-
-/**
- * Removes the given listener for post selection changes from this selection 
- * provider.
- * Has no affect if an identical listener is not registered.
- *
- * @param listener a selection changed listener
- */
-public void removePostSelectionChangedListener(ISelectionChangedListener listener);
-
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ISelection.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ISelection.java
deleted file mode 100644
index 568a49a..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ISelection.java
+++ /dev/null
@@ -1,29 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-/**
- * Interface for a selection.
- *
- * @see ISelectionProvider
- * @see ISelectionChangedListener
- * @see SelectionChangedEvent
- */
-public interface ISelection {
-	
-/**
- * Returns whether this selection is empty.
- * 
- * @return <code>true</code> if this selection is empty,
- *   and <code>false</code> otherwise
- */
-public boolean isEmpty();
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ISelectionChangedListener.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ISelectionChangedListener.java
deleted file mode 100644
index b219034..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ISelectionChangedListener.java
+++ /dev/null
@@ -1,28 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-
-/** 
- * A listener which is notified when a viewer's selection changes.
- *
- * @see ISelection
- * @see ISelectionProvider
- * @see SelectionChangedEvent
- */
-public interface ISelectionChangedListener {
-/**
- * Notifies that the selection has changed.
- *
- * @param event event object describing the change
- */
-public void selectionChanged(SelectionChangedEvent event);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ISelectionProvider.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ISelectionProvider.java
deleted file mode 100644
index aba90e9..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ISelectionProvider.java
+++ /dev/null
@@ -1,48 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
- 
-/**
- * Interface common to all objects that provide a selection.
- *
- * @see ISelection
- * @see ISelectionChangedListener
- * @see SelectionChangedEvent
- */
-public interface ISelectionProvider {
-/**
- * Adds a listener for selection changes in this selection provider.
- * Has no effect if an identical listener is already registered.
- *
- * @param listener a selection changed listener
- */
-public void addSelectionChangedListener(ISelectionChangedListener listener);
-/**
- * Returns the current selection for this provider.
- * 
- * @return the current selection
- */
-public ISelection getSelection();
-/**
- * Removes the given selection change listener from this selection provider.
- * Has no affect if an identical listener is not registered.
- *
- * @param listener a selection changed listener
- */
-public void removeSelectionChangedListener(ISelectionChangedListener listener);
-/**
- * Sets the current selection for this selection provider.
- *
- * @param selection the new selection
- */
-public void setSelection(ISelection selection);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IStructuredContentProvider.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IStructuredContentProvider.java
deleted file mode 100644
index 5e8478c..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IStructuredContentProvider.java
+++ /dev/null
@@ -1,30 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-
-/**
- * An interface to content providers for structured viewers.
- *
- * @see StructuredViewer
- */
-public interface IStructuredContentProvider extends IContentProvider {
-/**
- * Returns the elements to display in the viewer 
- * when its input is set to the given element. 
- * These elements can be presented as rows in a table, items in a list, etc.
- * The result is not modified by the viewer.
- *
- * @param inputElement the input element
- * @return the array of elements to display in the viewer
- */
-public Object[] getElements(Object inputElement);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IStructuredSelection.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IStructuredSelection.java
deleted file mode 100644
index 02d38f2..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IStructuredSelection.java
+++ /dev/null
@@ -1,51 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-import java.util.Iterator;
-import java.util.List;
-
-/**
- * A selection containing elements.
- */
-public interface IStructuredSelection extends ISelection {
-/**
- * Returns the first element in this selection, or <code>null</code>
- * if the selection is empty.
- *
- * @return an element, or <code>null</code> if none
- */
-public Object getFirstElement();
-/**
- * Returns an iterator over the elements of this selection.
- *
- * @return an iterator over the selected elements
- */
-public Iterator iterator();
-/**
- * Returns the number of elements selected in this selection.
- *
- * @return the number of elements selected
- */
-public int size();
-/**
- * Returns the elements in this selection as an array.
- *
- * @return the selected elements as an array
- */
-public Object[] toArray();
-/**
- * Returns the elements in this selection as a <code>List</code>.
- *
- * @return the selected elements as a list
- */
-public List toList();
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ITableLabelProvider.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ITableLabelProvider.java
deleted file mode 100644
index 79698e3..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ITableLabelProvider.java
+++ /dev/null
@@ -1,42 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Extends <code>IBaseLabelProvider</code> with the methods
- * to provide the text and/or image for each column of a given element.  
- * Used by table viewers.
- *
- * @see TableViewer
- */
-public interface ITableLabelProvider extends IBaseLabelProvider {
-/**
- * Returns the label image for the given column of the given element.
- *
- * @param element the object representing the entire row, or 
- *    <code>null</code> indicating that no input object is set
- *    in the viewer
- * @param columnIndex the zero-based index of the column in which
- *   the label appears
- */
-public Image getColumnImage(Object element, int columnIndex);
-/**
- * Returns the label text for the given column of the given element.
- *
- * @param element the object representing the entire row, or
- *   <code>null</code> indicating that no input object is set
- *   in the viewer
- * @param columnIndex the zero-based index of the column in which the label appears
- */
-public String getColumnText(Object element, int columnIndex);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ITreeContentProvider.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ITreeContentProvider.java
deleted file mode 100644
index 7d9fc95..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ITreeContentProvider.java
+++ /dev/null
@@ -1,59 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-
-/**
- * An interface to content providers for tree-structure-oriented
- * viewers.
- *
- * @see AbstractTreeViewer
- */
-public interface ITreeContentProvider extends IStructuredContentProvider {
-/**
- * Returns the child elements of the given parent element.
- * <p>
- * The difference between this method and <code>IStructuredContentProvider.getElements</code> 
- * is that <code>getElements</code> is called to obtain the 
- * tree viewer's root elements, whereas <code>getChildren</code> is used
- * to obtain the children of a given parent element in the tree (including a root).
- * </p>
- * The result is not modified by the viewer.
- *
- * @param parentElement the parent element
- * @return an array of child elements
- */
-public Object[] getChildren(Object parentElement);
-/**
- * Returns the parent for the given element, or <code>null</code> 
- * indicating that the parent can't be computed. 
- * In this case the tree-structured viewer can't expand
- * a given node correctly if requested.
- *
- * @param element the element
- * @return the parent element, or <code>null</code> if it
- *   has none or if the parent cannot be computed
- */
-public Object getParent(Object element);
-/**
- * Returns whether the given element has children.
- * <p>
- * Intended as an optimization for when the viewer does not
- * need the actual children.  Clients may be able to implement
- * this more efficiently than <code>getChildren</code>.
- * </p>
- *
- * @param element the element
- * @return <code>true</code> if the given element has children,
- *  and <code>false</code> if it has no children
- */
-public boolean hasChildren(Object element);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ITreeViewerListener.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ITreeViewerListener.java
deleted file mode 100644
index d213faf..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ITreeViewerListener.java
+++ /dev/null
@@ -1,31 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
- 
-/** 
-  * A listener which is notified when a tree viewer expands or collapses
-  * a node.
-  */
-public interface ITreeViewerListener {
-/**
- * Notifies that a node in the tree has been collapsed.
- *
- * @param event event object describing details
- */
-public void treeCollapsed(TreeExpansionEvent event);
-/**
- * Notifies that a node in the tree has been expanded.
- *
- * @param event event object describing details
- */
-public void treeExpanded(TreeExpansionEvent event);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IViewerLabelProvider.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IViewerLabelProvider.java
deleted file mode 100644
index 81390d7..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/IViewerLabelProvider.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-
-/**
- * Extends <code>IBaseLabelProvider</code> with the methods
- * to update the label for a given element.  The label is represented by a 
- * <code>ViewerLabel</code>.
- * Unlike <code>ILabelProvider</code>, this allows the text and image to be
- * set in the same request, rather than via separate requests.  
- * <p>
- * It also allows the current values for the text and image to be considered by 
- * the label provider, allowing for potential optimizations.
- * For example, decorating label providers that run in the background can hold off
- * applying an update to a previously populated label until the decoration is ready,
- * thereby reducing flicker.
- * </p>
- * 
- * @see IDelayedLabelDecorator
- * @since 3.0
- */
-public interface IViewerLabelProvider extends IBaseLabelProvider {
-
-	/**
-	 * Updates the label for the given element.
-	 * 
-	 * @param label the label to update
-	 * @param element the element
-	 */
-	public void updateLabel(ViewerLabel label, Object element);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/LabelProvider.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/LabelProvider.java
deleted file mode 100644
index 39a85d5..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/LabelProvider.java
+++ /dev/null
@@ -1,102 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * A label provider implementation which, by default, uses an element's 
- * <code>toString</code> value for its text and <code>null</code> for its image.
- * <p>
- * This class may be used as is, or subclassed to provide richer labels. 
- * Subclasses may override any of the following methods:
- * <ul>
- *   <li><code>isLabelProperty</code></li> 
- *   <li><code>getImage</code></li> 
- *   <li><code>getText</code></li> 
- *   <li><code>dispose</code></li> 
- * </ul>
- * </p>
- */
-public class LabelProvider implements ILabelProvider {
-	private ListenerList listeners = new ListenerList(1);
-/**
- * Creates a new label provider.
- */
-public LabelProvider() {
-}
-/* (non-Javadoc)
- * Method declared on IBaseLabelProvider.
- */
-public void addListener(ILabelProviderListener listener) {
-	listeners.add(listener);
-}
-/**
- * The <code>LabelProvider</code> implementation of this 
- * <code>IBaseLabelProvider</code> method does nothing. Subclasses may extend.
- */
-public void dispose() {
-}
-/**
- * Fires a label provider changed event to all registered listeners
- * Only listeners registered at the time this method is called are notified.
- *
- * @param event a label provider changed event
- *
- * @see ILabelProviderListener#labelProviderChanged
- */
-protected void fireLabelProviderChanged(final LabelProviderChangedEvent event) {
-	Object[] listeners = this.listeners.getListeners();
-	for (int i = 0; i < listeners.length; ++i) {
-		final ILabelProviderListener l = (ILabelProviderListener)listeners[i];
-		Platform.run(new SafeRunnable() {
-			public void run() {
-				l.labelProviderChanged(event);
-			}
-		});	
-		
-		
-	}
-}
-/**
- * The <code>LabelProvider</code> implementation of this 
- * <code>ILabelProvider</code> method returns <code>null</code>. Subclasses may 
- * override.
- */
-public Image getImage(Object element) {
-	return null;
-}
-/**
- * The <code>LabelProvider</code> implementation of this 
- * <code>ILabelProvider</code> method returns the element's <code>toString</code>
- * string. Subclasses may override.
- */
-public String getText(Object element) {
-	return element == null ? "" : element.toString();//$NON-NLS-1$
-}
-/**
- * The <code>LabelProvider</code> implementation of this 
- * <code>IBaseLabelProvider</code> method returns <code>true</code>. Subclasses may 
- * override.
- */
-public boolean isLabelProperty(Object element, String property) {
-	return true;
-}
-/* (non-Javadoc)
- * Method declared on IBaseLabelProvider.
- */
-public void removeListener(ILabelProviderListener listener) {
-	listeners.remove(listener);
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/LabelProviderChangedEvent.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/LabelProviderChangedEvent.java
deleted file mode 100644
index 655e569..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/LabelProviderChangedEvent.java
+++ /dev/null
@@ -1,89 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-import java.util.EventObject;
-
-/**
- * Event object describing a label provider state change.
- *
- * @see ILabelProviderListener
- */
-public class LabelProviderChangedEvent extends EventObject {
-
-	/**
-	 * The elements whose labels need to be updated or <code>null</code>.
-	 */
-	private Object[] elements;
-	
-	/**
-	 * Creates a new event for the given source, indicating that all labels
-	 * provided by the source are no longer valid and should be updated.
-	 *
-	 * @param source the label provider
-	 */
-	public LabelProviderChangedEvent(IBaseLabelProvider source) {
-		super(source);
-	}
-
-	/**
-	 * Creates a new event for the given source, indicating that the label
-	 * provided by the source for the given elements is no longer valid and should be updated.
-	 *
-	 * @param source the label provider
-	 * @param elements the element whose labels have changed
-	 */
-	public LabelProviderChangedEvent(
-		IBaseLabelProvider source,
-		Object[] elements) {
-		super(source);
-		this.elements = elements;
-	}
-
-	/**
-	 * Creates a new event for the given source, indicating that the label
-	 * provided by the source for the given element is no longer valid and should be updated.
-	 *
-	 * @param source the label provider
-	 * @param element the element whose label needs to be updated
-	 */
-	public LabelProviderChangedEvent(IBaseLabelProvider source, Object element) {
-		super(source);
-		this.elements = new Object[1];
-		this.elements[0] = element;
-	}
-	
-	/**
-	 * Returns the first element whose label needs to be updated,
-	 * or <code>null</code> if all labels need to be updated.
-	 *
-	 * @return the element whose label needs to be updated or <code>null</code>
-	 */
-	public Object getElement() {
-		if (this.elements == null || this.elements.length == 0)
-			return null;
-		else
-			return this.elements[0];
-	}
-
-	/**
-	 * Returns the elements whose labels need to be updated,
-	 * or <code>null</code> if all labels need to be updated.
-	 *
-	 * @return the element whose labels need to be updated or <code>null</code>
-	 */
-	public Object[] getElements() {
-		if (this.elements == null)
-			return null;
-		else
-			return this.elements;
-	}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ListViewer.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ListViewer.java
deleted file mode 100644
index ef61036..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ListViewer.java
+++ /dev/null
@@ -1,185 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.viewers;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * A concrete viewer based on an SWT <code>List</code> control.
- * <p>
- * This class is not intended to be subclassed. It is designed to be
- * instantiated with a pre-existing SWT <code>List</code> control and configured
- * with a domain-specific content provider, label provider, element filter (optional),
- * and element sorter (optional).
- * <p>
- * Note that the SWT <code>List</code> control only supports the display of strings, not icons.
- * If you need to show icons for items, use <code>TableViewer</code> instead.
- * </p>
- * 
- * @see TableViewer
- */
-public class ListViewer extends AbstractListViewer {
-
-	/**
-	 * This viewer's list control.
-	 */
-	private org.eclipse.swt.widgets.List list;
-
-/**
- * Creates a list viewer on a newly-created list control under the given parent.
- * The list control is created using the SWT style bits <code>MULTI, H_SCROLL, V_SCROLL,</code> and <code>BORDER</code>.
- * The viewer has no input, no content provider, a default label provider, 
- * no sorter, and no filters.
- *
- * @param parent the parent control
- */
-public ListViewer(Composite parent) {
-	this(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-}
-/**
- * Creates a list viewer on a newly-created list control under the given parent.
- * The list control is created using the given SWT style bits.
- * The viewer has no input, no content provider, a default label provider, 
- * no sorter, and no filters.
- *
- * @param parent the parent control
- * @param style the SWT style bits
- */
-public ListViewer(Composite parent, int style) {
-	this(new org.eclipse.swt.widgets.List(parent, style));
-}
-/**
- * Creates a list viewer on the given list control.
- * The viewer has no input, no content provider, a default label provider, 
- * no sorter, and no filters.
- *
- * @param list the list control
- */
-public ListViewer(org.eclipse.swt.widgets.List list) {
-	this.list = list;
-	hookControl(list);
-}
-
-/* (non-Javadoc)
- * Method declared on Viewer.
- */
-public Control getControl() {
-	return list;
-}
-/**
- * Returns this list viewer's list control.
- *
- * @return the list control
- */
-public org.eclipse.swt.widgets.List getList() {
-	return list;
-}
-
-/*
- * Non-Javadoc.
- * Method defined on StructuredViewer.
- */
-public void reveal(Object element) {
-	Assert.isNotNull(element);
-	int index = getElementIndex(element);
-	if (index == -1)
-		return;
-	// algorithm patterned after List.showSelection()
-	int count = list.getItemCount();
-	if (count == 0)
-		return;
-	int height = list.getItemHeight();
-	Rectangle rect = list.getClientArea();
-	int topIndex = list.getTopIndex();
-	int visibleCount = Math.max ((rect.x + rect.height) / height, 1);
-	int bottomIndex = Math.min (topIndex + visibleCount + 1, count - 1);
-	if ((topIndex <= index) && (index <= bottomIndex)) return;
-	int newTop = Math.min (Math.max (index - (visibleCount / 2), 0), count - 1);
-	list.setTopIndex(newTop);
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.jface.viewers.AbstractListViewer#listAdd(java.lang.String, int)
- */
-protected void listAdd(String string, int index) {
-	list.add(string, index);
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.jface.viewers.AbstractListViewer#listSetItem(int, java.lang.String)
- */
-protected void listSetItem(int index, String string) {
-	list.setItem(index, string);
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.jface.viewers.AbstractListViewer#listGetSelectionIndices()
- */
-protected int[] listGetSelectionIndices() {
-	return list.getSelectionIndices();
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.jface.viewers.AbstractListViewer#listGetItemCount()
- */
-protected int listGetItemCount() {
-	return list.getItemCount();
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.jface.viewers.AbstractListViewer#listSetItems(java.lang.String[])
- */
-protected void listSetItems(String[] labels) {
-	list.setItems(labels);
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.jface.viewers.AbstractListViewer#listRemoveAll()
- */
-protected void listRemoveAll() {
-	list.removeAll();
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.jface.viewers.AbstractListViewer#listRemove(int)
- */
-protected void listRemove(int index) {
-	list.remove(index);
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.jface.viewers.AbstractListViewer#listSelectAndShow(int[])
- */
-protected void listSetSelection(int[] ixs) {
-	list.setSelection(ixs);
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.jface.viewers.AbstractListViewer#listDeselectAll()
- */
-protected void listDeselectAll() {
-	list.deselectAll();
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.jface.viewers.AbstractListViewer#listShowSelection()
- */
-protected void listShowSelection() {
-	list.showSelection();
-}
-
-
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/OpenEvent.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/OpenEvent.java
deleted file mode 100644
index c15bcdf..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/OpenEvent.java
+++ /dev/null
@@ -1,57 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-import java.util.EventObject;
-
-import org.eclipse.jface.util.Assert;
-
-/**
- * Event object describing an open which may be generated from a 
- * selection or default selection event. The source of these
- * events is a viewer.
- *
- * @see IOpenListener
- */
-public class OpenEvent extends EventObject {
-
-	/**
-	 * The selection.
-	 */
-	protected ISelection selection;
-/**
- * Creates a new event for the given source and selection.
- *
- * @param source the viewer
- * @param selection the selection
- */
-public OpenEvent(Viewer source, ISelection selection) {
-	super(source);
-	Assert.isNotNull(selection);
-	this.selection = selection;
-}
-/**
- * Returns the selection.
- *
- * @return the selection
- */
-public ISelection getSelection() {
-	return selection;
-}
-/**
- * Returns the viewer that is the source of this event.
- *
- * @return the originating viewer
- */
-public Viewer getViewer() {
-	return (Viewer) getSource();
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/SelectionChangedEvent.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/SelectionChangedEvent.java
deleted file mode 100644
index d87db74..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/SelectionChangedEvent.java
+++ /dev/null
@@ -1,58 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-import java.util.EventObject;
-
-import org.eclipse.jface.util.Assert;
-
-/**
- * Event object describing a selection change. The source of these
- * events is a selection provider.
- *
- * @see ISelection
- * @see ISelectionProvider
- * @see ISelectionChangedListener
- */
-public class SelectionChangedEvent extends EventObject {
-
-	/**
-	 * The selection.
-	 */
-	protected ISelection selection;
-/**
- * Creates a new event for the given source and selection.
- *
- * @param source the selection provider
- * @param selection the selection
- */
-public SelectionChangedEvent(ISelectionProvider source, ISelection selection) {
-	super(source);
-	Assert.isNotNull(selection);
-	this.selection = selection;
-}
-/**
- * Returns the selection.
- *
- * @return the selection
- */
-public ISelection getSelection() {
-	return selection;
-}
-/**
- * Returns the selection provider that is the source of this event.
- *
- * @return the originating selection provider
- */
-public ISelectionProvider getSelectionProvider() {
-	return (ISelectionProvider) getSource();
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/StructuredSelection.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/StructuredSelection.java
deleted file mode 100644
index f49c303..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/StructuredSelection.java
+++ /dev/null
@@ -1,155 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-import java.util.*;
-
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.util.Assert;
-
-/**
- * A concrete implementation of the <code>IStructuredSelection</code> interface,
- * suitable for instantiating.
- * <p>
- * This class is not intended to be subclassed.
- * </p>
- */
-public class StructuredSelection implements IStructuredSelection {
-
-	/**
-	 * The element that make up this structured selection.
-	 */
-	private Object[] elements;
-	
-	/**
-	 * The canonical empty selection. This selection should be used instead of
-	 * <code>null</code>.
-	 */
-	public static final StructuredSelection EMPTY = new StructuredSelection();
-/**
- * Creates a new empty selection.  
- * See also the static field <code>EMPTY</code> which contains an empty selection singleton.
- *
- * @see #EMPTY
- */
-public StructuredSelection() {
-}
-/**
- * Creates a structured selection from the given elements.
- *
- * @param elements an array of elements
- */
-public StructuredSelection(Object[] elements) {
-	this.elements= new Object[elements.length];
-	System.arraycopy(elements, 0, this.elements, 0, elements.length);
-}
-/**
- * Creates a structured selection containing a single object.
- * The object must not be <code>null</code>.
- *
- * @param element the element
- */
-public StructuredSelection(Object element) {
-	Assert.isNotNull(element);
-	elements= new Object[] { element };
-}
-/**
- * Creates a structured selection from the given <code>List</code>.
- */
-public StructuredSelection(List elements) {
-	Assert.isNotNull(elements);
-	this.elements = elements.toArray();
-}
-/**
- * Returns whether this structured selection is equal to the given object.
- * Two structured selections are equal iff they contain the same elements
- * in the same order.
- *
- * @param o the other object
- * @return <code>true</code> if they are equal, and <code>false</code> otherwise
- */
-public boolean equals(Object o) {
-	if (this == o) {
-		return true;
-	}
-	//null and other classes
-	if (!(o instanceof StructuredSelection)) {
-		return false;
-	}
-	StructuredSelection s2 = (StructuredSelection)o;
-
-	// either or both empty?
-	if (isEmpty()) {
-		return s2.isEmpty();
-	}
-	if (s2.isEmpty()) {
-		return false;
-	}
-
-	//size
-	int myLen = elements.length;
-	if (myLen != s2.elements.length) {
-		return false;
-	}
-	//element comparison
-	for (int i = 0; i < myLen; i++) {
-		if (!elements[i].equals(s2.elements[i])) {
-			return false;
-		}
-	}
-	return true;
-}
-/* (non-Javadoc)
- * Method declared in IStructuredSelection.
- */
-public Object getFirstElement() {
-	return isEmpty() ? null : elements[0];
-}
-/* (non-Javadoc)
- * Method declared in ISelection.
- */
-public boolean isEmpty() {
-	return elements == null || elements.length == 0;
-}
-/* (non-Javadoc)
- * Method declared in IStructuredSelection.
- */
-public Iterator iterator() {
-	return Arrays.asList(elements == null ? new Object[0] : elements).iterator();
-}
-/* (non-Javadoc)
- * Method declared in IStructuredSelection.
- */
-public int size() {
-	return elements == null ? 0 : elements.length;
-}
-/* (non-Javadoc)
- * Method declared in IStructuredSelection.
- */
-public Object[] toArray() {
-	return elements == null ? new Object[0] : (Object[]) elements.clone();
-}
-/* (non-Javadoc)
- * Method declared in IStructuredSelection.
- */
-public List toList() {
-	return Arrays.asList(elements == null ? new Object[0] : elements);
-}
-/**
- * Internal method which returns a string representation of this
- * selection suitable for debug purposes only.
- *
- * @return debug string
- */
-public String toString() {
-	return isEmpty() ? JFaceResources.getString("<empty_selection>") : toList().toString(); //$NON-NLS-1$
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/StructuredViewer.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/StructuredViewer.java
deleted file mode 100644
index d0fadf7..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/StructuredViewer.java
+++ /dev/null
@@ -1,1406 +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 Corporation - initial API and implementation 
- ******************************************************************************/
-package org.eclipse.jface.viewers;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.Platform;
-
-import org.eclipse.swt.dnd.DragSource;
-import org.eclipse.swt.dnd.DragSourceListener;
-import org.eclipse.swt.dnd.DropTarget;
-import org.eclipse.swt.dnd.DropTargetListener;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Widget;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.util.IOpenEventListener;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.OpenStrategy;
-import org.eclipse.jface.util.SafeRunnable;
-
-/**
- * Abstract base implementation for structure-oriented viewers (trees, lists,
- * tables). Supports custom sorting, filtering, and rendering.
- * <p>
- * Any number of viewer filters can be added to this viewer (using
- * <code>addFilter</code>). When the viewer receives an update, it asks each
- * of its filters if it is out of date, and refilters elements as required.
- * </p>
- * 
- * @see ViewerFilter
- * @see ViewerSorter
- */
-public abstract class StructuredViewer extends ContentViewer
-		implements
-			IPostSelectionProvider {
-
-	/**
-	 * A map from the viewer's model elements to SWT widgets. (key type:
-	 * <code>Object</code>, value type: <code>Widget</code>).
-	 * <code>null</code> means that the element map is disabled.
-	 */
-	private CustomHashtable elementMap;
-
-	/**
-	 * The comparer to use for comparing elements, or <code>null</code> to use
-	 * the default <code>equals</code> and <code>hashCode</code> methods on
-	 * the element itself.
-	 */
-	private IElementComparer comparer;
-
-	/**
-	 * This viewer's sorter. <code>null</code> means there is no sorter.
-	 */
-	private ViewerSorter sorter;
-
-	/**
-	 * This viewer's filters (element type: <code>ViewerFilter</code>).
-	 * <code>null</code> means there are no filters.
-	 */
-	private List filters;
-
-	/**
-	 * Indicates whether a selection change is in progress on this viewer.
-	 * 
-	 * @see #setSelection(ISelection, boolean)
-	 */
-	private boolean inChange;
-
-	/**
-	 * Used while a selection change is in progress on this viewer to indicates
-	 * whether the selection should be restored.
-	 * 
-	 * @see #setSelection(ISelection, boolean)
-	 */
-	private boolean restoreSelection;
-
-	/**
-	 * List of double-click state listeners (element type:
-	 * <code>IDoubleClickListener</code>).
-	 * 
-	 * @see #fireDoubleClick
-	 */
-	private ListenerList doubleClickListeners = new ListenerList(1);
-	/**
-	 * List of open listeners (element type:
-	 * <code>ISelectionActivateListener</code>).
-	 * 
-	 * @see #fireOpen
-	 */
-	private ListenerList openListeners = new ListenerList(1);
-	/**
-	 * List of post selection listeners (element type:
-	 * <code>ISelectionActivateListener</code>).
-	 * 
-	 * @see #firePostSelectionChanged
-	 */
-	private ListenerList postSelectionChangedListeners = new ListenerList(1);
-
-	/**
-	 * The safe runnable used to update an item.
-	 */
-	class UpdateItemSafeRunnable extends SafeRunnable {
-		private Widget widget;
-		private Object element;
-		private boolean fullMap;
-		UpdateItemSafeRunnable(Widget widget, Object element, boolean fullMap) {
-			this.widget = widget;
-			this.element = element;
-			this.fullMap = fullMap;
-		}
-		public void run() {
-			doUpdateItem(widget, element, fullMap);
-		}
-	}
-
-	/**
-	 * Creates a structured element viewer. The viewer has no input, no content
-	 * provider, a default label provider, no sorter, and no filters.
-	 */
-	protected StructuredViewer() {
-		// do nothing
-	}
-	/**
-	 * Adds a listener for double-clicks in this viewer. Has no effect if an
-	 * identical listener is already registered.
-	 * 
-	 * @param listener
-	 *            a double-click listener
-	 */
-	public void addDoubleClickListener(IDoubleClickListener listener) {
-		doubleClickListeners.add(listener);
-	}
-	/**
-	 * Adds a listener for selection-open in this viewer. Has no effect if an
-	 * identical listener is already registered.
-	 * 
-	 * @param listener
-	 *            a double-click listener
-	 */
-	public void addOpenListener(IOpenListener listener) {
-		openListeners.add(listener);
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on IPostSelectionProvider.
-	 */
-	public void addPostSelectionChangedListener(
-			ISelectionChangedListener listener) {
-		postSelectionChangedListeners.add(listener);
-	}
-	/**
-	 * Adds support for dragging items out of this viewer via a user
-	 * drag-and-drop operation.
-	 * 
-	 * @param operations
-	 *            a bitwise OR of the supported drag and drop operation types (
-	 *            <code>DROP_COPY</code>,<code>DROP_LINK</code>, and
-	 *            <code>DROP_MOVE</code>)
-	 * @param transferTypes
-	 *            the transfer types that are supported by the drag operation
-	 * @param listener
-	 *            the callback that will be invoked to set the drag data and to
-	 *            cleanup after the drag and drop operation finishes
-	 * @see org.eclipse.swt.dnd.DND
-	 */
-	public void addDragSupport(int operations, Transfer[] transferTypes,
-			DragSourceListener listener) {
-
-		Control myControl = getControl();
-		final DragSource dragSource = new DragSource(myControl, operations);
-		dragSource.setTransfer(transferTypes);
-		dragSource.addDragListener(listener);
-	}
-	/**
-	 * Adds support for dropping items into this viewer via a user drag-and-drop
-	 * operation.
-	 * 
-	 * @param operations
-	 *            a bitwise OR of the supported drag and drop operation types (
-	 *            <code>DROP_COPY</code>,<code>DROP_LINK</code>, and
-	 *            <code>DROP_MOVE</code>)
-	 * @param transferTypes
-	 *            the transfer types that are supported by the drop operation
-	 * @param listener
-	 *            the callback that will be invoked after the drag and drop
-	 *            operation finishes
-	 * @see org.eclipse.swt.dnd.DND
-	 */
-	public void addDropSupport(int operations, Transfer[] transferTypes,
-			final DropTargetListener listener) {
-		Control control = getControl();
-		DropTarget dropTarget = new DropTarget(control, operations);
-		dropTarget.setTransfer(transferTypes);
-		dropTarget.addDropListener(listener);
-	}
-	/**
-	 * Adds the given filter to this viewer, and triggers refiltering and
-	 * resorting of the elements.
-	 * 
-	 * @param filter
-	 *            a viewer filter
-	 */
-	public void addFilter(ViewerFilter filter) {
-		if (filters == null)
-			filters = new ArrayList();
-		filters.add(filter);
-		refresh();
-	}
-
-	/**
-	 * Asserts that the given array of elements is itself non- <code>null</code>
-	 * and contains no <code>null</code> elements.
-	 * 
-	 * @param elements
-	 *            the array to check
-	 */
-	protected void assertElementsNotNull(Object[] elements) {
-		Assert.isNotNull(elements);
-		for (int i = 0, n = elements.length; i < n; ++i) {
-			Assert.isNotNull(elements[i]);
-		}
-	}
-
-	/**
-	 * Associates the given element with the given widget. Sets the given item's
-	 * data to be the element, and maps the element to the item in the element
-	 * map (if enabled).
-	 * 
-	 * @param element
-	 *            the element
-	 * @param item
-	 *            the widget
-	 */
-	protected void associate(Object element, Item item) {
-		Object data = item.getData();
-		if (data != element) {
-			if (data != null)
-				disassociate(item);
-			item.setData(element);
-		}
-		// Always map the element, even if data == element,
-		// since unmapAllElements() can leave the map inconsistent
-		// See bug 2741 for details.
-		mapElement(element, item);
-	}
-	/**
-	 * Disassociates the given SWT item from its corresponding element. Sets the
-	 * item's data to <code>null</code> and removes the element from the
-	 * element map (if enabled).
-	 * 
-	 * @param item
-	 *            the widget
-	 */
-	protected void disassociate(Item item) {
-		Object element = item.getData();
-		Assert.isNotNull(element);
-		//Clear the map before we clear the data
-		unmapElement(element, item);
-		item.setData(null);
-	}
-	/**
-	 * Returns the widget in this viewer's control which represents the given
-	 * element if it is the viewer's input.
-	 * <p>
-	 * This method is internal to the framework; subclassers should not call
-	 * this method.
-	 * </p>
-	 * 
-	 * @param the
-	 *            element
-	 * @return the corresponding widget, or <code>null</code> if none
-	 */
-	protected abstract Widget doFindInputItem(Object element);
-	/**
-	 * Returns the widget in this viewer's control which represent the given
-	 * element. This method searchs all the children of the input element.
-	 * <p>
-	 * This method is internal to the framework; subclassers should not call
-	 * this method.
-	 * </p>
-	 * 
-	 * @param the
-	 *            element
-	 * @return the corresponding widget, or <code>null</code> if none
-	 */
-	protected abstract Widget doFindItem(Object element);
-	/**
-	 * Copies the attributes of the given element into the given SWT item. The
-	 * element map is updated according to the value of <code>fullMap</code>.
-	 * If <code>fullMap</code> is <code>true</code> then the current mapping
-	 * from element to widgets is removed and the new mapping is added. If
-	 * fullmap is <code>false</code> then only the new map gets installed.
-	 * Installing only the new map is necessary in cases where only the order of
-	 * elements changes but not the set of elements.
-	 * <p>
-	 * This method is internal to the framework; subclassers should not call
-	 * this method.
-	 * </p>
-	 * 
-	 * @param item
-	 * @param element
-	 *            the element
-	 * @param fullMap
-	 *            <code>true</code> if mappings are added and removed, and
-	 *            <code>false</code> if only the new map gets installed
-	 */
-	protected abstract void doUpdateItem(Widget item, Object element,
-			boolean fullMap);
-
-	/**
-	 * Compares two elements for equality. Uses the element comparer if one has
-	 * been set, otherwise uses the default <code>equals</code> method on the
-	 * elements themselves.
-	 * 
-	 * @param elementA
-	 *            the first element
-	 * @param elementB
-	 *            the second element
-	 * @return whether elementA is equal to elementB
-	 */
-	protected boolean equals(Object elementA, Object elementB) {
-		if (comparer == null)
-			return elementA == null ? elementB == null : elementA
-					.equals(elementB);
-		else
-			return elementA == null ? elementB == null : comparer.equals(
-					elementA, elementB);
-	}
-
-	/**
-	 * Returns the result of running the given elements through the filters.
-	 * 
-	 * @param elements
-	 *            the elements to filter
-	 * @return only the elements which all filters accept
-	 */
-	protected Object[] filter(Object[] elements) {
-		if (filters != null) {
-			ArrayList filtered = new ArrayList(elements.length);
-			Object root = getRoot();
-			for (int i = 0; i < elements.length; i++) {
-				boolean add = true;
-				for (int j = 0; j < filters.size(); j++) {
-					add = ((ViewerFilter) filters.get(j)).select(this, root,
-							elements[i]);
-					if (!add)
-						break;
-				}
-				if (add)
-					filtered.add(elements[i]);
-			}
-			return filtered.toArray();
-		}
-		return elements;
-	}
-	/**
-	 * Finds the widget which represents the given element.
-	 * <p>
-	 * The default implementation of this method tries first to find the widget
-	 * for the given element assuming that it is the viewer's input; this is
-	 * done by calling <code>doFindInputItem</code>. If it is not found
-	 * there, it is looked up in the internal element map provided that this
-	 * feature has been enabled. If the element map is disabled, the widget is
-	 * found via <code>doFindInputItem</code>.
-	 * </p>
-	 * 
-	 * @param element
-	 *            the element
-	 * @return the corresponding widget, or <code>null</code> if none
-	 */
-	protected final Widget findItem(Object element) {
-		Widget result = doFindInputItem(element);
-		if (result != null)
-			return result;
-		// if we have an element map use it, otherwise search for the item.
-		if (elementMap != null)
-			return (Widget) elementMap.get(element);
-		return doFindItem(element);
-	}
-	/**
-	 * Notifies any double-click listeners that a double-click has been
-	 * received. Only listeners registered at the time this method is called are
-	 * notified.
-	 * 
-	 * @param event
-	 *            a double-click event
-	 * 
-	 * @see IDoubleClickListener#doubleClick
-	 */
-	protected void fireDoubleClick(final DoubleClickEvent event) {
-		Object[] listeners = doubleClickListeners.getListeners();
-		for (int i = 0; i < listeners.length; ++i) {
-			final IDoubleClickListener l = (IDoubleClickListener) listeners[i];
-			Platform.run(new SafeRunnable() {
-				public void run() {
-					l.doubleClick(event);
-				}
-			});
-		}
-	}
-	/**
-	 * Notifies any open event listeners that a open event has been received.
-	 * Only listeners registered at the time this method is called are notified.
-	 * 
-	 * @param event
-	 *            a double-click event
-	 * 
-	 * @see IOpenListener#open(OpenEvent)
-	 */
-	protected void fireOpen(final OpenEvent event) {
-		Object[] listeners = openListeners.getListeners();
-		for (int i = 0; i < listeners.length; ++i) {
-			final IOpenListener l = (IOpenListener) listeners[i];
-			Platform.run(new SafeRunnable() {
-				public void run() {
-					l.open(event);
-				}
-			});
-		}
-	}
-	/**
-	 * Notifies any post selection listeners that a post selection event has
-	 * been received. Only listeners registered at the time this method is
-	 * called are notified.
-	 * 
-	 * @param event
-	 *            a selection changed event
-	 * 
-	 * @see #addPostSelectionChangedListener(ISelectionChangedListener)
-	 */
-	protected void firePostSelectionChanged(final SelectionChangedEvent event) {
-		Object[] listeners = postSelectionChangedListeners.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);
-				}
-			});
-		}
-	}
-
-	/**
-	 * Returns the comparator to use for comparing elements, or
-	 * <code>null</code> if none has been set.
-	 * 
-	 * @param comparator
-	 *            the comparator to use for comparing elements or
-	 *            <code>null</code>
-	 */
-	public IElementComparer getComparer() {
-		return comparer;
-	}
-
-	/**
-	 * Returns the filtered array of children of the given element. The
-	 * resulting array must not be modified, as it may come directly from the
-	 * model's internal state.
-	 * 
-	 * @param parent
-	 *            the parent element
-	 * @return a filtered array of child elements
-	 */
-	protected Object[] getFilteredChildren(Object parent) {
-		Object[] result = getRawChildren(parent);
-		if (filters != null) {
-			for (Iterator iter = filters.iterator(); iter.hasNext();) {
-				ViewerFilter f = (ViewerFilter) iter.next();
-				result = f.filter(this, parent, result);
-			}
-		}
-		return result;
-	}
-	/**
-	 * Returns this viewer's filters.
-	 * 
-	 * @return an array of viewer filters
-	 */
-	public ViewerFilter[] getFilters() {
-		if (filters == null)
-			return new ViewerFilter[0];
-		ViewerFilter[] result = new ViewerFilter[filters.size()];
-		filters.toArray(result);
-		return result;
-	}
-	/**
-	 * Returns the item at the given display-relative coordinates, or
-	 * <code>null</code> if there is no item at that location.
-	 * <p>
-	 * The default implementation of this method returns <code>null</code>.
-	 * </p>
-	 * 
-	 * @param x
-	 *            horizontal coordinate
-	 * @param y
-	 *            vertical coordinate
-	 * @return the item, or <code>null</code> if there is no item at the given
-	 *         coordinates
-	 */
-	protected Item getItem(int x, int y) {
-		return null;
-	}
-	/**
-	 * Returns the children of the given parent without sorting and filtering
-	 * them. The resulting array must not be modified, as it may come directly
-	 * from the model's internal state.
-	 * <p>
-	 * Returns an empty array if the given parent is <code>null</code>.
-	 * </p>
-	 * 
-	 * @param parent
-	 *            the parent element
-	 * @return the child elements
-	 */
-	protected Object[] getRawChildren(Object parent) {
-		Object[] result = null;
-		if (parent != null) {
-			IStructuredContentProvider cp = (IStructuredContentProvider) getContentProvider();
-			if (cp != null) {
-				result = cp.getElements(parent);
-				assertElementsNotNull(result);
-			}
-		}
-		return (result != null) ? result : new Object[0];
-	}
-	/**
-	 * Returns the root element.
-	 * <p>
-	 * The default implementation of this framework method forwards to
-	 * <code>getInput</code>. Override if the root element is different from
-	 * the viewer's input element.
-	 * </p>
-	 * 
-	 * @return the root element, or <code>null</code> if none
-	 */
-	protected Object getRoot() {
-		return getInput();
-	}
-	/**
-	 * The <code>StructuredViewer</code> implementation of this method returns
-	 * the result as an <code>IStructuredSelection</code>.
-	 * <p>
-	 * Subclasses do not typically override this method, but implement
-	 * <code>getSelectionFromWidget(List)</code> instead.
-	 * <p>
-	 */
-	public ISelection getSelection() {
-		Control control = getControl();
-		if (control == null || control.isDisposed()) {
-			return StructuredSelection.EMPTY;
-		}
-		List list = getSelectionFromWidget();
-		return new StructuredSelection(list);
-	}
-	/**
-	 * Retrieves the selection, as a <code>List</code>, from the underlying
-	 * widget.
-	 * 
-	 * @return the list of selected elements
-	 */
-	protected abstract List getSelectionFromWidget();
-	/**
-	 * Returns the sorted and filtered set of children of the given element. The
-	 * resulting array must not be modified, as it may come directly from the
-	 * model's internal state.
-	 * 
-	 * @param parent
-	 *            the parent element
-	 * @return a sorted and filtered array of child elements
-	 */
-	protected Object[] getSortedChildren(Object parent) {
-		Object[] result = getFilteredChildren(parent);
-		if (sorter != null) {
-			// be sure we're not modifying the original array from the model
-			result = (Object[]) result.clone();
-			sorter.sort(this, result);
-		}
-		return result;
-	}
-	/**
-	 * Returns this viewer's sorter, or <code>null</code> if it does not have
-	 * one.
-	 * 
-	 * @return a viewer sorter, or <code>null</code> if none
-	 */
-	public ViewerSorter getSorter() {
-		return sorter;
-	}
-	/**
-	 * Handles a double-click select event from the widget.
-	 * <p>
-	 * This method is internal to the framework; subclassers should not call
-	 * this method.
-	 * </p>
-	 * 
-	 * @param event
-	 *            the SWT selection event
-	 */
-	protected void handleDoubleSelect(SelectionEvent event) {
-		// handle case where an earlier selection listener disposed the control.
-		Control control = getControl();
-		if (control != null && !control.isDisposed()) {
-			ISelection selection = getSelection();
-			updateSelection(selection);
-			fireDoubleClick(new DoubleClickEvent(this, selection));
-		}
-	}
-	/**
-	 * Handles an open event from the OpenStrategy.
-	 * <p>
-	 * This method is internal to the framework; subclassers should not call
-	 * this method.
-	 * </p>
-	 * 
-	 * @param event
-	 *            the SWT selection event
-	 */
-	protected void handleOpen(SelectionEvent event) {
-		Control control = getControl();
-		if (control != null && !control.isDisposed()) {
-			ISelection selection = getSelection();
-			fireOpen(new OpenEvent(this, selection));
-		}
-	}
-	/**
-	 * Handles an invalid selection.
-	 * <p>
-	 * This framework method is called if a model change picked up by a viewer
-	 * results in an invalid selection. For instance if an element contained in
-	 * the selection has been removed from the viewer, the viewer is free to
-	 * either remove the element from the selection or to pick another element
-	 * as its new selection. The default implementation of this method calls
-	 * <code>updateSelection</code>. Subclasses may override it to implement
-	 * a different strategy for picking a new selection when the old selection
-	 * becomes invalid.
-	 * </p>
-	 * 
-	 * @param invalidSelection
-	 *            the selection before the viewer was updated
-	 * @param newSelection
-	 *            the selection after the update, or <code>null</code> if none
-	 */
-	protected void handleInvalidSelection(ISelection invalidSelection,
-			ISelection newSelection) {
-		updateSelection(newSelection);
-		SelectionChangedEvent event = new SelectionChangedEvent(this,
-				newSelection);
-		firePostSelectionChanged(event);
-	}
-	/**
-	 * The <code>StructuredViewer</code> implementation of this
-	 * <code>ContentViewer</code> method calls <code>update</code> if the
-	 * event specifies that the label of a given element has changed, otherwise
-	 * it calls super. Subclasses may reimplement or extend.
-	 * </p>
-	 */
-	protected void handleLabelProviderChanged(LabelProviderChangedEvent event) {
-		Object[] elements = event.getElements();
-		if (elements != null) {
-			update(elements, null);
-		} else {
-			super.handleLabelProviderChanged(event);
-		}
-	}
-	/**
-	 * Handles a select event from the widget.
-	 * <p>
-	 * This method is internal to the framework; subclassers should not call
-	 * this method.
-	 * </p>
-	 * 
-	 * @param event
-	 *            the SWT selection event
-	 */
-	protected void handleSelect(SelectionEvent event) {
-		// handle case where an earlier selection listener disposed the control.
-		Control control = getControl();
-		if (control != null && !control.isDisposed()) {
-			updateSelection(getSelection());
-		}
-	}
-	/**
-	 * Handles a post select event from the widget.
-	 * <p>
-	 * This method is internal to the framework; subclassers should not call
-	 * this method.
-	 * </p>
-	 * 
-	 * @param event
-	 *            the SWT selection event
-	 */
-	protected void handlePostSelect(SelectionEvent e) {
-		SelectionChangedEvent event = new SelectionChangedEvent(this,
-				getSelection());
-		firePostSelectionChanged(event);
-	}
-	/*
-	 * (non-Javadoc) Method declared on Viewer.
-	 */
-	protected void hookControl(Control control) {
-		super.hookControl(control);
-		OpenStrategy handler = new OpenStrategy(control);
-		handler.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				handleSelect(e);
-			}
-			public void widgetDefaultSelected(SelectionEvent e) {
-				handleDoubleSelect(e);
-			}
-		});
-		handler.addPostSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				handlePostSelect(e);
-			}
-		});
-		handler.addOpenListener(new IOpenEventListener() {
-			public void handleOpen(SelectionEvent e) {
-				StructuredViewer.this.handleOpen(e);
-			}
-		});
-	}
-	/**
-	 * Returns whether this viewer has any filters.
-	 */
-	protected boolean hasFilters() {
-		return filters != null && filters.size() > 0;
-	}
-	/**
-	 * Refreshes this viewer starting at the given element.
-	 * 
-	 * @param element
-	 *            the element
-	 */
-	protected abstract void internalRefresh(Object element);
-
-	/**
-	 * Refreshes this viewer starting at the given element. Labels are updated
-	 * as described in <code>refresh(boolean updateLabels)</code>.
-	 * <p>
-	 * The default implementation simply calls
-	 * <code>internalRefresh(element)</code>, ignoring
-	 * <code>updateLabels</code>.
-	 * <p>
-	 * If this method is overridden to do the actual refresh, then
-	 * <code>internalRefresh(Object element)</code> should simply call
-	 * <code>internalRefresh(element, true)</code>.
-	 * 
-	 * @param element
-	 *            the element
-	 * @param updateLabels
-	 *            <code>true</code> to update labels for existing elements,
-	 *            <code>false</code> to only update labels as needed, assuming
-	 *            that labels for existing elements are unchanged.
-	 * 
-	 * @since 2.0
-	 */
-	protected void internalRefresh(Object element, boolean updateLabels) {
-		internalRefresh(element);
-	}
-
-	/**
-	 * Adds the element item pair to the element map.
-	 * <p>
-	 * This method is internal to the framework; subclassers should not call
-	 * this method.
-	 * </p>
-	 * 
-	 * @param element
-	 *            the element
-	 * @param item
-	 *            the corresponding widget
-	 */
-	protected void mapElement(Object element, Widget item) {
-		if (elementMap != null)
-			elementMap.put(element, item);
-	}
-	/**
-	 * Determines whether a change to the given property of the given element
-	 * would require refiltering and/or resorting.
-	 * <p>
-	 * This method is internal to the framework; subclassers should not call
-	 * this method.
-	 * </p>
-	 * 
-	 * @param element
-	 *            the element
-	 * @param property
-	 *            the property
-	 * @return <code>true</code> if refiltering is required, and
-	 *         <code>false</code> otherwise
-	 */
-	protected boolean needsRefilter(Object element, String property) {
-		if (sorter != null && sorter.isSorterProperty(element, property))
-			return true;
-
-		if (filters != null) {
-			for (int i = 0, n = filters.size(); i < n; ++i) {
-				ViewerFilter filter = (ViewerFilter) filters.get(i);
-				if (filter.isFilterProperty(element, property))
-					return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Returns a new hashtable using the given capacity and this viewer's element comparer.
-	 * 
-	 * @param capacity the initial capacity of the hashtable
-	 * @return a new hashtable
-	 * 
-	 * @since 3.0
-	 */
-	CustomHashtable newHashtable(int capacity) {
-	    return new CustomHashtable(capacity, getComparer());
-	}
-	
-	/**
-	 * Attempts to preserves the current selection across a run of the given
-	 * code.
-	 * <p>
-	 * The default implementation of this method:
-	 * <ul>
-	 * <li>discovers the old selection (via <code>getSelection</code>)</li>
-	 * <li>runs the given runnable</li>
-	 * <li>attempts to restore the old selection (using
-	 * <code>setSelectionToWidget</code></li>
-	 * <li>rediscovers the resulting selection (via <code>getSelection</code>)
-	 * </li>
-	 * <li>calls <code>handleInvalidSelection</code> if the selection did not
-	 * take</li>
-	 * <li>calls <code>postUpdateHook</code></li>
-	 * </ul>
-	 * </p>
-	 * 
-	 * @param updateCode
-	 *            the code to run
-	 */
-	protected void preservingSelection(Runnable updateCode) {
-
-		ISelection oldSelection = null;
-		try {
-			// preserve selection
-			oldSelection = getSelection();
-			inChange = restoreSelection = true;
-
-			// perform the update
-			updateCode.run();
-
-		} finally {
-			inChange = false;
-
-			// restore selection
-			if (restoreSelection)
-				setSelectionToWidget(oldSelection, false);
-
-			// send out notification if old and new differ
-			ISelection newSelection = getSelection();
-			if (!newSelection.equals(oldSelection))
-				handleInvalidSelection(oldSelection, newSelection);
-		}
-	}
-	/*
-	 * Non-Javadoc. Method declared on Viewer.
-	 */
-	public void refresh() {
-		refresh(getRoot());
-	}
-
-	/**
-	 * Refreshes this viewer with information freshly obtained from this
-	 * viewer's model. If <code>updateLabels</code> is <code>true</code>
-	 * then labels for otherwise unaffected elements are updated as well.
-	 * Otherwise, it assumes labels for existing elements are unchanged, and
-	 * labels are only obtained as needed (for example, for new elements).
-	 * <p>
-	 * Calling <code>refresh(true)</code> has the same effect as
-	 * <code>refresh()</code>.
-	 * <p>
-	 * Note that the implementation may still obtain labels for existing
-	 * elements even if <code>updateLabels</code> is false. The intent is
-	 * simply to allow optimization where possible.
-	 * 
-	 * @param updateLabels
-	 *            <code>true</code> to update labels for existing elements,
-	 *            <code>false</code> to only update labels as needed, assuming
-	 *            that labels for existing elements are unchanged.
-	 * 
-	 * @since 2.0
-	 */
-	public void refresh(boolean updateLabels) {
-		refresh(getRoot(), updateLabels);
-	}
-
-	/**
-	 * Refreshes this viewer starting with the given element.
-	 * <p>
-	 * Unlike the <code>update</code> methods, this handles structural changes
-	 * to the given element (e.g. addition or removal of children). If only the
-	 * given element needs updating, it is more efficient to use the
-	 * <code>update</code> methods.
-	 * </p>
-	 * 
-	 * @param element
-	 *            the element
-	 */
-	public void refresh(final Object element) {
-		preservingSelection(new Runnable() {
-			public void run() {
-				internalRefresh(element);
-			}
-		});
-	}
-
-	/**
-	 * Refreshes this viewer starting with the given element. Labels are updated
-	 * as described in <code>refresh(boolean updateLabels)</code>.
-	 * <p>
-	 * Unlike the <code>update</code> methods, this handles structural changes
-	 * to the given element (e.g. addition or removal of children). If only the
-	 * given element needs updating, it is more efficient to use the
-	 * <code>update</code> methods.
-	 * </p>
-	 * 
-	 * @param element
-	 *            the element
-	 * @param updateLabels
-	 *            <code>true</code> to update labels for existing elements,
-	 *            <code>false</code> to only update labels as needed, assuming
-	 *            that labels for existing elements are unchanged.
-	 * 
-	 * @since 2.0
-	 */
-	public void refresh(final Object element, final boolean updateLabels) {
-		preservingSelection(new Runnable() {
-			public void run() {
-				internalRefresh(element, updateLabels);
-			}
-		});
-	}
-
-	/**
-	 * Refreshes the given TableItem with the given element. Calls
-	 * <code>doUpdateItem(..., false)</code>.
-	 * <p>
-	 * This method is internal to the framework; subclassers should not call
-	 * this method.
-	 * </p>
-	 */
-	protected final void refreshItem(Widget widget, Object element) {
-		Platform.run(new UpdateItemSafeRunnable(widget, element, true));
-	}
-	/**
-	 * Removes the given open listener from this viewer. Has no affect if an
-	 * identical listener is not registered.
-	 * 
-	 * @param listener
-	 *            a double-click listener
-	 */
-	public void removeOpenListener(IOpenListener listener) {
-		openListeners.remove(listener);
-	}
-	/*
-	 * (non-Javadoc) Method declared on IPostSelectionProvider.
-	 */
-	public void removePostSelectionChangedListener(
-			ISelectionChangedListener listener) {
-		postSelectionChangedListeners.remove(listener);
-	}
-	/**
-	 * Removes the given double-click listener from this viewer. Has no affect
-	 * if an identical listener is not registered.
-	 * 
-	 * @param listener
-	 *            a double-click listener
-	 */
-	public void removeDoubleClickListener(IDoubleClickListener listener) {
-		doubleClickListeners.remove(listener);
-	}
-	/**
-	 * Removes the given filter from this viewer, and triggers refiltering and
-	 * resorting of the elements if required. Has no effect if the identical
-	 * filter is not registered.
-	 * 
-	 * @param filter
-	 *            a viewer filter
-	 */
-	public void removeFilter(ViewerFilter filter) {
-		Assert.isNotNull(filter);
-		if (filters != null) {
-			// Note: can't use List.remove(Object). Use identity comparison
-			// instead.
-			for (Iterator i = filters.iterator(); i.hasNext();) {
-				Object o = i.next();
-				if (o == filter) {
-					i.remove();
-					refresh();
-					if (filters.size() == 0)
-						filters = null;
-					return;
-				}
-			}
-		}
-	}
-	/**
-	 * Discards this viewer's filters and triggers refiltering and resorting of
-	 * the elements.
-	 */
-	public void resetFilters() {
-		if (filters != null) {
-			filters = null;
-			refresh();
-		}
-	}
-	/**
-	 * Ensures that the given element is visible, scrolling the viewer if
-	 * necessary. The selection is unchanged.
-	 * 
-	 * @param element
-	 *            the element to reveal
-	 */
-	public abstract void reveal(Object element);
-	/**
-	 * The <code>StructuredViewer</code> implementation of this method checks
-	 * to ensure that the content provider is an
-	 * <code>IStructuredContentProvider</code>.
-	 */
-	public void setContentProvider(IContentProvider provider) {
-		Assert.isTrue(provider instanceof IStructuredContentProvider);
-		super.setContentProvider(provider);
-	}
-	/*
-	 * (non-Javadoc) Method declared in Viewer. This implementatation
-	 * additionaly unmaps all the elements.
-	 */
-	public final void setInput(Object input) {
-
-		try {
-			//		fInChange= true;
-
-			unmapAllElements();
-
-			super.setInput(input);
-
-		} finally {
-			//		fInChange= false;
-		}
-	}
-	/**
-	 * The <code>StructuredViewer</code> implementation of this method does
-	 * the following.
-	 * <p>
-	 * If the new selection differs from the current selection the hook
-	 * <code>updateSelection</code> is called.
-	 * </p>
-	 * <p>
-	 * If <code>setSelection</code> is called from within
-	 * <code>preserveSelection</code>, the call to
-	 * <code>updateSelection</code> is delayed until the end of
-	 * <code>preserveSelection</code>.
-	 * </p>
-	 * <p>
-	 * Subclasses do not typically override this method, but implement
-	 * <code>setSelectionToWidget</code> instead.
-	 * </p>
-	 */
-	public void setSelection(ISelection selection, boolean reveal) {
-		Control control = getControl();
-		if (control == null || control.isDisposed()) {
-			return;
-		}
-		if (!inChange) {
-			setSelectionToWidget(selection, reveal);
-			ISelection sel = getSelection();
-			updateSelection(sel);
-			firePostSelectionChanged(new SelectionChangedEvent(this, sel));
-		} else {
-			restoreSelection = false;
-			setSelectionToWidget(selection, reveal);
-		}
-	}
-	/**
-	 * Parlays the given list of selected elements into selections on this
-	 * viewer's control.
-	 * <p>
-	 * Subclasses should override to set their selection based on the given list
-	 * of elements.
-	 * </p>
-	 * 
-	 * @param l
-	 *            list of selected elements (element type: <code>Object</code>)
-	 *            or <code>null</code> if the selection is to be cleared
-	 * @param reveal
-	 *            <code>true</code> if the selection is to be made visible,
-	 *            and <code>false</code> otherwise
-	 */
-	protected abstract void setSelectionToWidget(List l, boolean reveal);
-	/**
-	 * Converts the selection to a <code>List</code> and calls
-	 * <code>setSelectionToWidget(List, boolean)</code>. The selection is
-	 * expected to be an <code>IStructuredSelection</code> of elements. If
-	 * not, the selection is cleared.
-	 * <p>
-	 * Subclasses do not typically override this method, but implement
-	 * <code>setSelectionToWidget(List, boolean)</code> instead.
-	 * 
-	 * @param selection
-	 *            an IStructuredSelection of elements
-	 * @param reveal
-	 *            <code>true</code> to reveal the first element in the
-	 *            selection, or <code>false</code> otherwise
-	 */
-	protected void setSelectionToWidget(ISelection selection, boolean reveal) {
-		if (selection instanceof IStructuredSelection)
-			setSelectionToWidget(((IStructuredSelection) selection).toList(),
-					reveal);
-		else
-			setSelectionToWidget((List) null, reveal);
-	}
-	/**
-	 * Sets this viewer's sorter and triggers refiltering and resorting of this
-	 * viewer's element. Passing <code>null</code> turns sorting off.
-	 * 
-	 * @param sorter
-	 *            a viewer sorter, or <code>null</code> if none
-	 */
-	public void setSorter(ViewerSorter sorter) {
-		if (this.sorter != sorter) {
-			this.sorter = sorter;
-			refresh();
-		}
-	}
-	/**
-	 * Configures whether this structured viewer uses an internal hash table to
-	 * speeds up the mapping between elements and SWT items. This must be called
-	 * before the viewer is given an input (via <code>setInput</code>).
-	 * 
-	 * @param enable
-	 *            <code>true</code> to enable hash lookup, and
-	 *            <code>false</code> to disable it
-	 */
-	public void setUseHashlookup(boolean enable) {
-		Assert.isTrue(getInput() == null,
-				"Can only enable the hash look up before input has been set");//$NON-NLS-1$
-		if (enable) {
-			elementMap = newHashtable(CustomHashtable.DEFAULT_CAPACITY);
-		} else {
-			elementMap = null;
-		}
-	}
-
-	/**
-	 * Sets the comparator to use for comparing elements, or <code>null</code>
-	 * to use the default <code>equals</code> and <code>hashCode</code>
-	 * methods on the elements themselves.
-	 * 
-	 * @param comparator
-	 *            the comparator to use for comparing elements or
-	 *            <code>null</code>
-	 */
-	public void setComparer(IElementComparer comparer) {
-		this.comparer = comparer;
-		if (elementMap != null) {
-			elementMap = new CustomHashtable(elementMap, comparer);
-		}
-	}
-
-	/**
-	 * Hook for testing.
-	 */
-	public Widget testFindItem(Object element) {
-		return findItem(element);
-	}
-	/**
-	 * Removes all elements from the map.
-	 * <p>
-	 * This method is internal to the framework; subclassers should not call
-	 * this method.
-	 * </p>
-	 */
-	protected void unmapAllElements() {
-		if (elementMap != null) {
-			elementMap = newHashtable(CustomHashtable.DEFAULT_CAPACITY);
-		}
-	}
-	/**
-	 * Removes the given element from the internal element to widget map. Does
-	 * nothing if mapping is disabled. If mapping is enabled, the given element
-	 * must be present.
-	 * <p>
-	 * This method is internal to the framework; subclassers should not call
-	 * this method.
-	 * </p>
-	 * 
-	 * @param element
-	 *            the element
-	 */
-	protected void unmapElement(Object element) {
-		if (elementMap != null) {
-			elementMap.remove(element);
-		}
-	}
-	/**
-	 * Removes the given association from the internal element to widget map.
-	 * Does nothing if mapping is disabled, or if the given element does not map
-	 * to the given item.
-	 * <p>
-	 * This method is internal to the framework; subclassers should not call
-	 * this method.
-	 * </p>
-	 * 
-	 * @param element
-	 *            the element
-	 * @since 2.0
-	 */
-	protected void unmapElement(Object element, Widget item) {
-		// double-check that the element actually maps to the given item before
-		// unmapping it
-		if (elementMap != null && elementMap.get(element) == item) {
-			// call unmapElement for backwards compatibility
-			unmapElement(element);
-		}
-	}
-
-	/**
-	 * Updates the given elements' presentation when one or more of their
-	 * properties change. Only the given elements are updated.
-	 * <p>
-	 * This does not handle structural changes (e.g. addition or removal of
-	 * elements), and does not update any other related elements (e.g. child
-	 * elements). To handle structural changes, use the <code>refresh</code>
-	 * methods instead.
-	 * </p>
-	 * <p>
-	 * This should be called when an element has changed in the model, in order
-	 * to have the viewer accurately reflect the model. This method only affects
-	 * the viewer, not the model.
-	 * </p>
-	 * <p>
-	 * Specifying which properties are affected may allow the viewer to optimize
-	 * the update. For example, if the label provider is not affected by changes
-	 * to any of these properties, an update may not actually be required.
-	 * Specifing <code>properties</code> as <code>null</code> forces a full
-	 * update of the given elements.
-	 * </p>
-	 * <p>
-	 * If the viewer has a sorter which is affected by a change to one of the
-	 * properties, the elements' positions are updated to maintain the sort
-	 * order.
-	 * </p>
-	 * <p>
-	 * If the viewer has a filter which is affected by a change to one of the
-	 * properties, elements may appear or disappear if the change affects
-	 * whether or not they are filtered out.
-	 * </p>
-	 * 
-	 * @param elements
-	 *            the elements
-	 * @param properties
-	 *            the properties that have changed, or <code>null</code> to
-	 *            indicate unknown
-	 */
-	public void update(Object[] elements, String[] properties) {
-		for (int i = 0; i < elements.length; ++i)
-			update(elements[i], properties);
-	}
-	/**
-	 * Updates the given element's presentation when one or more of its
-	 * properties changes. Only the given element is updated.
-	 * <p>
-	 * This does not handle structural changes (e.g. addition or removal of
-	 * elements), and does not update any other related elements (e.g. child
-	 * elements). To handle structural changes, use the <code>refresh</code>
-	 * methods instead.
-	 * </p>
-	 * <p>
-	 * This should be called when an element has changed in the model, in order
-	 * to have the viewer accurately reflect the model. This method only affects
-	 * the viewer, not the model.
-	 * </p>
-	 * <p>
-	 * Specifying which properties are affected may allow the viewer to optimize
-	 * the update. For example, if the label provider is not affected by changes
-	 * to any of these properties, an update may not actually be required.
-	 * Specifing <code>properties</code> as <code>null</code> forces a full
-	 * update of the element.
-	 * </p>
-	 * <p>
-	 * If the viewer has a sorter which is affected by a change to one of the
-	 * properties, the element's position is updated to maintain the sort order.
-	 * </p>
-	 * <p>
-	 * If the viewer has a filter which is affected by a change to one of the
-	 * properties, the element may appear or disappear if the change affects
-	 * whether or not the element is filtered out.
-	 * </p>
-	 * 
-	 * @param element
-	 *            the element
-	 * @param properties
-	 *            the properties that have changed, or <code>null</code> to
-	 *            indicate unknown
-	 */
-	public void update(Object element, String[] properties) {
-		Assert.isNotNull(element);
-		Widget item = findItem(element);
-		if (item == null)
-			return;
-
-		boolean needsRefilter = false;
-		if (properties != null) {
-			for (int i = 0; i < properties.length; ++i) {
-				needsRefilter = needsRefilter(element, properties[i]);
-				if (needsRefilter)
-					break;
-			}
-		}
-		if (needsRefilter) {
-			refresh();
-			return;
-		}
-
-		boolean needsUpdate;
-		if (properties == null) {
-			needsUpdate = true;
-		} else {
-			needsUpdate = false;
-			IBaseLabelProvider labelProvider = getLabelProvider();
-			for (int i = 0; i < properties.length; ++i) {
-				needsUpdate = labelProvider.isLabelProperty(element,
-						properties[i]);
-				if (needsUpdate)
-					break;
-			}
-		}
-		if (needsUpdate) {
-			updateItem(item, element);
-		}
-	}
-	/**
-	 * Copies attributes of the given element into the given widget.
-	 * <p>
-	 * This method is internal to the framework; subclassers should not call
-	 * this method. Calls <code>doUpdateItem(widget, element, true)</code>.
-	 * </p>
-	 * 
-	 * @param widget
-	 *            the widget
-	 * @param element
-	 *            the element
-	 */
-	protected final void updateItem(Widget widget, Object element) {
-		Platform.run(new UpdateItemSafeRunnable(widget, element, true));
-	}
-	/**
-	 * Updates the selection of this viewer.
-	 * <p>
-	 * This framework method should be called when the selection in the viewer
-	 * widget changes.
-	 * </p>
-	 * <p>
-	 * The default implementation of this method notifies all selection change
-	 * listeners recorded in an internal state variable. Overriding this method
-	 * is generally not required; however, if overriding in a subclass,
-	 * <code>super.updateSelection</code> must be invoked.
-	 * </p>
-	 * 
-	 * @param selection
-	 *            the selection, or <code>null</code> if none
-	 */
-	protected void updateSelection(ISelection selection) {
-		SelectionChangedEvent event = new SelectionChangedEvent(this, selection);
-		fireSelectionChanged(event);
-	}
-	/**
-	 * Returns whether this structured viewer is configured to use an internal
-	 * map to speed up the mapping between elements and SWT items.
-	 * <p>
-	 * The default implementation of this framework method checks whether the
-	 * internal map has been initialized.
-	 * </p>
-	 * 
-	 * @return <code>true</code> if the element map is enabled, and
-	 *         <code>false</code> if disabled
-	 */
-	protected boolean usingElementMap() {
-		return elementMap != null;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TableLayout.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TableLayout.java
deleted file mode 100644
index adcc04a..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TableLayout.java
+++ /dev/null
@@ -1,175 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.*;
-/**
- * A layout for a table.
- * Call <code>addColumnData</code> to add columns.
- */
-public class TableLayout extends Layout {
-
-	/**
-	 * The list of column layout data (element type:
-	 *  <code>ColumnLayoutData</code>).
-	 */
-	private List columns = new ArrayList();
-
-	/**
-	 * Indicates whether <code>layout</code> has yet to be called.
-	 */
-	private boolean firstTime = true;
-/**
- * Creates a new table layout.
- */
-public TableLayout() {
-}
-/**
- * Adds a new column of data to this table layout.
- *
- * @param data the column layout data
- */
-public void addColumnData(ColumnLayoutData data) {
-	columns.add(data);
-}
-/* (non-Javadoc)
- * Method declared on Layout.
- */
-public Point computeSize(Composite c, int wHint, int hHint, boolean flush) {
-	if (wHint != SWT.DEFAULT && hHint != SWT.DEFAULT)
-		return new Point(wHint, hHint);
-
-	Table table = (Table) c;
-	// To avoid recursions.
-	table.setLayout(null);
-	// Use native layout algorithm
-	Point result = table.computeSize(wHint, hHint, flush);
-	table.setLayout(this);
-
-	int width = 0;
-	int size = columns.size();
-	for (int i = 0; i < size; ++i) {
-		ColumnLayoutData layoutData = (ColumnLayoutData) columns.get(i);
-		if (layoutData instanceof ColumnPixelData) {
-			ColumnPixelData col = (ColumnPixelData) layoutData;
-			width += col.width;
-		}
-		else if (layoutData instanceof ColumnWeightData) {
-			ColumnWeightData col = (ColumnWeightData) layoutData;
-			width += col.minimumWidth;
-		} else {
-			Assert.isTrue(false, "Unknown column layout data");//$NON-NLS-1$
-		}
-	}
-	if (width > result.x)
-		result.x = width;
-	return result;
-}
-/* (non-Javadoc)
- * Method declared on Layout.
- */
-public void layout(Composite c, boolean flush) {
-	// Only do initial layout.  Trying to maintain proportions when resizing is too hard,
-	// causes lots of widget flicker, causes scroll bars to appear and occasionally stick around (on Windows),
-	// requires hooking column resizing as well, and may not be what the user wants anyway.
-	if (!firstTime) 
-		return;
-	
-	Table table = (Table) c;
-	int width = table.getClientArea().width;
-
-	// XXX: Layout is being called with an invalid value the first time
-	// it is being called on Linux. This method resets the
-	// Layout to null so we make sure we run it only when
-	// the value is OK.
-	if (width <= 1)
-		return;
- 
-	TableColumn[] tableColumns = table.getColumns();
-	int size = Math.min(columns.size(), tableColumns.length);
-	int[] widths = new int[size];
-	int fixedWidth = 0;
-	int numberOfWeightColumns = 0;
-	int totalWeight = 0;
-
-	// First calc space occupied by fixed columns
-	for (int i = 0; i < size; i++) {
-		ColumnLayoutData col = (ColumnLayoutData) columns.get(i);
-		if (col instanceof ColumnPixelData) {
-			int pixels = ((ColumnPixelData) col).width;
-			widths[i] = pixels;
-			fixedWidth += pixels;
-		} else if (col instanceof ColumnWeightData) {
-			ColumnWeightData cw = (ColumnWeightData) col;
-			numberOfWeightColumns++;
-			// first time, use the weight specified by the column data, otherwise use the actual width as the weight
-			// int weight = firstTime ? cw.weight : tableColumns[i].getWidth();
-			int weight = cw.weight;
-			totalWeight += weight;
-		} else {
-			Assert.isTrue(false, "Unknown column layout data");//$NON-NLS-1$
-		}
-	}
-
-	// Do we have columns that have a weight
-	if (numberOfWeightColumns > 0) {
-		// Now distribute the rest to the columns with weight.
-		int rest = width - fixedWidth;
-		int totalDistributed = 0;
-		for (int i = 0; i < size; ++i) {
-			ColumnLayoutData col = (ColumnLayoutData) columns.get(i);
-			if (col instanceof ColumnWeightData) {
-				ColumnWeightData cw = (ColumnWeightData) col;
-				// calculate weight as above
-				// int weight = firstTime ? cw.weight : tableColumns[i].getWidth();
-				int weight = cw.weight;
-				int pixels = totalWeight == 0 ? 0 : weight * rest / totalWeight;
-				if (pixels < cw.minimumWidth)
-					pixels = cw.minimumWidth;
-				totalDistributed += pixels;
-				widths[i] = pixels;
-			}
-		}
-
-		// Distribute any remaining pixels to columns with weight.
-		int diff = rest - totalDistributed;
-		for (int i = 0; diff > 0; ++i) {
-			if (i == size)
-				i = 0;
-			ColumnLayoutData col = (ColumnLayoutData) columns.get(i);
-			if (col instanceof ColumnWeightData) {
-				++widths[i];
-				--diff;
-			}
-		}
-	}
-
-//	System.out.print("Width: " + width);
-//	int total = 0;
-//	for (int i = 0; i < widths.length; i++) {
-//		System.out.print(" " + widths[i]);
-//		total += widths[i];
-//	}
-//	System.out.println(" Total: " + total);
-
-	firstTime = false;
-	
-	for (int i = 0; i < size; i++) {
-		tableColumns[i].setWidth(widths[i]);
-	}
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TableTreeViewer.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TableTreeViewer.java
deleted file mode 100644
index 50236c2..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TableTreeViewer.java
+++ /dev/null
@@ -1,444 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.viewers;
- 
-import java.util.List;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.TableTree;
-import org.eclipse.swt.custom.TableTreeEditor;
-import org.eclipse.swt.custom.TableTreeItem;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.TreeListener;
-import org.eclipse.swt.graphics.Image;
-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.Item;
-import org.eclipse.swt.widgets.Widget;
-/**
- * A concrete viewer based on a SWT <code>TableTree</code> control.
- * <p>
- * This class is not intended to be subclassed outside the viewer framework. 
- * It is designed to be instantiated with a pre-existing SWT table tree control and configured
- * with a domain-specific content provider, label provider, element filter (optional),
- * and element sorter (optional).
- * </p>
- * <p>
- * Content providers for table tree viewers must implement the <code>ITreeContentProvider</code>
- * interface.
- * </p>
- * <p>
- * Label providers for table tree viewers must implement either the <code>ITableLabelProvider</code>
- * or the <code>ILabelProvider</code> interface (see <code>TableTreeViewer.setLabelProvider</code> 
- * for more details).
- * </p>
- */
-public class TableTreeViewer extends AbstractTreeViewer {
-	/**
-	 * Internal table viewer implementation.
-	 */
-	private TableViewerImpl tableViewerImpl;
-
-	/**
-	 * This viewer's table tree control.
-	 */
-	private TableTree tableTree;
-
-	/**
-	 * This viewer's table tree editor.
-	 */
-	private TableTreeEditor tableTreeEditor;
-
-	/**
-	 * Private implementation class.
-	 */
-	class TableTreeViewerImpl extends TableViewerImpl {
-		public  TableTreeViewerImpl(TableTreeViewer viewer) {
-			super(viewer);
-		}
-		Rectangle getBounds(Item item, int columnNumber) {
-			return ((TableTreeItem)item).getBounds(columnNumber);
-		}
-		int getColumnCount() {
-			//getColumnCount() should be a API in TableTree.
-			return getTableTree().getTable().getColumnCount();
-		}
-		Item[] getSelection() {
-			return getTableTree().getSelection();
-		}
-		void setEditor(Control w, Item item, int columnNumber) {
-			tableTreeEditor.setEditor(w, (TableTreeItem)item, columnNumber);
-		}
-		void setSelection(StructuredSelection selection, boolean b) {
-			TableTreeViewer.this.setSelection(selection,b);
-		}
-		void showSelection() {
-			getTableTree().showSelection();
-		}
-		void setLayoutData(CellEditor.LayoutData layoutData) {
-			tableTreeEditor.horizontalAlignment = layoutData.horizontalAlignment;
-			tableTreeEditor.grabHorizontal = layoutData.grabHorizontal;
-			tableTreeEditor.minimumWidth = layoutData.minimumWidth;
-		}
-		void handleDoubleClickEvent() {
-			Viewer viewer = getViewer(); 
-			fireDoubleClick (new DoubleClickEvent(viewer, viewer.getSelection()));
-			fireOpen(new OpenEvent(viewer, viewer.getSelection()));
-		}
-	}
-/**
- * Creates a table tree viewer on the given table tree control.
- * The viewer has no input, no content provider, a default label provider, 
- * no sorter, and no filters.
- *
- * @param tree the table tree control
- */
-public TableTreeViewer(TableTree tree) {
-	super();
-	tableTree = tree;
-	hookControl(tree);
-	tableTreeEditor = new TableTreeEditor(tableTree);
-	tableViewerImpl = new TableTreeViewerImpl(this);
-}
-/**
- * Creates a table tree viewer on a newly-created table tree control under the given parent.
- * The table tree control is created using the SWT style bits <code>MULTI, H_SCROLL, V_SCROLL, and BORDER</code>.
- * The viewer has no input, no content provider, a default label provider, 
- * no sorter, and no filters.
- *
- * @param parent the parent control
- */
-public TableTreeViewer(Composite parent) {
-	this(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-}
-/**
- * Creates a table tree viewer on a newly-created table tree control under the given parent.
- * The table tree control is created using the given SWT style bits.
- * The viewer has no input, no content provider, a default label provider, 
- * no sorter, and no filters.
- *
- * @param parent the parent control
- * @param style the SWT style bits
- */
-public TableTreeViewer(Composite parent, int style) {
-	this(new TableTree(parent, style));
-}
-/* (non-Javadoc)
- * Method declared on AbstractTreeViewer.
- */
-protected void addTreeListener(Control c, TreeListener listener) {
-	((TableTree)c).addTreeListener(listener);
-}
-/**
- * Cancels a currently active cell editor. All changes already done in the cell
- * editor are lost.
- */
-public void cancelEditing() {
-	tableViewerImpl.cancelEditing();
-}
-/* (non-Javadoc)
- * Method declared on AbstractTreeViewer.
- */
-protected void doUpdateItem(Item item, Object element) {
-	// update icon and label
-	// Similar code in TableTreeViewer.doUpdateItem()
-	IBaseLabelProvider prov = getLabelProvider();
-	ITableLabelProvider tprov = null;
-	ILabelProvider lprov = null;
-	if (prov instanceof ITableLabelProvider)
-		tprov = (ITableLabelProvider) prov;
-	else
-		lprov = (ILabelProvider) prov;
-	int columnCount = tableTree.getTable().getColumnCount();
-	TableTreeItem ti = (TableTreeItem)item;
-	// Also enter loop if no columns added.  See 1G9WWGZ: JFUIF:WINNT - TableViewer with 0 columns does not work
-	for (int column = 0; column < columnCount || column == 0; column++) {
-	    String text = "";//$NON-NLS-1$
-	    Image image = null;
-	    if (tprov != null) {
-			text = tprov.getColumnText(element, column);
-			image = tprov.getColumnImage(element, column);
-	    }
-	    else {
-		    if (column == 0) {
-		    	text = lprov.getText(element);
-		    	image = lprov.getImage(element);		    	
-		    }
-	    }
-		ti.setText(column, text);
-		// Apparently a problem to setImage to null if already null
-		if (ti.getImage(column) != image)
-			ti.setImage(column, image);
-	}
-	if (prov instanceof IColorProvider) {
-		IColorProvider cprov = (IColorProvider) prov;
-		ti.setForeground(cprov.getForeground(element));
-		ti.setBackground(cprov.getBackground(element));
-	}
-	
-	if (prov instanceof IFontProvider) {
-	    IFontProvider fprov = (IFontProvider) prov;
-	    ti.setFont(fprov.getFont(element));
-	}			
-}
-/**
- * Starts editing the given element.
- *
- * @param element the element
- * @param column the column number
- */
-public void editElement(Object element, int column) {
-	tableViewerImpl.editElement(element,column);
-}
-/**
- * Returns the cell editors of this viewer.
- *
- * @return the list of cell editors
- */
-public CellEditor[] getCellEditors() {
-	return tableViewerImpl.getCellEditors();
-}
-/**
- * Returns the cell modifier of this viewer.
- *
- * @return the cell modifier
- */
-public ICellModifier getCellModifier() {
-	return tableViewerImpl.getCellModifier();
-}
-/* (non-Javadoc)
- * Method declared on AbstractTreeViewer.
- */
-protected Item[] getChildren(Widget o) {
-	if (o instanceof TableTreeItem)
-		return ((TableTreeItem)o).getItems();
-	if (o instanceof TableTree)
-		return ((TableTree)o).getItems();
-	return null;
-}
-/**
- * Returns the column properties of this viewer.
- * The properties must correspond with the columns of the table control.
- * They are used to identify the column in a cell modifier.
- *
- * @return the list of column properties
- */
-public Object[] getColumnProperties() {
-	return tableViewerImpl.getColumnProperties();
-}
-/* (non-Javadoc)
- * Method declared on Viewer.
- */
-public Control getControl() {
-	return tableTree;
-}
-/**
- * Returns the element with the given index from this viewer.
- * Returns <code>null</code> if the index is out of range.
- * <p>
- * This method is internal to the framework.
- * </p>
- *
- * @param index the zero-based index
- * @return the element at the given index, or <code>null</code> if the
- *   index is out of range
- */
-public Object getElementAt(int index) {
-	// XXX: Workaround for 1GBCSB1: SWT:WIN2000 - TableTree should have getItem(int index)
-	TableTreeItem i = tableTree.getItems()[index];
-	if(i != null)
-	    return i.getData();
-	return null;
-}
-/* (non-Javadoc)
- * Method declared on AbstractTreeViewer.
- */
-protected boolean getExpanded(Item item) {
-	return ((TableTreeItem) item).getExpanded();
-}
-/* (non-Javadoc)
- * Method declared on StructuredViewer.
- */
-protected Item getItem(int x, int y) {
-	// XXX: Workaround for 1GBCSHG: SWT:WIN2000 - TableTree should have getItem(Point point)
-	return getTableTree().getTable().getItem(getTableTree().toControl(new Point(x, y)));
-}
-/* (non-Javadoc)
- * Method declared on AbstractTreeViewer.
- */
-protected int getItemCount(Control widget) {
-	return ((TableTree) widget).getItemCount();
-}
-/* (non-Javadoc)
- * Method declared on AbstractTreeViewer.
- */
-protected int getItemCount(Item item) {
-	return ((TableTreeItem) item).getItemCount();
-}
-/* (non-Javadoc)
- * Method declared on AbstractTreeViewer.
- */
-protected org.eclipse.swt.widgets.Item[] getItems(org.eclipse.swt.widgets.Item item) {
-	return ((TableTreeItem)item).getItems();
-}
-/**
- * The table tree viewer implementation of this <code>Viewer</code> framework
- * method returns the label provider, which in the case of table tree
- * viewers will be an instance of either <code>ITableLabelProvider</code>
- * or <code>ILabelProvider</code>.
- * If it is an <code>ITableLabelProvider</code>, then it provides a
- * separate label text and image for each column. If it is an 
- * <code>ILabelProvider</code>, then it provides only the label text 
- * and image for the first column, and any remaining columns are blank.
- */
-public IBaseLabelProvider getLabelProvider() {
-	return super.getLabelProvider();
-}
-/* (non-Javadoc)
- * Method declared on AbstractTreeViewer.
- */
-protected Item getParentItem(Item item) {
-	return ((TableTreeItem)item).getParentItem();
-}
-/* (non-Javadoc)
- * Method declared on AbstractTreeViewer.
- */
-protected Item[] getSelection(Control widget) {
-	return ((TableTree) widget).getSelection();
-}
-/**
- * Returns this table tree viewer's table tree control.
- *
- * @return the table tree control
- */
-public TableTree getTableTree() {
-	return tableTree;
-}
-/* (non-Javadoc)
- * Method declared on AbstractTreeViewer.
- */
-protected void hookControl(Control control) {
-	super.hookControl(control);
-	tableTree.getTable().addMouseListener(new MouseAdapter() {
-		public void mouseDown(MouseEvent e) {
-			/* If user clicked on the [+] or [-], do not activate CellEditor. */
-			//XXX: This code should not be here. SWT should either have support to see
-			//if the user clicked on the [+]/[-] or manage the table editor 
-			//activation
-			org.eclipse.swt.widgets.TableItem[] items = tableTree.getTable().getItems();
-			for (int i = 0; i < items.length; i++) {
-				Rectangle rect = items[i].getImageBounds(0);
-				if (rect.contains(e.x, e.y))
-					return;
-			}
-	
-			tableViewerImpl.handleMouseDown(e);
-		}
-	});
-}
-/**
- * Returns whether there is an active cell editor.
- *
- * @return <code>true</code> if there is an active cell editor, and 
- *   <code>false</code> otherwise
- */
-public boolean isCellEditorActive() {
-	return tableViewerImpl.isCellEditorActive();
-}
-/* (non-Javadoc)
- * Method declared in AbstractTreeViewer.
- */
-protected Item newItem(Widget parent, int flags, int ix) {
-	TableTreeItem item;
-	if (ix >= 0) {
-		if (parent instanceof TableTreeItem)
-			item = new TableTreeItem((TableTreeItem) parent, flags, ix);
-		else
-			item = new TableTreeItem((TableTree) parent, flags, ix);
-	} else {
-		if (parent instanceof TableTreeItem)
-			item = new TableTreeItem((TableTreeItem) parent, flags);
-		else
-			item = new TableTreeItem((TableTree) parent, flags);
-	}
-	return item;
-}
-/* (non-Javadoc)
- * Method declared in AbstractTreeViewer.
- */
-protected void removeAll(Control widget) {
-	((TableTree) widget).removeAll();
-}
-/**
- * Sets the cell editors of this table viewer.
- *
- * @param editors the list of cell editors
- */
-public void setCellEditors(CellEditor[] editors) {
-	tableViewerImpl.setCellEditors(editors);
-}
-/**
- * Sets the cell modifier of this table viewer.
- *
- * @param modifier the cell modifier
- */
-public void setCellModifier(ICellModifier modifier) {
-	tableViewerImpl.setCellModifier(modifier);
-}
-/**
- * Sets the column properties of this table viewer.
- * The properties must correspond with the columns of the table control.
- * They are used to identify the column in a cell modifier.
- *
- * @param columnProperties the list of column properties
- */
-public void setColumnProperties(String[] columnProperties) {
-	tableViewerImpl.setColumnProperties(columnProperties);
-}
-/* (non-Javadoc)
- * Method declared in AbstractTreeViewer.
- */
-protected void setExpanded(Item node, boolean expand) {
-	((TableTreeItem) node).setExpanded(expand);
-}
-/**
- * The table tree viewer implementation of this <code>Viewer</code> framework
- * method ensures that the given label provider is an instance
- * of either <code>ITableLabelProvider</code> or <code>ILabelProvider</code>.
- * If it is an <code>ITableLabelProvider</code>, then it provides a
- * separate label text and image for each column. If it is an 
- * <code>ILabelProvider</code>, then it provides only the label text 
- * and image for the first column, and any remaining columns are blank.
- */
-public void setLabelProvider(IBaseLabelProvider labelProvider) {
-	Assert.isTrue(labelProvider instanceof ITableLabelProvider || labelProvider instanceof ILabelProvider );
-	super.setLabelProvider(labelProvider);
-}
-/* (non-Javadoc)
- * Method declared in AbstractTreeViewer.
- */
-protected void setSelection(List items) {
-	TableTreeItem[] newItems = new TableTreeItem[items.size()];
-	items.toArray(newItems);
-	getTableTree().setSelection(newItems);
-}
-/* (non-Javadoc)
- * Method declared in AbstractTreeViewer.
- */
-protected void showItem(Item item) {
-	getTableTree().showItem((TableTreeItem)item);
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TableViewer.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TableViewer.java
deleted file mode 100644
index ee4fd60..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TableViewer.java
+++ /dev/null
@@ -1,683 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.viewers;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.TableEditor;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Widget;
-
-import org.eclipse.jface.util.Assert;
-
-/**
- * A concrete viewer based on a SWT <code>Table</code> control.
- * <p>
- * This class is not intended to be subclassed outside the viewer framework. 
- * It is designed to be instantiated with a pre-existing SWT table control and configured
- * with a domain-specific content provider, table label provider, element filter (optional),
- * and element sorter (optional).
- * </p>
- * <p>
- * Label providers for table viewers must implement either the <code>ITableLabelProvider</code>
- * or the <code>ILabelProvider</code> interface (see <code>TableViewer.setLabelProvider</code> 
- * for more details).
- * </p>
- */
-public class TableViewer extends StructuredViewer {
-
-	/**
-	 * Internal table viewer implementation.
-	 */
-	private TableViewerImpl tableViewerImpl;
-
-	/**
-	 * This viewer's table control.
-	 */
-	private Table table;
-
-	/**
-	 * This viewer's table editor.
-	 */
-	private TableEditor tableEditor;
-/**
- * Creates a table viewer on a newly-created table control under the given parent.
- * The table control is created using the SWT style bits <code>MULTI, H_SCROLL, V_SCROLL,</code> and <code>BORDER</code>.
- * The viewer has no input, no content provider, a default label provider, 
- * no sorter, and no filters. The table has no columns.
- *
- * @param parent the parent control
- */
-public TableViewer(Composite parent) {
-	this(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-}
-/**
- * Creates a table viewer on a newly-created table control under the given parent.
- * The table control is created using the given style bits.
- * The viewer has no input, no content provider, a default label provider, 
- * no sorter, and no filters. The table has no columns.
- *
- * @param parent the parent control
- * @param style SWT style bits
- */
-public TableViewer(Composite parent, int style) {
-	this(new Table(parent, style));
-}
-/**
- * Creates a table viewer on the given table control.
- * The viewer has no input, no content provider, a default label provider, 
- * no sorter, and no filters. 
- *
- * @param table the table control
- */
-public TableViewer(Table table) {
-	this.table = table;
-	hookControl(table);
-	tableEditor = new TableEditor(table);
-	initTableViewerImpl();
-}
-/**
- * Adds the given elements to this table viewer.
- * If this viewer does not have a sorter, the elements are added at the end
- * in the order given; otherwise the elements are inserted at appropriate positions.
- * <p>
- * This method should be called (by the content provider) when elements 
- * have been added to the model, in order to cause the viewer to accurately
- * reflect the model. This method only affects the viewer, not the model.
- * </p>
- *
- * @param elements the elements to add
- */
-public void add(Object[] elements) {
-	assertElementsNotNull(elements);	
-	Object[] filtered = filter(elements);
-	for (int i = 0; i < filtered.length; i++){
-		Object element = filtered[i];
-		int index = indexForElement(element);
-		updateItem(new TableItem(getTable(), SWT.NONE, index), element);
-	}
-}
-/**
- * Adds the given element to this table viewer.
- * If this viewer does not have a sorter, the element is added at the end;
- * otherwise the element is inserted at the appropriate position.
- * <p>
- * This method should be called (by the content provider) when a single element 
- * has been added to the model, in order to cause the viewer to accurately
- * reflect the model. This method only affects the viewer, not the model.
- * Note that there is another method for efficiently processing the simultaneous
- * addition of multiple elements.
- * </p>
- *
- * @param element the element to add
- */
-public void add(Object element) {
-	add(new Object[] { element });
-}
-/**
- * Cancels a currently active cell editor. All changes already done in the cell
- * editor are lost.
- */
-public void cancelEditing() {
-	tableViewerImpl.cancelEditing();
-}
-/* (non-Javadoc)
- * Method declared on StructuredViewer.
- */
-protected Widget doFindInputItem(Object element) {
-	if (equals(element, getRoot()))
-		return getTable();
-	return null;
-}
-/* (non-Javadoc)
- * Method declared on StructuredViewer.
- */
-protected Widget doFindItem(Object element) {
-	TableItem[] children = table.getItems();
-	for (int i = 0; i < children.length; i++) {
-		TableItem item = children[i];
-		Object data = item.getData();
-		if (data != null && equals(data, element))
-			return item;
-	}
-
-	return null;
-}
-/* (non-Javadoc)
- * Method declared on StructuredViewer.
- */
-protected void doUpdateItem(Widget widget, Object element, boolean fullMap) {
-	if (widget instanceof TableItem) {
-		final TableItem item = (TableItem) widget;
-		
-		// remember element we are showing
-		if (fullMap) {
-			associate(element, item);
-		} else {
-			item.setData(element);
-			mapElement(element, item);	
-		}
-	
-		IBaseLabelProvider prov = getLabelProvider();
-		ITableLabelProvider tprov = null;
-		ILabelProvider lprov = null;
-		
-			
-		if (prov instanceof ITableLabelProvider) {
-			tprov = (ITableLabelProvider) prov;
-		}
-		else {
-			lprov = (ILabelProvider) prov;
-		}
-		int columnCount = table.getColumnCount();
-		TableItem ti = item;
-		// Also enter loop if no columns added.  See 1G9WWGZ: JFUIF:WINNT - TableViewer with 0 columns does not work
-		for (int column = 0; column < columnCount || column == 0; column++) {
-			// Similar code in TableTreeViewer.doUpdateItem()
-			String text = "";//$NON-NLS-1$
-			Image image = null;
-			if (tprov != null) {
-				text = tprov.getColumnText(element, column);
-				image = tprov.getColumnImage(element, column);
-			}
-			else {
-				if (column == 0) {
-					if (lprov instanceof IViewerLabelProvider) {
-						IViewerLabelProvider itemProvider = (IViewerLabelProvider) lprov;
-						ViewerLabel updateLabel = new ViewerLabel(item.getText(),item.getImage());
-					
-						itemProvider.updateLabel(updateLabel, element);
-						text = updateLabel.getText();
-						image = updateLabel.getImage();		
-					
-					}
-					else{
-						text = lprov.getText(element);
-						image = lprov.getImage(element);	
-					}
-		    	}
-	    	}
-			ti.setText(column, text);
-			if (ti.getImage(column) != image) {
-				ti.setImage(column, image);
-			}
-		}
-		if (prov instanceof IColorProvider) {
-			IColorProvider cprov = (IColorProvider) prov;
-			ti.setForeground(cprov.getForeground(element));
-			ti.setBackground(cprov.getBackground(element));
-		}
-		if (prov instanceof IFontProvider) {
-		    IFontProvider fprov = (IFontProvider) prov;
-		    ti.setFont(fprov.getFont(element));
-		}		
-	}
-}
-/**
- * Starts editing the given element.
- *
- * @param element the element
- * @param column the column number
- */
-public void editElement(Object element, int column) {
-	tableViewerImpl.editElement(element,column);
-}
-/**
- * Returns the cell editors of this table viewer.
- *
- * @return the list of cell editors
- */
-public CellEditor[] getCellEditors() {
-	return tableViewerImpl.getCellEditors();
-}
-/**
- * Returns the cell modifier of this table viewer.
- *
- * @return the cell modifier
- */
-public ICellModifier getCellModifier() {
-	return tableViewerImpl.getCellModifier();
-}
-/**
- * Returns the column properties of this table viewer.
- * The properties must correspond with the columns of the table control.
- * They are used to identify the column in a cell modifier.
- *
- * @return the list of column properties
- */
-public Object[] getColumnProperties() {
-	return tableViewerImpl.getColumnProperties();
-}
-/* (non-Javadoc)
- * Method declared on Viewer.
- */
-public Control getControl() {
-	return table;
-}
-/**
- * Returns the element with the given index from this table viewer.
- * Returns <code>null</code> if the index is out of range.
- * <p>
- * This method is internal to the framework.
- * </p>
- *
- * @param index the zero-based index
- * @return the element at the given index, or <code>null</code> if the
- *   index is out of range
- */
-public Object getElementAt(int index) {
-	if (index >= 0 && index < table.getItemCount()) {
-		TableItem i = table.getItem(index);
-		if(i != null)
-		    return i.getData();
-	}
-	return null;
-}
-/**
- * The table viewer implementation of this <code>Viewer</code> framework
- * method returns the label provider, which in the case of table 
- * viewers will be an instance of either <code>ITableLabelProvider</code>
- * or <code>ILabelProvider</code>.
- * If it is an <code>ITableLabelProvider</code>, then it provides a
- * separate label text and image for each column. If it is an 
- * <code>ILabelProvider</code>, then it provides only the label text 
- * and image for the first column, and any remaining columns are blank.
- */
-public IBaseLabelProvider getLabelProvider() {
-	return super.getLabelProvider();
-}
-/* (non-Javadoc)
- * Method declared on StructuredViewer.
- */
-protected List getSelectionFromWidget() {
-	Widget[] items = table.getSelection();
-	ArrayList list = new ArrayList(items.length);
-	for (int i = 0; i < items.length; i++) {
-		Widget item = items[i];
-		Object e = item.getData();
-		if (e != null)
-			list.add(e);
-	}
-	return list;
-}
-/**
- * Returns this table viewer's table control.
- *
- * @return the table control
- */
-public Table getTable() {
-	return table;
-}
-/* (non-Javadoc)
- * Method declared on StructuredViewer.
- */
-protected void hookControl(Control control) {
-	super.hookControl(control);
-	Table tableControl = (Table)control;
-	tableControl.addMouseListener(new MouseAdapter() {
-		public void mouseDown(MouseEvent e) {
-			tableViewerImpl.handleMouseDown(e);
-		}
-	});
-}
-/*
- * Returns the index where the item should be inserted.
-*/
-protected int indexForElement(Object element) {
-	ViewerSorter sorter = getSorter();
-	if(sorter == null)
-		return table.getItemCount();
-	int count = table.getItemCount();
-	int min = 0, max = count - 1;
-	while (min <= max) {
-		int mid = (min + max) / 2;
-		Object data = table.getItem(mid).getData();
-		int compare = sorter.compare(this, data, element);
-		if (compare == 0) {
-			// find first item > element
-			while (compare == 0) {
-				++mid;
-				if (mid >= count) {
-					break;
-				}
-				data = table.getItem(mid).getData();
-				compare = sorter.compare(this, data, element);
-			}
-			return mid;
-		}
-		if (compare < 0)
-			min = mid + 1;
-		else
-			max = mid - 1;
-	}
-	return min;
-}
-/**
- * Initializes the table viewer implementation.
- */
-private void initTableViewerImpl() {
-	tableViewerImpl = new TableViewerImpl(this) {
-		Rectangle getBounds(Item item, int columnNumber) {
-			return ((TableItem)item).getBounds(columnNumber);
-		}
-		int getColumnCount() {
-			return getTable().getColumnCount();
-		}
-		Item[] getSelection() {
-			return getTable().getSelection();
-		}
-		void setEditor(Control w, Item item, int columnNumber) {
-			tableEditor.setEditor(w, (TableItem)item, columnNumber);
-		}
-		void setSelection(StructuredSelection selection, boolean b) {
-			TableViewer.this.setSelection(selection,b);
-		}
-		void showSelection() {
-			getTable().showSelection();
-		}
-		void setLayoutData(CellEditor.LayoutData layoutData) {
-			tableEditor.grabHorizontal = layoutData.grabHorizontal;
-			tableEditor.horizontalAlignment = layoutData.horizontalAlignment;
-			tableEditor.minimumWidth = layoutData.minimumWidth;
-		}
-		void handleDoubleClickEvent() {
-			Viewer viewer = getViewer();
-			fireDoubleClick (new DoubleClickEvent(viewer, viewer.getSelection()));
-			fireOpen (new OpenEvent(viewer, viewer.getSelection()));
-		}
-	};
-}
-/* (non-Javadoc)
- * Method declared on Viewer.
- */
-protected void inputChanged(Object input, Object oldInput) {
-	getControl().setRedraw(false);
-	try {
-		// refresh() attempts to preserve selection, which we want here
-		refresh();
-	}
-	finally {
-		getControl().setRedraw(true);
-	}
-}
-/**
- * Inserts the given element into this table viewer at the given position.
- * If this viewer has a sorter, the position is ignored and the element is inserted
- * at the correct position in the sort order.
- * <p>
- * This method should be called (by the content provider) when elements 
- * have been added to the model, in order to cause the viewer to accurately
- * reflect the model. This method only affects the viewer, not the model.
- * </p>
- *
- * @param element the element
- * @param position a 0-based position relative to the model, or -1 to indicate the last position
- */
-public void insert(Object element, int position) {
-	tableViewerImpl.applyEditorValue();
-	if (getSorter() != null || hasFilters()) {
-		add(element);
-		return;
-	}
-	if (position == -1)
-		position = table.getItemCount();
-	updateItem(new TableItem(table, SWT.NONE, position), element);
-}
-/* (non-Javadoc)
- * Method declared on StructuredViewer.
- */
-protected void internalRefresh(Object element) {
-	internalRefresh(element, true);
-}
-
-/* (non-Javadoc)
- * Method declared on StructuredViewer.
- */
-protected void internalRefresh(Object element, boolean updateLabels) {
-	tableViewerImpl.applyEditorValue();
-	if (element == null || equals(element, getRoot())) {
-		// the parent
-
-		// in the code below, it is important to do all disassociates
-		// before any associates, since a later disassociate can undo an earlier associate
-		// e.g. if (a, b) is replaced by (b, a), the disassociate of b to item 1 could undo
-		// the associate of b to item 0.
-		
-		Object[] children = getSortedChildren(getRoot());
-		TableItem[] items = table.getItems();
-		int min = Math.min(children.length, items.length);
-		for (int i = 0; i < min; ++i) {
-			// if the element is unchanged, update its label if appropriate
-			if (equals(children[i], items[i].getData())) {
-				if (updateLabels) {
-					updateItem(items[i], children[i]);
-				}
-				else {
-					// associate the new element, even if equal to the old one,
-					// to remove stale references (see bug 31314)
-					associate(children[i], items[i]);
-				}
-			}
-			else {
-				// updateItem does an associate(...), which can mess up
-				// the associations if the order of elements has changed.
-				// E.g. (a, b) -> (b, a) first replaces a->0 with b->0, then replaces b->1 with a->1, but this actually removes b->0.
-				// So, if the object associated with this item has changed,
-				// just disassociate it for now, and update it below.
-				items[i].setText(""); //$NON-NLS-1$
-				items[i].setImage(new Image[0]);
-				disassociate(items[i]);
-			}
-		}
-		
-		// dispose of all items beyond the end of the current elements
-		if (min < items.length) {
-			for (int i = items.length; --i >= min;) {
-				disassociate(items[i]);
-			}
-			table.remove(min, items.length-1);
-		}
-		
-		// Workaround for 1GDGN4Q: ITPUI:WIN2000 - TableViewer icons get scrunched
-		if (table.getItemCount() == 0) {
-			table.removeAll();
-		}
-
-		// Update items which were removed above
-		for (int i = 0; i < min; ++i) {
-			if (items[i].getData() == null) {
-				updateItem(items[i], children[i]);
-			}
-		}
-	
-		// add any remaining elements
-		for (int i = min; i < children.length; ++i) {
-			updateItem(new TableItem(table, SWT.NONE, i), children[i]);
-		}
-	}
-	else {
-		Widget w = findItem(element);
-		if (w != null) {
-			updateItem(w, element);
-		}
-	}
-}
-/**
- * Removes the given elements from this table viewer.
- *
- * @param elements the elements to remove
- */
-private void internalRemove(final Object[] elements) {
-	Object input = getInput();
-	for (int i = 0; i < elements.length; ++i) {
-		if (equals(elements[i], input)) {
-			setInput(null);
-			return;
-		}
-	}
-	// use remove(int[]) rather than repeated TableItem.dispose() calls
-	// to allow SWT to optimize multiple removals
-	int[] indices = new int[elements.length];
-	int count = 0;
-	for (int i = 0; i < elements.length; ++i) {
-		Widget w = findItem(elements[i]);
-		if (w instanceof TableItem) {
-			TableItem item = (TableItem) w;
-			disassociate(item);
-			indices[count++] = table.indexOf(item);
-		}
-	}
-	if (count < indices.length) {
-		System.arraycopy(indices, 0, indices = new int[count], 0, count);
-	}
-	table.remove(indices);
-	
-	// Workaround for 1GDGN4Q: ITPUI:WIN2000 - TableViewer icons get scrunched
-	if (table.getItemCount() == 0) {
-		table.removeAll();
-	}
-}
-/**
- * Returns whether there is an active cell editor.
- *
- * @return <code>true</code> if there is an active cell editor, and 
- *   <code>false</code> otherwise
- */
-public boolean isCellEditorActive() {
-	return tableViewerImpl.isCellEditorActive();
-}
-/**
- * Removes the given elements from this table viewer.
- * The selection is updated if required.
- * <p>
- * This method should be called (by the content provider) when elements 
- * have been removed from the model, in order to cause the viewer to accurately
- * reflect the model. This method only affects the viewer, not the model.
- * </p>
- *
- * @param elements the elements to remove
- */
-public void remove(final Object[] elements) {
-	assertElementsNotNull(elements);
-	preservingSelection(new Runnable() {
-		public void run() {
-			internalRemove(elements);
-		}
-	});
-}
-/**
- * Removes the given element from this table viewer.
- * The selection is updated if necessary.
- * <p>
- * This method should be called (by the content provider) when a single element 
- * has been removed from the model, in order to cause the viewer to accurately
- * reflect the model. This method only affects the viewer, not the model.
- * Note that there is another method for efficiently processing the simultaneous
- * removal of multiple elements.
- * </p>
- *
- * @param element the element
- */
-public void remove(Object element) {
-	remove(new Object[] { element });
-}
-/*
- * Non-Javadoc.
- * Method defined on StructuredViewer.
- */
-public void reveal(Object element) {
-	Assert.isNotNull(element);
-	Widget w = findItem(element);
-	if (w instanceof TableItem)
-		getTable().showItem((TableItem) w);
-}
-/**
- * Sets the cell editors of this table viewer.
- *
- * @param editors the list of cell editors
- */
-public void setCellEditors(CellEditor[] editors) {
-	tableViewerImpl.setCellEditors(editors);
-}
-/**
- * Sets the cell modifier of this table viewer.
- *
- * @param modifier the cell modifier
- */
-public void setCellModifier(ICellModifier modifier) {
-	tableViewerImpl.setCellModifier(modifier);
-}
-/**
- * Sets the column properties of this table viewer.
- * The properties must correspond with the columns of the table control.
- * They are used to identify the column in a cell modifier.
- *
- * @param columnProperties the list of column properties
- */
-public void setColumnProperties(String[] columnProperties) {
-	tableViewerImpl.setColumnProperties(columnProperties);
-}
-/**
- * The table viewer implementation of this <code>Viewer</code> framework
- * method ensures that the given label provider is an instance
- * of either <code>ITableLabelProvider</code> or <code>ILabelProvider</code>.
- * If it is an <code>ITableLabelProvider</code>, then it provides a
- * separate label text and image for each column. If it is an 
- * <code>ILabelProvider</code>, then it provides only the label text 
- * and image for the first column, and any remaining columns are blank.
- */
-public void setLabelProvider(IBaseLabelProvider labelProvider) {
-	Assert.isTrue(labelProvider instanceof ITableLabelProvider || labelProvider instanceof ILabelProvider );
-	super.setLabelProvider(labelProvider);
-}
-/* (non-Javadoc)
- * Method declared on StructuredViewer.
- */
-protected void setSelectionToWidget(List list, boolean reveal) {
-	if (list == null) {
-		table.deselectAll();
-		return;
-	}
-	int size = list.size();
-	TableItem[] items = new TableItem[size];
-	TableItem firstItem = null;
-	int count = 0;
-	for (int i = 0; i < size; ++i) {
-		Object o = list.get(i);
-		Widget w = findItem(o);
-		if (w instanceof TableItem) {
-			TableItem item = (TableItem) w;
-			items[count++] = item;
-			if (firstItem == null)
-				firstItem = item;
-		}
-	}
-	if (count < size) {
-		System.arraycopy(items, 0, items = new TableItem[count], 0, count);
-	}
-	table.setSelection(items);
-	
-	if (reveal && firstItem != null) {
-		table.showItem(firstItem);
-	}
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TableViewerImpl.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TableViewerImpl.java
deleted file mode 100644
index 7bd7989..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TableViewerImpl.java
+++ /dev/null
@@ -1,287 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.viewers;
-
-import org.eclipse.swt.events.FocusAdapter;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Item;
-
-/**
- * Internal table viewer implementation.
- */ 
-/* package */ abstract class TableViewerImpl {
-	
-	private CellEditor cellEditor;
-	private CellEditor[] cellEditors;
-	private ICellModifier cellModifier;
-	private String[] columnProperties;
-	private Item tableItem;
-	private int columnNumber;
-	private ICellEditorListener cellEditorListener;
-	private FocusListener focusListener;
-	private MouseListener mouseListener;
-	private int doubleClickExpirationTime;
-	private StructuredViewer viewer;
-	
-
-TableViewerImpl(StructuredViewer viewer) {
-	this.viewer = viewer;
-	initCellEditorListener();
-}
-
-/**
- * Returns this <code>TableViewerImpl</code> viewer
- * 
- * @return the viewer
- */
-public StructuredViewer getViewer() {
-	return viewer;
-}
-
-private void activateCellEditor() {
-	if (cellEditors != null) {
-		if(cellEditors[columnNumber] != null && cellModifier != null) {
-			Object element = tableItem.getData();
-			String property = columnProperties[columnNumber];
-			if (cellModifier.canModify(element, property)) {
-				cellEditor = cellEditors[columnNumber];
-				//table.showSelection();
-				cellEditor.addListener(cellEditorListener);
-				Object value = cellModifier.getValue(element, property);
-				cellEditor.setValue(value);
-				// Tricky flow of control here:
-				// activate() can trigger callback to cellEditorListener which will clear cellEditor
-				// so must get control first, but must still call activate() even if there is no control.
-				final Control control = cellEditor.getControl();
-				cellEditor.activate();
-				if (control == null)
-					return;
-		 		setLayoutData(cellEditor.getLayoutData());
-				setEditor(control, tableItem, columnNumber);		
-				cellEditor.setFocus();
-				if(focusListener == null) {
-					focusListener = new FocusAdapter() {
-						public void focusLost(FocusEvent e) {
-							applyEditorValue();
-						}
-					};
-				}
-				control.addFocusListener(focusListener);
-				mouseListener = new MouseAdapter() {
-					public void mouseDown(MouseEvent e) {
-						// time wrap?	
-						// check for expiration of doubleClickTime
-						if (e.time <= doubleClickExpirationTime ) {
-							control.removeMouseListener(mouseListener);
-							cancelEditing();
-							handleDoubleClickEvent();
-						} else if (mouseListener != null) {
-							control.removeMouseListener(mouseListener);
-						}
-					} 
-				};				
-				control.addMouseListener(mouseListener);
-			}
-		}
-	}
-}
-/**
- * Activate a cell editor for the given mouse position.
- */
-private void activateCellEditor(MouseEvent event) {
-	if (tableItem == null || tableItem.isDisposed()) {
-		//item no longer exists
-		return;
-	}
-	int columnToEdit;
-	int columns = getColumnCount();
-	if (columns == 0) {
-		// If no TableColumn, Table acts as if it has a single column
-		// which takes the whole width.
-		columnToEdit = 0;
-	}
-	else {
-		columnToEdit = -1;
-		for (int i = 0; i < columns; i++) {
-			Rectangle bounds = getBounds(tableItem, i);
-			if (bounds.contains(event.x, event.y)) {
-				columnToEdit = i;
-				break;
-			}
-		}
-		if (columnToEdit == -1) {
-			return;
-		}
-	}
-	
-	columnNumber = columnToEdit;
-	activateCellEditor();
-}
-/**
- * Deactivates the currently active cell editor.
- */
-public void applyEditorValue() {
-	CellEditor c = this.cellEditor;
-	if (c != null) {
-		// null out cell editor before calling save
-		// in case save results in applyEditorValue being re-entered
-		// see 1GAHI8Z: ITPUI:ALL - How to code event notification when using cell editor ?
-		this.cellEditor = null;
-		Item t = this.tableItem;
-		// don't null out table item -- same item is still selected
-		if (t != null && !t.isDisposed()) {
-			saveEditorValue(c, t);
-		}
-		setEditor(null, null, 0);
-		c.removeListener(cellEditorListener);
-		Control control = c.getControl();
-		if (control != null) {
-			if (mouseListener != null) {
-				control.removeMouseListener(mouseListener);
-			}
-			if (focusListener != null) {
-				control.removeFocusListener(focusListener);
-			}
-		}
-		c.deactivate();
-	}
-}
-/**
- * Cancels the active cell editor, without saving the value 
- * back to the domain model.
- */
-public void cancelEditing() {
-	if (cellEditor != null) {
-		setEditor(null, null, 0);
-		cellEditor.removeListener(cellEditorListener);
-		CellEditor oldEditor = cellEditor;
-		cellEditor = null;
-		oldEditor.deactivate();
-	}
-}
-/**
- * Start editing the given element. 
- */
-public void editElement(Object element, int column) {
-	if (cellEditor != null)
-		applyEditorValue();
-
-	setSelection(new StructuredSelection(element), true);
-	Item[] selection = getSelection();
-	if (selection.length != 1)
-		return;
-
-	tableItem = selection[0];
-
-	// Make sure selection is visible
-	showSelection();
-	columnNumber = column;
-	activateCellEditor();
-
-}
-abstract Rectangle getBounds(Item item, int columnNumber);
-public CellEditor[] getCellEditors() {
-	return cellEditors;
-}
-public ICellModifier getCellModifier() {
-	return cellModifier; 
-}
-abstract int getColumnCount();
-public Object[] getColumnProperties() {
-	return columnProperties;
-}
-abstract Item[] getSelection();
-/**
- * Handles the mouse down event; activates the cell editor.
- */
-public void handleMouseDown(MouseEvent event) {
-	if (event.button != 1)
-		return;
-
-	if (cellEditor != null)
-		applyEditorValue();
-	
-	// activate the cell editor immediately.  If a second mouseDown
-	// is received prior to the expiration of the doubleClick time then
-	// the cell editor will be deactivated and a doubleClick event will
-	// be processed.
-	//
-	doubleClickExpirationTime = event.time + Display.getCurrent().getDoubleClickTime();								
-
-	Item[] items = getSelection();
-	// Do not edit if more than one row is selected.
-	if (items.length != 1) {
-		tableItem = null;
-		return;
-	}
-	tableItem = items[0];
-	activateCellEditor(event);
-}
-private void initCellEditorListener() {
-	cellEditorListener = new ICellEditorListener() {
-		public void editorValueChanged(boolean oldValidState, boolean newValidState) {
-			// Ignore.
-		}
-		
-		public void cancelEditor() {
-			TableViewerImpl.this.cancelEditing();
-		}
-		
-		public void applyEditorValue() {
-			TableViewerImpl.this.applyEditorValue();
-		}
-	};
-}
-/**
- * Returns <code>true</code> if there is an active cell editor; otherwise
- * <code>false</code> is returned.
- */
-public boolean isCellEditorActive() {
-	return cellEditor != null;
-}
-/**
- * Saves the value of the currently active cell editor,
- * by delegating to the cell modifier.
- */
-private void saveEditorValue(CellEditor cellEditor, Item tableItem) {
-	if (cellModifier != null) {
-		if (!cellEditor.isValueValid()) {
-			///Do what ???
-		}
-		String property = null;
-		if (columnProperties != null && columnNumber < columnProperties.length)
-			property = columnProperties[columnNumber];
-		cellModifier.modify(tableItem, property, cellEditor.getValue());
-	}
-}
-public void setCellEditors(CellEditor[] editors) {
-	this.cellEditors = editors;
-}
-public void setCellModifier(ICellModifier modifier) {
-	this.cellModifier = modifier; 
-}
-public void setColumnProperties(String[] columnProperties) {
-	this.columnProperties = columnProperties;
-}
-abstract void setEditor(Control w, Item item, int fColumnNumber);
-abstract void setLayoutData(CellEditor.LayoutData layoutData);
-abstract void setSelection(StructuredSelection selection, boolean b);
-abstract void showSelection();
-abstract void handleDoubleClickEvent();
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TextCellEditor.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TextCellEditor.java
deleted file mode 100644
index 2722612..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TextCellEditor.java
+++ /dev/null
@@ -1,440 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.viewers;
-
-import java.text.MessageFormat;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.FocusAdapter;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.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.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Text;
-
-import org.eclipse.jface.util.Assert;
-
-/**
- * A cell editor that manages a text entry field.
- * The cell editor's value is the text string itself.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class TextCellEditor extends CellEditor {
-
-	/**
-	 * The text control; initially <code>null</code>.
-	 */
-	protected Text text;
-
-	private ModifyListener modifyListener;
-
-	/**
-	 * State information for updating action enablement
-	 */
-	private boolean isSelection = false;
-	private boolean isDeleteable = false;
-	private boolean isSelectable = false;
-	
-	/**
-	 * Default TextCellEditor style
-	 * specify no borders on text widget as cell outline in table already
-	 * provides the look of a border.
-	 */
-	private static final int defaultStyle = SWT.SINGLE;
-
-/**
- * Creates a new text string cell editor with no control
- * The cell editor value is the string itself, which is initially the empty
- * string. Initially, the cell editor has no cell validator.
- * 
- * @since 2.1
- */
-public TextCellEditor() {
-	setStyle(defaultStyle);
-}
-/**
- * Creates a new text string cell editor parented under the given control.
- * The cell editor value is the string itself, which is initially the empty string. 
- * Initially, the cell editor has no cell validator.
- *
- * @param parent the parent control
- */
-public TextCellEditor(Composite parent) {
-	this(parent, defaultStyle);
-}
-/**
- * Creates a new text string cell editor parented under the given control.
- * The cell editor value is the string itself, which is initially the empty string. 
- * Initially, the cell editor has no cell validator.
- *
- * @param parent the parent control
- * @param style the style bits
- * @since 2.1
- */
-public TextCellEditor(Composite parent, int style) {
-	super(parent, style);
-}
-/**
- * Checks to see if the "deleteable" state (can delete/
- * nothing to delete) has changed and if so fire an
- * enablement changed notification.
- */
-private void checkDeleteable() {
-	boolean oldIsDeleteable = isDeleteable;
-	isDeleteable = isDeleteEnabled();
-	if (oldIsDeleteable != isDeleteable) {
-		fireEnablementChanged(DELETE);
-	}
-}
-/**
- * Checks to see if the "selectable" state (can select)
- * has changed and if so fire an enablement changed notification.
- */
-private void checkSelectable() {
-	boolean oldIsSelectable = isSelectable;
-	isSelectable = isSelectAllEnabled();
-	if (oldIsSelectable != isSelectable) {
-		fireEnablementChanged(SELECT_ALL);
-	}
-}
-/**
- * Checks to see if the selection state (selection /
- * no selection) has changed and if so fire an
- * enablement changed notification.
- */
-private void checkSelection() {
-	boolean oldIsSelection = isSelection;
-	isSelection = text.getSelectionCount() > 0;
-	if (oldIsSelection != isSelection) {
-		fireEnablementChanged(COPY);
-		fireEnablementChanged(CUT);
-	}
-}
-/* (non-Javadoc)
- * Method declared on CellEditor.
- */
-protected Control createControl(Composite parent) {
-	text = new Text(parent, getStyle());
-    text.addSelectionListener(new SelectionAdapter() {
-            public void widgetDefaultSelected(SelectionEvent e) {
-                handleDefaultSelection(e);
-            }   
-        });    
-	text.addKeyListener(new KeyAdapter() {
-		// hook key pressed - see PR 14201  
-		public void keyPressed(KeyEvent e) {
-            keyReleaseOccured(e);
-            
-			// as a result of processing the above call, clients may have
-			// disposed this cell editor
-			if ((getControl() == null) || getControl().isDisposed())
-				return;
-			checkSelection(); // see explaination below
-			checkDeleteable();
-			checkSelectable();
-		}
-	});
-	text.addTraverseListener(new TraverseListener() {
-		public void keyTraversed(TraverseEvent e) {
-			if (e.detail == SWT.TRAVERSE_ESCAPE || e.detail == SWT.TRAVERSE_RETURN) {
-				e.doit = false;
-			}
-		}
-	});
-	// 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
-	text.addMouseListener(new MouseAdapter() {
-		public void mouseUp(MouseEvent e) {
-			checkSelection();
-			checkDeleteable();
-			checkSelectable();
-		}
-	});
-	text.addFocusListener(new FocusAdapter() {
-		public void focusLost(FocusEvent e) {
-			TextCellEditor.this.focusLost();
-		}
-	});
-	text.setFont(parent.getFont());
-	text.setBackground(parent.getBackground());
-	text.setText("");//$NON-NLS-1$
-	text.addModifyListener(getModifyListener());
-	return text;
-}
-/**
- * The <code>TextCellEditor</code> implementation of
- * this <code>CellEditor</code> framework method returns
- * the text string.
- *
- * @return the text string
- */
-protected Object doGetValue() {
-	return text.getText();
-}
-/* (non-Javadoc)
- * Method declared on CellEditor.
- */
-protected void doSetFocus() {
-	if (text != null) {
-		text.selectAll();
-		text.setFocus();
-		checkSelection();
-		checkDeleteable();
-		checkSelectable();
-	}
-}
-/**
- * The <code>TextCellEditor</code> implementation of
- * this <code>CellEditor</code> framework method accepts
- * a text string (type <code>String</code>).
- *
- * @param value a text string (type <code>String</code>)
- */
-protected void doSetValue(Object value) {
-	Assert.isTrue(text != null && (value instanceof String));
-	text.removeModifyListener(getModifyListener());
-	text.setText((String) value);
-	text.addModifyListener(getModifyListener());
-}
-/**
- * Processes a modify event that occurred in this text cell editor.
- * This framework method performs validation and sets the error message
- * accordingly, and then reports a change via <code>fireEditorValueChanged</code>.
- * Subclasses should call this method at appropriate times. Subclasses
- * may extend or reimplement.
- *
- * @param e the SWT modify event
- */
-protected void editOccured(ModifyEvent e) {
-	String value = text.getText();
-	if (value == null)
-		value = "";//$NON-NLS-1$
-	Object typedValue = value;
-	boolean oldValidState = isValueValid();
-	boolean newValidState = isCorrect(typedValue);
-	if (typedValue == null && newValidState)
-		Assert.isTrue(false, "Validator isn't limiting the cell editor's type range");//$NON-NLS-1$
-	if (!newValidState) {
-		// try to insert the current value into the error message.
-		setErrorMessage(MessageFormat.format(getErrorMessage(), new Object[] {value}));
-	}
-	valueChanged(oldValidState, newValidState);
-}
-/**
- * Since a text editor field is scrollable we don't
- * set a minimumSize.
- */
-public LayoutData getLayoutData() {
-	return new LayoutData();
-}
-/**
- * Return the modify listener.
- */
-private ModifyListener getModifyListener() {
-	if (modifyListener == null) {
-		modifyListener = new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				editOccured(e);
-			}
-		};
-	}
-	return modifyListener;
-}
-
-/**
- * Handles a default selection event from the text control by applying the editor
- * value and deactivating this cell editor.
- * 
- * @param event the selection event
- * 
- * @since 3.0
- */
-protected void handleDefaultSelection(SelectionEvent event) {
-    // same with enter-key handling code in keyReleaseOccured(e);
-    fireApplyEditorValue();
-    deactivate();
-}
-/**
- * The <code>TextCellEditor</code>  implementation of this 
- * <code>CellEditor</code> method returns <code>true</code> if 
- * the current selection is not empty.
- */
-public boolean isCopyEnabled() {
-	if (text == null || text.isDisposed())
-		return false;
-	return text.getSelectionCount() > 0;
-}
-/**
- * The <code>TextCellEditor</code>  implementation of this 
- * <code>CellEditor</code> method returns <code>true</code> if 
- * the current selection is not empty.
- */
-public boolean isCutEnabled() {
-	if (text == null || text.isDisposed())
-		return false;
-	return text.getSelectionCount() > 0;
-}
-/**
- * The <code>TextCellEditor</code>  implementation of this 
- * <code>CellEditor</code> method returns <code>true</code>
- * if there is a selection or if the caret is not positioned 
- * at the end of the text.
- */
-public boolean isDeleteEnabled() {
-	if (text == null || text.isDisposed())
-		return false;
-	return text.getSelectionCount() > 0 || text.getCaretPosition() < text.getCharCount();
-}
-/**
- * The <code>TextCellEditor</code>  implementation of this 
- * <code>CellEditor</code> method always returns <code>true</code>.
- */
-public boolean isPasteEnabled() {
-	if (text == null || text.isDisposed())
-		return false;
-	return true;
-}
-/**
- * The <code>TextCellEditor</code>  implementation of this 
- * <code>CellEditor</code> method always returns <code>true</code>.
- */
-public boolean isSaveAllEnabled() {
-	if (text == null || text.isDisposed())
-		return false;
-	return true;
-}
-/**
- * Returns <code>true</code> if this cell editor is
- * able to perform the select all action.
- * <p>
- * This default implementation always returns 
- * <code>false</code>.
- * </p>
- * <p>
- * Subclasses may override
- * </p>
- * @return <code>true</code> if select all is possible,
- *  <code>false</code> otherwise
- */
-public boolean isSelectAllEnabled() {
-	if (text == null || text.isDisposed())
-		return false;
-	return text.getCharCount() > 0;
-}
-
-/**
- * Processes a key release event that occurred in this cell editor.
- * <p>
- * The <code>TextCellEditor</code> implementation of this framework method 
- * ignores when the RETURN key is pressed since this is handled in 
- * <code>handleDefaultSelection</code>.
- * An exception is made for Ctrl+Enter for multi-line texts, since
- * a default selection event is not sent in this case. 
- * </p>
- *
- * @param keyEvent the key event
- */
-protected void keyReleaseOccured(KeyEvent keyEvent) {
-	if (keyEvent.character == '\r') { // Return key
-		// Enter is handled in handleDefaultSelection.
-		// Do not apply the editor value in response to an Enter key event
-		// since this can be received from the IME when the intent is -not-
-		// to apply the value.  
-		// See bug 39074 [CellEditors] [DBCS] canna input mode fires bogus event from Text Control
-		//
-		// An exception is made for Ctrl+Enter for multi-line texts, since
-		// a default selection event is not sent in this case. 
-	    if (text != null && !text.isDisposed() && (text.getStyle() & SWT.MULTI) != 0) {
-	        if ((keyEvent.stateMask & SWT.CTRL) != 0) {
-	            super.keyReleaseOccured(keyEvent);
-	        }
-	    }
-	    return;
-	}
-	super.keyReleaseOccured(keyEvent);
-}
-
-/**
- * The <code>TextCellEditor</code> implementation of this
- * <code>CellEditor</code> method copies the
- * current selection to the clipboard. 
- */
-public void performCopy() {
-	text.copy();
-}
-/**
- * The <code>TextCellEditor</code> implementation of this
- * <code>CellEditor</code> method cuts the
- * current selection to the clipboard. 
- */
-public void performCut() {
-	text.cut();
-	checkSelection(); 
-	checkDeleteable();
-	checkSelectable();
-}
-/**
- * The <code>TextCellEditor</code> implementation of this
- * <code>CellEditor</code> method deletes the
- * current selection or, if there is no selection,
- * the character next character from the current position. 
- */
-public void performDelete() {
-	if (text.getSelectionCount() > 0)
-		// remove the contents of the current selection
-		text.insert(""); //$NON-NLS-1$
-	else {
-		// remove the next character
-		int pos = text.getCaretPosition();
-		if (pos < text.getCharCount()) {
-			text.setSelection(pos, pos + 1);
-			text.insert(""); //$NON-NLS-1$
-		}
-	}
-	checkSelection(); 
-	checkDeleteable();
-	checkSelectable();
-}
-/**
- * The <code>TextCellEditor</code> implementation of this
- * <code>CellEditor</code> method pastes the
- * the clipboard contents over the current selection. 
- */
-public void performPaste() {
-	text.paste();
-	checkSelection(); 
-	checkDeleteable();
-	checkSelectable();
-}
-/**
- * The <code>TextCellEditor</code> implementation of this
- * <code>CellEditor</code> method selects all of the
- * current text. 
- */
-public void performSelectAll() {
-	text.selectAll();
-	checkSelection(); 
-	checkDeleteable();
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TreeExpansionEvent.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TreeExpansionEvent.java
deleted file mode 100644
index 2a597e8..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TreeExpansionEvent.java
+++ /dev/null
@@ -1,53 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-import java.util.EventObject;
-
-/**
- * Event object describing a tree node being expanded
- * or collapsed. The source of these events is the tree viewer.
- *
- * @see ITreeViewerListener
- */
-public class TreeExpansionEvent extends EventObject {
-
-	/**
-	 * The element that was expanded or collapsed.
-	 */
-	private Object element;
-/**
- * Creates a new event for the given source and element.
- *
- * @param source the tree viewer
- * @param element the element
- */
-public TreeExpansionEvent(AbstractTreeViewer source, Object element) {
-	super(source);
-	this.element = element;
-}
-/**
- * Returns the element that got expanded or collapsed.
- *
- * @return the element
- */
-public Object getElement() {
-	return element;
-}
-/**
- * Returns the originator of the event.
- *
- * @return the originating tree viewer
- */
-public AbstractTreeViewer getTreeViewer() {
-	return (AbstractTreeViewer) source;
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TreeViewer.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TreeViewer.java
deleted file mode 100644
index c8e433e..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TreeViewer.java
+++ /dev/null
@@ -1,299 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.viewers;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.TreeListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.swt.widgets.Widget;
-
-/**
- * A concrete viewer based on an SWT <code>Tree</code> control.
- * <p>
- * This class is not intended to be subclassed outside the viewer framework. 
- * It is designed to be instantiated with a pre-existing SWT tree control and configured
- * with a domain-specific content provider, label provider, element filter (optional),
- * and element sorter (optional).
- * </p>
- * <p>
- * Content providers for tree viewers must implement the <code>ITreeContentProvider</code>
- * interface.
- * </p>
- */
-public class TreeViewer extends AbstractTreeViewer {
-	
-	/**
-	 * This viewer's control.
-	 */
-	private Tree tree;
-/**
- * Creates a tree viewer on a newly-created tree control under the given parent.
- * The tree control is created using the SWT style bits <code>MULTI, H_SCROLL, V_SCROLL,</code> and <code>BORDER</code>.
- * The viewer has no input, no content provider, a default label provider, 
- * no sorter, and no filters.
- *
- * @param parent the parent control
- */
-public TreeViewer(Composite parent) {
-	this(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-}
-/**
- * Creates a tree viewer on a newly-created tree control under the given parent.
- * The tree control is created using the given SWT style bits.
- * The viewer has no input, no content provider, a default label provider, 
- * no sorter, and no filters.
- *
- * @param parent the parent control
- * @param style the SWT style bits used to create the tree.
- */
-public TreeViewer(Composite parent, int style) {
-	this(new Tree(parent, style));
-}
-/**
- * Creates a tree viewer on the given tree control.
- * The viewer has no input, no content provider, a default label provider, 
- * no sorter, and no filters.
- *
- * @param tree the tree control
- */
-public TreeViewer(Tree tree) {
-	super();
-	this.tree = tree;
-	hookControl(tree);
-}
-/* (non-Javadoc)
- * Method declared in AbstractTreeViewer.
- */
-protected void addTreeListener(Control c, TreeListener listener) {
-	((Tree)c).addTreeListener(listener);
-}
-/* (non-Javadoc)
- * Method declared in AbstractTreeViewer.
- */
-protected void doUpdateItem(final Item item, Object element) {
-	
-	if(item.isDisposed()){
-		unmapElement(element);
-		Assert.isTrue(!item.isDisposed(),"Update to disposed element " + element.toString());//$NON-NLS-1$
-		return;
-	}
-	
-	// update icon and label
-	IBaseLabelProvider baseProvider = getLabelProvider();
-	if (baseProvider instanceof IViewerLabelProvider) {
-		IViewerLabelProvider provider = (IViewerLabelProvider)baseProvider;
-		
-		ViewerLabel updateLabel = new ViewerLabel(item.getText(), item.getImage());
-		provider.updateLabel(updateLabel, element);
-		
-		if(updateLabel.hasNewImage())
-			item.setImage(updateLabel.getImage());
-		if(updateLabel.hasNewText())
-			item.setText(updateLabel.getText());
-		
-	} else {
-		if(baseProvider instanceof ILabelProvider){
-			ILabelProvider provider = (ILabelProvider)baseProvider;
-			item.setText(provider.getText(element));
-			Image image = provider.getImage(element);
-			if (item.getImage() != image) 
-				item.setImage(image);
-		}
-	}
-	if (baseProvider instanceof IColorProvider) {
-		IColorProvider cp = (IColorProvider) baseProvider;
-		TreeItem treeItem = (TreeItem) item;
-		treeItem.setForeground(cp.getForeground(element));
-		treeItem.setBackground(cp.getBackground(element));
-	}
-	if (baseProvider instanceof IFontProvider) {
-	    IFontProvider fprov = (IFontProvider) baseProvider;
-	    TreeItem treeItem = (TreeItem) item;
-	    treeItem.setFont(fprov.getFont(element));
-	}			
-}
-/* (non-Javadoc)
- * Method declared in AbstractTreeViewer.
- */
-protected Item[] getChildren(Widget o) {
-	if (o instanceof TreeItem)
-		return ((TreeItem) o).getItems();
-	if (o instanceof Tree)
-		return ((Tree) o).getItems();
-	return null;
-}
-/* (non-Javadoc)
- * Method declared in Viewer.
- */
-public Control getControl() {
-	return tree;
-}
-/* (non-Javadoc)
- * Method declared in AbstractTreeViewer.
- */
-protected boolean getExpanded(Item item) {
-	return ((TreeItem) item).getExpanded();
-}
-/* (non-Javadoc)
- * Method declared in StructuredViewer.
- */
-protected Item getItem(int x, int y) {
-	return getTree().getItem(getTree().toControl(new Point(x, y)));
-}
-/* (non-Javadoc)
- * Method declared in AbstractTreeViewer.
- */
-protected int getItemCount(Control widget) {
-	return ((Tree) widget).getItemCount();
-}
-/* (non-Javadoc)
- * Method declared in AbstractTreeViewer.
- */
-protected int getItemCount(Item item) {
-	return ((TreeItem) item).getItemCount();
-}
-/* (non-Javadoc)
- * Method declared in AbstractTreeViewer.
- */
-protected Item[] getItems(Item item) {
-	return ((TreeItem) item).getItems();
-}
-/**
- * The tree viewer implementation of this <code>Viewer</code> framework
- * method returns the label provider, which in the case of tree
- * viewers will be an instance of <code>ILabelProvider</code>.
- */
-public IBaseLabelProvider getLabelProvider() {
-	return super.getLabelProvider();
-}
-/* (non-Javadoc)
- * Method declared in AbstractTreeViewer.
- */
-protected Item getParentItem(Item item) {
-	return ((TreeItem)item).getParentItem();
-}
-/* (non-Javadoc)
- * Method declared in AbstractTreeViewer.
- */
-protected Item[] getSelection(Control widget) {
-	return ((Tree) widget).getSelection();
-}
-/**
- * Returns this tree viewer's tree control.
- *
- * @return the tree control
- */
-public Tree getTree() {
-	return tree;
-}
-/* (non-Javadoc)
- * Method declared in AbstractTreeViewer.
- */
-protected Item newItem(Widget parent, int flags, int ix) {
-	TreeItem item;
-	if (ix >= 0) {
-		if (parent instanceof TreeItem)
-			item = new TreeItem((TreeItem) parent, flags, ix);
-		else
-			item = new TreeItem((Tree) parent, flags, ix);
-	} else {
-		if (parent instanceof TreeItem)
-			item = new TreeItem((TreeItem) parent, flags);
-		else
-			item = new TreeItem((Tree) parent, flags);
-	}
-	return item;
-}
-/* (non-Javadoc)
- * Method declared in AbstractTreeViewer.
- */
-protected void removeAll(Control widget) {
-	((Tree) widget).removeAll();
-}
-/* (non-Javadoc)
- * Method declared in AbstractTreeViewer.
- */
-protected void setExpanded(Item node, boolean expand) {
-	((TreeItem) node).setExpanded(expand);
-}
-/**
- * The tree viewer implementation of this <code>Viewer</code> framework
- * method ensures that the given label provider is an instance
- * of <code>ILabelProvider</code>.
- */
-public void setLabelProvider(IBaseLabelProvider labelProvider) {
-	Assert.isTrue(labelProvider instanceof ILabelProvider);
-	super.setLabelProvider(labelProvider);
-}
-/* (non-Javadoc)
- * Method declared in AbstractTreeViewer.
- */
-protected void setSelection(List items) {
-	
-	Item[] current = getSelection(getTree());
-	
-	//Don't bother resetting the same selection
-	if(haveSameData(items,current))
-		return;
-	 
-	TreeItem[] newItems = new TreeItem[items.size()];
-	items.toArray(newItems);
-	getTree().setSelection(newItems);
-}
-
-/**
- * Returns <code>true</code> if the given list and array of items
- * refer to the same model elements.  Order is unimportant.
- * 
- * @param items the list of items
- * @param current the array of items
- * @return <code>true</code> if the refer to the same elements, <code>false</code> otherwise
- */
-private boolean haveSameData(List items, Item[] current){
-	//If they are not the same size then they are not equivalent
-    int n = items.size();
-	if (n != current.length)
-		return false;
-	
-	CustomHashtable itemSet = newHashtable(n*2+1);
-	for (Iterator i = items.iterator(); i.hasNext();) {
-        Item item = (Item) i.next();
-        Object element = item.getData();
-		itemSet.put(element, element);
-	}
-	
-	//Go through the items of the current collection
-	//If there is a mismatch return false
-	for (int i = 0; i < current.length; i++) {
-		if (!itemSet.containsKey(current[i].getData()))
-			return false;
-	}
-	
-	return true;
-}
-/* (non-Javadoc)
- * Method declared in AbstractTreeViewer.
- */
-protected void showItem(Item item) {
-	getTree().showItem((TreeItem)item);
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/Viewer.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/Viewer.java
deleted file mode 100644
index 2ba9ae8..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/Viewer.java
+++ /dev/null
@@ -1,369 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-import org.eclipse.swt.events.HelpEvent;
-import org.eclipse.swt.events.HelpListener;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Item;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.SafeRunnable;
-
-/**
- * A viewer is a model-based adapter on a widget.
- * <p>
- * A viewer can be created as an adapter on a pre-existing control (e.g., 
- * creating a <code>ListViewer</code> on an existing <code>List</code> control).
- * All viewers also provide a convenience constructor for creating the control.
- * </p>
- * <p>
- * Implementing a concrete viewer typically involves the following steps:
- * <ul>
- * <li>
- * create SWT controls for viewer (in constructor) (optional)
- * </li>
- * <li>
- * initialize SWT controls from input (inputChanged)
- * </li>
- * <li>
- * define viewer-specific update methods
- * </li>
- * <li>
- * support selections (<code>setSelection</code>, <code>getSelection</code>)
- * </li>
- * </ul>
- * </p>
- */
-public abstract class Viewer implements IInputSelectionProvider {
-
-	/**
-	 * List of selection change listeners (element type: <code>ISelectionChangedListener</code>).
-	 *
-	 * @see #fireSelectionChanged
-	 */
-	private ListenerList selectionChangedListeners = new ListenerList(3);
-
-	/**
-	 * List of help request listeners (element type: <code>org.eclipse.swt.events.HelpListener</code>).
-	 * Help request listeners.
-	 *
-	 * @see #handleHelpRequest
-	 */
-	private ListenerList helpListeners = new ListenerList(1);
-
-	/**
-	 * The names of this viewer's properties.
-	 * <code>null</code> if this viewer has no properties.
-	 *
-	 * @see #setData
-	 */
-	private String[] keys;
-
-	/**
-	 * The values of this viewer's properties.
-	 * <code>null</code> if this viewer has no properties.
-	 * This array parallels the value of the <code>keys</code> field.
-	 *
-	 * @see #setData
-	 */
-	private Object[] values;
-
-	/**
-	 * Remembers whether we've hooked the help listener on the control or not.
-	 */
-	private boolean helpHooked = false;
-
-	/**
-	 * Help listener for the control, created lazily when client's first help listener is added.
-	 */
-	private HelpListener helpListener = null;
-	
-	/**
-	 * Unique key for associating element data with widgets.
-	 * @see org.eclipse.swt.widgets.Widget#setData(String, Object)
-	 */
-	protected static final String WIDGET_DATA_KEY = "org.eclipse.jface.viewers.WIDGET_DATA";//$NON-NLS-1$
-/**
- * Creates a new viewer.
- */
-protected Viewer() {
-}
-/**
- * Adds a listener for help requests in this viewer.
- * Has no effect if an identical listener is already registered.
- *
- * @param listener a help listener
- */
-public void addHelpListener(HelpListener listener) {
-	helpListeners.add(listener);
-	if (!helpHooked) {
-		Control control = getControl();
-		if (control != null && !control.isDisposed()) {
-			if (this.helpListener == null) {
-				this.helpListener = new HelpListener() {
-					public void helpRequested(HelpEvent event) {
-						handleHelpRequest(event);
-					}
-				};
-			}
-			control.addHelpListener(this.helpListener);
-			helpHooked = true;
-		}
-	}
-}
-/* (non-Javadoc)
- * Method declared on ISelectionProvider.
- */
-public void addSelectionChangedListener(ISelectionChangedListener listener) {
-	selectionChangedListeners.add(listener);
-}
-/**
- * Notifies any help listeners that help has been requested.
- * Only listeners registered at the time this method is called are notified.
- *
- * @param event a help event
- *
- * @see HelpListener#helpRequested(org.eclipse.swt.events.HelpEvent)
- */
-protected void fireHelpRequested(HelpEvent event) {
-	Object[] listeners = helpListeners.getListeners();
-	for (int i = 0; i < listeners.length; ++i) {
-		((HelpListener) listeners[i]).helpRequested(event);
-	}
-}
-/**
- * Notifies any selection changed listeners that the viewer's selection has changed.
- * Only listeners registered at the time this method is called are notified.
- *
- * @param event a selection changed event
- *
- * @see ISelectionChangedListener#selectionChanged
- */
-protected void fireSelectionChanged(final SelectionChangedEvent event) {
-	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);
-			}
-		});		
-	}	
-}
-/**
- * Returns the primary control associated with this viewer.
- *
- * @return the SWT control which displays this viewer's content
- */
-public abstract Control getControl();
-/**
- * Returns the value of the property with the given name,
- * or <code>null</code> if the property is not found.
- * <p>
- * The default implementation performs a (linear) search of
- * an internal table. Overriding this method is generally not
- * required if the number of different keys is small. If a more
- * efficient representation of a viewer's properties is required,
- * override both <code>getData</code> and <code>setData</code>.
- * </p>
- *
- * @param key the property name
- * @return the property value, or <code>null</code> if
- *    the property is not found
- */
-public Object getData(String key) {
-	Assert.isNotNull(key);
-	if (keys == null) 
-		return null;
-	for (int i=0; i < keys.length; i++) {
-		if (keys[i].equals(key)) 
-			return values[i];
-	}
-	return null;
-}
-/* (non-Javadoc)
- * Copy-down of method declared on <code>IInputProvider</code>.
- */
-public abstract Object getInput();
-/* (non-Javadoc)
- * Copy-down of method declared on <code>ISelectionProvider</code>.
- */
-public abstract ISelection getSelection();
-/**
- * Handles a help request from the underlying SWT control.
- * The default behavior is to fire a help request,
- * with the event's data modified to hold this viewer.
- */
-protected void handleHelpRequest(HelpEvent event) {
-	Object oldData = event.data;
-	event.data = this;
-	fireHelpRequested(event);
-	event.data = oldData;
-}
-/**
- * Internal hook method called when the input to this viewer is
- * initially set or subsequently changed.
- * <p>
- * The default implementation does nothing. Subclassers may override 
- * this method to do something when a viewer's input is set.
- * A typical use is populate the viewer.
- * </p>
- *
- * @param input the new input of this viewer, or <code>null</code> if none
- * @param oldInput the old input element or <code>null</code> if there
- *   was previously no input
- */
-protected void inputChanged(Object input, Object oldInput) {
-}
-/**
- * Refreshes this viewer completely with information freshly obtained from this
- * viewer's model.
- */
-public abstract void refresh();
-/**
- * Removes the given help listener from this viewer.
- * Has no affect if an identical listener is not registered.
- *
- * @param listener a help listener
- */
-public void removeHelpListener(HelpListener listener) {
-	helpListeners.remove(listener);
-	if (helpListeners.size() == 0) {
-		Control control = getControl();
-		if (control != null && !control.isDisposed()) {
-			control.removeHelpListener(this.helpListener);
-			helpHooked = false;
-		}
-	}
-}
-/* (non-Javadoc)
- * Method declared on ISelectionProvider.
- */
-public void removeSelectionChangedListener(ISelectionChangedListener listener) {
-	selectionChangedListeners.remove(listener);
-}
-/**
- * Scrolls the viewer's control down by one item from the given
- * display-relative coordinates.  Returns the newly revealed Item,
- * or <code>null</code> if no scrolling occurred or if the viewer
- * doesn't represent an item-based widget.
- *
- * @param x horizontal coordinate
- * @param y vertical coordinate
- */
-public Item scrollDown(int x, int y) {
-	return null;
-}
-/**
- * Scrolls the viewer's control up by one item from the given
- * display-relative coordinates.  Returns the newly revealed Item,
- * or <code>null</code> if no scrolling occurred or if the viewer
- * doesn't represent an item-based widget.
- *
- * @param x horizontal coordinate
- * @param y vertical coordinate
- */
-public Item scrollUp(int x, int y) {
-	return null;
-}
-/**
- * Sets the value of the property with the given name to the
- * given value, or to <code>null</code> if the property is to be
- * removed. If this viewer has such a property, its value is
- * replaced; otherwise a new property is added.
- * <p>
- * The default implementation records properties in an internal
- * table which is searched linearly. Overriding this method is generally not
- * required if the number of different keys is small. If a more
- * efficient representation of a viewer's properties is required,
- * override both <code>getData</code> and <code>setData</code>.
- * </p>
- *
- * @param key the property name
- * @param value the property value, or <code>null</code> if
- *    the property is not found
- */
-public void setData (String key, Object value) {
-	Assert.isNotNull(key);
-	/* Remove the key/value pair */
-	if (value == null) {
-		if (keys == null) return;
-		int index = 0;
-		while (index < keys.length && !keys[index].equals (key)) index++;
-		if (index == keys.length) return;
-		if (keys.length == 1) {
-			keys = null;
-			values = null;
-		} else {
-			String [] newKeys = new String[keys.length - 1];
-			Object [] newValues = new Object[values.length - 1];
-			System.arraycopy(keys, 0, newKeys, 0, index);
-			System.arraycopy(keys, index + 1, newKeys, index, newKeys.length - index);
-			System.arraycopy(values, 0, newValues, 0, index);
-			System.arraycopy(values, index + 1, newValues, index, newValues.length - index);
-			keys = newKeys;
-			values = newValues;
-		}
-		return;
-	}
-	
-	/* Add the key/value pair */
-	if (keys == null) {
-		keys = new String[] {key};
-		values = new Object[] {value};
-		return;
-	}
-	for (int i=0; i < keys.length; i++) {
-		if (keys [i].equals(key)) {
-			values [i] = value;
-			return;
-		}
-	}
-	String [] newKeys = new String[keys.length + 1];
-	Object [] newValues = new Object[values.length + 1];
-	System.arraycopy(keys, 0, newKeys, 0, keys.length);
-	System.arraycopy(values, 0, newValues, 0, values.length);
-	newKeys [keys.length] = key;
-	newValues [values.length] = value;
-	keys = newKeys;
-	values = newValues;
-}
-/**
- * Sets or clears the input for this viewer.
- *
- * @param input the input of this viewer, or <code>null</code> if none
- */
-public abstract void setInput(Object input);
-/**
- * The viewer implementation of this <code>ISelectionProvider</code> 
- * method make the new selection for this viewer without making it visible.
- * <p>
- * This method is equivalent to <code>setSelection(selection,false)</code>.
- * </p>
- */
-public void setSelection(ISelection selection) {
-	setSelection(selection, false);
-}
-/**
- * Sets a new selection for this viewer and optionally makes it visible.
- * <p>
- * Subclasses must implement this method.
- * </p>
- *
- * @param selection the new selection
- * @param reveal <code>true</code> if the selection is to be made
- *   visible, and <code>false</code> otherwise
- */
-public abstract void setSelection(ISelection selection, boolean reveal);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ViewerDropAdapter.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ViewerDropAdapter.java
deleted file mode 100644
index 4ea670a..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ViewerDropAdapter.java
+++ /dev/null
@@ -1,402 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This adapter class provides generic drag-and-drop support for a viewer.
- * <p>
- * Subclasses must implement the following methods:
- * <ul>
- *   <li><code>validateDrop</code> - identifies valid drop targets in viewer</li>
- *   <li><code>performDrop</code> - carries out a drop into a viewer</li>
- * </ul>
- * The <code>setFeedbackEnabled</code> method can be called to turn on and off 
- * visual insertion feedback (on by default).
- * </p>
- */
-public abstract class ViewerDropAdapter extends DropTargetAdapter {
-
-	/**
-	 * Constant describing the position of the cursor relative 
-	 * to the target object.  This means the mouse is positioned
-	 * slightly before the target.
-	 * @see #getCurrentLocation()
-	 */
-	public static final int LOCATION_BEFORE = 1;
-
-	/**
-	 * Constant describing the position of the cursor relative 
-	 * to the target object.  This means the mouse is positioned
-	 * slightly after the target.
-	 * @see #getCurrentLocation()
-	 */
-	public static final int LOCATION_AFTER = 2;
-
-	/**
-	 * Constant describing the position of the cursor relative 
-	 * to the target object.  This means the mouse is positioned
-	 * directly on the target.
-	 * @see #getCurrentLocation()
-	 */
-	public static final int LOCATION_ON = 3;
-
-	/**
-	 * Constant describing the position of the cursor relative 
-	 * to the target object.  This means the mouse is not positioned
-	 * over or near any valid target.
-	 * @see #getCurrentLocation()
-	 */
-	public static final int LOCATION_NONE = 4;
-
-	/**
-	 * The viewer to which this drop support has been added.
-	 */
-	private Viewer viewer;
-
-	/**
-	 * The current operation.
-	 */
-	private int currentOperation = DND.DROP_NONE;
-
-	/**
-	 * The last valid operation.
-	 */
-	private int lastValidOperation = DND.DROP_NONE;
-
-	/**
-	 * The data item currently under the mouse.
-	 */
-	private Object currentTarget;
-
-	/**
-	 * Information about the position of the mouse relative to the
-	 * target (before, on, or after the target.  Location is one of
-	 * the <code>LOCATION_* </code> constants defined in this type.
-	 */
-	private int currentLocation;
-
-	/**
-	 * A flag that allows adapter users to turn the insertion
-	 * feedback on or off. Default is <code>true</code>.
-	 */
-	private boolean feedbackEnabled = true;
-	
-	/**
-	 * A flag that allows adapter users to turn auto scrolling
-	 * and expanding on or off. Default is <code>true</code>.
-	 */
-	private boolean scrollExpandEnabled = true;
-	
-/**
- * Creates a new drop adapter for the given viewer.
- *
- * @param viewer the viewer
- */
-protected ViewerDropAdapter(Viewer viewer) {
-	this.viewer = viewer;
-}
-/**
- * Returns the position of the given event's coordinates relative to its target.
- * The position is determined to be before, after, or on the item, based on
- * some threshold value.
- *
- * @param event the event
- * @return one of the <code>LOCATION_* </code>constants defined in this class
- */
-protected int determineLocation(DropTargetEvent event) {
-	if (!(event.item instanceof Item)) {
-		return LOCATION_NONE;
-	}
-	Item item = (Item)event.item;
-	Point coordinates = new Point(event.x, event.y);
-	coordinates = viewer.getControl().toControl(coordinates);
-	if (item != null) {
-		Rectangle bounds = getBounds(item);
-		if (bounds == null) {
-			return LOCATION_NONE;
-		}
-		if ((coordinates.y - bounds.y) < 5) {
-			return LOCATION_BEFORE;
-		}
-		if ((bounds.y + bounds.height - coordinates.y) < 5 ){
-			return LOCATION_AFTER;
-		}
-	}
-	return LOCATION_ON;
-}
-/**
- * Returns the target item of the given drop event.
- *
- * @param event the event
- * @return The target of the drop, may be <code>null</code>.
- */
-protected Object determineTarget(DropTargetEvent event) {
-	return event.item == null ? null : event.item.getData();	
-}
-/* (non-Javadoc)
- * Method declared on DropTargetAdapter.
- * The mouse has moved over the drop target.  If the
- * target item has changed, notify the action and check
- * that it is still enabled.
- */
-private void doDropValidation(DropTargetEvent event) {
-	//update last valid operation
-	if (event.detail != DND.DROP_NONE) {
-		lastValidOperation = event.detail;
-	}
-	//valid drop and set event detail accordingly
-	if (validateDrop(currentTarget, event.detail, event.currentDataType)) {
-		currentOperation = lastValidOperation;
-	} else {
-		currentOperation = DND.DROP_NONE;
-	}
-	event.detail = currentOperation;
-}
-/* (non-Javadoc)
- * Method declared on DropTargetAdapter.
- * The drag has entered this widget's region.  See
- * if the drop should be allowed.
- */
-public void dragEnter(DropTargetEvent event) {
-	currentTarget = determineTarget(event);
-	doDropValidation(event);
-}
-/* (non-Javadoc)
- * Method declared on DropTargetAdapter.
- * The drop operation has changed, see if the action
- * should still be enabled.
- */
-public void dragOperationChanged(DropTargetEvent event) {
-	currentTarget = determineTarget(event);
-	doDropValidation(event);
-}
-/* (non-Javadoc)
- * Method declared on DropTargetAdapter.
- * The mouse has moved over the drop target.  If the
- * target item has changed, notify the action and check
- * that it is still enabled.
- */
-public void dragOver(DropTargetEvent event) {
-	//use newly revealed item as target if scrolling occurs
-	Object target = determineTarget(event);
-
-	//set the location feedback
-	int oldLocation = currentLocation;
-	currentLocation = determineLocation(event);
-	setFeedback(event, currentLocation);
-	
-	//see if anything has really changed before doing validation.
-	if (target != currentTarget || currentLocation != oldLocation) {
-		currentTarget = target;
-		doDropValidation(event);
-	}
-}
-/* (non-Javadoc)
- * Method declared on DropTargetAdapter.
- * The user has dropped something on the desktop viewer.
- */
-public void drop(DropTargetEvent event) {
-	currentLocation = determineLocation(event);
-
-	//perform the drop behaviour
-	if (!performDrop(event.data)) {
-		event.detail = DND.DROP_NONE;
-	}
-	currentOperation = event.detail;
-}
-/* (non-Javadoc)
- * Method declared on DropTargetAdapter.
- * Last chance for the action to disable itself
- */
-public void dropAccept(DropTargetEvent event) {
-	if (!validateDrop(currentTarget, event.detail, event.currentDataType)) {
-		event.detail = DND.DROP_NONE;
-	}
-}
-/**
- * Returns the bounds of the given SWT tree or table item.
- *
- * @param item the SWT Item
- * @return the bounds, or <code>null</code> if it is not a known type of item
- */
-protected Rectangle getBounds(Item item) {
-	if (item instanceof TreeItem) {
-		return ((TreeItem)item).getBounds();
-	}
-	if (item instanceof TableItem) {
-		return ((TableItem)item).getBounds(0);
-	}
-	return null;
-}
-/**
- * Returns a constant describing the position of the mouse relative to the
- * target (before, on, or after the target.  
- *
- * @return one of the <code>LOCATION_* </code> constants defined in this type
- */
-protected int getCurrentLocation() {
-	return currentLocation;
-}
-/**
- * Returns the current operation.
- *
- * @return a <code>DROP_*</code> constant from class <code>DND</code>
- *
- * @see DND#DROP_COPY
- * @see DND#DROP_MOVE
- * @see DND#DROP_LINK
- * @see DND#DROP_NONE
- */
-protected int getCurrentOperation() {
-	return currentOperation;
-}
-/**
- * Returns the target object currently under the mouse.
- *
- * @return the current target object
- */
-protected Object getCurrentTarget() {
-	return currentTarget;
-}
-/**
- * Returns whether visible insertion feedback should be presented to the user.
- * <p>
- * Typical insertion feedback is the horizontal insertion bars that appear 
- * between adjacent items while dragging.
- * </p>
- *
- * @return <code>true</code> if visual feedback is desired, and <code>false</code> if not
- */
-public boolean getFeedbackEnabled() {
-	return feedbackEnabled;
-}
-/**
- * Returns the object currently selected by the viewer.
- *
- * @return the selected object, or <code>null</code> if either no object or 
- *   multiple objects are selected
- */
-protected Object getSelectedObject() {
-	ISelection selection = viewer.getSelection();
-	if (selection instanceof IStructuredSelection && !selection.isEmpty()) {
-		IStructuredSelection structured = (IStructuredSelection)selection;
-		return structured.getFirstElement();
-	}
-	return null;
-}
-/**
- * Returns the viewer to which this drop support has been added.
- */
-protected Viewer getViewer() {
-	return viewer;
-}
-/**
- * @deprecated this method should not be used. Exception handling has been 
- * 	removed from DropTargetAdapter methods overridden by this class.
- * Handles any exception that occurs during callback, including 
- * rethrowing behavior.
- * <p>
- * [Issue: Implementation prints stack trace and eats exception to avoid
- *  crashing VA/J.
- *  Consider conditionalizing the implementation to do one thing in VAJ
- *  and something more reasonable in other operating environments.
- * ]
- * </p>
- *
- * @param exception the exception
- * @param event the event
- */
-protected void handleException(Throwable exception, DropTargetEvent event) {
-	// Currently we never rethrow because VA/Java crashes if an SWT
-	// callback throws anything. Generally catching Throwable is bad, but in
-	// this cases it's better than hanging the image.
-	exception.printStackTrace();
-	event.detail = DND.DROP_NONE;
-}
-/**
- * Performs any work associated with the drop.
- * <p>
- * Subclasses must implement this method to provide drop behavior.
- * </p>
- *
- * @param data the drop data
- * @return <code>true</code> if the drop was successful, and 
- *   <code>false</code> otherwise
- */
-public abstract boolean performDrop(Object data);
-/* (non-Javadoc)
- * Method declared on DropTargetAdapter.
- * The mouse has moved over the drop target.  If the
- * target item has changed, notify the action and check
- * that it is still enabled.
- */
-private void setFeedback(DropTargetEvent event, int location) {
-	if (feedbackEnabled) {
-		switch (location) {
-		   case LOCATION_BEFORE:
-			  event.feedback = DND.FEEDBACK_INSERT_BEFORE;
-			  break;
-		   case LOCATION_AFTER:
-			  event.feedback = DND.FEEDBACK_INSERT_AFTER;
-			  break;
-		   case LOCATION_ON:
-		   default:
-			  event.feedback = DND.FEEDBACK_SELECT;
-			  break;
-		}
-	 }
-	 if (scrollExpandEnabled)
-		  event.feedback |= DND.FEEDBACK_EXPAND | DND.FEEDBACK_SCROLL;	
-}
-/**
- * Sets whether visible insertion feedback should be presented to the user.
- * <p>
- * Typical insertion feedback is the horizontal insertion bars that appear 
- * between adjacent items while dragging.
- * </p>
- *
- * @param value <code>true</code> if visual feedback is desired, and
- *   <code>false</code> if not
- */
-public void setFeedbackEnabled(boolean value) {
-	feedbackEnabled = value;
-}
-/**
- * Sets whether auto scrolling and expanding should be provided during dragging.
- *
- * @param value <code>true</code> if scrolling and expanding is desired, and
- *   <code>false</code> if not
- * @since 2.0
- */
-public void setScrollExpandEnabled(boolean value) {
-	scrollExpandEnabled = value;
-}
-/**
- * Validates dropping on the given object. This method is called whenever some 
- * aspect of the drop operation changes.
- * <p>
- * Subclasses must implement this method to define which drops make sense.
- * </p>
- * 
- * @param target the object that the mouse is currently hovering over, or
- *   <code>null</code> if the mouse is hovering over empty space
- * @param operation the current drag operation (copy, move, etc.)
- * @param transferType the current transfer type
- * @return <code>true</code> if the drop is valid, and <code>false</code>
- *   otherwise
- */
-public abstract boolean validateDrop(Object target, int operation, TransferData transferType);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ViewerFilter.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ViewerFilter.java
deleted file mode 100644
index 7be1710..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ViewerFilter.java
+++ /dev/null
@@ -1,80 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-import java.util.ArrayList;
-/**
- * A viewer filter is used by a structured viewer to
- * extract a subset of elements provided by its content provider.
- * <p>
- * Subclasses must implement the <code>select</code> method
- * and may implement the <code>isFilterProperty</code> method.
- * </p>
- * @see IStructuredContentProvider
- * @see StructuredViewer
- */
-public abstract class ViewerFilter {
-/**
- * Creates a new viewer filter.
- */
-protected ViewerFilter() {
-}
-/**
- * Filters the given elements for the given viewer.
- * The input array is not modified.
- * <p>
- * The default implementation of this method calls 
- * <code>select</code> on each element in the array, 
- * and returns only those elements for which <code>select</code>
- * returns <code>true</code>.
- * </p>
- * @param viewer the viewer
- * @param parent the parent element
- * @param elements the elements to filter
- * @return the filtered elements
- */
-public Object[] filter(Viewer viewer, Object parent, Object[] elements) {
-	int size = elements.length;
-	ArrayList out = new ArrayList(size);
-	for (int i = 0; i < size; ++i) {
-		Object element = elements[i];
-		if (select(viewer, parent, element))
-			out.add(element);
-	}
-	return out.toArray();
-}
-/**
- * Returns whether this viewer filter would be affected 
- * by a change to the given property of the given element.
- * <p>
- * The default implementation of this method returns <code>false</code>.
- * Subclasses should reimplement.
- * </p>
- *
- * @param element the element
- * @param property the property
- * @return <code>true</code> if the filtering would be affected,
- *    and <code>false</code> if it would be unaffected
- */
-public boolean isFilterProperty(Object element, String property) {
-	return false;
-}
-/**
- * Returns whether the given element makes it through this filter.
- *
- * @param viewer the viewer
- * @param parentElement the parent element
- * @param element the element
- * @return <code>true</code> if element is included in the
- *   filtered set, and <code>false</code> if excluded
- */
-public abstract boolean select(Viewer viewer, Object parentElement, Object element);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ViewerLabel.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ViewerLabel.java
deleted file mode 100644
index 90714e7..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ViewerLabel.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-import org.eclipse.swt.graphics.Image;
-
-/**
- * The ViewerLabel is the class that is passed to a viewer to handle updates of
- * labels. It keeps track of both original and updates text.
- * 
- * @see IViewerLabelProvider
- * @since 3.0
- */
-public class ViewerLabel {
-	
-	//New values for the receiver. Null if nothing has been set.
-	private String newText = null;
-	private Image newImage = null;
-	
-	//The initial values for the receiver.
-	private String startText;
-	private Image startImage;
-	
-	public ViewerLabel(String initialText, Image initialImage){
-		startText = initialText;
-		startImage = initialImage;
-	}
-	
-	/**
-	 * Get the image for the receiver. If the new image has been set 
-	 * return it, otherwise return the starting image.
-	 * 
-	 * @return Returns the image.
-	 */
-	public final Image getImage() {
-		if(newImage == null)
-			return startImage;
-		else
-			return newImage;
-	}
-	
-	/**
-	 * Set the image for the receiver.
-	 * 
-	 * @param image
-	 *                   The image to set.
-	 */
-	public final void setImage(Image image) {
-		newImage = image;
-	}
-	/**
-	 * Get the text for the receiver. If the new text has been set 
-	 * return it, otherwise return the starting text.
-	 * 
-	 * @return Returns the text.
-	 */
-	public final String getText() {
-		if(newText == null)
-			return startText;
-		else
-			return newText;
-	}
-	/**
-	 * Set the text for the receiver.
-	 * 
-	 * @param text
-	 *                   The label to set.
-	 */
-	public final void setText(String text){
-		newText = text;
-	}
-	/**
-	 * Return whether or not the image has been set.
-	 * @return boolean. true if the image has been set
-	 * to something new.
-	 */
-	public boolean hasNewImage() {
-		
-		//If we started with null any change is an update
-		if(startImage == null)
-			return newImage != null;
-		
-		return !(startImage.equals(newImage));
-	}
-	/**
-	 * Return whether or not the text has been set.
-	 * @return boolean. true if the text has been set
-	 * to something new.
-	 */
-	public boolean hasNewText() {
-		
-		//If we started with null any change is an update
-		if(startText == null)
-			return newText != null;
-		
-		return  !(startText.equals(newText)); 
-	}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ViewerSorter.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ViewerSorter.java
deleted file mode 100644
index 7fa75f0..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ViewerSorter.java
+++ /dev/null
@@ -1,173 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.viewers;
-
-import java.text.Collator;
-import java.util.Arrays;
-import java.util.Comparator;
-
-/**
- * A viewer sorter is used by a structured viewer to
- * reorder the elements provided by its content provider.
- * <p>
- * The default <code>compare</code> method compares elements using two steps. 
- * The first step uses the values returned from <code>category</code>. 
- * By default, all elements are in the same category. 
- * The second level is based on a case insensitive compare of the strings obtained 
- * from the content viewer's label provider via <code>ILabelProvider.getText</code>.
- * </p>
- * <p>
- * Subclasses may implement the <code>isSorterProperty</code> method;
- * they may reimplement the <code>category</code> method to provide 
- * categorization; and they may override the <code>compare</code> methods
- * to provide a totally different way of sorting elements.
- * </p>
- * @see IStructuredContentProvider
- * @see StructuredViewer
- */
-public class ViewerSorter {
-	/**
-	 * The collator used to sort strings.
-	 */
-	protected Collator collator;
-/**
- * Creates a new viewer sorter, which uses the default collator
- * to sort strings.
- */
-public ViewerSorter() {
-	this(Collator.getInstance());
-}
-/**
- * Creates a new viewer sorter, which uses the given collator
- * to sort strings.
- *
- * @param collator the collator to use to sort strings
- */
-public ViewerSorter(Collator collator) {
-	this.collator = collator;
-}
-/**
- * Returns the category of the given element. The category is a
- * number used to allocate elements to bins; the bins are arranged
- * in ascending numeric order. The elements within a bin are arranged
- * via a second level sort criterion.
- * <p>
- * The default implementation of this framework method returns
- * <code>0</code>. Subclasses may reimplement this method to provide
- * non-trivial categorization.
- * </p>
- *
- * @param element the element
- * @return the category
- */
-public int category(Object element) {
-	return 0;
-}
-/**
- * Returns a negative, zero, or positive number depending on whether
- * the first element is less than, equal to, or greater than
- * the second element.
- * <p>
- * The default implementation of this method is based on
- * comparing the elements' categories as computed by the <code>category</code>
- * framework method. Elements within the same category are further 
- * subjected to a case insensitive compare of their label strings, either
- * as computed by the content viewer's label provider, or their 
- * <code>toString</code> values in other cases. Subclasses may override.
- * </p>
- * 
- * @param viewer the viewer
- * @param e1 the first element
- * @param e2 the second element
- * @return a negative number if the first element is less  than the 
- *  second element; the value <code>0</code> if the first element is
- *  equal to the second element; and a positive number if the first
- *  element is greater than the second element
- */
-public int compare(Viewer viewer, Object e1, Object e2) {
-
-	int cat1 = category(e1);
-	int cat2 = category(e2);
-
-	if (cat1 != cat2)
-		return cat1 - cat2;
-
-	// cat1 == cat2
-
-	String name1;
-	String name2;
-
-	if (viewer == null || !(viewer instanceof ContentViewer)) {
-		name1 = e1.toString();
-		name2 = e2.toString();
-	} else {
-		IBaseLabelProvider prov = ((ContentViewer) viewer).getLabelProvider();
-		if (prov instanceof ILabelProvider) {
-			ILabelProvider lprov = (ILabelProvider) prov;
-			name1 = lprov.getText(e1);
-			name2 = lprov.getText(e2);
-		} else {
-			name1 = e1.toString();
-			name2 = e2.toString();
-		}
-	}
-	if (name1 == null)
-		name1 = "";//$NON-NLS-1$
-	if (name2 == null)
-		name2 = "";//$NON-NLS-1$
-	return collator.compare(name1, name2);
-}
-/**
- * Returns the collator used to sort strings.
- *
- * @return the collator used to sort strings
- */
-public Collator getCollator() {
-	return collator;
-}
-/**
- * Returns whether this viewer sorter would be affected 
- * by a change to the given property of the given element.
- * <p>
- * The default implementation of this method returns <code>false</code>.
- * Subclasses may reimplement.
- * </p>
- *
- * @param element the element
- * @param property the property
- * @return <code>true</code> if the sorting would be affected,
- *    and <code>false</code> if it would be unaffected
- */
-public boolean isSorterProperty(Object element, String property) {
-	return false;
-}
-/**
- * Sorts the given elements in-place, modifying the given array.
- * <p>
- * The default implementation of this method uses the 
- * {@link Arrays.sort(Object[])} algorithm on the given array, 
- * calling <code>compare</code> to compare elements.
- * </p>
- * <p>
- * Subclasses may reimplement this method to provide a more optimized implementation.
- * </p>
- *
- * @param viewer the viewer
- * @param elements the elements to sort
- */
-public void sort(final Viewer viewer, Object[] elements) {
-	Arrays.sort(elements, new Comparator() {
-		public int compare(Object a, Object b) {
-			return ViewerSorter.this.compare(viewer, a, b);
-		}
-	});
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/package.html b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/package.html
deleted file mode 100644
index e156512..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/package.html
+++ /dev/null
@@ -1,70 +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 framework for viewers, which are model-based
-content adapters for SWT widgets.
-<h2>
-Package Specification</h2>
-A viewer is a model-based adapter on an SWT widget.&nbsp; Each viewer has
-four parts:
-<blockquote>
-<li>
-an <b>input</b> - the object that serves as the viewer's model</li>
-
-<li>
-a <b>widget</b> - the SWT control through which the viewer's model is displayed</li>
-
-<li>
-a <b>content provider</b> - mediates between the model and viewer</li>
-
-<li>
-a <b>label provider</b> - maps model objects to displayable labels containing
-text and/or an image</li>
-</blockquote>
-This package contains the viewer framework. The viewer framework is an
-independent JFace module. Using it requires a knowledge of SWT, but does
-not require familiarity with any of the other JFace modules. The framework
-consists of abstract base classes for viewers (<tt>Viewer</tt>, <tt>StructuredViewer</tt>,
-<tt>AbstractTreeViewer</tt>) together with concrete viewer classes (<tt>ListViewer</tt>,
-<tt>TreeViewer</tt>,
-<tt>TableViewer</tt>,
-<tt>TableTreeViewer</tt>, <tt>CheckboxTreeViewer</tt>,
-and <tt>CheckboxTableViewer</tt>),
-and various lesser support classes. The concrete structured viewer classes
-are ready-to-use and have built-in support for drag-and-drop, filtering
-(<tt>IViewerFilter</tt> and <tt>ViewerFilter</tt>), and sorting (<tt>IViewerSorter</tt>
-and <tt>ViewerSorter</tt>); these classes may also be subclassed further
-if required.
-<p>In general terms, creating a viewer involves the following steps:
-<ul>
-<li>
-instantiating a viewer on some pre-existing SWT widget,</li>
-
-<li>
-setting the viewer's content provider (an object implementing <tt>IContentProvider</tt>),</li>
-
-<li>
-setting the viewer's label provider (an object implementing
-<tt>ILabelProvider</tt>),</li>
-
-<li>
-and, finally, setting the viewer's input.</li>
-</ul>
-Once a viewer's input is set, the viewer becomes active. As the model changes,
-it is the content provider's responsibility to respond to changes to the
-model by telling the viewer what to change (done by calling add and remove
-methods on the viewer). An existing viewer may be retargeted by giving
-it a different object as input; the viewer is responsible for informing
-the content provider of these kinds of wholesale changes (<tt>IContentProvider.inputChanged</tt>).
-Also, each viewer registers with its label provider for notification of
-changes that would affect what the viewer displays (see <tt>ILabelProviderListener.stateChanged</tt>).
-<p>Note: None of the classes in this package maintain global state.
-<br>&nbsp;
-</body>
-</html>
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/window/ApplicationWindow.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/window/ApplicationWindow.java
deleted file mode 100644
index 4141921..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/window/ApplicationWindow.java
+++ /dev/null
@@ -1,676 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.window;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.runtime.NullProgressMonitor;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.graphics.Font;
-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.Decorations;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Layout;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.ToolBar;
-
-import org.eclipse.jface.action.CoolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.StatusLineManager;
-import org.eclipse.jface.action.ToolBarManager;
-import org.eclipse.jface.operation.IRunnableContext;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.operation.ModalContext;
-import org.eclipse.jface.resource.JFaceResources;
-
-/**
- * An application window is a high-level "main window", with built-in
- * support for an optional menu bar with standard menus, an optional toolbar,
- * and an optional status line.
- * <p>
- * Creating an application window involves the following steps:
- * <ul>
- *   <li>creating an instance of <code>ApplicationWindow</code>
- *   </li>
- *   <li>assigning the window to a window manager (optional)
- *   </li>
- *   <li>opening the window by calling <code>open</code>
- *   </li>
- * </ul>
- * Only on the last step, when the window is told to open, are
- * the window's shell and widget tree created. When the window is
- * closed, the shell and widget tree are disposed of and are no longer
- * referenced, and the window is automatically removed from its window
- * manager. Like all windows, an application window may be reopened.
- * </p>
- * <p>
- * An application window is also a suitable context in which to perform 
- * long-running operations (that is, it implements <code>IRunnableContext</code>).
- * </p>
- */
-public class ApplicationWindow extends Window implements IRunnableContext {
-
-	/**
-	 * Menu bar manager, or <code>null</code> if none (default).
-	 *
-	 * @see #addMenuBar
-	 */
-	private MenuManager menuBarManager = null;
-
-	/**
-	 * Tool bar manager, or <code>null</code> if none (default).
-	 *
-	 * @see #addToolBar
-	 */
-	private ToolBarManager toolBarManager = null;
-
-	/**
-	 * Status line manager, or <code>null</code> if none (default).
-	 *
-	 * @see #addStatusLine
-	 */
-	private StatusLineManager statusLineManager = null;
-	
-	/**
-	 * Cool bar manager, or <code>null</null> if none (default).
-	 * 
-	 * @see #addCoolBar
-	 * @since 3.0
-	 */
-	private CoolBarManager coolBarManager = null;
-	
-	/**
-	 * The seperator between the menu bar and the rest of the window.
-	 */
-	protected Label seperator1;
-	
-	/**
-	 * A flag indicating that an operation is running.
-	 */
-	private boolean operationInProgress = false;
-	
-	/**
-	 * Internal application window layout class.
-	 * This vertical layout supports a tool bar area (fixed size),
-	 * a separator line, the content area (variable size), and a 
-	 * status line (fixed size).
-	 */
-	/*package*/ class ApplicationWindowLayout extends Layout {
-	
-		static final int VGAP = 2;
-		static final int BAR_SIZE = 23;
-		
-		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 hide= false;
-				if (getToolBarControl() == w) {
-					if (!toolBarChildrenExist()) {
-						hide= true;
-						result.y+= BAR_SIZE;	// REVISIT
-					} 
-				}else if (getCoolBarControl() == w) {
-					if (!coolBarChildrenExist()) {
-						hide = true;
-						result.y+= BAR_SIZE;
-					}
-				}else if (statusLineManager != null && statusLineManager.getControl() == w) {
-				} else if (i > 0) { /* we assume this window is contents */
-					hide= false;
-				}
-				
-				if (! hide) {
-					Point e= w.computeSize(wHint, hHint, flushCache);
-					result.x= Math.max(result.x, e.x);
-					result.y+= e.y + VGAP;
-				}
-			}
-			
-			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();
-	
-			Control[] ws= composite.getChildren();
-			
-			for (int i= 0; i < ws.length; i++) {
-				Control w= ws[i];
-				
-				if (i == 0) { // Separator
-					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 (getToolBarControl() == w) { 
-					if (toolBarChildrenExist()) {
-						Point e= w.computeSize(SWT.DEFAULT, SWT.DEFAULT, flushCache);
-						w.setBounds(clientArea.x, clientArea.y, clientArea.width, e.y);
-						clientArea.y+= e.y + VGAP;
-						clientArea.height-= e.y + VGAP;
-					} 
-				}else if (getCoolBarControl() == w) {
-					if (coolBarChildrenExist()) {
-						Point e= w.computeSize(clientArea.width, SWT.DEFAULT, flushCache);
-						w.setBounds(clientArea.x, clientArea.y, clientArea.width, e.y);
-						clientArea.y+= e.y + VGAP;
-						clientArea.height-= e.y + VGAP;
-					}
-				}else if (statusLineManager != null && statusLineManager.getControl() == w) {
-					Point e= w.computeSize(SWT.DEFAULT, SWT.DEFAULT, flushCache);
-					w.setBounds(clientArea.x, clientArea.y+clientArea.height-e.y, clientArea.width, e.y);
-					clientArea.height-= e.y + VGAP;
-				} else {
-					w.setBounds(clientArea.x, clientArea.y + VGAP, clientArea.width, clientArea.height - VGAP);
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Return the top seperator.
-	 * @return Label
-	 */
-	protected Label getSeperator1() {
-		return seperator1;
-	}
-
-/**
- * Create an application window instance, whose shell will be created under the
- * given parent shell.
- * Note that the window will have no visual representation (no widgets)
- * until it is told to open. By default, <code>open</code> does not block.
- *
- * @param parentShell the parent shell, or <code>null</code> to create a top-level shell
- */
-public ApplicationWindow(Shell parentShell) {
-	super(parentShell);
-}
-/**
- * Configures this window to have a menu bar.
- * Does nothing if it already has one.
- * This method must be called before this window's shell is created.
- */
-protected void addMenuBar() {
-	if ((getShell() == null) && (menuBarManager == null)) {
-		menuBarManager = createMenuManager();
-	}
-}
-/**
- * Configures this window to have a status line.
- * Does nothing if it already has one.
- * This method must be called before this window's shell is created.
- */
-protected void addStatusLine() {
-	if ((getShell() == null) && (statusLineManager == null)) {
-		statusLineManager = createStatusLineManager();
-	}
-}
-/**
- * Configures this window to have a tool bar.
- * Does nothing if it already has one.
- * This method must be called before this window's shell is created.
- */
-protected void addToolBar(int style) {
-	if ((getShell() == null) && (toolBarManager == null) && (coolBarManager == null)) {
-		toolBarManager = createToolBarManager(style);
-	}
-}
-/**
- * Configures this window to have a cool bar.
- * Does nothing if it already has one.
- * This method must be called before this window's shell is created.
- * 
- * @param style the cool bar style
- * @since 3.0
- */
-protected void addCoolBar(int style) {
-	if ((getShell() == null) && (toolBarManager == null) && (coolBarManager == null)) {
-		coolBarManager = createCoolBarManager(style);
-	} 
-}
-/* (non-Javadoc)
- * Method declared on Window.
- */ 
-protected boolean canHandleShellCloseEvent() {
-	return super.canHandleShellCloseEvent() && !operationInProgress;
-}
-/* (non-Javadoc)
- * Method declared on Window.
- */
-public boolean close() {
-	if(operationInProgress)
-		return false;
-		
-	if (super.close()) {
-	    if (menuBarManager != null) {
-	        menuBarManager.dispose();
-	        menuBarManager = null;
-	    }
-	    if (toolBarManager != null) {
-	        toolBarManager.dispose();
-	        toolBarManager = null;
-	    }
-	    if (statusLineManager != null) {
-	        statusLineManager.dispose();
-	        statusLineManager = null;
-	    }
-	    if (coolBarManager != null) {
-	        coolBarManager.dispose();
-	        coolBarManager = null;
-	    }
-		return true;
-	}
-	return false;
-}
-/**
- * Extends the super implementation by creating the trim widgets using <code>createTrimWidgets</code>. 
- */
-protected void configureShell(Shell shell) {
-
-	super.configureShell(shell);
-	
-	createTrimWidgets(shell);
-}
-
-/**
- * Creates the trim widgets around the content area.
- * 
- * @param shell the shell
- * @since 3.0
- */
-protected void createTrimWidgets(Shell shell){
-	if (menuBarManager != null) {
-		menuBarManager.updateAll(true);
-		shell.setMenuBar(menuBarManager.createMenuBar((Decorations)shell));
-	}
-
-	if (showTopSeperator()) //$NON-NLS-1$
-		 seperator1 = new Label(shell, SWT.SEPARATOR | SWT.HORIZONTAL);
-
-    // will create either a cool bar or a tool bar
-    createToolBarControl(shell);
-    createCoolBarControl(shell);
-    createStatusLine(shell);
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.jface.window.Window#getLayout()
- */
-protected Layout getLayout() {
-	return new ApplicationWindowLayout();
-}
-
-
-/**
- * Returns whether to show a top separator line between the menu bar
- * and the rest of the window contents.  On some platforms such as the Mac,
- * the menu is separated from the main window already, so a separator line
- * is not desired. 
- * 
- * @return <code>true</code> to show the top separator, <code>false</code>
- *   to not show it
- * @since 3.0
- */
-protected boolean showTopSeperator() {
-	return ! "carbon".equals(SWT.getPlatform()); //$NON-NLS-1$
-}
-
-/**
- * Create the status line if required.
- * @param shell
- */
-protected void createStatusLine(Shell shell) {
-	if (statusLineManager != null) {
-		statusLineManager.createControl(shell, SWT.NONE);
-	}
-}
-/**
- * Returns a new menu manager for the window.
- * <p>
- * Subclasses may override this method to customize the menu manager.
- * </p>
- * @return a menu manager
- */
-protected MenuManager createMenuManager() {
-	return new MenuManager();
-}
-/**
- * Returns a new status line manager for the window.
- * <p>
- * Subclasses may override this method to customize the status line manager.
- * </p>
- * @return a status line manager
- */
-protected StatusLineManager createStatusLineManager() {
-	return new StatusLineManager();
-}
-/**
- * Returns a new tool bar manager for the window.
- * <p>
- * Subclasses may override this method to customize the tool bar manager.
- * </p>
- * @return a tool bar manager
- */
-protected ToolBarManager createToolBarManager(int style) {
-	return new ToolBarManager(style);
-}
-/**
- * Returns a new cool bar manager for the window.
- * <p>
- * Subclasses may override this method to customize the cool bar manager.
- * </p>
- * 
- * @return a cool bar manager
- * @since 3.0
- */
-protected CoolBarManager createCoolBarManager(int style) {
-	return new CoolBarManager(style);
-}
-
-/**
- * Creates the control for the tool bar manager.
- * <p>
- * Subclasses may override this method to customize the tool bar manager.
- * </p>
- * @return a Control
- */
-protected Control createToolBarControl(Composite parent) {
-	if (toolBarManager != null) {
-		return toolBarManager.createControl(parent);
-	} 
-	return null;
-}
-
-/**
- * Creates the control for the cool bar manager.
- * <p>
- * Subclasses may override this method to customize the cool bar manager.
- * </p>
- * 
- * @return an instance of <code>CoolBar</code>
- * @since 3.0
- */
-protected Control createCoolBarControl(Composite composite) {
-	if (coolBarManager != null) {
-		return coolBarManager.createControl(composite);
-	}
-	return null;
-}
-/**
- * Returns the default font used for this window.
- * <p>
- * The default implementation of this framework method
- * obtains the symbolic name of the font from the
- * <code>getSymbolicFontName</code> framework method
- * and retrieves this font from JFace's font
- * registry using <code>JFaceResources.getFont</code>.
- * Subclasses may override to use a different registry,
- * etc.
- * </p>
- *
- * @return the default font, or <code>null</code> if none
- */
-protected Font getFont() {
-	return JFaceResources.getFont(getSymbolicFontName());
-}
-/**
- * Returns the menu bar manager for this window (if it has one).
- *
- * @return the menu bar manager, or <code>null</code> if
- *   this window does not have a menu bar
- * @see #addMenuBar
- */
-public MenuManager getMenuBarManager() {
-	return menuBarManager;
-}
-/**
- * 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 statusLineManager;
-}
-
-/**
- * Returns the symbolic font name of the font to be
- * used to display text in this window.
- * This is not recommended and is included for backwards
- * compatability.
- * It is recommended to use the default font provided by
- * SWT (that is, do not set the font).
- * 
- * @return the symbolic font name
- */
-public String getSymbolicFontName() {
-	return JFaceResources.TEXT_FONT;
-}
-/**
- * Returns the tool bar manager for this window (if it has one).
- *
- * @return the tool bar manager, or <code>null</code> if
- *   this window does not have a tool bar
- * @see #addToolBar
- */
-public ToolBarManager getToolBarManager() {
-	return toolBarManager;
-}
-/**
- * Returns the cool bar manager for this window.
- *
- * @return the cool bar manager, or <code>null</code> if
- *   this window does not have a cool bar
- * @see #addCoolBar
- * @since 3.0
- */
-public CoolBarManager getCoolBarManager() {
-	return coolBarManager;
-}
-/**
- * Returns the control for the window's toolbar.
- * <p>
- * Subclasses may override this method to customize the tool bar manager.
- * </p>
- * @return a Control
- */
-protected Control getToolBarControl() {
-	if (toolBarManager != null) {
-		return toolBarManager.getControl();
-	}
-	return null;
-}
-/**
- * Returns the control for the window's cool bar.
- * <p>
- * Subclasses may override this method to customize the cool bar manager.
- * </p>
- * 
- * @return an instance of <code>CoolBar</code>
- * @since 3.0
- */
-protected Control getCoolBarControl() {
-	if (coolBarManager != null) {
-		return coolBarManager.getControl();
-	}
-	return null;
-}
-
-/* (non-Javadoc)
- * Method declared on IRunnableContext.
- */
-public void run(final boolean fork, boolean cancelable, final IRunnableWithProgress runnable) throws InvocationTargetException, InterruptedException {
-	try {
-		operationInProgress = true;
-		final StatusLineManager mgr = getStatusLineManager();
-		if (mgr == null) {
-			runnable.run(new NullProgressMonitor());
-			return;
-		}
-		boolean cancelWasEnabled = mgr.isCancelEnabled();
-	
-		final Control contents = getContents();
-		final Display display = contents.getDisplay();
-		Shell shell = getShell();
-		boolean contentsWasEnabled = contents.getEnabled();
-		MenuManager manager = getMenuBarManager();
-		Menu menuBar = null;
-		if (manager != null) {
-			menuBar = manager.getMenu();
-			manager = null;
-		}
-		boolean menuBarWasEnabled = false;
-		if (menuBar != null)
-			menuBarWasEnabled = menuBar.isEnabled();
-	
-		Control toolbarControl = getToolBarControl();
-		boolean toolbarWasEnabled = false;
-		if (toolbarControl != null) 
-			toolbarWasEnabled = toolbarControl.getEnabled();
-	
-		Control coolbarControl = getCoolBarControl();
-		boolean coolbarWasEnabled = false;
-		if (coolbarControl != null) 
-			coolbarWasEnabled = coolbarControl.getEnabled();
-		
-		// Disable the rest of the shells on the current display
-		Shell[] shells = display.getShells();
-		boolean[] enabled = new boolean[shells.length];
-		for (int i = 0; i < shells.length; i++) {
-			Shell current = shells[i];
-			if (current == shell) continue;
-			if (current != null && !current.isDisposed()) {
-				enabled[i] = current.getEnabled();
-				current.setEnabled(false);
-			}
-		}
-	
-		Control currentFocus = display.getFocusControl();
-		try {
-			contents.setEnabled(false);
-			if (menuBar != null) menuBar.setEnabled(false);
-			if (toolbarControl != null) toolbarControl.setEnabled(false);
-			if (coolbarControl != null) coolbarControl.setEnabled(false);
-			mgr.setCancelEnabled(cancelable);
-			final Exception[] holder = new Exception[1];
-			BusyIndicator.showWhile(display, new Runnable() {
-				public void run() {
-					try {
-						ModalContext.run(runnable, fork, mgr.getProgressMonitor(), display);
-					} catch (InvocationTargetException ite) {
-						holder[0] = ite;
-					} catch (InterruptedException ie) {
-						holder[0] = ie;
-					}
-				}});
-	
-			if (holder[0] != null) {
-				if (holder[0] instanceof InvocationTargetException) {
-					throw (InvocationTargetException) holder[0];
-				} else if (holder[0] instanceof InterruptedException) {
-					throw (InterruptedException) holder[0];
-				}
-			}
-		} finally {
-			operationInProgress = false;
-			// Enable the rest of the shells on the current display
-			for (int i = 0; i < shells.length; i++) {
-				Shell current = shells[i];
-				if (current == shell) continue;
-				if (current != null && !current.isDisposed()) {
-					current.setEnabled(enabled[i]);
-				}
-			}
-			if (!contents.isDisposed())
-				contents.setEnabled(contentsWasEnabled);
-			if (menuBar != null && !menuBar.isDisposed())
-				menuBar.setEnabled(menuBarWasEnabled);
-			if (toolbarControl != null && !toolbarControl.isDisposed())
-				toolbarControl.setEnabled(toolbarWasEnabled);
-			if (coolbarControl != null && !coolbarControl.isDisposed())
-				coolbarControl.setEnabled(coolbarWasEnabled);
-			mgr.setCancelEnabled(cancelWasEnabled);
-			if (currentFocus != null && !currentFocus.isDisposed()) {
-			    // It's necessary to restore focus after reenabling the controls
-			    // because disabling them causes focus to jump elsewhere.
-			    // Use forceFocus rather than setFocus to avoid SWT's
-			    // search for children which can take focus, so focus
-			    // ends up back on the actual control that previously had it.
-			    currentFocus.forceFocus();
-			}
-		}
-	} finally {
-		operationInProgress = false;
-	}
-}
-/**
- * Sets or clears the message displayed in this window's status
- * line (if it has one). This method has no effect if the
- * window does not have a status line.
- *
- * @param message the status message, or <code>null</code> to clear it
- */
-public void setStatus(String message) {
-	if (statusLineManager != null) {
-		statusLineManager.setMessage(message);
-	}
-}
-/**
- * Returns whether or not children exist for the Application Window's
- * toolbar control.
- * <p>
- * @return boolean true if children exist, false otherwise
- */
-protected boolean toolBarChildrenExist() {
-	Control toolControl = getToolBarControl();
-	if (toolControl instanceof ToolBar) {
-		return ((ToolBar)toolControl).getItemCount() > 0;
-	}
-	return false;
-}
-
-/**
- * Returns whether or not children exist for this application window's
- * cool bar control.
- * 
- * @return boolean true if children exist, false otherwise
- * @since 3.0
- */
-protected boolean coolBarChildrenExist() {
-	Control coolControl = getCoolBarControl();
-	if (coolControl instanceof CoolBar) {
-		return ((CoolBar)coolControl).getItemCount() > 0;
-	}
-	return false;
-}
-
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/window/Window.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/window/Window.java
deleted file mode 100644
index 9b0b16b..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/window/Window.java
+++ /dev/null
@@ -1,850 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.window;
-
-import java.util.ArrayList;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.util.Geometry;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ShellAdapter;
-import org.eclipse.swt.events.ShellEvent;
-import org.eclipse.swt.events.ShellListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Layout;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Monitor;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * A JFace window is an object that has no visual representation (no widgets)
- * until it is told to open.
- * <p>
- * Creating a window involves the following steps:
- * <ul>
- *   <li>creating an instance of a concrete subclass of <code>Window</code>
- *   </li>
- *   <li>creating the window's shell and widget tree by calling
- *     <code>create</code> (optional)
- *   </li>
- *   <li>assigning the window to a window manager using 
- *     <code>WindowManager.add</code> (optional)
- *   </li>
- *   <li>opening the window by calling <code>open</code>
- *   </li>
- * </ul>
- * Opening the window will create its shell and widget tree if they have not
- * already been created. When the window is closed, the shell and widget tree
- * are disposed of and are no longer referenced, and the window is automatically
- * removed from its window manager. A window may be reopened.
- * </p>
- * <p>
- * The JFace window framework (this package) consists of this class, 
- * <code>Window</code>, the abstract base of all windows, and one concrete
- * window classes (<code>ApplicationWindow</code>) which may also be subclassed.
- * Clients may define additional window subclasses as required.
- * </p>
- * <p>
- * The <code>Window</code> class provides the following methods which subclasses
- * may override:
- * <ul>
- *   <li><code>close</code> - extend to free other SWT resources</li>
- *   <li><code>configureShell</code> - extend or reimplement to set shell
- *      properties before window opens</li>
- *   <li><code>createContents</code> - extend or reimplement to create
- *      controls before window opens</li>
- *   <li><code>getInitialSize</code> - reimplement to give the initial 
- *      size for the shell</li>
- *   <li><code>getInitialLocation</code> - reimplement to give the initial 
- *      location for the shell</li>
- *   <li><code>getShellListener</code> - extend or reimplement to receive
- *      shell events</li>
- *   <li><code>getToolTipText</code> - reimplement to add tool tips</li>
- *   <li><code>handleFontChange</code> - reimplement to respond to font
- *      changes</li>
- *   <li><code>handleShellCloseEvent</code> - extend or reimplement to handle
- *      shell closings</li>
- * </ul>
- * </p>
- */
-public abstract class Window {
-	
-	/**
-	 * Standard return code constant (value 0) indicating that the
-	 * window was opened.
-	 *
-	 * @see #open
-	 */
-	public static final int OK = 0;
-
-	/**
-	 * Standard return code constant (value 1) indicating that the
-	 * window was canceled.
-	 *
-	 * @see #open
-	 */
-	public static final int CANCEL = 1;
-	
-	/**
-	 * An array of images to be used for the window.  It is
-	 * expected that the array will contain the same icon
-	 * rendered at different resolutions.
-	 */
-	private static Image[] defaultImages;
-
-	/**
-	 * This interface defines a Exception Handler which 
-	 * can be set as a global handler and will be called
-	 * if an exception happens in the event loop.
-	 */
-	public static interface IExceptionHandler {
-		public void handleException(Throwable t);
-	}
-	/**
-	 * Defines a default exception handler.
-	 */
-	private static class DefaultExceptionHandler implements IExceptionHandler {
-		public void handleException(Throwable t) {
-			if(t instanceof ThreadDeath)
-				// Don't catch ThreadDeath as this is a normal occurrence when the thread dies
-				throw (ThreadDeath)t;
-			else
-				// Try to keep running.
-				t.printStackTrace();
-		}
-	}
-	/**
-	 * The exception handler for this application.
-	 */
-	private static IExceptionHandler exceptionHandler = new DefaultExceptionHandler();
-	
-	/**
-	 * The parent shell.
-	 */
-	private Shell parentShell;
-	 
-	/**
-	 * Shell style bits.
-	 * 
-	 * @see #setShellStyle
-	 */
-	private int shellStyle = SWT.SHELL_TRIM;
-
-	/**
-	 * Window manager, or <code>null</code> if none.
-	 * 
-	 * @see #setWindowManager
-	 */
-	private WindowManager windowManager;
-
-	/**
-	 * Window shell, or <code>null</code> if none.
-	 */
-	private Shell shell;
-
-	/**
-	 * Top level SWT control, or <code>null</code> if none
-	 */
-	private Control contents;
-	
-	/**
-	 * Window return code; initially <code>OK</code>.
-	 * 
-	 * @see #setReturnCode
-	 */
-	private int returnCode = OK;
-
-	/**
-	 * <code>true</code> if the <code>open</code> method should
-	 * not return until the window closes, and <code>false</code> if the
-	 * <code>open</code> method should return immediately;
-	 * initially <code>false</code> (non-blocking).
-	 * 
-	 * @see #setBlockOnOpen
-	 */
-	private boolean block = false;
-
-	/**
-	 * Internal class for informing this window when fonts change.
-	 */
-	private class FontChangeListener implements IPropertyChangeListener {
-		public void propertyChange(PropertyChangeEvent event) {
-			handleFontChange(event);
-		}
-	}
-	
-	/**
-	 * Internal font change listener.
-	 */
-	private FontChangeListener fontChangeListener;
-
-	/**
-	 * Internal fields to detect if shell size has been set
-	 */
-	private boolean resizeHasOccurred = false;
-	private Listener resizeListener;
-	
-/**
- * Creates a window instance, whose shell will be created under the
- * given parent shell.
- * Note that the window will have no visual representation until it is told 
- * to open. By default, <code>open</code> does not block.
- *
- * @param parentShell the parent shell, or <code>null</code> to create a top-level shell
- * @see #setBlockOnOpen
- */
-protected Window(Shell parentShell) {
-	this.parentShell = parentShell;
-}
-/**
- * Determines if the window should handle the close event
- * or do nothing.
- * <p>
- * The default implementation of this framework method
- * returns <code>true</code>, which will allow the
- * <code>handleShellCloseEvent</code> method to be called.
- * Subclasses may extend or reimplement.
- * </p>
- * 
- * @return whether the window should handle the close event.
- */
-protected boolean canHandleShellCloseEvent() {
-	return true;
-}
-/**
- * Closes this window, disposes its shell, and removes this
- * window from its window manager (if it has one).
- * <p>
- * This framework method may be extended (<code>super.close</code> must be 
- * called).
- * </p>
- *
- * @return <code>true</code> if the window is (or was already) closed, 
- *   and <code>false</code> if it is still open
- */
-public boolean close() {
-	if (shell == null || shell.isDisposed())
-		return true;
-
-	// stop listening for font changes
-	if (fontChangeListener != null) {
-		JFaceResources.getFontRegistry().removeListener(fontChangeListener);
-		fontChangeListener = null;
-	}
-
-	// If we "close" the shell recursion will occur.
-	// Instead, we need to "dispose" the shell to remove it from the display.
-	shell.dispose();
-	shell = null;
-	contents = null;
-
-	if (windowManager != null) {
-		windowManager.remove(this);
-		windowManager = null;
-	}
-	return true;		
-}
-/**
- * Configures the given shell in preparation for opening this window
- * in it.
- * <p>
- * The default implementation of this framework method
- * sets the shell's image and gives it a grid layout. 
- * Subclasses may extend or reimplement.
- * </p>
- * 
- * @param newShell the shell
- */
-protected void configureShell(Shell newShell) {
-
-	// The single image version of this code had a comment related to bug 46624,
-	// and some code that did nothing if the stored image was already disposed.
-	// The equivalent in the multi-image version seems to be to remove the
-	// disposed images from the array passed to the shell.
-	if(defaultImages != null && defaultImages.length > 0) {
-		ArrayList nonDisposedImages = new ArrayList(defaultImages.length);
-			for (int i = 0; i < defaultImages.length; ++i)
-				if (defaultImages[i] != null && !defaultImages[i].isDisposed())
-					nonDisposedImages.add(defaultImages[i]);
-
-		if(nonDisposedImages.size() <= 0)
-			System.err.println("Window.configureShell: images disposed"); //$NON-NLS-1$
-		else {
-			Image[] array = new Image[nonDisposedImages.size()];
-			nonDisposedImages.toArray(array);
-			newShell.setImages(array);
-		}
-	}
-
-	Layout layout = getLayout();
-	if (layout != null)
-		newShell.setLayout(layout);
-}
-
-
-/**
- * Creates the layout for the shell. The layout
- * created here will be attached to the composite
- * passed into createContents. The default implementation
- * returns a GridLayout with no margins. Subclasses
- * that change the layout type by overriding this method
- * should also override createContents.
- * 
- * <p>A return value of null indicates that no layout 
- * should be attached to the composite. In this case, the
- * layout may be attached within createContents.</p>
- * 
- * @return a newly created Layout or null if no layout should be 
- * attached. 
- * @since 3.0
- */
-protected Layout getLayout() {
-	GridLayout layout = new GridLayout();
-	layout.marginHeight = 0;
-	layout.marginWidth = 0;
-	return layout;
-}
-/**
- * Constrain the shell size to be no larger than the display bounds.
- * 
- * @since 2.0
- */
-protected void constrainShellSize() {
-	// limit the shell size to the display size
-	Rectangle bounds = shell.getBounds();
-	Rectangle constrained = getConstrainedShellBounds(bounds);
-	if (!bounds.equals(constrained)) {
-		shell.setBounds(constrained);
-	}
-}
-/**
- * Creates this window's widgetry in a new top-level shell.
- * <p>
- * The default implementation of this framework method
- * creates this window's shell (by calling <code>createShell</code>),
- * and its controls (by calling <code>createContents</code>),
- * then initializes this window's shell bounds 
- * (by calling <code>initializeBounds</code>).
- * </p>
- */
-public void create() {
-	shell = createShell();
-	contents = createContents(shell);
-
-	//initialize the bounds of the shell to that appropriate for the contents
-	initializeBounds();
-}
-/**
- * Creates and returns this window's contents. Subclasses may attach
- * any number of children to the parent. As a convenience, the return value 
- * of this method will be remembered and returned by subsequent calls to
- * getControl(). Subclasses may modify the parent's layout if they overload
- * getLayout() to return null. 
- * 
- * <p>It is common practise to create and return a single composite that
- * contains the entire window contents.</p>   
- * 
- * <p>
- * The default implementation of this framework method
- * creates an instance of <code>Composite</code>.
- * Subclasses may override.
- * </p>
- * 
- * @param parent the parent composite for the controls in
- * this window. The type of layout used is determined by getLayout()
- * 
- * @return the control that will be returned by subsequent calls to
- * getControl()
- */
-protected Control createContents(Composite parent) {
-	// by default, just create a composite 
-	return new Composite(parent, SWT.NONE);
-}
-/**
- * Creates and returns this window's shell.
- * <p>
- * The default implementation of this framework method creates
- * a new shell and configures it using <code/>configureShell</code>. Rather 
- * than override this method, subclasses should instead override 
- * <code/>configureShell</code>.
- * </p>
- * 
- * @return the shell
- */
-protected final Shell createShell() {
-
-	//Create the shell
-	Shell newShell = new Shell(getParentShell(), getShellStyle());
-
-	resizeListener = new Listener() {
-		public void handleEvent(Event e) {
-			resizeHasOccurred = true;
-		}
-	};
-	
-	newShell.addListener(SWT.Resize,resizeListener);
-	newShell.setData(this);
-
-	//Add a listener
-	newShell.addShellListener(getShellListener());
-	
-	//Set the layout
-	configureShell(newShell);
-		
-	//Register for font changes
-	if (fontChangeListener == null) {
-		fontChangeListener= new FontChangeListener();
-	}
-	JFaceResources.getFontRegistry().addListener(fontChangeListener);
-
-	return newShell;
-}
-/**
- * Returns the top level control for this window.
- * The parent of this control is the shell.
- *
- * @return the top level control, or <code>null</code> if this window's
- *   control has not been created yet
- */
-protected Control getContents() {
-	return contents;
-}
-/**
- * Returns the default image. This is the image that will
- * be used for windows that have no shell image at the time they
- * are opened. There is no default image unless one is
- * installed via <code>setDefaultImage</code>.
- *
- * @return the default  image, or <code>null</code> if none
- * @see #setDefaultImage
- */
-public static Image getDefaultImage() {
-	return (defaultImages == null || defaultImages.length < 1)
-			? null
-			: defaultImages[0];
-}
-
-/**
- * Returns the array of default images to use for newly opened windows.
- * It is expected that the array will contain the same icon rendered at
- * different resolutions.
- * 
- * @see org.eclipse.swt.widgets.Decorations#setImages
- * 
- * @return the array of images to be used when a new window is opened
- * @see #setDefaultImages
- * @since 3.0
- */
-public static Image[] getDefaultImages() {
-	return (defaultImages == null ? new Image[0] : defaultImages);
-}
-
-/**
- * Returns the initial location to use for the shell.
- * The default implementation centers the shell horizontally 
- * (1/2 of the difference to the left and 1/2 to the right)
- * and vertically (1/3 above and 2/3 below) relative to the parent shell, 
- * or display bounds if there is no parent shell.
- *
- * @param initialSize the initial size of the shell, as returned by <code>getInitialSize</code>.
- * @return the initial location of the shell
- */
-protected Point getInitialLocation(Point initialSize) {
-	Composite parent = shell.getParent();
-	
-	Monitor monitor = shell.getDisplay().getPrimaryMonitor();
-	if (parent != null) {
-		monitor = parent.getMonitor();
-	}
-	
-	Rectangle monitorBounds = monitor.getClientArea();
-	Point centerPoint;
-	if (parent != null) {
-		centerPoint = Geometry.centerPoint(parent.getBounds());
-	} else {
-		centerPoint = Geometry.centerPoint(monitorBounds);
-	}
-	
-	return new Point(centerPoint.x - (initialSize.x / 2), 
-			Math.max(monitorBounds.y, Math.min(centerPoint.y - (initialSize.y * 2 / 3),
-							monitorBounds.y + monitorBounds.height - initialSize.y)));
-}
-/**
- * Returns the initial size to use for the shell.
- * The default implementation returns the preferred size of the shell,
- * using <code>Shell.computeSize(SWT.DEFAULT, SWT.DEFAULT, true)</code>.
- *
- * @return the initial size of the shell
- */
-protected Point getInitialSize() {
-	return shell.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
-}
-/**
- * Returns parent shell, under which this window's shell is created.
- *
- * @return the parent shell, or <code>null</code> if there is no parent shell
- */
-protected Shell getParentShell() {
-	return parentShell;
-}
-/**
- * Returns this window's return code.
- * A window's return codes are window-specific, although two standard
- * return codes are predefined: <code>OK</code> and <code>CANCEL</code>.
- *
- * @return the return code
- */
-public int getReturnCode() {
-	return returnCode;
-}
-/**
- * Returns this window's shell.
- *
- * @return this window's shell, or <code>null</code> if this window's
- *   shell has not been created yet
- */
-public Shell getShell() {
-	return shell;
-}
-/**
- * Returns a shell listener. This shell listener gets registered
- * with this window's shell.
- * <p>
- * The default implementation of this framework method
- * returns a new listener that makes this window the
- * active window for its window manager (if it has one)
- * when the shell is activated, and calls the framework
- * method <code>handleShellCloseEvent</code> when the
- * shell is closed. Subclasses may extend or reimplement.
- * </p>
- *
- * @return a shell listener
- */
-protected ShellListener getShellListener() {
-	return new ShellAdapter() {
-		public void shellClosed(ShellEvent event) {
-			event.doit= false;	// don't close now
-			if (canHandleShellCloseEvent())
-				handleShellCloseEvent();
-		}
-	};
-}
-/**
- * Returns the shell style bits.
- * <p>
- * The default value is <code>SWT.CLOSE|SWT.MIN|SWT.MAX|SWT.RESIZE</code>.
- * Subclassers should call <code>setShellStyle</code> to
- * change this value, rather than overriding this method.
- * </p>
- *
- * @return the shell style bits
- */
-protected int getShellStyle() {
-	return shellStyle;
-}
-/**
- * Returns the window manager of this window.
- *
- * @return the WindowManager, or <code>null</code> if none
- */
-public WindowManager getWindowManager() {
-	return windowManager;
-}
-/**
- * Notifies of a font property change.
- * <p>
- * The default implementation of this framework method
- * does nothing. Subclasses may reimplement.
- * </p>
- *
- * @param event the property change event detailing what changed
- */
-protected void handleFontChange(PropertyChangeEvent event) {
-	// do nothing
-}
-/**
- * Notifies that the window's close button was pressed, 
- * the close menu was selected, or the ESCAPE key pressed.
- * <p>
- * The default implementation of this framework method
- * sets the window's return code to <code>CANCEL</code>
- * and closes the window using <code>close</code>.
- * Subclasses may extend or reimplement.
- * </p>
- */
-protected void handleShellCloseEvent() {
-	setReturnCode(CANCEL);
-	close();
-}
-/**
- * Initializes the location and size of this window's SWT shell 
- * after it has been created.
- * <p>
- * This framework method is called by the <code>create</code> framework method. 
- * The default implementation calls <code>getInitialSize</code> and
- * <code>getInitialLocation</code> and passes the results to <code>Shell.setBounds</code>.
- * This is only done if the bounds of the shell have not already been modified.
- * Subclasses may extend or reimplement. 
- * </p>
- */
-protected void initializeBounds() {
-	if (resizeListener != null) {
-		shell.removeListener(SWT.Resize,resizeListener);
-	}
-	if (resizeHasOccurred) { // Check if shell size has been set already.
-		return;
-	}
-
-	Point size = getInitialSize();
-	Point location = getInitialLocation(size);
-	shell.setBounds(getConstrainedShellBounds(new Rectangle(location.x, location.y, size.x, size.y)));
-}
-/**
- * Opens this window, creating it first if it has not yet been created.
- * <p>
- * If this window has been configured to block on open
- * (<code>setBlockOnOpen</code>), this method waits until
- * the window is closed by the end user, and then it returns the window's
- * return code; otherwise, this method returns immediately.
- * A window's return codes are window-specific, although two standard
- * return codes are predefined: <code>OK</code> and <code>CANCEL</code>.
- * </p>
- *
- * @return the return code
- *
- * @see #create()
- */
-public int open() {
-
-	if (shell == null) {
-		// create the window
-		create();
-	}
-
-	// limit the shell size to the display size
-	constrainShellSize();
-	
-	// open the window
-	shell.open();
-
-	// run the event loop if specified
-	if (block) 
-		runEventLoop(shell);	
-
-	return returnCode;
-}
-/**
- * Runs the event loop for the given shell.
- *
- * @param shell the shell
- */
-private void runEventLoop(Shell shell) {
-	
-	//Use the display provided by the shell if possible
-	Display display;
-	if(shell == null)
-		 display = Display.getCurrent();
-	else
-		display = shell.getDisplay();
-		
-	while (shell != null && ! shell.isDisposed()) {
-		try {
-			if (!display.readAndDispatch())
-				display.sleep();
-		} catch (Throwable e) {
-			exceptionHandler.handleException(e);
-		}
-	}
-	display.update();
-}
-/**
- * Sets whether the <code>open</code> method should block
- * until the window closes.
- *
- * @param shouldBlock <code>true</code> if the
- *   <code>open</code> method should not return 
- *   until the window closes, and <code>false</code> if the
- *   <code>open</code> method should return immediately
- */
-public void setBlockOnOpen(boolean shouldBlock) {
-	block = shouldBlock;
-}
-/**
- * Sets the default image. This is the image that will
- * be used for windows that have no shell image at the time they
- * are opened. There is no default image unless one is
- * installed via this method.
- *
- * @param image the default image, or <code>null</code> if none
- */
-public static void setDefaultImage(Image image) {
-	defaultImages = image == null ? null : new Image[]{image};
-}
-
-/**
- * Sets the array of default images to use for newly opened windows.
- * It is expected that the array will contain the same icon rendered at
- * different resolutions.
- * 
- * @see org.eclipse.swt.widgets.Decorations#setImages
- * 
- * @param images
- *            the array of images to be used when this window is
- *            opened
- * @since 3.0
- */
-public static void setDefaultImages(Image[] images) {
-	Image[] newArray = new Image[images.length];
-	System.arraycopy(images, 0, newArray, 0, newArray.length);
-	defaultImages = newArray;
-}
-
-/**
- * Sets this window's return code. The return code is automatically returned
- * by <code>open</code> if block on open is enabled. For non-blocking
- * opens, the return code needs to be retrieved manually using 
- * <code>getReturnCode</code>.
- *
- * @param code the return code
- */
-protected void setReturnCode(int code) {
-	returnCode = code;
-}
-
-/**
- * Returns the monitor whose client area contains the given point. If no monitor
- * contains the point, returns the monitor that is closest to the point. 
- * If this is ever made public, it should be moved into a separate utility class.
- * 
- * @param toSearch point to find (display coordinates)
- * @param toFind point to find (display coordinates)
- * @return the montor closest to the given point 
- */
-private static Monitor getClosestMonitor(Display toSearch, Point toFind) {
-	int closest = Integer.MAX_VALUE;
-	
-	Monitor[] monitors = toSearch.getMonitors();
-	Monitor result = monitors[0];
-	
-	for (int idx = 0; idx < monitors.length; idx++) {
-		Monitor current = monitors[idx];
-		
-		Rectangle clientArea = current.getClientArea();
-		
-		if (clientArea.contains(toFind)) {
-			return current;
-		}
-		
-		int distance = Geometry.distanceSquared(Geometry.centerPoint(clientArea), toFind);
-		if (distance < closest) {
-			closest = distance;
-			result = current;
-		}
-	}
-	
-	return result;
-}
-
-/**
- * Given the desired position of the window, this method returns an 
- * adjusted position such that the window is no larger than its monitor,
- * and does not extend beyond the edge of the monitor. This is used for
- * computing the initial window position, and subclasses can use this
- * as a utility method if they want to limit the region in which the
- * window may be moved. 
- * 
- * @param preferredSize the preferred position of the window
- * @return a rectangle as close as possible to preferredSize that does
- * not extend outside the monitor 
- * 
- * @since 3.0
- */
-protected Rectangle getConstrainedShellBounds(Rectangle preferredSize) {
-	Rectangle result = new Rectangle(preferredSize.x, preferredSize.y, 
-			preferredSize.width, preferredSize.height);
-
-	Monitor mon = getClosestMonitor(getShell().getDisplay(), Geometry.centerPoint(result));
-	
-	Rectangle bounds = mon.getClientArea();
-	
-	if (result.height > bounds.height) {
-		result.height = bounds.height;
-	}
-	
-	if (result.width > bounds.width) {
-		result.width = bounds.width;
-	}
-	
-	result.x = Math.max(bounds.x, Math.min(result.x, 
-					bounds.x + bounds.width - result.width));
-	result.y = Math.max(bounds.y, Math.min(result.y,
-					bounds.y + bounds.height - result.height));
-			
-	return result;		
-}
-
-/**
- * Sets the shell style bits.
- * This method has no effect after the shell is created.
- * <p>
- * The shell style bits are used by the framework method
- * <code>createShell</code> when creating this window's shell.
- * </p>
- *
- * @param newShellStyle the new shell style bits
- */
-protected void setShellStyle(int newShellStyle) {
-	shellStyle = newShellStyle;
-}
-/**
- * Sets the window manager of this window.
- * <p>
- * Note that this method is used by <code>WindowManager</code> to maintain a
- * backpointer. Clients must not call the method directly.
- * </p>
- *
- * @param manager the window manager, or <code>null</code> if none
- */
-public void setWindowManager(WindowManager manager) {
-	windowManager = manager;
-
-	// Code to detect invalid usage
-
-	if (manager != null) {
-		Window[] windows = manager.getWindows();
-		for (int i = 0; i < windows.length; i++) {
-			if (windows[i] == this)
-				return;
-		}
-		manager.add(this);
-	}
-}
-/**
- * Sets the exception handler for this application.
- * <p>
- * Note that only one handler may be set. Other calls to this method will be ignored.
- * <p>
- * @param the exception handler for the application.
- */
-public static void setExceptionHandler(IExceptionHandler handler) {
-	if(exceptionHandler instanceof DefaultExceptionHandler)
-		exceptionHandler = handler;
-}
-
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/window/WindowManager.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/window/WindowManager.java
deleted file mode 100644
index 3f58ee0..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/window/WindowManager.java
+++ /dev/null
@@ -1,149 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.window;
-
-import java.util.*;
-
-import org.eclipse.jface.util.Assert;
-
-/**
- * A manager for a group of windows. Window managers are an optional JFace 
- * feature used in applications which create many different windows (dialogs,
- * wizards, etc.) in addition to a main window. A window manager can be used to
- * remember all the windows that an application has created (independent of 
- * whether they are presently open or closed). There can be several window
- * managers, and they can be arranged into a tree. This kind of organization 
- * makes it simple to close whole subgroupings of windows.
- * <p>
- * Creating a window manager is as simple as creating an instance of 
- * <code>WindowManager</code>. Associating a window with a window manager is 
- * done with <code>WindowManager.add(Window)</code>. A window is automatically
- * removed from its window manager as a side effect of closing the window.
- * </p>
- *
- * @see Window
- */
-public class WindowManager {
-
-	/**
-	 * List of windows managed by this window manager
-	 * (element type: <code>Window</code>).
-	 */
-	private ArrayList windows= new ArrayList();
-
-	/**
-	 * List of window managers who have this window manager
-	 * as their parent (element type: <code>WindowManager</code>).
-	 */
-	private List subManagers;
-/**
- * Creates an empty window manager without a parent window
- * manager (that is, a root window manager).
- */
-public WindowManager() {
-}
-/**
- * Creates an empty window manager with the given
- * window manager as parent.
- *
- * @param parent the parent window manager
- */
-public WindowManager(WindowManager parent) {
-	Assert.isNotNull(parent);
-	parent.addWindowManager(this);
-}
-/**
- * Adds the given window to the set of windows managed by
- * this window manager. Does nothing is this window is
- * already managed by this window manager.
- *
- * @param window the window
- */
-public void add(Window window) {
-	if (!windows.contains(window)) {
-		windows.add(window);
-		window.setWindowManager(this);
-	}
-}
-/**
- * Adds the given window manager to the list of
- * window managers that have this one as a parent.
- * </p>
- * @param wm the child window manager
- */
-private void addWindowManager(WindowManager wm) {
-	if (subManagers == null)
-		subManagers = new ArrayList();
-	if (!subManagers.contains(wm)) {
-		subManagers.add(wm);
-	}
-}
-/**
- * Attempts to close all windows managed by this window manager,
- * as well as windows managed by any descendent window managers.
- *
- * @return <code>true</code> if all windows were sucessfully closed, 
- * and <code>false</code> if any window refused to close
- */
-public boolean close() {
-	List t= (List) windows.clone();	// make iteration robust 
-	Iterator e= t.iterator();
-	while (e.hasNext()) {
-		Window window= (Window) e.next();
-		boolean closed = window.close();
-		if (!closed)
-			return false;
-	}
-	if (subManagers != null) {
-		e= subManagers.iterator();
-		while (e.hasNext()) {
-			WindowManager wm= (WindowManager)e.next();
-			boolean closed = wm.close();
-			if (!closed)
-				return false;
-		}	
-	}
-	return true;
-}
-/**
- * Returns this window manager's number of windows
- * 
- * @return the number of windows
- * @since 3.0
- * @issue Why not use getWindows().length?
- */
-public int getWindowCount() {
-	return windows.size();
-}
-/**
- * Returns this window manager's set of windows.
- *
- * @return a possibly empty list of window
- */
-public Window[] getWindows() {
-	Window bs[] = new Window[windows.size()];
-	windows.toArray(bs);
-	return bs;
-}
-/**
- * Removes the given window from the set of windows managed by
- * this window manager. Does nothing is this window is
- * not managed by this window manager.
- *
- * @param window the window
- */
-public final void remove(Window window) {
-	if (windows.contains(window)) {
-		windows.remove(window);
-		window.setWindowManager(null);
-	}
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/window/package.html b/bundles/org.eclipse.jface/src/org/eclipse/jface/window/package.html
deleted file mode 100644
index 7667685..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/window/package.html
+++ /dev/null
@@ -1,31 +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 general framework for creating and managing
-windows.
-<h2>
-Package Specification</h2>
-A JFace window is an object that has no visual representation (no widgets)
-until it is told to open. All JFace windows, including dialogs, are instances
-of the abstract class <tt>Window</tt> or a subclass. This package contains
-the base window classes:
-<tt>Window</tt> itself, which provides support
-for a basic windows; and <tt>ApplicationWindow</tt>, which provides ready-to-use
-support for a high-level "main window" with standard menus, tool bar, and
-status line. Both of these classes may be subclassed to define additional
-types of window as required.
-<p>This package also contains <tt>WindowManager</tt>, instance of which
-are used for managing a group of windows. Window managers are useful in
-applications which create many different windows (dialogs, wizards, etc.)
-in addition to a main window. Window managers are not required for simple
-applications.
-<p>The only global state maintained by classes in this package is a default
-image for window title bars (<tt>Window.setDefaultImage</tt>).
-</body>
-</html>
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/IWizard.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/IWizard.java
deleted file mode 100644
index d5938d6..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/IWizard.java
+++ /dev/null
@@ -1,213 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.wizard;
-
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Interface for a wizard.  A wizard maintains a list of wizard pages,
- * stacked on top of each other in card layout fashion.
- * <p>
- * The class <code>Wizard</code> provides an abstract implementation
- * of this interface. However, clients are also free to implement this 
- * interface if <code>Wizard</code> does not suit their needs.
- * </p>
- * @see Wizard
- */
-public interface IWizard {
-/**
- * Adds any last-minute pages to this wizard.
- * <p>
- * This method is called just before the wizard becomes visible, to give the 
- * wizard the opportunity to add any lazily created pages.
- * </p>
- */
-public void addPages();
-/**
- * Returns whether this wizard could be finished without further user
- * interaction.
- * <p>
- * The result of this method is typically used by the wizard container to enable
- * or disable the Finish button.
- * </p>
- *
- * @return <code>true</code> if the wizard could be finished,
- *   and <code>false</code> otherwise
- */
-public boolean canFinish();
-/**
- * Creates this wizard's controls in the given parent control.
- * <p>
- * The wizard container calls this method to create the controls
- * for the wizard's pages before the wizard is opened. This allows
- * the wizard to size correctly; otherwise a resize may occur when
- * moving to a new page.
- * </p>
- *
- * @param pageContainer the parent control
- */
-public void createPageControls(Composite pageContainer);
-/**
- * Disposes of this wizard and frees all SWT resources.
- */
-public void dispose();
-/**
- * Returns the container of this wizard.
- *
- * @return the wizard container, or <code>null</code> if this
- *   wizard has yet to be added to a container
- */
-public IWizardContainer getContainer();
-/**
- * Returns the default page image for this wizard.
- * <p>
- * This image can be used for pages which do not
- * supply their own image.
- * </p>
- *
- * @return the default page image
- */
-public Image getDefaultPageImage();
-/**
- * Returns the dialog settings for this wizard.
- * <p>
- * The dialog store is used to record state between
- * wizard invocations (for example, radio button selections,
- * last directory, etc.).
- * </p>
- *
- * @return the dialog settings, or <code>null</code> if none
- */
-public IDialogSettings getDialogSettings();
-/**
- * Returns the successor of the given page.
- * <p>
- * This method is typically called by a wizard page
- * </p>
- *
- * @param page the page
- * @return the next page, or <code>null</code> if none
- */
-public IWizardPage getNextPage(IWizardPage page);
-/**
- * Returns the wizard page with the given name belonging to this wizard.
- *
- * @param pageName the name of the wizard page
- * @return the wizard page with the given name, or <code>null</code> if none
- */
-public IWizardPage getPage(String pageName);
-/**
- * Returns the number of pages in this wizard.
- *
- * @return the number of wizard pages
- */
-public int getPageCount();
-/**
- * Returns all the pages in this wizard.
- *
- * @return a list of pages
- */
-public IWizardPage[] getPages();
-/**
- * Returns the predecessor of the given page.
- * <p>
- * This method is typically called by a wizard page
- * </p>
- *
- * @param page the page
- * @return the previous page, or <code>null</code> if none
- */
-public IWizardPage getPreviousPage(IWizardPage page);
-/**
- * Returns the first page to be shown in this wizard.
- *
- * @return the first wizard page
- */
-public IWizardPage getStartingPage();
-/**
- * Returns the title bar color for this wizard.
- *
- * @return the title bar color
- */
-public RGB getTitleBarColor();
-/**
- * Returns the window title string for this wizard.
- *
- * @return the window title string, or <code>null</code> for no title
- */
-public String getWindowTitle();
-/**
- * Returns whether help is available for this wizard.
- * <p>
- * The result of this method is typically used by the container to
- * show or hide the Help button.
- * </p>
- *
- * @return <code>true</code> if help is available,
- *   and <code>false</code> if this wizard is helpless
- */
-public boolean isHelpAvailable();
-/**
- * Returns whether this wizard needs Previous and Next buttons.
- * <p>
- * The result of this method is typically used by the container.
- * </p>
- *
- * @return <code>true</code> if Previous and Next buttons are required,
- *   and <code>false</code> if none are needed
- */
-public boolean needsPreviousAndNextButtons();
-/**
- * Returns whether this wizard needs a progress monitor.
- * <p>
- * The result of this method is typically used by the container.
- * </p>
- *
- * @return <code>true</code> if a progress monitor is required,
- *   and <code>false</code> if none is needed
- */
-public boolean needsProgressMonitor();
-/**
- * Performs any actions appropriate in response to the user 
- * having pressed the Cancel button, or refuse if canceling
- * now is not permitted.
- *
- * @return <code>true</code> to indicate the cancel request
- *   was accepted, and <code>false</code> to indicate
- *   that the cancel request was refused
- */
-public boolean performCancel();
-/**
- * Performs any actions appropriate in response to the user 
- * having pressed the Finish button, or refuse if finishing
- * now is not permitted.
- *
- * Normally this method is only called on the container's
- * current wizard. However if the current wizard is a nested wizard
- * this method will also be called on all wizards in its parent chain.
- * Such parents may use this notification to save state etc. However,
- * the value the parents return from this method is ignored.
- *
- * @return <code>true</code> to indicate the finish request
- *   was accepted, and <code>false</code> to indicate
- *   that the finish request was refused
- */
-public boolean performFinish();
-/**
- * Sets or clears the container of this wizard.
- *
- * @param wizardContainer the wizard container, or <code>null</code> 
- */
-public void setContainer(IWizardContainer wizardContainer);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/IWizardContainer.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/IWizardContainer.java
deleted file mode 100644
index c2efd56..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/IWizardContainer.java
+++ /dev/null
@@ -1,109 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.wizard;
-
-import org.eclipse.jface.operation.IRunnableContext;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Interface for containers that can host a wizard. It displays
- * wizard pages, at most one of which is considered
- * the current page. <code>getCurrentPage</code> returns the
- * current page; <code>showPage</code> programmatically changes the
- * the current page. Note that the pages need not all belong
- * to the same wizard.
- * <p>
- * The class <code>WizardDialog</code> provides a fully functional 
- * implementation of this interface which will meet the needs of
- * most clients. However, clients are also free to implement this 
- * interface if <code>WizardDialog</code> does not suit their needs.
- * </p>
- * <p>
- * Implementors are responsible for disposing of their wizards.
- * </p>
- * 
- * @see org.eclipse.jface.wizard.IWizardContainer2
- */
-public interface IWizardContainer extends IRunnableContext {
-/**
- * Returns the current wizard page for this container.
- *
- * @return the current wizard page, or <code>null</code> if the container
- *   is not yet showing the wizard
- * @see #showPage
- */
-public IWizardPage getCurrentPage();
-/**
- * Returns the shell for this wizard container.
- *
- * @return the shell, or <code>null</code> if this wizard
- *   container does not have a shell
- */
-public Shell getShell();
-/**
- * Makes the given page visible.
- * <p>
- * This method should not be use for normal page
- * sequencing (back, next) which is handled by the 
- * container itself. It may, however, be used to
- * move to another page in response to some custom
- * action such as double clicking in a list.
- * </p>
- *
- * @param page the page to show
- * @see #getCurrentPage
- */
-public void showPage(IWizardPage page);
-/**
- * Adjusts the enable state of the Back, Next, and Finish 
- * buttons to reflect the state of the currently active 
- * page in this container.
- * <p>
- * This method is called by the container itself
- * when its wizard page changes and may be called
- * by the page at other times to force a button state
- * update.
- * </p>
- */
-public void updateButtons();
-/**
- * Updates the message (or error message) shown in the message line to 
- * reflect the state of the currently active page in this container.
- * <p>
- * This method is called by the container itself
- * when its wizard page changes and may be called
- * by the page at other times to force a message 
- * update.
- * </p>
- */
-public void updateMessage();
-/**
- * Updates the title bar (title, description, and image) to 
- * reflect the state of the currently active page in this container.
- * <p>
- * This method is called by the container itself
- * when its wizard page changes and may be called
- * by the page at other times to force a title bar 
- * update.
- * </p>
- */
-public void updateTitleBar();
-/**
- * Updates the window title to reflect the state of the current wizard.
- * <p>
- * This method is called by the container itself
- * when its wizard changes and may be called
- * by the wizard at other times to force a window 
- * title change.
- * </p>
- */
-public void updateWindowTitle();
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/IWizardContainer2.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/IWizardContainer2.java
deleted file mode 100644
index 8e67f7e..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/IWizardContainer2.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.wizard;
-
-
-/**
- * <p><code>IWizardContainer2</code> is a supplement to 
- * <code>IWizardContainer</code> that adds a method for updating the size of 
- * the wizard shell based on the contents of the current page.</p>
- * 
- * <p>The class <code>WizardDialog</code> provides a fully functional 
- * implementation of this interface which will meet the needs of
- * most clients. However, clients are also free to implement this 
- * interface if <code>WizardDialog</code> does not suit their needs.
- * </p>
- * 
- * @see org.eclipse.jface.wizard.IWizardContainer
- * @since 3.0
- */
-public interface IWizardContainer2 extends IWizardContainer {
-    
-    /**
-     * Updates the window size to reflect the state of the current wizard.
-     * <p>
-     * This method is called by the container itself
-     * when its wizard changes and may be called
-     * by the wizard at other times to force a window 
-     * size change.
-     * </p>
-     */    
-    public void updateSize();
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/IWizardNode.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/IWizardNode.java
deleted file mode 100644
index a0a3d2c..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/IWizardNode.java
+++ /dev/null
@@ -1,74 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.wizard;
-
-import org.eclipse.swt.graphics.Point;
-
-/**
- * A wizard node acts a placeholder for a real wizard in a wizard 
- * selection page. It is done in such a way that the actual creation
- * of a wizard can be deferred until the wizard is really needed.
- * <p>
- * When a wizard node comes into existence, its wizard may or may
- * not have been created yet; <code>isContentCreated</code> can
- * be used to determine which. A node may be asked for its wizard
- * using <code>getWizard</code>, which will force it to be created
- * if required. Once the client is done with a wizard node, its
- * <code>dispose</code>method must be called to free up the wizard;
- * once disposes, the node should no longer be used.
- * </p>
- * <p>
- * This interface should be implemented by clients wishing to
- * support this kind of wizard placeholder in a wizard selection page.
- * </p>
- *
- * @see WizardSelectionPage
- */
-public interface IWizardNode {
-/**
- * Disposes the wizard managed by this node. Does nothing
- * if the wizard has not been created.
- * <p>
- * This is the last message that should ever be sent to this node.
- * </p>
- */
-public void dispose();
-/**
- * Returns the extent of the wizard for this node.
- * <p>
- * If the content has not yet been created, calling this method
- * does not trigger the creation of the wizard. This allows
- * this node to suggest an extent in advance of actually creating 
- * the wizard.
- * </p>
- *
- * @return the extent, or <code>(-1, -1)</code> extent is not known
- */
-public Point getExtent();
-/**
- * Returns the wizard this node stands for.
- * <p>
- * If the content has not been created beforehand, calling this
- * method triggers the creation of the wizard and caches it so that
- * the identical wizard object is returned on subsequent calls.
- * </p>
- *
- * @return the wizard
- */ 
-public IWizard getWizard();
-/**
- * Returns whether a wizard has been created for this node.
- *
- * @return <code>true</code> if a wizard has been created,
- *   and <code>false</code> otherwise
- */
-public boolean isContentCreated();
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/IWizardPage.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/IWizardPage.java
deleted file mode 100644
index 92176c4..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/IWizardPage.java
+++ /dev/null
@@ -1,89 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.wizard;
-
-import org.eclipse.jface.dialogs.IDialogPage;
-
-/**
- * Interface for a wizard page.
- * <p>
- * The class <code>WizardPage</code> provides an abstract implementation
- * of this interface. However, clients are also free to implement this 
- * interface if <code>WizardPage</code> does not suit their needs.
- * </p>
- */
-public interface IWizardPage extends IDialogPage {
-/**
- * Returns whether the next page could be displayed.
- *
- * @return <code>true</code> if the next page could be displayed,
- *   and <code>false</code> otherwise
- */
-public boolean canFlipToNextPage();
-/**
- * Returns this page's name.
- *
- * @return the name of this page
- */
-public String getName();
-/**
- * Returns the wizard page that would to be shown if the user was to
- * press the Next button.
- *
- * @return the next wizard page, or <code>null</code> if none
- */
-public IWizardPage getNextPage();
-/**
- * Returns the wizard page that would to be shown if the user was to
- * press the Back button.
- *
- * @return the previous wizard page, or <code>null</code> if none
- */
-public IWizardPage getPreviousPage();
-/**
- * Returns the wizard that hosts this wizard page.
- *
- * @return the wizard, or <code>null</code> if this page has not been
- *   added to any wizard
- * @see #setWizard
- */
-public IWizard getWizard();
-/**
- * Returns whether this page is complete or not.
- * <p>
- * This information is typically used by the wizard to decide
- * when it is okay to finish.
- * </p>
- *
- * @return <code>true</code> if this page is complete, and
- *  <code>false</code> otherwise
- */
-public boolean isPageComplete();
-/**
- * Sets the wizard page that would typically be shown 
- * if the user was to press the Back button.
- * <p>
- * This method is called by the container.
- * </p>
- *
- * @param page the previous wizard page
- */
-public void setPreviousPage(IWizardPage page);
-/**
- * Sets the wizard that hosts this wizard page.
- * Once established, a page's wizard cannot be changed
- * to a different wizard.
- *
- * @param newWizard the wizard
- * @see #getWizard
- */
-public void setWizard(IWizard newWizard);
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/ProgressMonitorPart.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/ProgressMonitorPart.java
deleted file mode 100644
index 48c06bc..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/ProgressMonitorPart.java
+++ /dev/null
@@ -1,271 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.wizard;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IProgressMonitorWithBlocking;
-import org.eclipse.core.runtime.IStatus;
-
-import org.eclipse.jface.dialogs.ProgressIndicator;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * A standard implementation of an IProgressMonitor. It consists
- * of a label displaying the task and subtask name, and a
- * progress indicator to show progress. In contrast to 
- * <code>ProgressMonitorDialog</code> this class only implements
- * <code>IProgressMonitor</code>.
- */
-public class ProgressMonitorPart extends Composite implements IProgressMonitorWithBlocking {
-
-	protected Label fLabel;
-	protected String fTaskName;
-	protected String fSubTaskName;
-	protected ProgressIndicator fProgressIndicator;
-	protected Control fCancelComponent;
-	protected boolean fIsCanceled;
-	
-	protected IStatus blockedStatus;
-	
-	protected Listener fCancelListener= new Listener() {
-		public void handleEvent(Event e) {
-			setCanceled(true);
-			if (fCancelComponent != null)
-				fCancelComponent.setEnabled(false);
-		}	
-	};
-	
-	/**
-	 * Creates a ProgressMonitorPart.
-	 * @param parent The SWT parent of the part.
-	 * @param layout The SWT grid bag layout used by the part. A client
-	 * can supply the layout to control how the progress monitor part
-	 * is layed out. If null is passed the part uses its default layout.
-	 */
-	public ProgressMonitorPart(Composite parent, Layout layout) {
-		this(parent, layout, SWT.DEFAULT);
-	}
-	/**
-	 * Creates a ProgressMonitorPart.
-	 * @param parent The SWT parent of the part.
-	 * @param layout The SWT grid bag layout used by the part. A client
-	 * can supply the layout to control how the progress monitor part
-	 * is layed out. If null is passed the part uses its default layout.
-	 * @param progressIndicatorHeight The height of the progress indicator in pixel.
-	 */
-	public ProgressMonitorPart(Composite parent, Layout layout, int progressIndicatorHeight) {
-		super(parent, SWT.NONE);
-		initialize(layout, progressIndicatorHeight);
-	}
-	/**
-	 * Attaches the progress monitor part to the given cancel
-	 * component. 
-	 * @param cancelComponent the control whose selection will
-	 * trigger a cancel
-	 */
-	public void attachToCancelComponent(Control cancelComponent) {
-		Assert.isNotNull(cancelComponent);
-		fCancelComponent= cancelComponent;
-		fCancelComponent.addListener(SWT.Selection, fCancelListener);
-	}
-	/**
-	 * Implements <code>IProgressMonitor.beginTask</code>.
-	 * @see IProgressMonitor#beginTask(java.lang.String, int)
-	 */
-	public void beginTask(String name, int totalWork) {
-		fTaskName= name;
-		updateLabel();
-		if (totalWork == IProgressMonitor.UNKNOWN || totalWork == 0) {
-			fProgressIndicator.beginAnimatedTask();
-		} else {
-			fProgressIndicator.beginTask(totalWork);
-		}	
-	}
-	/**
-	 * Implements <code>IProgressMonitor.done</code>.
-	 * @see IProgressMonitor#done()
-	 */
-	public void done() {
-		fLabel.setText("");//$NON-NLS-1$
-		fProgressIndicator.sendRemainingWork();
-		fProgressIndicator.done();
-	}
-	/**
-	 * Escapes any occurrence of '&' in the given String so that
-	 * it is not considered as a mnemonic
-	 * character in SWT ToolItems, MenuItems, Button and Labels.
-	 * @param in the original String
-	 * @return The converted String
-	 */
-	protected static String escapeMetaCharacters(String in) {
-		if (in == null || in.indexOf('&') < 0)
-			return in;
-		int length= in.length();
-		StringBuffer out= new StringBuffer(length+1);
-		for (int i= 0; i < length; i++) {
-			char c= in.charAt(i);
-			if (c == '&')
-				out.append("&&");//$NON-NLS-1$
-			else
-				out.append(c);
-		}
-		return out.toString();
-	}
-	/**
-	 * Creates the progress monitor's UI parts and layouts them
-	 * according to the given layout. If the layou is <code>null</code>
-	 * the part's default layout is used.
-	 * @param layout The layoutfor the receiver.
-	 * @param progressIndicatorHeight The suggested height of the indicator
-	 */
-	protected void initialize(Layout layout, int progressIndicatorHeight) {
-		if (layout == null) {
-			GridLayout l= new GridLayout();
-			l.marginWidth= 0;
-			l.marginHeight= 0;
-			l.numColumns= 1;
-			layout= l;
-		}
-		setLayout(layout);
-	
-		fLabel= new Label(this, SWT.LEFT);
-		fLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-	
-		if (progressIndicatorHeight == SWT.DEFAULT) {
-			GC gc= new GC(fLabel);
-			FontMetrics fm= gc.getFontMetrics();
-			gc.dispose();
-			progressIndicatorHeight= fm.getHeight();
-		}
-		
-		fProgressIndicator= new ProgressIndicator(this);
-		GridData gd= new GridData();
-		gd.horizontalAlignment= GridData.FILL;
-		gd.grabExcessHorizontalSpace= true;
-		gd.verticalAlignment= GridData.CENTER;
-		gd.heightHint= progressIndicatorHeight;
-		fProgressIndicator.setLayoutData(gd);
-	}
-	/**
-	 * Implements <code>IProgressMonitor.internalWorked</code>.
-	 * @see IProgressMonitor#internalWorked(double)
-	 */
-	public void internalWorked(double work) {
-		fProgressIndicator.worked(work);
-	}
-	/**
-	 * Implements <code>IProgressMonitor.isCanceled</code>.
-	 * @see IProgressMonitor#isCanceled()
-	 */
-	public boolean isCanceled() {
-		return fIsCanceled;
-	}
-	/**
-	 * Detach the progress monitor part from the given cancel
-	 * component
-	 * @param cc
-	 */
-	public void removeFromCancelComponent(Control cc) {
-		Assert.isTrue(fCancelComponent == cc && fCancelComponent != null);
-		fCancelComponent.removeListener(SWT.Selection, fCancelListener);
-		fCancelComponent= null;
-	}
-	/**
-	 * Implements <code>IProgressMonitor.setCanceled</code>.
-	 * @see IProgressMonitor#setCanceled(boolean)
-	 */
-	public void setCanceled(boolean b) {
-		fIsCanceled= b;
-	}
-	/**
-	 * Sets the progress monitor part's font.
-	 */
-	public void setFont(Font font) {
-		super.setFont(font);
-		fLabel.setFont(font);
-		fProgressIndicator.setFont(font);
-	}
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IProgressMonitor#setTaskName(java.lang.String)
-	 */
-	public void setTaskName(String name) {
-		fTaskName= name;
-		updateLabel();
-	}
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IProgressMonitor#subTask(java.lang.String)
-	 */
-	public void subTask(String name) {
-		fSubTaskName= name;
-		updateLabel();
-	}
-
-	/**
-	 * Updates the label with the current task and subtask names.
-	 */
-	protected void updateLabel() {
-		if(blockedStatus == null){
-			String text = taskLabel();
-			fLabel.setText(text);
-		}
-		else
-			fLabel.setText(blockedStatus.getMessage());
-		
-		//Force an update as we are in the UI Thread
-		fLabel.update();
-	}
-	
-	
-
-	/**
-	 * Return the label for showing tasks
-	 * @return String
-	 */
-	private String taskLabel() {
-		String text = fSubTaskName == null ? "" : fSubTaskName; //$NON-NLS-1$
-		if (fTaskName != null && fTaskName.length() > 0) {
-			text = JFaceResources.format("Set_SubTask", new Object[] {fTaskName, text});//$NON-NLS-1$
-		}
-		return escapeMetaCharacters(text);
-	}
-	/**
-	 * Implements <code>IProgressMonitor.worked</code>.
-	 * @see IProgressMonitor#worked(int)
-	 */
-	public void worked(int work) {
-		internalWorked(work);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IProgressMonitorWithBlocking#clearBlocked()
-	 */
-	public void clearBlocked() {
-		blockedStatus = null;
-		updateLabel();
-
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IProgressMonitorWithBlocking#setBlocked(org.eclipse.core.runtime.IStatus)
-	 */
-	public void setBlocked(IStatus reason) {
-		blockedStatus = reason;
-		updateLabel();
-
-	}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/Wizard.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/Wizard.java
deleted file mode 100644
index f9c235d..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/Wizard.java
+++ /dev/null
@@ -1,418 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.wizard;
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Shell;
-/**
- * An abstract base implementation of a wizard. A typical client subclasses
- * <code>Wizard</code> to implement a particular wizard.
- * <p>
- * Subclasses may call the following methods to configure the wizard:
- * <ul>
- * <li><code>addPage</code></li>
- * <li><code>setHelpAvailable</code></li>
- * <li><code>setDefaultPageImageDescriptor</code></li>
- * <li><code>setDialogSettings</code></li>
- * <li><code>setNeedsProgressMonitor</code></li>
- * <li><code>setTitleBarColor</code></li>
- * <li><code>setWindowTitle</code></li>
- * </ul>
- * </p>
- * <p>
- * Subclasses may override these methods if required:
- * <ul>
- * <li>reimplement <code>createPageControls</code></li>
- * <li>reimplement <code>performCancel</code></li>
- * <li>extend <code>addPages</code></li>
- * <li>reimplement <code>performFinish</code></li>
- * <li>extend <code>dispose</code></li>
- * </ul>
- * </p>
- * <p>
- * Note that clients are free to implement <code>IWizard</code> from scratch
- * instead of subclassing <code>Wizard</code>. Correct implementations of
- * <code>IWizard</code> will work with any correct implementation of
- * <code>IWizardPage</code>.
- * </p>
- */
-public abstract class Wizard implements IWizard {
-	/**
-	 * Image registry key of the default image for wizard pages (value
-	 * <code>"org.eclipse.jface.wizard.Wizard.pageImage"</code>).
-	 */
-	public static final String DEFAULT_IMAGE = "org.eclipse.jface.wizard.Wizard.pageImage";//$NON-NLS-1$
-	/*
-	 * Register the default page image
-	 */
-	static {
-		JFaceResources.getImageRegistry()
-				.put(
-						DEFAULT_IMAGE,
-						ImageDescriptor.createFromFile(Wizard.class,
-								"images/page.gif"));//$NON-NLS-1$
-	}
-	/**
-	 * The wizard container this wizard belongs to; <code>null</code> if none.
-	 */
-	private IWizardContainer container = null;
-	/**
-	 * This wizard's list of pages (element type: <code>IWizardPage</code>).
-	 */
-	private List pages = new ArrayList();
-	/**
-	 * Indicates whether this wizard needs a progress monitor.
-	 */
-	private boolean needsProgressMonitor = false;
-	/**
-	 * Indicates whether this wizard needs previous and next buttons even if the
-	 * wizard has only one page.
-	 */
-	private boolean forcePreviousAndNextButtons = false;
-	/**
-	 * Indicates whether this wizard supports help.
-	 */
-	private boolean isHelpAvailable = false;
-	/**
-	 * The default page image for pages without one of their one;
-	 * <code>null</code> if none.
-	 */
-	private Image defaultImage = null;
-	/**
-	 * The default page image descriptor, used for creating a default page image
-	 * if required; <code>null</code> if none.
-	 */
-	private ImageDescriptor defaultImageDescriptor = null;
-	/**
-	 * The color of the wizard title bar; <code>null</code> if none.
-	 */
-	private RGB titleBarColor = null;
-	/**
-	 * The window title string for this wizard; <code>null</code> if none.
-	 */
-	private String windowTitle = null;
-	/**
-	 * The dialog settings for this wizard; <code>null</code> if none.
-	 */
-	private IDialogSettings dialogSettings = null;
-	/**
-	 * Creates a new empty wizard.
-	 */
-	protected Wizard() {
-		super();
-	}
-	/**
-	 * Adds a new page to this wizard. The page is inserted at the end of the
-	 * page list.
-	 * 
-	 * @param page
-	 *            the new page
-	 */
-	public void addPage(IWizardPage page) {
-		pages.add(page);
-		page.setWizard(this);
-	}
-	/**
-	 * The <code>Wizard</code> implementation of this <code>IWizard</code>
-	 * method does nothing. Subclasses should extend if extra pages need to be
-	 * added before the wizard opens. New pages should be added by calling
-	 * <code>addPage</code>.
-	 */
-	public void addPages() {
-	}
-	/*
-	 * (non-Javadoc) Method declared on IWizard.
-	 */
-	public boolean canFinish() {
-		// Default implementation is to check if all pages are complete.
-		for (int i = 0; i < pages.size(); i++) {
-			if (!((IWizardPage) pages.get(i)).isPageComplete())
-				return false;
-		}
-		return true;
-	}
-	/**
-	 * The <code>Wizard</code> implementation of this <code>IWizard</code>
-	 * method creates all the pages controls using
-	 * <code>IDialogPage.createControl</code>. Subclasses should reimplement
-	 * this method if they want to delay creating one or more of the pages
-	 * lazily. The framework ensures that the contents of a page will be created
-	 * before attempting to show it.
-	 */
-	public void createPageControls(Composite pageContainer) {
-		// the default behavior is to create all the pages controls
-		for (int i = 0; i < pages.size(); i++) {
-			IWizardPage page = (IWizardPage) pages.get(i);
-			page.createControl(pageContainer);
-			// page is responsible for ensuring the created control is
-			// accessable
-			// via getControl.
-			Assert.isNotNull(page.getControl());
-		}
-	}
-	/**
-	 * The <code>Wizard</code> implementation of this <code>IWizard</code>
-	 * method disposes all the pages controls using
-	 * <code>DialogPage.dispose</code>. Subclasses should extend this method
-	 * if the wizard instance maintains addition SWT resource that need to be
-	 * disposed.
-	 */
-	public void dispose() {
-		// notify pages
-		for (int i = 0; i < pages.size(); i++) {
-			((IWizardPage) pages.get(i)).dispose();
-		}
-		// dispose of image
-		if (defaultImage != null) {
-			defaultImage.dispose();
-			defaultImage = null;
-		}
-	}
-	/*
-	 * (non-Javadoc) Method declared on IWizard.
-	 */
-	public IWizardContainer getContainer() {
-		return container;
-	}
-	/*
-	 * (non-Javadoc) Method declared on IWizard.
-	 */
-	public Image getDefaultPageImage() {
-		if (defaultImage != null)
-			return defaultImage;
-		if (defaultImageDescriptor != null) {
-			defaultImage = defaultImageDescriptor.createImage();
-			return defaultImage;
-		}
-		return JFaceResources.getImageRegistry().get(DEFAULT_IMAGE);
-	}
-	/*
-	 * (non-Javadoc) Method declared on IWizard.
-	 */
-	public IDialogSettings getDialogSettings() {
-		return dialogSettings;
-	}
-	/*
-	 * (non-Javadoc) Method declared on IWizard. The default behavior is to
-	 * return the page that was added to this wizard after the given page.
-	 */
-	public IWizardPage getNextPage(IWizardPage page) {
-		int index = pages.indexOf(page);
-		if (index == pages.size() - 1 || index == -1)
-			// last page or page not found
-			return null;
-		return (IWizardPage) pages.get(index + 1);
-	}
-	/*
-	 * (non-Javadoc) Method declared on IWizard.
-	 */
-	public IWizardPage getPage(String name) {
-		for (int i = 0; i < pages.size(); i++) {
-			IWizardPage page = (IWizardPage) pages.get(i);
-			String pageName = page.getName();
-			if (pageName.equals(name))
-				return page;
-		}
-		return null;
-	}
-	/*
-	 * (non-Javadoc) Method declared on IWizard.
-	 */
-	public int getPageCount() {
-		return pages.size();
-	}
-	/*
-	 * (non-Javadoc) Method declared on IWizard.
-	 */
-	public IWizardPage[] getPages() {
-		return (IWizardPage[]) pages.toArray(new IWizardPage[pages.size()]);
-	}
-	/*
-	 * (non-Javadoc) Method declared on IWizard. The default behavior is to
-	 * return the page that was added to this wizard before the given page.
-	 */
-	public IWizardPage getPreviousPage(IWizardPage page) {
-		int index = pages.indexOf(page);
-		if (index == 0 || index == -1)
-			// first page or page not found
-			return null;
-		else
-			return (IWizardPage) pages.get(index - 1);
-	}
-	/**
-	 * Returns the wizard's shell if the wizard is visible. Otherwise
-	 * <code>null</code> is returned.
-	 * 
-	 * @return Shell
-	 */
-	public Shell getShell() {
-		if (container == null)
-			return null;
-		return container.getShell();
-	}
-	/*
-	 * (non-Javadoc) Method declared on IWizard. By default this is the first
-	 * page inserted into the wizard.
-	 */
-	public IWizardPage getStartingPage() {
-		if (pages.size() == 0)
-			return null;
-		return (IWizardPage) pages.get(0);
-	}
-	/*
-	 * (non-Javadoc) Method declared on IWizard.
-	 */
-	public RGB getTitleBarColor() {
-		return titleBarColor;
-	}
-	/*
-	 * (non-Javadoc) Method declared on IWizard.
-	 */
-	public String getWindowTitle() {
-		return windowTitle;
-	}
-	/*
-	 * (non-Javadoc) Method declared on IWizard.
-	 */
-	public boolean isHelpAvailable() {
-		return isHelpAvailable;
-	}
-	/*
-	 * (non-Javadoc) Method declared on IWizard.
-	 */
-	public boolean needsPreviousAndNextButtons() {
-		return forcePreviousAndNextButtons || pages.size() > 1;
-	}
-	/*
-	 * (non-Javadoc) Method declared on IWizard.
-	 */
-	public boolean needsProgressMonitor() {
-		return needsProgressMonitor;
-	}
-	/**
-	 * The <code>Wizard</code> implementation of this <code>IWizard</code>
-	 * method does nothing and returns <code>true</code>. Subclasses should
-	 * reimplement this method if they need to perform any special cancel
-	 * processing for their wizard.
-	 */
-	public boolean performCancel() {
-		return true;
-	}
-	/**
-	 * Subclasses must implement this <code>IWizard</code> method to perform
-	 * any special finish processing for their wizard.
-	 */
-	public abstract boolean performFinish();
-	/*
-	 * (non-Javadoc) Method declared on IWizard.
-	 */
-	public void setContainer(IWizardContainer wizardContainer) {
-		container = wizardContainer;
-	}
-	/**
-	 * Sets the default page image descriptor for this wizard.
-	 * <p>
-	 * This image descriptor will be used to generate an image for a page with
-	 * no image of its own; the image will be computed once and cached.
-	 * </p>
-	 * 
-	 * @param imageDescriptor
-	 *            the default page image descriptor
-	 */
-	public void setDefaultPageImageDescriptor(ImageDescriptor imageDescriptor) {
-		defaultImageDescriptor = imageDescriptor;
-	}
-	/**
-	 * Sets the dialog settings for this wizard.
-	 * <p>
-	 * The dialog settings is used to record state between wizard invocations
-	 * (for example, radio button selection, last import directory, etc.)
-	 * </p>
-	 * 
-	 * @param settings
-	 *            the dialog settings, or <code>null</code> if none
-	 * @see #getDialogSettings
-	 *  
-	 */
-	public void setDialogSettings(IDialogSettings settings) {
-		dialogSettings = settings;
-	}
-	/**
-	 * Controls whether the wizard needs Previous and Next buttons even if it
-	 * currently contains only one page.
-	 * <p>
-	 * This flag should be set on wizards where the first wizard page adds
-	 * follow-on wizard pages based on user input.
-	 * </p>
-	 * 
-	 * @param b
-	 *            <code>true</code> to always show Next and Previous buttons,
-	 *            and <code>false</code> to suppress Next and Previous buttons
-	 *            for single page wizards
-	 */
-	public void setForcePreviousAndNextButtons(boolean b) {
-		forcePreviousAndNextButtons = b;
-	}
-	/**
-	 * Sets whether help is available for this wizard.
-	 * <p>
-	 * The result of this method is typically used by the container to show or
-	 * hide the Help button.
-	 * </p>
-	 * 
-	 * @param b
-	 *            <code>true</code> if help is available, and
-	 *            <code>false</code> if this wizard is helpless
-	 * @see #isHelpAvailable
-	 */
-	public void setHelpAvailable(boolean b) {
-		isHelpAvailable = b;
-	}
-	/**
-	 * Sets whether this wizard needs a progress monitor.
-	 * 
-	 * @param b
-	 *            <code>true</code> if a progress monitor is required, and
-	 *            <code>false</code> if none is needed
-	 * @see #needsProgressMonitor()
-	 */
-	public void setNeedsProgressMonitor(boolean b) {
-		needsProgressMonitor = b;
-	}
-	/**
-	 * Sets the title bar color for this wizard.
-	 * 
-	 * @param color
-	 *            the title bar color
-	 */
-	public void setTitleBarColor(RGB color) {
-		titleBarColor = color;
-	}
-	/**
-	 * Sets the window title for the container that hosts this page to the given
-	 * string.
-	 * 
-	 * @param newTitle
-	 *            the window title for the container
-	 */
-	public void setWindowTitle(String newTitle) {
-		windowTitle = newTitle;
-		if (container != null)
-			container.updateWindowTitle();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/WizardDialog.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/WizardDialog.java
deleted file mode 100644
index 1e31e52..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/WizardDialog.java
+++ /dev/null
@@ -1,1154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.wizard;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.ControlEnableState;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.TitleAreaDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.operation.ModalContext;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.events.HelpEvent;
-import org.eclipse.swt.events.HelpListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Layout;
-import org.eclipse.swt.widgets.Shell;
-/**
- * A dialog to show a wizard to the end user. 
- * <p>
- * In typical usage, the client instantiates this class with 
- * a particular 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>
- * Clients may subclass <code>WizardDialog</code>, although this
- * is rarely required.
- * </p>
- */
-public class WizardDialog extends TitleAreaDialog implements IWizardContainer2 {
-	/**
-	 * Image registry key for error message image (value <code>"dialog_title_error_image"</code>).
-	 */
-	public static final String WIZ_IMG_ERROR = "dialog_title_error_image"; //$NON-NLS-1$
-	
-	// The wizard the dialog is currently showing.
-	private IWizard wizard;
-	// Wizards to dispose
-	private ArrayList createdWizards = new ArrayList();
-	// Current nested wizards
-	private ArrayList nestedWizards = new ArrayList();
-	// The currently displayed page.
-	private IWizardPage currentPage = null;
-	// The number of long running operation executed from the dialog.	
-	private long activeRunningOperations = 0;
-	// The current page message and description
-	private String pageMessage;
-	private int pageMessageType = IMessageProvider.NONE;
-	private String pageDescription;
-	// The progress monitor
-	private ProgressMonitorPart progressMonitorPart;
-	private Cursor waitCursor;
-	private Cursor arrowCursor;
-	private MessageDialog windowClosingDialog;
-	// Navigation buttons
-	private Button backButton;
-	private Button nextButton;
-	private Button finishButton;
-	private Button cancelButton;
-	private Button helpButton;
-	private SelectionAdapter cancelListener;
-	private boolean isMovingToPreviousPage = false;
-	private Composite pageContainer;
-	private PageContainerFillLayout pageContainerLayout = new PageContainerFillLayout(5, 5, 300,
-			225);
-	private int pageWidth = SWT.DEFAULT;
-	private int pageHeight = SWT.DEFAULT;
-	private static final String FOCUS_CONTROL = "focusControl"; //$NON-NLS-1$
-	private boolean lockedUI = false;
-	/**
-	 * A layout for a container which includes several pages, like
-	 * a notebook, wizard, or preference dialog. The size computed by
-	 * this layout is the maximum width and height of all pages currently
-	 * inserted into the container.
-	 */
-	protected class PageContainerFillLayout extends Layout {
-		/**
-		 * The margin width; <code>5</code> pixels by default.
-		 */
-		public int marginWidth = 5;
-		/**
-		 * The margin height; <code>5</code> pixels by default.
-		 */
-		public int marginHeight = 5;
-		/**
-		 * The minimum width; <code>0</code> pixels by default.
-		 */
-		public int minimumWidth = 0;
-		/**
-		 * The minimum height; <code>0</code> pixels by default.
-		 */
-		public int minimumHeight = 0;
-		/**
-		 * Creates new layout object.
-		 *
-		 * @param mw the margin width
-		 * @param mh the margin height
-		 * @param minW the minimum width
-		 * @param minH the minimum height
-		 */
-		public PageContainerFillLayout(int mw, int mh, int minW, int minH) {
-			marginWidth = mw;
-			marginHeight = mh;
-			minimumWidth = minW;
-			minimumHeight = minH;
-		}
-		/* (non-Javadoc)
-		 * Method declared on Layout.
-		 */
-		public Point computeSize(Composite composite, int wHint, int hHint, boolean force) {
-			if (wHint != SWT.DEFAULT && hHint != SWT.DEFAULT)
-				return new Point(wHint, hHint);
-			Point result = null;
-			Control[] children = composite.getChildren();
-			if (children.length > 0) {
-				result = new Point(0, 0);
-				for (int i = 0; i < children.length; i++) {
-					Point cp = children[i].computeSize(wHint, hHint, force);
-					result.x = Math.max(result.x, cp.x);
-					result.y = Math.max(result.y, cp.y);
-				}
-				result.x = result.x + 2 * marginWidth;
-				result.y = result.y + 2 * marginHeight;
-			} else {
-				Rectangle rect = composite.getClientArea();
-				result = new Point(rect.width, rect.height);
-			}
-			result.x = Math.max(result.x, minimumWidth);
-			result.y = Math.max(result.y, minimumHeight);
-			if (wHint != SWT.DEFAULT)
-				result.x = wHint;
-			if (hHint != SWT.DEFAULT)
-				result.y = hHint;
-			return result;
-		}
-		/**
-		 * Returns the client area for the given composite according to this layout.
-		 *
-		 * @param c the composite
-		 * @return the client area rectangle
-		 */
-		public Rectangle getClientArea(Composite c) {
-			Rectangle rect = c.getClientArea();
-			rect.x = rect.x + marginWidth;
-			rect.y = rect.y + marginHeight;
-			rect.width = rect.width - 2 * marginWidth;
-			rect.height = rect.height - 2 * marginHeight;
-			return rect;
-		}
-		/* (non-Javadoc)
-		 * Method declared on Layout.
-		 */
-		public void layout(Composite composite, boolean force) {
-			Rectangle rect = getClientArea(composite);
-			Control[] children = composite.getChildren();
-			for (int i = 0; i < children.length; i++) {
-				children[i].setBounds(rect);
-			}
-		}
-		/**
-		 * Lays outs the page according to this layout.
-		 *
-		 * @param w the control
-		 */
-		public void layoutPage(Control w) {
-			w.setBounds(getClientArea(w.getParent()));
-		}
-		/**
-		 * Sets the location of the page so that its origin is in the
-		 * upper left corner.
-		 *
-		 * @param w the control
-		 */
-		public void setPageLocation(Control w) {
-			w.setLocation(marginWidth, marginHeight);
-		}
-	}
-	/**
-	 * Creates a new wizard dialog for the given wizard. 
-	 *
-	 * @param parentShell the parent shell
-	 * @param newWizard the wizard this dialog is working on
-	 */
-	public WizardDialog(Shell parentShell, IWizard newWizard) {
-		super(parentShell);
-		setShellStyle(SWT.CLOSE | SWT.TITLE | SWT.BORDER | SWT.APPLICATION_MODAL | SWT.RESIZE);
-		setWizard(newWizard);
-		// since VAJava can't initialize an instance var with an anonymous
-		// class outside a constructor we do it here:
-		cancelListener = new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				cancelPressed();
-			}
-		};
-	}
-
-	
-	/**
-	 * About to start a long running operation tiggered through
-	 * the wizard. Shows the progress monitor and disables the wizard's
-	 * buttons and controls.
-	 *
-	 * @param enableCancelButton <code>true</code> if the Cancel button should
-	 *   be enabled, and <code>false</code> if it should be disabled
-	 * @return the saved UI state
-	 */
-	private Object aboutToStart(boolean enableCancelButton) {
-		Map savedState = null;
-		if (getShell() != null) {
-			// Save focus control
-			Control focusControl = getShell().getDisplay().getFocusControl();
-			if (focusControl != null && focusControl.getShell() != getShell())
-				focusControl = null;
-			boolean needsProgressMonitor = wizard.needsProgressMonitor();
-			cancelButton.removeSelectionListener(cancelListener);
-			// Set the busy cursor to all shells.
-			Display d = getShell().getDisplay();
-			waitCursor = new Cursor(d, SWT.CURSOR_WAIT);
-			setDisplayCursor(waitCursor);
-			// Set the arrow cursor to the cancel component.
-			arrowCursor = new Cursor(d, SWT.CURSOR_ARROW);
-			cancelButton.setCursor(arrowCursor);
-			// Deactivate shell
-			savedState = saveUIState(needsProgressMonitor && enableCancelButton);
-			if (focusControl != null)
-				savedState.put(FOCUS_CONTROL, focusControl);
-			// Attach the progress monitor part to the cancel button
-			if (needsProgressMonitor) {
-				progressMonitorPart.attachToCancelComponent(cancelButton);
-				progressMonitorPart.setVisible(true);
-			}
-		}
-		return savedState;
-	}
-	/**
-	 * The Back button has been pressed.
-	 */
-	protected void backPressed() {
-		IWizardPage page = currentPage.getPreviousPage();
-		if (page == null)
-			// should never happen since we have already visited the page
-			return;
-		// set flag to indicate that we are moving back
-		isMovingToPreviousPage = true;
-		// show the page
-		showPage(page);
-	}
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected void buttonPressed(int buttonId) {
-		switch (buttonId) {
-			case IDialogConstants.HELP_ID :
-				{
-					helpPressed();
-					break;
-				}
-			case IDialogConstants.BACK_ID :
-				{
-					backPressed();
-					break;
-				}
-			case IDialogConstants.NEXT_ID :
-				{
-					nextPressed();
-					break;
-				}
-			case IDialogConstants.FINISH_ID :
-				{
-					finishPressed();
-					break;
-				}
-		// The Cancel button has a listener which calls cancelPressed directly
-		}
-	}
-	/**
-	 * Calculates the difference in size between the given
-	 * page and the page container. 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 = pageContainerLayout.getClientArea(pageContainer);
-		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));
-	}
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected void cancelPressed() {
-		if (activeRunningOperations <= 0) {
-			// Close the dialog. The check whether the dialog can be
-			// closed or not is done in <code>okToClose</code>.
-			// This ensures that the check is also evaluated when the user
-			// presses the window's close button.
-			setReturnCode(CANCEL);
-			close();
-		} else {
-			cancelButton.setEnabled(false);
-		}
-	}
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#close()
-	 */
-	public boolean close() {
-		if (okToClose())
-			return hardClose();
-		else
-			return false;
-	}
-	/* (non-Javadoc)
-	 * Method declared on Window.
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		// Register help listener on the shell
-		newShell.addHelpListener(new HelpListener() {
-			public void helpRequested(HelpEvent event) {
-				// call perform help on the current page
-				if (currentPage != null) {
-					currentPage.performHelp();
-				}
-			}
-		});
-	}
-	/**
-	 * Creates and returns the contents of this dialog's 
-	 * button bar.
-	 * <p>
-	 * The <code>WizardDialog</code> implementation of this framework method
-	 * prevents the composite's columns from being made equal width in order
-	 * to remove the margin between the Back and Next buttons.
-	 * </p>
-	 *
-	 * @param parent the parent composite to contain the button bar
-	 * @return the button bar control
-	 */
-	protected Control createButtonBar(Composite parent) {
-		Composite composite = (Composite) super.createButtonBar(parent);
-		((GridLayout) composite.getLayout()).makeColumnsEqualWidth = false;
-		return composite;
-	}
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		if (wizard.isHelpAvailable()) {
-			helpButton = createButton(parent, IDialogConstants.HELP_ID,
-					IDialogConstants.HELP_LABEL, false);
-		}
-		if (wizard.needsPreviousAndNextButtons())
-			createPreviousAndNextButtons(parent);
-		finishButton = createButton(parent, IDialogConstants.FINISH_ID,
-				IDialogConstants.FINISH_LABEL, true);
-		cancelButton = createCancelButton(parent);
-	}
-	/**
-	 * Creates the Cancel button for this wizard dialog.
-	 * Creates a standard (<code>SWT.PUSH</code>) button and registers for its
-	 * selection events. Note that the number of columns in the button bar composite
-	 * is incremented. The Cancel button is created specially to give it a 
-	 * removeable listener.
-	 *
-	 * @param parent the parent button bar
-	 * @return the new Cancel button
-	 */
-	private Button createCancelButton(Composite parent) {
-		// increment the number of columns in the button bar
-		((GridLayout) parent.getLayout()).numColumns++;
-		Button button = new Button(parent, SWT.PUSH);
-		button.setText(IDialogConstants.CANCEL_LABEL);
-		setButtonLayoutData(button);
-		button.setFont(parent.getFont());
-		button.setData(new Integer(IDialogConstants.CANCEL_ID));
-		button.addSelectionListener(cancelListener);
-		return button;
-	}
-	/**
-	 * Return the cancel button if the id is a the cancel id.
-	 * @param id the button id
-	 * @return the button corresponding to the button id
-	 */
-	protected Button getButton(int id)
-	{
-		if(id == IDialogConstants.CANCEL_ID)
-			return cancelButton;
-		return super.getButton(id);
-	}
-	
-	/**
-	 * The <code>WizardDialog</code> implementation of this <code>Window</code>
-	 * method calls call <code>IWizard.addPages</code> to allow the current
-	 * wizard to add extra pages, then <code>super.createContents</code> to create
-	 * the controls. It then calls <code>IWizard.createPageControls</code>
-	 * to allow the wizard to pre-create their page controls prior to opening,
-	 * so that the wizard opens to the correct size. And finally it
-	 * shows the first page.
-	 */
-	protected Control createContents(Composite parent) {
-		// Allow the wizard to add pages to itself
-		// Need to call this now so page count is correct
-		// for determining if next/previous buttons are needed
-		wizard.addPages();
-		Control contents = super.createContents(parent);
-		// Allow the wizard pages to precreate their page controls
-		createPageControls();
-		// Show the first page
-		showStartingPage();
-		return contents;
-	}
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Composite composite = (Composite) super.createDialogArea(parent);
-		// Build the Page container
-		pageContainer = createPageContainer(composite);
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		gd.widthHint = pageWidth;
-		gd.heightHint = pageHeight;
-		pageContainer.setLayoutData(gd);
-		pageContainer.setFont(parent.getFont());
-		// Insert a progress monitor 
-		GridLayout pmlayout = new GridLayout();
-		pmlayout.numColumns = 1;
-		progressMonitorPart = createProgressMonitorPart(composite, pmlayout);
-		progressMonitorPart.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		progressMonitorPart.setVisible(false);
-		// Build the separator line
-		Label separator = new Label(composite, SWT.HORIZONTAL | SWT.SEPARATOR);
-		separator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		applyDialogFont(progressMonitorPart);
-		return composite;
-	}
-	/**
-	 * Create the progress monitor part in the receiver.
-	 * @param composite
-	 * @param pmlayout
-	 * @return ProgressMonitorPart
-	 */
-	protected ProgressMonitorPart createProgressMonitorPart(Composite composite, GridLayout pmlayout) {
-		return new ProgressMonitorPart(composite, pmlayout, SWT.DEFAULT) {
-			String currentTask = null;
-			/* (non-Javadoc)
-			 * @see org.eclipse.jface.wizard.ProgressMonitorPart#setBlocked(org.eclipse.core.runtime.IStatus)
-			 */
-			public void setBlocked(IStatus reason) {
-				super.setBlocked(reason);
-				if(!lockedUI)//Do not show blocked if we are locking the UI
-					getBlockedHandler().showBlocked(getShell(), this, reason, currentTask);
-			}
-			/* (non-Javadoc)
-			 * @see org.eclipse.jface.wizard.ProgressMonitorPart#clearBlocked()
-			 */
-			public void clearBlocked() {
-				super.clearBlocked();
-				if(!lockedUI)//Do not vlear if we never set it
-					getBlockedHandler().clearBlocked();
-			}
-			/* (non-Javadoc)
-			 * @see org.eclipse.jface.wizard.ProgressMonitorPart#beginTask(java.lang.String, int)
-			 */
-			public void beginTask(String name, int totalWork) {
-				super.beginTask(name, totalWork);
-				currentTask = name;
-			}
-			/* (non-Javadoc)
-			 * @see org.eclipse.jface.wizard.ProgressMonitorPart#setTaskName(java.lang.String)
-			 */
-			public void setTaskName(String name) {
-				super.setTaskName(name);
-				currentTask = name;
-			}
-			/* (non-Javadoc)
-			 * @see org.eclipse.jface.wizard.ProgressMonitorPart#subTask(java.lang.String)
-			 */
-			public void subTask(String name) {
-				super.subTask(name);
-				//If we haven't got anything yet use this value for more context
-				if (currentTask == null)
-					currentTask = name;
-			}
-		};
-	}
-	/**
-	 * Creates the container that holds all pages.
-	 * @param parent
-	 * @return Composite
-	 */
-	private Composite createPageContainer(Composite parent) {
-		Composite result = new Composite(parent, SWT.NULL);
-		result.setLayout(pageContainerLayout);
-		return result;
-	}
-	/**
-	 * Allow the wizard's pages to pre-create their page controls.
-	 * This allows the wizard dialog to open to the correct size.
-	 */
-	private void createPageControls() {
-		// Allow the wizard pages to precreate their page controls
-		// This allows the wizard to open to the correct size
-		wizard.createPageControls(pageContainer);
-		// 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 = pages[i];
-			if (page.getControl() != null)
-				page.getControl().setVisible(false);
-		}
-	}
-	/**
-	 * Creates the Previous and Next buttons for this wizard dialog.
-	 * Creates standard (<code>SWT.PUSH</code>) buttons and registers for their
-	 * selection events. Note that the number of columns in the button bar composite
-	 * is incremented. These buttons are created specially to prevent any space 
-	 * between them.
-	 *
-	 * @param parent the parent button bar
-	 * @return a composite containing the new buttons
-	 */
-	private Composite createPreviousAndNextButtons(Composite parent) {
-		// increment the number of columns in the button bar
-		((GridLayout) parent.getLayout()).numColumns++;
-		Composite composite = new Composite(parent, SWT.NONE);
-		// create a layout with spacing and margins appropriate for the font size.
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 0; // will be incremented by createButton
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.horizontalSpacing = 0;
-		layout.verticalSpacing = 0;
-		composite.setLayout(layout);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_CENTER
-				| GridData.VERTICAL_ALIGN_CENTER);
-		composite.setLayoutData(data);
-		composite.setFont(parent.getFont());
-		backButton = createButton(composite, IDialogConstants.BACK_ID, IDialogConstants.BACK_LABEL,
-				false);
-		nextButton = createButton(composite, IDialogConstants.NEXT_ID, IDialogConstants.NEXT_LABEL,
-				false);
-		return composite;
-	}
-	/**
-	 * Creates and return a new wizard closing dialog without openiong it.
-	 * @return MessageDalog
-	 */
-	private MessageDialog createWizardClosingDialog() {
-		MessageDialog result = new MessageDialog(getShell(), JFaceResources
-				.getString("WizardClosingDialog.title"), //$NON-NLS-1$
-				null, JFaceResources.getString("WizardClosingDialog.message"), //$NON-NLS-1$
-				MessageDialog.QUESTION, new String[]{IDialogConstants.OK_LABEL}, 0);
-		return result;
-	}
-	/**
-	 * The Finish button has been pressed.
-	 */
-	protected void finishPressed() {
-		// Wizards are added to the nested wizards list in setWizard.
-		// This means that the current wizard is always the last wizard in the list.
-		// Note that we first call the current wizard directly (to give it a chance to 
-		// abort, do work, and save state) then call the remaining n-1 wizards in the 
-		// list (to save state).
-		if (wizard.performFinish()) {
-			// Call perform finish on outer wizards in the nested chain
-			// (to allow them to save state for example)
-			for (int i = 0; i < nestedWizards.size() - 1; i++) {
-				((IWizard) nestedWizards.get(i)).performFinish();
-			}
-			// Hard close the dialog. 
-			setReturnCode(OK);
-			hardClose();
-		}
-	}
-	/* (non-Javadoc)
-	 * Method declared on IWizardContainer.
-	 */
-	public IWizardPage getCurrentPage() {
-		return currentPage;
-	}
-	/**
-	 * Returns the progress monitor for this wizard dialog (if it has one).
-	 *
-	 * @return the progress monitor, or <code>null</code> if
-	 *   this wizard dialog does not have one
-	 */
-	protected IProgressMonitor getProgressMonitor() {
-		return progressMonitorPart;
-	}
-	/**
-	 * Returns the wizard this dialog is currently displaying.
-	 *
-	 * @return the current wizard
-	 */
-	protected IWizard getWizard() {
-		return wizard;
-	}
-	/**
-	 * Closes this window.
-	 *
-	 * @return <code>true</code> if the window is (or was already) closed, 
-	 *   and <code>false</code> if it is still open
-	 */
-	private boolean hardClose() {
-		// inform wizards
-		for (int i = 0; i < createdWizards.size(); i++) {
-			IWizard createdWizard = (IWizard) createdWizards.get(i);
-			createdWizard.dispose();
-			// Remove this dialog as a parent from the managed wizard.
-			// Note that we do this after calling dispose as the wizard or
-			// its pages may need access to the container during
-			// dispose code
-			createdWizard.setContainer(null);
-		}
-		return super.close();
-	}
-	/**
-	 * The Help button has been pressed.
-	 */
-	protected void helpPressed() {
-		if (currentPage != null) {
-			currentPage.performHelp();
-		}
-	}
-	/**
-	 * The Next button has been pressed.
-	 */
-	protected void nextPressed() {
-		IWizardPage page = currentPage.getNextPage();
-		if (page == null) {
-			// something must have happend getting the next page
-			return;
-		}
-		// show the next page
-		showPage(page);
-	}
-	/**
-	 * Checks whether it is alright to close this wizard dialog
-	 * and performed standard cancel processing. If there is a
-	 * long running operation in progress, this method posts an
-	 * alert message saying that the wizard cannot be closed.
-	 * 
-	 * @return <code>true</code> if it is alright to close this dialog, and
-	 *  <code>false</code> if it is not
-	 */
-	private boolean okToClose() {
-		if (activeRunningOperations > 0) {
-			synchronized (this) {
-				windowClosingDialog = createWizardClosingDialog();
-			}
-			windowClosingDialog.open();
-			synchronized (this) {
-				windowClosingDialog = null;
-			}
-			return false;
-		}
-		return wizard.performCancel();
-	}
-	/**
-	 * Restores the enabled/disabled state of the given control.
-	 *
-	 * @param w the control
-	 * @param h the map (key type: <code>String</code>, element type:
-	 *   <code>Boolean</code>)
-	 * @param key the key
-	 * @see #saveEnableStateAndSet
-	 */
-	private void restoreEnableState(Control w, Map h, String key) {
-		if (w != null) {
-			Boolean b = (Boolean) h.get(key);
-			if (b != null)
-				w.setEnabled(b.booleanValue());
-		}
-	}
-	/**
-	 * Restores the enabled/disabled state of the wizard dialog's
-	 * buttons and the tree of controls for the currently showing page.
-	 *
-	 * @param state a map containing the saved state as returned by 
-	 *   <code>saveUIState</code>
-	 * @see #saveUIState
-	 */
-	private void restoreUIState(Map state) {
-		restoreEnableState(backButton, state, "back"); //$NON-NLS-1$
-		restoreEnableState(nextButton, state, "next"); //$NON-NLS-1$
-		restoreEnableState(finishButton, state, "finish"); //$NON-NLS-1$
-		restoreEnableState(cancelButton, state, "cancel"); //$NON-NLS-1$
-		restoreEnableState(helpButton, state, "help"); //$NON-NLS-1$
-		Object pageValue = state.get("page"); //$NON-NLS-1$
-		if(pageValue != null)//page may never have been created
-			((ControlEnableState) pageValue).restore();
-	}
-	/* (non-Javadoc)
-	 * Method declared on IRunnableContext.
-	 */
-	public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable)
-			throws InvocationTargetException, InterruptedException {
-		// The operation can only be canceled if it is executed in a separate thread.
-		// Otherwise the UI is blocked anyway.
-		Object state = null;
-		if (activeRunningOperations == 0)
-			state = aboutToStart(fork && cancelable);
-		activeRunningOperations++;
-		try {
-			if(!fork)//If we are not forking do not open other dialogs
-				lockedUI = true;
-			ModalContext.run(runnable, fork, getProgressMonitor(), getShell().getDisplay());
-			lockedUI = false;
-		} finally {
-			activeRunningOperations--;
-			//Stop if this is the last one
-			if (state != null)
-				stopped(state);
-		}
-	}
-	/**
-	 * Saves the enabled/disabled state of the given control in the
-	 * given map, which must be modifiable.
-	 *
-	 * @param w the control, or <code>null</code> if none
-	 * @param h the map (key type: <code>String</code>, element type:
-	 *   <code>Boolean</code>)
-	 * @param key the key
-	 * @param enabled <code>true</code> to enable the control, 
-	 *   and <code>false</code> to disable it
-	 * @see #restoreEnableState(Control, Map, String)
-	 */
-	private void saveEnableStateAndSet(Control w, Map h, String key, boolean enabled) {
-		if (w != null) {
-			h.put(key, new Boolean(w.getEnabled()));
-			w.setEnabled(enabled);
-		}
-	}
-	/**
-	 * Captures and returns the enabled/disabled state of the wizard dialog's
-	 * buttons and the tree of controls for the currently showing page. All
-	 * these controls are disabled in the process, with the possible excepton of
-	 * the Cancel button.
-	 *
-	 * @param keepCancelEnabled <code>true</code> if the Cancel button should
-	 *   remain enabled, and <code>false</code> if it should be disabled
-	 * @return a map containing the saved state suitable for restoring later
-	 *   with <code>restoreUIState</code>
-	 * @see #restoreUIState
-	 */
-	private Map saveUIState(boolean keepCancelEnabled) {
-		Map savedState = new HashMap(10);
-		saveEnableStateAndSet(backButton, savedState, "back", false); //$NON-NLS-1$
-		saveEnableStateAndSet(nextButton, savedState, "next", false); //$NON-NLS-1$
-		saveEnableStateAndSet(finishButton, savedState, "finish", false); //$NON-NLS-1$
-		saveEnableStateAndSet(cancelButton, savedState, "cancel", keepCancelEnabled); //$NON-NLS-1$
-		saveEnableStateAndSet(helpButton, savedState, "help", false); //$NON-NLS-1$
-		if(currentPage != null)
-			savedState.put("page", ControlEnableState.disable(currentPage.getControl())); //$NON-NLS-1$
-		return savedState;
-	}
-	/**
-	 * Sets the given cursor for all shells currently active
-	 * for this window's display.
-	 *
-	 * @param c the cursor
-	 */
-	private void setDisplayCursor(Cursor c) {
-		Shell[] shells = getShell().getDisplay().getShells();
-		for (int i = 0; i < shells.length; i++)
-			shells[i].setCursor(c);
-	}
-	/**
-	 * Sets the minimum page size used for the pages.
-	 *
-	 * @param minWidth the minimum page width
-	 * @param minHeight the minimum page height
-	 * @see #setMinimumPageSize(Point)
-	 */
-	public void setMinimumPageSize(int minWidth, int minHeight) {
-		Assert.isTrue(minWidth >= 0 && minHeight >= 0);
-		pageContainerLayout.minimumWidth = minWidth;
-		pageContainerLayout.minimumHeight = minHeight;
-	}
-	/**
-	 * Sets the minimum page size used for the pages.
-	 *
-	 * @param size the page size encoded as
-	 *   <code>new Point(width,height)</code>
-	 * @see #setMinimumPageSize(int,int)
-	 */
-	public void setMinimumPageSize(Point size) {
-		setMinimumPageSize(size.x, size.y);
-	}
-	/**
-	 * Sets the size of all pages.
-	 * The given size takes precedence over computed sizes.
-	 *
-	 * @param width the page width
-	 * @param height the page height
-	 * @see #setPageSize(Point)
-	 */
-	public void setPageSize(int width, int height) {
-		pageWidth = width;
-		pageHeight = height;
-	}
-	/**
-	 * Sets the size of all pages.
-	 * The given size takes precedence over computed sizes.
-	 *
-	 * @param size the page size encoded as
-	 *   <code>new Point(width,height)</code>
-	 * @see #setPageSize(int,int)
-	 */
-	public void setPageSize(Point size) {
-		setPageSize(size.x, size.y);
-	}
-	/**
-	 * Sets the wizard this dialog is currently displaying.
-	 *
-	 * @param newWizard the wizard
-	 */
-	protected void setWizard(IWizard newWizard) {
-		wizard = newWizard;
-		wizard.setContainer(this);
-		if (!createdWizards.contains(wizard)) {
-			createdWizards.add(wizard);
-			// New wizard so just add it to the end of our nested list
-			nestedWizards.add(wizard);
-			if (pageContainer != null) {
-				// Dialog is already open	
-				// Allow the wizard pages to precreate their page controls
-				// This allows the wizard to open to the correct size
-				createPageControls();
-				// Ensure the dialog is large enough for the wizard
-				updateSizeForWizard(wizard);
-				pageContainer.layout(true);
-			}
-		} else {
-			// We have already seen this wizard, if it is the previous wizard
-			// on the nested list then we assume we have gone back and remove 
-			// the last wizard from the list
-			int size = nestedWizards.size();
-			if (size >= 2 && nestedWizards.get(size - 2) == wizard)
-				nestedWizards.remove(size - 1);
-			else
-				// Assume we are going forward to revisit a wizard
-				nestedWizards.add(wizard);
-		}
-	}
-	/* (non-Javadoc)
-	 * Method declared on IWizardContainer.
-	 */
-	public void showPage(IWizardPage page) {
-		if (page == null || page == currentPage) {
-			return;
-		}
-		if (!isMovingToPreviousPage)
-			// remember my previous page.
-			page.setPreviousPage(currentPage);
-		else
-			isMovingToPreviousPage = false;
-		//Update for the new page ina busy cursor if possible
-		if (getContents() == null)
-			updateForPage(page);
-		
-		else {
-			final IWizardPage finalPage = page;
-			BusyIndicator.showWhile(getContents().getDisplay(), new Runnable() {
-				public void run() {
-					updateForPage(finalPage);
-				}
-			});
-		}
-	}
-	/**
-	 * Update the receiver for the new page.
-	 * @param page
-	 */
-	private void updateForPage(IWizardPage page) {
-		// ensure this page belongs to the current wizard
-		if (wizard != page.getWizard())
-			setWizard(page.getWizard());
-		// ensure that page control has been created
-		// (this allows lazy page control creation)
-		if (page.getControl() == null) {
-			page.createControl(pageContainer);
-			// 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
-			updateSize(page);
-		}
-		// make the new page visible
-		IWizardPage oldPage = currentPage;
-		currentPage = page;
-		currentPage.setVisible(true);
-		if(oldPage != null)
-			oldPage.setVisible(false);
-		// update the dialog controls
-		update();
-	}
-	/**	
-	 * Shows the starting page of the wizard.
-	 */
-	private void showStartingPage() {
-		currentPage = wizard.getStartingPage();
-		if (currentPage == null) {
-			// something must have happend getting the page
-			return;
-		}
-		// ensure the page control has been created
-		if (currentPage.getControl() == null) {
-			currentPage.createControl(pageContainer);
-			// the page is responsible for ensuring the created control is accessable
-			// via getControl.
-			Assert.isNotNull(currentPage.getControl());
-			// we do not need to update the size since the call
-			// to initialize bounds has not been made yet.
-		}
-		// make the new page visible
-		currentPage.setVisible(true);
-		// update the dialog controls
-		update();
-	}
-	/**
-	 * A long running operation triggered through the wizard
-	 * was stopped either by user input or by normal end.
-	 * Hides the progress monitor and restores the enable state
-	 * wizard's buttons and controls.
-	 *
-	 * @param savedState the saved UI state as returned by <code>aboutToStart</code>
-	 * @see #aboutToStart
-	 */
-	private void stopped(Object savedState) {
-		if (getShell() != null) {
-			if (wizard.needsProgressMonitor()) {
-				progressMonitorPart.setVisible(false);
-				progressMonitorPart.removeFromCancelComponent(cancelButton);
-			}
-			Map state = (Map) savedState;
-			restoreUIState(state);
-			cancelButton.addSelectionListener(cancelListener);
-			setDisplayCursor(null);
-			cancelButton.setCursor(null);
-			waitCursor.dispose();
-			waitCursor = null;
-			arrowCursor.dispose();
-			arrowCursor = null;
-			Control focusControl = (Control) state.get(FOCUS_CONTROL);
-			if (focusControl != null)
-				focusControl.setFocus();
-		}
-	}
-	/**
-	 * Updates this dialog's controls to reflect the current page.
-	 */
-	protected void update() {
-		// Update the window title
-		updateWindowTitle();
-		// Update the title bar
-		updateTitleBar();
-		// Update the buttons
-		updateButtons();
-	}
-	/* (non-Javadoc)
-	 * Method declared on IWizardContainer.
-	 */
-	public void updateButtons() {
-		boolean canFlipToNextPage = false;
-		boolean canFinish = wizard.canFinish();
-		if (backButton != null)
-			backButton.setEnabled(currentPage.getPreviousPage() != null);
-		if (nextButton != null) {
-			canFlipToNextPage = currentPage.canFlipToNextPage();
-			nextButton.setEnabled(canFlipToNextPage);
-		}
-		finishButton.setEnabled(canFinish);
-		// finish is default unless it is diabled and next is enabled
-		if (canFlipToNextPage && !canFinish)
-			getShell().setDefaultButton(nextButton);
-		else
-			getShell().setDefaultButton(finishButton);
-	}
-	/**
-	 * Update the message line with the page's description.
-	 * <p>
-	 * A discription is shown only if there is no message or error message.
-	 * </p>
-	 */
-	private void updateDescriptionMessage() {
-		pageDescription = currentPage.getDescription();
-		if (pageMessage == null)
-			setMessage(currentPage.getDescription());
-	}
-	/* (non-Javadoc)
-	 * Method declared on IWizardContainer.
-	 */
-	public void updateMessage() {
-		
-		if(currentPage == null)
-			return;
-		
-		pageMessage = currentPage.getMessage();
-		if (pageMessage != null && currentPage instanceof IMessageProvider)
-			pageMessageType = ((IMessageProvider) currentPage).getMessageType();
-		else
-			pageMessageType = IMessageProvider.NONE;
-		if (pageMessage == null)
-			setMessage(pageDescription);
-		else
-			setMessage(pageMessage, pageMessageType);
-		setErrorMessage(currentPage.getErrorMessage());
-	}
-	/**
-	 * Changes the shell size to the given size, ensuring that
-	 * it is no larger than the display bounds.
-	 * 
-	 * @param width the shell width
-	 * @param height the shell height
-	 */
-	private void setShellSize(int width, int height) {
-		Rectangle size = getShell().getBounds();
-		size.height = height;
-		size.width = width;
-		getShell().setBounds(getConstrainedShellBounds(size));
-	}
-	/**
-	 * Computes the correct dialog size for the current page and resizes 
-	 * its shell if nessessary. Also causes the container to refresh its
-	 * layout.
-	 * 
-	 * @param page the wizard page to use to resize the dialog
-	 * @since 2.0
-	 */
-	protected void updateSize(IWizardPage page) {
-		if (page == null || page.getControl() == null)
-			return;
-		updateSizeForPage(page);
-		pageContainerLayout.layoutPage(page.getControl());
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizardContainer2#updateSize()
-	 */
-	public void updateSize() {
-		updateSize(currentPage);
-	}
-	/**
-	 * Computes the correct dialog size for the given page and resizes 
-	 * its shell 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) {
-			// increase the size of the shell 
-			Shell shell = getShell();
-			Point shellSize = shell.getSize();
-			setShellSize(shellSize.x + delta.x, shellSize.y + delta.y);
-			constrainShellSize();
-		}
-	}
-	/**
-	 * Computes the correct dialog size for the given wizard and resizes 
-	 * its shell if nessessary.
-	 *
-	 * @param sizingWizard the wizard
-	 */
-	private void updateSizeForWizard(IWizard sizingWizard) {
-		Point delta = new Point(0, 0);
-		IWizardPage[] pages = sizingWizard.getPages();
-		for (int i = 0; i < pages.length; i++) {
-			// ensure the page container 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) {
-			// increase the size of the shell 
-			Shell shell = getShell();
-			Point shellSize = shell.getSize();
-			setShellSize(shellSize.x + delta.x, shellSize.y + delta.y);
-		}
-	}
-	/* (non-Javadoc)
-	 * Method declared on IWizardContainer.
-	 */
-	public void updateTitleBar() {
-		String s = null;
-		if(currentPage != null)
-			s = currentPage.getTitle();
-		if (s == null)
-			s = ""; //$NON-NLS-1$
-		setTitle(s);
-		if(currentPage != null)
-			setTitleImage(currentPage.getImage());
-		updateDescriptionMessage();
-		updateMessage();
-	}
-	/* (non-Javadoc)
-	 * Method declared on IWizardContainer.
-	 */
-	public void updateWindowTitle() {
-		if (getShell() == null)
-			// Not created yet
-			return;
-		String title = wizard.getWindowTitle();
-		if (title == null)
-			title = ""; //$NON-NLS-1$
-		getShell().setText(title);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/WizardPage.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/WizardPage.java
deleted file mode 100644
index 1639c96..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/WizardPage.java
+++ /dev/null
@@ -1,306 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.wizard;
-
-import org.eclipse.jface.dialogs.DialogPage;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * An abstract base implementation of a wizard page.
- * <p>
- * Subclasses must implement the <code>createControl</code> method
- * to create the specific controls for the wizard page.
- * </p>
- * <p>
- * Subclasses may call the following methods to configure the wizard page:
- * <ul>
- *  <li><code>setDescription</code></li>
- *  <li><code>setErrorMessage</code></li>
- *  <li><code>setImageDescriptor</code></li>
- *  <li><code>setMessage</code></li>
- *  <li><code>setPageComplete</code></li>
- *  <li><code>setPreviousPage</code></li>
- *  <li><code>setTitle</code></li>
- * </ul>
- * </p>
- * <p>
- * Subclasses may override these methods if required:
- * <ul>
- *  <li><code>performHelp</code> - may be reimplemented to display help for the page</li>  
- * <li><code>canFlipToNextPage</code> - may be extended or reimplemented</li>
- *  <li><code>isPageComplete</code> - may be extended </li>
- *  <li><code>setDescription</code> - may be extended </li>
- *  <li><code>setTitle</code> - may be extended </li>
- *  <li><code>dispose</code> - may be extended to dispose additional allocated SWT resources</li>
- * </ul>
- * </p>
- * <p>
- * Note that clients are free to implement <code>IWizardPage</code> from scratch
- * instead of subclassing <code>WizardPage</code>. Correct implementations of
- * <code>IWizardPage</code> will work with any correct implementation of 
- * <code>IWizard</code>.
- * </p>
- */
-public abstract class WizardPage extends DialogPage implements IWizardPage {
-
-	/**
-	 * This page's name.
-	 */
-	private String name;
-
-	/**
-	 * The wizard to which this page belongs; <code>null</code>
-	 * if this page has yet to be added to a wizard.
-	 */
-	private IWizard wizard = null;
-
-	/**
-	 * Indicates whether this page is complete.
-	 */
-	private boolean isPageComplete = true;
-
-	/**
-	 * The page that was shown right before this page became visible;
-	 * <code>null</code> if none.
-	 */
-	private IWizardPage previousPage = null;
-
-	/**
-	 * Creates a new wizard page with the given name, and
-	 * with no title or image.
-	 *
-	 * @param pageName the name of the page
-	 */
-	protected WizardPage(String pageName) {
-		this(pageName, null, (ImageDescriptor) null);
-	}
-	/**
-	 * Creates a new wizard page with the given name, title, and image.
-	 *
-	 * @param pageName the name of the page
-	 * @param title the title for this wizard page,
-	 *   or <code>null</code> if none
-	 * @param titleImage the image descriptor for the title of this wizard page,
-	 *   or <code>null</code> if none
-	 */
-	protected WizardPage(
-		String pageName,
-		String title,
-		ImageDescriptor titleImage) {
-		super(title, titleImage);
-		Assert.isNotNull(pageName); // page name must not be null
-		name = pageName;
-	}
-	/**
-	 * The <code>WizardPage</code> implementation of this <code>IWizardPage</code>
-	 * method returns <code>true</code> if this page is complete (<code>isPageComplete</code>)
-	 * and there is a next page to flip to. Subclasses may override (extend or reimplement).
-	 *
-	 * @see #getNextPage
-	 * @see #isPageComplete
-	 */
-	public boolean canFlipToNextPage() {
-		return isPageComplete() && getNextPage() != null;
-	}
-	/**
-	 * Returns the wizard container for this wizard page.
-	 *
-	 * @return the wizard container, or <code>null</code> if this
-	 *   wizard page has yet to be added to a wizard, or the
-	 *   wizard has yet to be added to a container
-	 */
-	protected IWizardContainer getContainer() {
-		if (wizard == null)
-			return null;
-		return wizard.getContainer();
-	}
-	/**
-	 * Returns the dialog settings for this wizard page.
-	 *
-	 * @return the dialog settings, or <code>null</code> if none
-	 */
-	protected IDialogSettings getDialogSettings() {
-		if (wizard == null)
-			return null;
-		return wizard.getDialogSettings();
-	}
-	/* (non-Javadoc)
-	 * Method declared on IDialogPage.
-	 */
-	public Image getImage() {
-		Image result = super.getImage();
-
-		if (result == null && wizard != null)
-			return wizard.getDefaultPageImage();
-
-		return result;
-	}
-	/* (non-Javadoc)
-	 * Method declared on IWizardPage.
-	 */
-	public String getName() {
-		return name;
-	}
-	/* (non-Javadoc)
-	 * Method declared on IWizardPage.
-	 * The default behavior is to ask the wizard for the next page.
-	 */
-	public IWizardPage getNextPage() {
-		if (wizard == null)
-			return null;
-		return wizard.getNextPage(this);
-	}
-	/* (non-Javadoc)
-	 * Method declared on IWizardPage.
-	 * The default behavior is return the cached previous back or,
-	 * lacking that, to ask the wizard for the previous page.
-	 */
-	public IWizardPage getPreviousPage() {
-		if (previousPage != null)
-			return previousPage;
-
-		if (wizard == null)
-			return null;
-
-		return wizard.getPreviousPage(this);
-	}
-	/**
-	 * The <code>WizardPage</code> implementation of this method declared on
-	 * <code>DialogPage</code> returns the shell of the container.
-	 * The advantage of this implementation is that the shell is accessable
-	 * once the container is created even though this page's control may not 
-	 * yet be created.
-	 */
-	public Shell getShell() {
-
-		IWizardContainer container = getContainer();
-		if (container == null)
-			return null;
-
-		// Ask the wizard since our contents may not have been created.
-		return container.getShell();
-	}
-	/* (non-Javadoc)
-	 * Method declared on IWizardPage.
-	 */
-	public IWizard getWizard() {
-		return wizard;
-	}
-	/**
-	 * Returns whether this page is the current one in the wizard's container.
-	 *
-	 * @return <code>true</code> if the page is active,
-	 *  and <code>false</code> otherwise
-	 */
-	protected boolean isCurrentPage() {
-		return (
-			getContainer() != null && this == getContainer().getCurrentPage());
-	}
-	/**
-	 * The <code>WizardPage</code> implementation of this <code>IWizard</code> method 
-	 * returns the value of an internal state variable set by
-	 * <code>setPageComplete</code>. Subclasses may extend.
-	 */
-	public boolean isPageComplete() {
-		return isPageComplete;
-	}
-	/**
-	 * The <code>WizardPage</code> implementation of this <code>IDialogPage</code>
-	 * method extends the <code>DialogPage</code> implementation to update
-	 * the wizard container title bar. Subclasses may extend.
-	 */
-	public void setDescription(String description) {
-		super.setDescription(description);
-		if (isCurrentPage())
-			getContainer().updateTitleBar();
-	}
-	/**
-	 * The <code>WizardPage</code> implementation of this method 
-	 * declared on <code>DialogPage</code> updates the container
-	 * if this is the current page.
-	 */
-	public void setErrorMessage(String newMessage) {
-		super.setErrorMessage(newMessage);
-		if (isCurrentPage()) {
-			getContainer().updateMessage();
-		}
-	}
-	/**
-	 * The <code>WizardPage</code> implementation of this method 
-	 * declared on <code>DialogPage</code> updates the container
-	 * if this page is the current page.
-	 */
-	public void setImageDescriptor(ImageDescriptor image) {
-		super.setImageDescriptor(image);
-		if (isCurrentPage())
-			getContainer().updateTitleBar();
-	}
-	/**
-	 * The <code>WizardPage</code> implementation of this method 
-	 * declared on <code>DialogPage</code> updates the container
-	 * if this is the current page.
-	 */
-	public void setMessage(String newMessage, int newType) {
-		super.setMessage(newMessage, newType);
-		if (isCurrentPage())
-			getContainer().updateMessage();
-	}
-	/**
-	 * Sets whether this page is complete. 
-	 * <p>
-	 * This information is typically used by the wizard to decide
-	 * when it is okay to move on to the next page or finish up.
-	 * </p>
-	 *
-	 * @param complete <code>true</code> if this page is complete, and
-	 *   and <code>false</code> otherwise
-	 * @see #isPageComplete
-	 */
-	public void setPageComplete(boolean complete) {
-		isPageComplete = complete;
-		if (isCurrentPage())
-			getContainer().updateButtons();
-	}
-	/* (non-Javadoc)
-	 * Method declared on IWizardPage.
-	 */
-	public void setPreviousPage(IWizardPage page) {
-		previousPage = page;
-	}
-	/**
-	 * The <code>WizardPage</code> implementation of this <code>IDialogPage</code>
-	 * method extends the <code>DialogPage</code> implementation to update
-	 * the wizard container title bar. Subclasses may extend.
-	 */
-	public void setTitle(String title) {
-		super.setTitle(title);
-		if (isCurrentPage()) {
-			getContainer().updateTitleBar();
-		}
-	}
-	/* (non-Javadoc)
-	 * Method declared on IWizardPage.
-	 */
-	public void setWizard(IWizard newWizard) {
-		wizard = newWizard;
-	}
-	/**
-	 * Returns a printable representation of this wizard page suitable
-	 * only for debug purposes.
-	 */
-	public String toString() {
-		return name;
-	}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/WizardSelectionPage.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/WizardSelectionPage.java
deleted file mode 100644
index 230b825..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/WizardSelectionPage.java
+++ /dev/null
@@ -1,128 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.wizard;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * An abstract implementation of a wizard page that manages a
- * set of embedded wizards.
- * <p>
- * A wizard selection page should present a list of wizard nodes 
- * corresponding to other wizards. When the end user selects one of
- * them from the list, the first page of the selected wizard becomes
- * the next page. The only new methods introduced by this class are 
- * <code>getSelectedNode</code> and <code>setSelectedNode</code>. 
- * Otherwise, the subclass contract is the same as <code>WizardPage</code>.
- * </p>
- */
-public abstract class WizardSelectionPage extends WizardPage {
-
-	/**
-	 * The selected node; <code>null</code> if none.
-	 */
-	private IWizardNode selectedNode = null;
-	
-	/**
-	 * List of wizard nodes that have cropped up in the past
-	 * (element type: <code>IWizardNode</code>).
-	 */
-	private List selectedWizardNodes = new ArrayList();
-/**
- * Creates a new wizard selection page with the given name, and
- * with no title or image.
- *
- * @param pageName the name of the page
- */
-protected WizardSelectionPage(String pageName) {
-	super(pageName);
-	// Cannot finish from this page
-	setPageComplete(false);
-}
-/**
- * Adds the given wizard node to the list of selected nodes if
- * it is not already in the list.
- *
- * @param node the wizard node, or <code>null</code>
- */
-private void addSelectedNode(IWizardNode node) {
-	if (node == null)
-		return;
-
-	if (selectedWizardNodes.contains(node))
-		return;
-	
-	selectedWizardNodes.add(node);
-}
-/**
- * The <code>WizardSelectionPage</code> implementation of 
- * this <code>IWizardPage</code> method returns <code>true</code>
- * if there is a selected node.
- */
-public boolean canFlipToNextPage() {
-	return selectedNode != null;
-}
-/**	
- * The <code>WizardSelectionPage</code> implementation of an <code>IDialogPage</code>
- * method disposes of all nested wizards. Subclasses may extend.
- */
-public void dispose() {
-	super.dispose();
-	// notify nested wizards
-	for (int i = 0; i < selectedWizardNodes.size(); i++) {
-		((IWizardNode) selectedWizardNodes.get(i)).dispose();
-	}
-}
-/**
- * The <code>WizardSelectionPage</code> implementation of 
- * this <code>IWizardPage</code> method returns the first page 
- * of the currently selected wizard if there is one.
- */
-public IWizardPage getNextPage() {
-	if (selectedNode == null)
-		return null;
-
-	boolean isCreated = selectedNode.isContentCreated();
-		
-	IWizard wizard = selectedNode.getWizard();
-
-	if (wizard == null) {
-		setSelectedNode(null);	
-		return null;
-	}	
-
-	if (!isCreated)
-		// Allow the wizard to create its pages
-		wizard.addPages();
-		
-	return wizard.getStartingPage();
-}
-/**
- * Returns the currently selected wizard node within this page.
- * 
- * @return the wizard node, or <code>null</code> if no node is selected
- */
-public IWizardNode getSelectedNode() {
-	return selectedNode;
-}
-/**
- * Sets or clears the currently selected wizard node within this page. 
- * 
- * @param node the wizard node, or <code>null</code> to clear
- */
-protected void setSelectedNode(IWizardNode node) {
-	addSelectedNode(node);
-	selectedNode = node;
-	if (isCurrentPage()) 
-		getContainer().updateButtons();
-}
-}
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/images/page.gif b/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/images/page.gif
deleted file mode 100644
index befca65..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/images/page.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/package.html b/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/package.html
deleted file mode 100644
index f0e7c52..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/package.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">
-   <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 framework for wizards.
-<h2>
-Package Specification</h2>
-A wizard dialog is a specialized window for walking the end user through
-a sequence of steps; each step is presented on a separate page.
-<p>At the most abstract level, the protocol is given by 3 interfaces:
-<ul>
-<li>
-<tt>IWizard</tt> - a wizard consisting of several wizard pages</li>
-
-<li>
-<tt>IWizardPage</tt> - an individual wizard page</li>
-
-<li>
-<tt>IWizardContainer</tt> - the outside world from the point of view of
-a wizard</li>
-</ul>
-A wizard is any object implementing <tt>IWizard</tt>. The abstract base
-class <tt>Wizard</tt> is provided as a starting point; it is simpler to
-subclass <tt>Wizard</tt> than to implement <tt>IWizard</tt> from scratch.
-The main responsibility of a <tt>Wizard</tt> subclass is doing the real
-work when the wizard finishes.
-<p>Similarly, a wizard page is any object implementing <tt>IWizardPage</tt>.
-The abstract base class <tt>WizardPage</tt> is provided as a starting point.
-The main responsibility of a <tt>WizardPage</tt> subclass is providing
-the SWT controls and the backing logic for a single wizard page.
-<p><tt>WizardDialog</tt> is a ready-to-use JFace dialog that is instantiated
-with a wizard and acts as the wizard's container. This dialog has a standard
-layout: an area at the top containing the wizard's title, description,
-and image; the actual wizard page appears in the middle; below it is a
-progress indicator; and at the bottom is an area with a message line and
-a button bar containing Next, Back, Finish, Cancel, and Help buttons.
-<p><tt>WizardSelectionPage</tt>, a special abstract subclass of <tt>WizardPage</tt>,
-allows whole other wizards to be connected to a root page.
-<p>Note: None of the classes in this package maintain global state.
-<br>&nbsp;
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.carbon/.classpath b/bundles/org.eclipse.ui.carbon/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/bundles/org.eclipse.ui.carbon/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.ui.carbon/.cvsignore b/bundles/org.eclipse.ui.carbon/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/bundles/org.eclipse.ui.carbon/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/bundles/org.eclipse.ui.carbon/.project b/bundles/org.eclipse.ui.carbon/.project
deleted file mode 100644
index 98eaaa8..0000000
--- a/bundles/org.eclipse.ui.carbon/.project
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.carbon</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.core.runtime.compatibility</project>
-		<project>org.eclipse.help</project>
-		<project>org.eclipse.ui</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.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.ui.carbon/.template b/bundles/org.eclipse.ui.carbon/.template
deleted file mode 100644
index d65e0f4..0000000
--- a/bundles/org.eclipse.ui.carbon/.template
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<form>
-   <p/><p><b>Tips on working with this plug-in project</b></p><li>For the view of the new plug-in at a glance, go to the <img href="pageImage"/><a href="OverviewPage">Overview</a>.</li><li>You can test the contributions of this plug-in by launching another instance of the workbench. On the <b>Run</b> menu, click <b>Run As</b> and choose <img href="runTimeWorkbenchImage"/><a href="action.run">Run-time Workbench</a> from the available choices.</li><li>You can add more functionality to this plug-in by adding extensions using the <a href="action.newExtension">New Extension Wizard</a>.</li><li>The plug-in project contains Java code that you can debug. Place breakpoints in Java classes. On the <b>Run</b> menu, select <b>Debug As</b> and choose <img href="runTimeWorkbenchImage"/><a href="action.debug">Run-time Workbench</a> from the available choices.</li>
-</form>
diff --git a/bundles/org.eclipse.ui.carbon/about.html b/bundles/org.eclipse.ui.carbon/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/bundles/org.eclipse.ui.carbon/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.carbon/build.properties b/bundles/org.eclipse.ui.carbon/build.properties
deleted file mode 100644
index c9cb4e0..0000000
--- a/bundles/org.eclipse.ui.carbon/build.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
-###############################################################################
-source.carbon.jar = src/
-bin.includes = fragment.xml,\
-               *.jar,\
-               carbon.jar
diff --git a/bundles/org.eclipse.ui.carbon/fragment.xml b/bundles/org.eclipse.ui.carbon/fragment.xml
deleted file mode 100644
index ad49c49..0000000
--- a/bundles/org.eclipse.ui.carbon/fragment.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<fragment
-   id="org.eclipse.ui.carbon"
-   name="%CarbonFragment.fragmentName"
-   version="3.0.0"
-   provider-name="%Plugin.providerName"
-   plugin-id="org.eclipse.ui"
-   plugin-version="3.0.0"
-   match="compatible">
-
-   <runtime>
-      <library name="carbon.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-
-   <extension
-         point="org.eclipse.ui.startup">
-      <startup
-            class="org.eclipse.ui.carbon.CarbonUIEnhancer">
-      </startup>
-   </extension>
-</fragment>
diff --git a/bundles/org.eclipse.ui.carbon/scripts/exportplugin.xml b/bundles/org.eclipse.ui.carbon/scripts/exportplugin.xml
deleted file mode 100644
index f1cbb4a..0000000
--- a/bundles/org.eclipse.ui.carbon/scripts/exportplugin.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<project name="org.eclipse.ui.carbon" default="export" basedir="..">
-
-	<target name="init">
-		<tstamp/>
-		<property name="destdir" value="../../plugin-export" />
-		<property name="plugin"  value="org.eclipse.ui.carbon" />
-		<property name="dest"  value="${destdir}/${plugin}_3.0.0" />
-	</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}/carbon.jar"
-			basedir="bin"
-		/>
-		<copy file="fragment.xml" todir="${dest}"/>
-		<copy file="fragment.properties" todir="${dest}"/>
-		<zip zipfile="${dest}/carbonsrc.zip">
-		    <fileset dir="src" />
-  		</zip>				
-	</target>
-</project>
diff --git a/bundles/org.eclipse.ui.carbon/src/org/eclipse/ui/carbon/CarbonUIEnhancer.java b/bundles/org.eclipse.ui.carbon/src/org/eclipse/ui/carbon/CarbonUIEnhancer.java
deleted file mode 100644
index f3dff74..0000000
--- a/bundles/org.eclipse.ui.carbon/src/org/eclipse/ui/carbon/CarbonUIEnhancer.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.carbon;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.swt.internal.Callback;
-import org.eclipse.swt.internal.carbon.*;
-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.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-
-import org.eclipse.ui.IStartup;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-
-public class CarbonUIEnhancer implements IStartup {
-		
-	private static final int kHICommandPreferences= ('p'<<24) + ('r'<<16) + ('e'<<8) + 'f';
-	private static final int kHICommandAbout= ('a'<<24) + ('b'<<16) + ('o'<<8) + 'u';
-	private static final int kHICommandServices= ('s'<<24) + ('e'<<16) + ('r'<<8) + 'v';
-
-	private static final String RESOURCE_BUNDLE= "org.eclipse.ui.carbon.Messages"; //$NON-NLS-1$
-	private static String fgAboutActionName;
-
-	public CarbonUIEnhancer() {
-		if (fgAboutActionName == null) {
-			ResourceBundle resourceBundle= ResourceBundle.getBundle(RESOURCE_BUNDLE);
-			try {
-				fgAboutActionName= resourceBundle.getString("AboutAction.name");	//$NON-NLS-1$
-			} catch (MissingResourceException e) {
-				fgAboutActionName= "About";	//$NON-NLS-1$
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IStartup#earlyStartup()
-	 */
-	public void earlyStartup() {
-		final Display display= Display.getDefault();
-		display.syncExec(
-			new Runnable() {
-				public void run() {
-					hookApplicationMenu(display);
-				}
-			}
-		);
-	}
-	
-	/**
-	 * See Apple Technical Q&A 1079 (http://developer.apple.com/qa/qa2001/qa1079.html)
-	 */
-	private void hookApplicationMenu(Display display) {
-		
-		// Callback target
-		Object target= new Object() {
-			int commandProc(int nextHandler, int theEvent, int userData) {
-				if (OS.GetEventKind(theEvent) == OS.kEventProcessCommand) {
-					HICommand command= new HICommand();
-					OS.GetEventParameter(theEvent, OS.kEventParamDirectObject, OS.typeHICommand, null, HICommand.sizeof, null, command);
-					switch (command.commandID) {
-					case kHICommandPreferences:
-						return runAction("preferences"); //$NON-NLS-1$
-					case kHICommandAbout:
-						return runAction("about"); //$NON-NLS-1$
-					default:
-						break;
-					}
-				}
-				return OS.eventNotHandledErr;
-			}
-		};
-		
-		final Callback commandCallback= new Callback(target, "commandProc", 3); //$NON-NLS-1$
-		int commandProc= commandCallback.getAddress();
-		if (commandProc == 0) {
-			commandCallback.dispose();
-			return; 	// give up
-		}
-
-		// Install event handler for commands
-		int[] mask= new int[] {
-			OS.kEventClassCommand, OS.kEventProcessCommand
-		};
-		OS.InstallEventHandler(OS.GetApplicationEventTarget(), commandProc, mask.length / 2, mask, 0, null);
-
-		// create About Eclipse menu command
-		int[] outMenu= new int[1];
-		short[] outIndex= new short[1];
-		if (OS.GetIndMenuItemWithCommandID(0, kHICommandPreferences, 1, outMenu, outIndex) == OS.noErr && outMenu[0] != 0) {
-			int menu= outMenu[0];
-
-			int l= fgAboutActionName.length();
-			char buffer[]= new char[l];
-			fgAboutActionName.getChars(0, l, buffer, 0);
-			int str= OS.CFStringCreateWithCharacters(OS.kCFAllocatorDefault, buffer, l);
-			OS.InsertMenuItemTextWithCFString(menu, str, (short) 0, 0, kHICommandAbout);
-			OS.CFRelease(str);
-			
-			// add separator between About & Preferences
-			OS.InsertMenuItemTextWithCFString(menu, 0, (short) 1, OS.kMenuItemAttrSeparator, 0);
-
-			// enable pref menu
-			OS.EnableMenuCommand(menu, kHICommandPreferences);
-		
-			// disable services menu
-			OS.DisableMenuCommand(menu, kHICommandServices);
-		}
-
-		// schedule disposal of callback object
-		display.disposeExec(
-			new Runnable() {
-				public void run() {
-					commandCallback.dispose();
-				}
-			}
-		);
-	}
-	
-	/**
-	 * Locate an action with the given id in the current menubar and run it.
-	 */
-	private int runAction(String actionId) {
-		IWorkbenchWindow window= PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-		if (window != null) {
-			Shell shell= window.getShell();
-			Menu menubar= shell.getMenuBar();
-			if (menubar != null) {
-				for (int i= 0; i < menubar.getItemCount(); i++) {
-					MenuItem mi= menubar.getItem(i);
-					Menu m= mi.getMenu();
-					for (int j= 0; j < m.getItemCount(); j++) {
-						MenuItem mi2= m.getItem(j);
-						Object o= mi2.getData();
-						if (o instanceof ActionContributionItem) {
-							ActionContributionItem aci= (ActionContributionItem) o;
-							String id= aci.getId();
-							if (id != null && id.equals(actionId)) {
-								IAction action= aci.getAction();
-								if (action != null && action.isEnabled()) {
-									action.run();
-									return OS.noErr;
-								}
-							}
-						}
-					}
-				}
-			}
-		}
-		return OS.eventNotHandledErr;
-	}
-}
diff --git a/bundles/org.eclipse.ui.carbon/src/org/eclipse/ui/carbon/Messages.properties b/bundles/org.eclipse.ui.carbon/src/org/eclipse/ui/carbon/Messages.properties
deleted file mode 100644
index 35266ff..0000000
--- a/bundles/org.eclipse.ui.carbon/src/org/eclipse/ui/carbon/Messages.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 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 Corporation - initial API and implementation
-###############################################################################
-
-AboutAction.name=About Eclipse Platform
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/.classpath b/bundles/org.eclipse.ui.forms/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/bundles/org.eclipse.ui.forms/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.ui.forms/.cvsignore b/bundles/org.eclipse.ui.forms/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/bundles/org.eclipse.ui.forms/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/.project b/bundles/org.eclipse.ui.forms/.project
deleted file mode 100644
index 30e03a8..0000000
--- a/bundles/org.eclipse.ui.forms/.project
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.forms</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.core.runtime</project>
-		<project>org.eclipse.ui</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.forms/about.html b/bundles/org.eclipse.ui.forms/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/bundles/org.eclipse.ui.forms/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.forms/build.properties b/bundles/org.eclipse.ui.forms/build.properties
deleted file mode 100644
index cb1b038..0000000
--- a/bundles/org.eclipse.ui.forms/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-bin.includes = plugin.properties,\
-               *.jar,\
-               plugin.xml,\
-               about.html
-source.forms.jar = src/
-src.includes = about.html
diff --git a/bundles/org.eclipse.ui.forms/plugin.properties b/bundles/org.eclipse.ui.forms/plugin.properties
deleted file mode 100644
index de03689..0000000
--- a/bundles/org.eclipse.ui.forms/plugin.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
-###############################################################################
-#
-# plugin.xml properties
-#
-
-name = Eclipse Forms
-provider-name = Eclipse.org
-
diff --git a/bundles/org.eclipse.ui.forms/plugin.xml b/bundles/org.eclipse.ui.forms/plugin.xml
deleted file mode 100644
index 0558da0..0000000
--- a/bundles/org.eclipse.ui.forms/plugin.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui.forms"
-   name="%name"
-   version="3.0.0"
-   provider-name="%provider-name">
-
-   <runtime>
-      <library name="forms.jar">
-         <export name="*"/>
-         <packages prefixes="org.eclipse.ui.forms"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.core.runtime"/>
-   </requires>
-
-
-</plugin>
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/AbstractFormPart.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/AbstractFormPart.java
deleted file mode 100644
index 7b2252f..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/AbstractFormPart.java
+++ /dev/null
@@ -1,118 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms;
-/**
- * AbstractFormPart implements IFormPart interface and can be used as a
- * convenient base class for concrete form parts. If a method contains
- * code that must be called, look for instructions to call 'super'
- * when overriding.
- * 
- * @see Section
- * @since 3.0
- */
-public abstract class AbstractFormPart implements IFormPart {
-	private IManagedForm managedForm;
-	private boolean dirty = false;
-	private boolean stale = true;
-	/**
-	 * @see org.eclipse.ui.forms.IFormPart#initialize(org.eclipse.ui.forms.IManagedForm)
-	 */
-	public void initialize(IManagedForm form) {
-		this.managedForm = form;
-	}
-	/**
-	 * Returns the form that manages this part.
-	 * 
-	 * @return the managed form
-	 */
-	public IManagedForm getManagedForm() {
-		return managedForm;
-	}
-	/**
-	 * Disposes the part. Subclasses should override to release any system
-	 * resources.
-	 */
-	public void dispose() {
-	}
-	/**
-	 * Commits the part. Subclasses should call 'super' when overriding.
-	 * 
-	 * @param onSave
-	 *            <code>true</code> if the request to commit has arrived as a
-	 *            result of the 'save' action.
-	 */
-	public void commit(boolean onSave) {
-		dirty = false;
-	}
-	/**
-	 * Sets the overal form input. Subclases may elect to override the method
-	 * and adjust according to the form input.
-	 * 
-	 * @param input
-	 *            the form input object
-	 * @return <code>false</code>
-	 */
-	public boolean setFormInput(Object input) {
-		return false;
-	}
-	/**
-	 * Instructs the part to grab keyboard focus.
-	 */
-	public void setFocus() {
-	}
-	/**
-	 * Refreshes the section after becoming stale (falling behind data in the
-	 * model). Subclasses must call 'super' when overriding this method.
-	 */
-	public void refresh() {
-		stale = false;
-		// since we have refreshed, any changes we had in the
-		// part are gone and we are not dirty
-		dirty = false;
-	}
-	/**
-	 * Marks the part dirty. Subclasses should call this method as a result of
-	 * user interaction with the widgets in the section.
-	 */
-	public void markDirty() {
-		dirty = true;
-		managedForm.dirtyStateChanged();
-	}
-	/**
-	 * Tests whether the part is dirty i.e. its widgets have state that is
-	 * newer than the data in the model.
-	 * 
-	 * @return <code>true</code> if the part is dirty, <code>false</code>
-	 *         otherwise.
-	 */
-	public boolean isDirty() {
-		return dirty;
-	}
-	/**
-	 * Tests whether the part is stale i.e. its widgets have state that is
-	 * older than the data in the model.
-	 * 
-	 * @return <code>true</code> if the part is stale, <code>false</code>
-	 *         otherwise.
-	 */
-	public boolean isStale() {
-		return stale;
-	}
-	/**
-	 * Marks the part stale. Subclasses should call this method as a result of
-	 * model notification that indicates that the content of the section is no
-	 * longer in sync with the model.
-	 */
-	public void markStale() {
-		stale = true;
-		managedForm.staleStateChanged();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/DetailsPart.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/DetailsPart.java
deleted file mode 100644
index f064d51..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/DetailsPart.java
+++ /dev/null
@@ -1,326 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms;
-import java.util.*;
-
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.forms.widgets.ScrolledPageBook;
-/**
- * This managed form part handles the 'details' portion of the 
- * 'master/details' block. It has a page book that manages pages
- * of details registered for the current selection.
- * <p>By default, details part accepts any number of pages.
- * If dynamic page provider is registered, this number may
- * be excessive. To avoid running out of steam (by creating 
- * a large number of pages with widgets on each), maximum
- * number of pages can be set to some reasonable value (e.g. 10).
- * When this number is reached, old pages (those created first)
- * will be removed and disposed as new ones are added. If
- * the disposed pages are needed again after that, they
- * will be created again.
- * 
- * @since 3.0
- */
-public final class DetailsPart implements IFormPart, IPartSelectionListener {
-	private IManagedForm managedForm;
-	private ScrolledPageBook pageBook;
-	private IFormPart masterPart;
-	private IStructuredSelection currentSelection;
-	private Hashtable pages;
-	private IDetailsPageProvider pageProvider;
-	private int pageLimit=Integer.MAX_VALUE;
-	
-	private static class PageBag {
-		private static int counter;
-		private int ticket;
-		private IDetailsPage page;
-		private boolean fixed;
-		
-		public PageBag(IDetailsPage page, boolean fixed) {
-			this.page= page;
-			this.fixed = fixed;
-			this.ticket = ++counter;
-		}
-		public int getTicket() {
-			return ticket;
-		}
-		public IDetailsPage getPage() {
-			return page;
-		}
-		public void dispose() {
-			page.dispose();
-			page=null;
-		}
-		public boolean isDisposed() {
-			return page==null;
-		}
-		public boolean isFixed() {
-			return fixed;
-		}
-		public static int getCurrentTicket() {
-			return counter;
-		}
-	}
-/**
- * Creates a details part by wrapping the provided page book.
- * @param mform the parent form
- * @param pageBook the page book to wrap
- */	
-	public DetailsPart(IManagedForm mform, ScrolledPageBook pageBook) {
-		this.pageBook = pageBook;
-		pages = new Hashtable();
-		initialize(mform);
-	}
-/**
- * Creates a new details part in the provided form by creating 
- * the page book.
- * @param mform the parent form
- * @param parent the composite to create the page book in
- * @param style the style for the page book
- */
-	public DetailsPart(IManagedForm mform, Composite parent, int style) {
-		this(mform, mform.getToolkit().createPageBook(parent, style|SWT.V_SCROLL|SWT.H_SCROLL));
-	}
-/**
- * Registers the details page to be used for all the objects of
- * the provided object class.
- * @param objectClass
- * @param page
- */
-	public void registerPage(Object objectClass, IDetailsPage page) {
-		registerPage(objectClass, page, true);
-	}
-	
-	private void registerPage(Object objectClass, IDetailsPage page, boolean fixed) {
-		pages.put(objectClass, new PageBag(page, fixed));
-		page.initialize(managedForm);
-	}
-/**
- * Sets the dynamic page provider. The dynamic provider can return
- * different pages for objects of the same class based on their state.
- * @param provider the provider to use
- */
-	public void setPageProvider(IDetailsPageProvider provider) {
-		this.pageProvider = provider;
-	}
-/**
- * Commits the part by committing the current page.
- * @boolean onSave <code>true</code> if commit is requested as a result
- * of the 'save' action, <code>false</code> otherwise.
- */
-	public void commit(boolean onSave) {
-		IDetailsPage page = getCurrentPage();
-		if (page != null)
-			page.commit(onSave);
-	}
-/**
- * Returns the current page visible in the part.
- * @return the current page
- */
-	public IDetailsPage getCurrentPage() {
-		Control control = pageBook.getCurrentPage();
-		if (control != null) {
-			Object data = control.getData();
-			if (data instanceof IDetailsPage)
-				return (IDetailsPage) data;
-		}
-		return null;
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IFormPart#dispose()
-	 */
-	public void dispose() {
-		for (Enumeration enum = pages.elements(); enum.hasMoreElements();) {
-			PageBag pageBag = (PageBag) enum.nextElement();
-			pageBag.dispose();
-		}
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IFormPart#initialize(org.eclipse.ui.forms.IManagedForm)
-	 */
-	public void initialize(IManagedForm form) {
-		this.managedForm = form;
-	}
-/**
- * Tests if the currently visible page is dirty.
- */
-	public boolean isDirty() {
-		IDetailsPage page = getCurrentPage();
-		if (page != null)
-			return page.isDirty();
-		return false;
-	}
-/**
- * Tests if the currently visible page is stale and needs refreshing.
- */	
-	public boolean isStale() {
-		IDetailsPage page = getCurrentPage();
-		if (page != null)
-			return page.isStale();
-		return false;
-	}
-
-/**
- * Refreshes the current page.
- */
-	public void refresh() {
-		IDetailsPage page = getCurrentPage();
-		if (page != null)
-			page.refresh();
-	}
-/**
- * Sets the focus to the currently visible page.
- */
-	public void setFocus() {
-		IDetailsPage page = getCurrentPage();
-		if (page != null)
-			page.setFocus();
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IFormPart#setFormInput(java.lang.Object)
-	 */
-	public boolean setFormInput(Object input) {
-		return false;
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IPartSelectionListener#selectionChanged(org.eclipse.ui.forms.IFormPart,
-	 *      org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IFormPart part, ISelection selection) {
-		this.masterPart = part;
-		if (currentSelection != null) {
-		}
-		if (selection instanceof IStructuredSelection)
-			currentSelection = (IStructuredSelection) selection;
-		else
-			currentSelection = null;
-		update();
-	}
-	private void update() {
-		Object key = null;
-		if (currentSelection != null) {
-			for (Iterator iter = currentSelection.iterator(); iter.hasNext();) {
-				Object obj = iter.next();
-				if (key == null)
-					key = getKey(obj);
-				else if (getKey(obj).equals(key) == false) {
-					key = null;
-					break;
-				}
-			}
-		}
-		showPage(key);
-	}
-	private Object getKey(Object object) {
-		if (pageProvider!=null) {
-			Object key = pageProvider.getPageKey(object);
-			if (key!=null)
-				return key;
-		}
-		return object.getClass();
-	}
-	private void showPage(final Object key) {
-		checkLimit();
-		final IDetailsPage oldPage = getCurrentPage();
-		if (key != null) {
-			PageBag pageBag = (PageBag)pages.get(key);
-			IDetailsPage page = pageBag!=null?pageBag.getPage():null;
-			if (page==null) {
-				// try to get the page dynamically from the provider
-				if (pageProvider!=null) {
-					page = pageProvider.getPage(key);
-					if (page!=null) {
-						registerPage(key, page, false);
-					}
-				}
-			}
-			if (page != null) {
-				final IDetailsPage fpage = page;
-				BusyIndicator.showWhile(pageBook.getDisplay(), new Runnable() {
-					public void run() {
-						if (!pageBook.hasPage(key)) {
-							Composite parent = pageBook.createPage(key);
-							fpage.createContents(parent);
-							parent.setData(fpage);
-						}
-						//commit the current page
-						if (oldPage!=null && oldPage.isDirty())
-							oldPage.commit(false);
-						//refresh the new page
-						if (fpage.isStale())
-							fpage.refresh();
-						fpage.selectionChanged(masterPart, currentSelection);
-						pageBook.showPage(key);
-					}
-				});
-				return;
-			}
-		}
-		// If we are switching from an old page to nothing,
-		// don't loose data 
-		if (oldPage!=null && oldPage.isDirty())
-			oldPage.commit(false);
-		pageBook.showEmptyPage();
-	}
-	private void checkLimit() {
-		if (pages.size() <= getPageLimit()) return;
-		// overflow
-		int currentTicket = PageBag.getCurrentTicket();
-		int cutoffTicket = currentTicket - getPageLimit();
-		for (Enumeration enum=pages.keys(); enum.hasMoreElements();) {
-			Object key = enum.nextElement();
-			PageBag pageBag = (PageBag)pages.get(key);
-			if (pageBag.getTicket()<=cutoffTicket) {
-				// candidate - see if it is active and not fixed
-				if (!pageBag.isFixed() && !pageBag.getPage().equals(getCurrentPage())) {
-					// drop it
-					pageBag.dispose();
-					pages.remove(key);
-					pageBook.removePage(key, false);				
-				}
-			}
-		}
-	}
-	/**
-	 * Returns the maximum number of pages that should be
-	 * maintained in this part. When an attempt is made to
-	 * add more pages, old pages are removed and disposed
-	 * based on the order of creation (the oldest pages
-	 * are removed). The exception is made for the 
-	 * page that should otherwise be disposed but is
-	 * currently active.
-	 * @return maximum number of pages for this part
-	 */
-	public int getPageLimit() {
-		return pageLimit;
-	}
-	/**
-	 * Sets the page limit for this part. 
-	 * @see #getPageLimit()
-	 * @param pageLimit the maximum number of pages that
-	 * should be maintained in this part.
-	 */
-	public void setPageLimit(int pageLimit) {
-		this.pageLimit = pageLimit;
-		checkLimit();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/FormColors.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/FormColors.java
deleted file mode 100644
index c0f7903..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/FormColors.java
+++ /dev/null
@@ -1,298 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms;
-import java.util.*;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.Display;
-/**
- * Manages colors that will be applied to forms and form widgets. The colors
- * are chosen to make the widgets look correct in the editor area. If a
- * different set of colors is needed, subclass this class and override
- * 'initialize' and/or 'initializeColors'.
- * 
- * @since 3.0
- */
-public class FormColors {
-	/**
-	 * Key for the form title foreground color.
-	 */
-	public static final String TITLE = "org.eclipse.ui.forms.TITLE";
-	/**
-	 * Key for the tree/table border color.
-	 */
-	public static final String BORDER = "org.eclipse.ui.forms.BORDER";
-	/**
-	 * Key for the section separator color.
-	 */
-	public static final String SEPARATOR = "org.eclipse.ui.forms.SEPARATOR";
-
-	public static final String TB_BG = "org.eclipse.ui.forms.TB_BG";
-	public static final String TB_FG = "org.eclipse.ui.forms.TB_FG";
-	public static final String TB_GBG = "org.eclipse.ui.forms.TB_GBG";
-	public static final String TB_BORDER = "org.eclipse.ui.forms.TB_BORDER";
-	public static final String TB_TOGGLE = "org.eclipse.ui.forms.TB_TOGGLE";
-	protected Map colorRegistry = new HashMap(10);
-	protected Color background;
-	protected Color foreground;
-	private boolean shared;
-	protected Display display;
-	protected Color border;
-	/**
-	 * Creates form colors using the provided display.
-	 * 
-	 * @param display
-	 *            the display to use
-	 */
-	public FormColors(Display display) {
-		this.display = display;
-		initialize();
-	}
-	/**
-	 * Returns the display used to create colors.
-	 * 
-	 * @return the display
-	 */
-	public Display getDisplay() {
-		return display;
-	}
-	/**
-	 * Initializes the colors. Subclasses can override this method to change
-	 * the way colors are created. Alternatively, only the color table can be
-	 * modified by overriding <code>initializeColorTable()</code>.
-	 * 
-	 * @see #initializeColorTable
-	 */
-	protected void initialize() {
-		background = display.getSystemColor(SWT.COLOR_LIST_BACKGROUND);
-		foreground = display.getSystemColor(SWT.COLOR_LIST_FOREGROUND);
-		initializeColorTable();
-		updateBorderColor();
-	}
-	/**
-	 * Allocates colors for the following keys: BORDER, COMPOSITE_SEPARATOR and
-	 * DEFAULT_HEADER. Subclasses can override to allocate this colors
-	 * differently.
-	 */
-	protected void initializeColorTable() {
-		createColor(SEPARATOR, 152, 170, 203);
-		String osname = System.getProperty("os.name").toLowerCase();
-		if (osname.startsWith("mac os"))
-			createColor(TITLE, getSystemColor(SWT.COLOR_LIST_FOREGROUND));
-		else
-			createColor(TITLE, getSystemColor(SWT.COLOR_LIST_SELECTION));
-		RGB border = getSystemColor(SWT.COLOR_TITLE_INACTIVE_BACKGROUND_GRADIENT);
-		RGB black = new RGB(0,0,0);
-		createColor(BORDER, blend(border, black, 80));
-	}
-/**
- * Allocates colors for the section tool bar (all the keys that
- * start with TB). Since these colors are only needed when
- * TITLE_BAR style is used with the Section widget, they
- * are not needed all the time and are allocated on demand.
- * Consequently, this method will do nothing if the colors
- * have been already initialized. Call this method prior to
- * using colors with the TB keys to ensure they are available.
- */	
-	public void initializeSectionToolBarColors() {
-		if (getColor(FormColors.TB_BG)!=null) return;
-			
-		RGB tbBg = getSystemColor(SWT.COLOR_TITLE_BACKGROUND_GRADIENT);
-		RGB formBackground = getBackground().getRGB();
-		// blend 77% white with the title background gradient
-		tbBg = blend(formBackground, tbBg, 77);
-		createColor(FormColors.TB_BG, tbBg);
-		
-		// blend 50 % white with the previous blend for half-way
-		RGB tbGbg = blend(formBackground, tbBg, 50);
-		createColor(FormColors.TB_GBG, tbGbg);
-		
-		// Title bar foreground
-		RGB tbFg = getSystemColor(SWT.COLOR_LIST_SELECTION);
-		createColor(FormColors.TB_FG, tbFg);
-		
-		// title bar outline - border color
-		RGB tbBorder = getSystemColor(SWT.COLOR_TITLE_INACTIVE_BACKGROUND_GRADIENT);
-		createColor(FormColors.TB_BORDER, tbBorder);
-		// toggle color
-		RGB toggle = getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW);
-		createColor(FormColors.TB_TOGGLE, toggle);
-	}
-	
-	public RGB getSystemColor(int code) {
-		return getDisplay().getSystemColor(code).getRGB();
-	}
-	/**
-	 * Creates the color for the specified key using the provided RGB object.
-	 * The color object will be returned and also put into the registry. When
-	 * the class is disposed, the color will be disposed with it.
-	 * 
-	 * @param key
-	 *            the unique color key
-	 * @param rgb
-	 *            the RGB object
-	 * @return the allocated color object
-	 */
-	public Color createColor(String key, RGB rgb) {
-		return createColor(key, rgb.red, rgb.green, rgb.blue);
-	}
-	/**
-	 * Creates the color for the specified key using the provided RGB values.
-	 * The color object will be returned and also put into the registry. When
-	 * the class is disposed, the color will be disposed with it.
-	 * 
-	 * @param key
-	 *            the unique color key
-	 * @param r
-	 *            red value
-	 * @param g
-	 *            green value
-	 * @param b
-	 *            blue value
-	 * @return the allocated color object
-	 */
-	public Color createColor(String key, int r, int g, int b) {
-		Color c = new Color(display, r, g, b);
-		colorRegistry.put(key, c);
-		return c;
-	}
-	/**
-	 * Computes the border color relative to the background. Allocated border
-	 * color is designed to work well with white. Otherwise, stanard widget
-	 * background color will be used.
-	 */
-	protected void updateBorderColor() {
-		if (isWhiteBackground())
-			border = getColor(BORDER);
-		else {
-			border = display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND);
-			if (border.getRed()==background.getRed() &&
-					border.getGreen()==background.getGreen() &&
-					border.getBlue()==background.getBlue())
-				border = display.getSystemColor(SWT.COLOR_WIDGET_DARK_SHADOW);
-		}
-	}
-	/**
-	 * Sets the background color. All the toolkits that use this class will
-	 * share the same background.
-	 * 
-	 * @param bg
-	 *            background color
-	 */
-	public void setBackground(Color bg) {
-		this.background = bg;
-		updateBorderColor();
-	}
-	/**
-	 * Sets the foreground color. All the toolkits that use this class will
-	 * share the same foreground.
-	 * 
-	 * @param fg
-	 *            foreground color
-	 */
-	public void setForeground(Color fg) {
-		this.foreground = fg;
-	}
-	/**
-	 * Returns the current background color.
-	 * 
-	 * @return the background color
-	 */
-	public Color getBackground() {
-		return background;
-	}
-	/**
-	 * Returns the current foreground color.
-	 * 
-	 * @return the foreground color
-	 */
-	public Color getForeground() {
-		return foreground;
-	}
-	/**
-	 * Returns the computed border color. Border color depends on the
-	 * background and is recomputed whenever the background changes.
-	 * 
-	 * @return the current border color
-	 */
-	public Color getBorderColor() {
-		return border;
-	}
-	/**
-	 * Tests if the background is white. White background has RGB value
-	 * 255,255,255.
-	 * 
-	 * @return <samp>true </samp> if background is white, <samp>false </samp>
-	 *         otherwise.
-	 */
-	public boolean isWhiteBackground() {
-		return background.getRed() == 255 && background.getGreen() == 255
-				&& background.getBlue() == 255;
-	}
-	/**
-	 * Returns the color object for the provided key or <samp>null </samp> if
-	 * not in the registry.
-	 * 
-	 * @param key
-	 *            the color key
-	 * @return color object if found, or <samp>null </samp> if not.
-	 */
-	public Color getColor(String key) {
-		return (Color) colorRegistry.get(key);
-	}
-	/**
-	 * Disposes all the colors in the registry.
-	 */
-	public void dispose() {
-		Iterator e = colorRegistry.values().iterator();
-		while (e.hasNext())
-			((Color) e.next()).dispose();
-		colorRegistry = null;
-	}
-	/**
-	 * Marks the colors shared. This prevents toolkits that share this object
-	 * from disposing it.
-	 */
-	public void markShared() {
-		this.shared = true;
-	}
-	/**
-	 * Tests if the colors are shared.
-	 * 
-	 * @return <code>true</code> if shared, <code>false</code> otherwise.
-	 */
-	public boolean isShared() {
-		return shared;
-	}
-	/**
-	 * Blends c1 and c2 based on the provided ratio.
-	 * @param c1 first color
-	 * @param c2 second color
-	 * @param ratio percentage of the first color in the blend
-	 */
-	private RGB blend(RGB c1, RGB c2, int ratio) {
-		int r = blend(c1.red, c2.red, ratio);
-		int g = blend(c1.green, c2.green, ratio);
-		int b = blend(c1.blue, c2.blue, ratio);
-		return new RGB(r, g, b);
-	}
-	/**
-	 * Blends two primary color components based on the provided ratio.
-	 * @param v1 first component
-	 * @param v2 second component
-	 * @param ratio percentage of the first component in the blend
-	 * @return
-	 */
-	private int blend(int v1, int v2, int ratio) {
-		return (ratio*v1 + (100-ratio)*v2)/100;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/HyperlinkGroup.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/HyperlinkGroup.java
deleted file mode 100644
index 9c415c4..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/HyperlinkGroup.java
+++ /dev/null
@@ -1,205 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms;
-
-import java.util.ArrayList;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.forms.events.*;
-import org.eclipse.ui.forms.widgets.Hyperlink;
-
-/**
- * Manages a group of hyperlinks. It tracks activation, updates normal and
- * active colors and updates underline state depending on the underline
- * preference. Hyperlink labels are added to the group after creation and are
- * automatically removed from the group when they are disposed.
- * 
- * @since 3.0
- */
-
-public final class HyperlinkGroup extends HyperlinkSettings {
-	private ArrayList links = new ArrayList();
-	private Hyperlink lastActivated;
-	private Hyperlink lastEntered;
-	private GroupListener listener;
-
-	private class GroupListener implements Listener, IHyperlinkListener {
-		public void handleEvent(Event e) {
-			switch (e.type) {
-				case SWT.MouseEnter :
-					onMouseEnter(e);
-					break;
-				case SWT.MouseExit :
-					onMouseExit(e);
-					break;
-				case SWT.MouseDown :
-					onMouseDown(e);
-					break;
-				case SWT.Dispose :
-					unhook((Hyperlink) e.widget);
-					break;
-			}
-		}
-		private void onMouseEnter(Event e) {
-			Hyperlink link = (Hyperlink) e.widget;
-			if (getActiveBackground() != null)
-				link.setBackground(getActiveBackground());
-			if (getActiveForeground() != null)
-				link.setForeground(getActiveForeground());
-		}
-		private void onMouseExit(Event e) {
-			Hyperlink link = (Hyperlink) e.widget;
-			if (getBackground() != null)
-				link.setBackground(getBackground());
-			if (getForeground() != null)
-				link.setForeground(getForeground());
-		}
-		public void linkActivated(HyperlinkEvent e) {
-		}
-
-		public void linkEntered(HyperlinkEvent e) {
-			if (lastEntered != null) {
-				linkExited(lastEntered);
-			}
-			Hyperlink link = (Hyperlink) e.widget;
-			link.setCursor(getHyperlinkCursor());
-			if (getHyperlinkUnderlineMode() == UNDERLINE_HOVER)
-				link.setUnderlined(true);
-			lastEntered = link;
-		}
-
-		public void linkExited(HyperlinkEvent e) {
-			linkExited((Hyperlink) e.widget);
-		}
-		private void linkExited(Hyperlink link) {
-			link.setCursor(null);
-			if (getHyperlinkUnderlineMode() == UNDERLINE_HOVER)
-				link.setUnderlined(false);
-			if (lastEntered == link)
-				lastEntered = null;
-		}
-	}
-
-	/**
-	 * Creates a hyperlink group.
-	 */
-
-	public HyperlinkGroup(Display display) {
-		super(display);
-		listener = new GroupListener();
-	}
-
-	/**
-	 * Returns the link that has been active the last, or <code>null</code>
-	 * if no link has been active yet or the last active link has been
-	 * disposed.
-	 * 
-	 * @return the last active link or <code>null</code>
-	 */
-	public Hyperlink getLastActivated() {
-		return lastActivated;
-	}
-	/**
-	 * Adds a hyperlink to the group to be jointly managed. Hyperlink will be
-	 * managed until it is disposed. Settings like colors, cursors and modes
-	 * will affect all managed hyperlinks.
-	 * 
-	 * @param link
-	 */
-
-	public void add(Hyperlink link) {
-		if (getBackground() != null)
-			link.setBackground(getBackground());
-		if (getForeground() != null)
-			link.setForeground(getForeground());
-		if (getHyperlinkUnderlineMode() == UNDERLINE_ALWAYS)
-			link.setUnderlined(true);
-		hook(link);
-	}
-	/**
-	 * Sets the group background and also sets the background of all the
-	 * currently managed links.
-	 * 
-	 * @param bg
-	 *            the new background
-	 */
-
-	public void setBackground(Color bg) {
-		super.setBackground(bg);
-		if (links != null) {
-			for (int i = 0; i < links.size(); i++) {
-				Hyperlink label = (Hyperlink) links.get(i);
-				label.setBackground(bg);
-			}
-		}
-	}
-	/**
-	 * Sets the group foreground and also sets the background of all the
-	 * currently managed links.
-	 * 
-	 * @param fg
-	 *            the new foreground
-	 */
-	public void setForeground(Color fg) {
-		super.setForeground(fg);
-		if (links != null) {
-			for (int i = 0; i < links.size(); i++) {
-				Hyperlink label = (Hyperlink) links.get(i);
-				label.setForeground(fg);
-			}
-		}
-	}
-	/**
-	 * Sets the hyperlink underline mode.
-	 * 
-	 * @param mode
-	 *            the new hyperlink underline mode
-	 * @see HyperlinkSettings
-	 */
-	public void setHyperlinkUnderlineMode(int mode) {
-		super.setHyperlinkUnderlineMode(mode);
-		if (links != null) {
-			for (int i = 0; i < links.size(); i++) {
-				Hyperlink label = (Hyperlink) links.get(i);
-				label.setUnderlined(mode == UNDERLINE_ALWAYS);
-			}
-		}
-	}
-
-	private void hook(Hyperlink link) {
-		link.addListener(SWT.MouseDown, listener);
-		link.addHyperlinkListener(listener);
-		link.addListener(SWT.Dispose, listener);
-		link.addListener(SWT.MouseEnter, listener);
-		link.addListener(SWT.MouseExit, listener);
-		links.add(link);
-	}
-
-	private void unhook(Hyperlink link) {
-		link.removeListener(SWT.MouseDown, listener);
-		link.removeHyperlinkListener(listener);
-		link.removeListener(SWT.MouseEnter, listener);
-		link.removeListener(SWT.MouseExit, listener);
-		if (lastActivated == link)
-			lastActivated = null;
-		if (lastEntered == link)
-			lastEntered = null;
-		links.remove(link);
-	}
-
-	private void onMouseDown(Event e) {
-		if (e.button == 1)
-			return;
-		lastActivated = (Hyperlink) e.widget;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/HyperlinkSettings.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/HyperlinkSettings.java
deleted file mode 100644
index 0e63667..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/HyperlinkSettings.java
+++ /dev/null
@@ -1,177 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms;
-import org.eclipse.jface.resource.JFaceColors;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.internal.forms.widgets.*;
-/**
- * Manages color and underline mode settings for a group of hyperlinks. The
- * class is extended by HyperlinkGroup but is otwerwise not intended to be
- * subclassed.
- * 
- * @since 3.0
- */
-public class HyperlinkSettings {
-	/**
-	 * Underline mode to be used when hyperlinks should not be underlined.
-	 */
-	public static final int UNDERLINE_NEVER = 1;
-	/**
-	 * Underline mode to be used when hyperlinks should only be underlined on
-	 * mouse hover.
-	 */
-	public static final int UNDERLINE_HOVER = 2;
-	/**
-	 * Underline mode to be used when hyperlinks should always be underlined.
-	 */
-	public static final int UNDERLINE_ALWAYS = 3;
-	private int hyperlinkUnderlineMode = UNDERLINE_ALWAYS;
-	private Color background;
-	private Color foreground;
-	private Color activeBackground;
-	private Color activeForeground;
-	/**
-	 * The constructor.
-	 * 
-	 * @param display
-	 *            the display to use when creating colors.
-	 */
-	public HyperlinkSettings(Display display) {
-		initializeDefaultForegrounds(display);
-	}
-	/**
-	 * Initializes the hyperlink foregrounds from the JFace defaults set for the
-	 * entire workbench.
-	 * 
-	 * @see JFaceColors
-	 * @param display
-	 *            the display to use when creating colors
-	 */
-	public void initializeDefaultForegrounds(Display display) {
-		setForeground(JFaceColors.getHyperlinkText(display));
-		setActiveForeground(JFaceColors.getActiveHyperlinkText(display));
-	}
-	/**
-	 * Returns the background to use for the active hyperlink.
-	 * 
-	 * @return active hyperlink background
-	 */
-	public Color getActiveBackground() {
-		return activeBackground;
-	}
-	/**
-	 * Returns the foreground to use for the active hyperlink.
-	 * 
-	 * @return active hyperlink foreground
-	 */
-	public Color getActiveForeground() {
-		return activeForeground;
-	}
-	/**
-	 * Returns the background to use for the normal hyperlink.
-	 * 
-	 * @return normal hyperlink background
-	 */
-	public Color getBackground() {
-		return background;
-	}
-	/**
-	 * Returns the cursor to use when the hyperlink is active. This cursor will
-	 * be shown before hyperlink listeners have been notified of hyperlink
-	 * activation and hidden when the notification method returns.
-	 * 
-	 * @return the busy cursor
-	 */
-	public Cursor getBusyCursor() {
-		return FormsResources.getBusyCursor();
-	}
-	/**
-	 * Returns the cursor to use when over text.
-	 * 
-	 * @return the text cursor
-	 */
-	public Cursor getTextCursor() {
-		return FormsResources.getTextCursor();
-	}
-	/**
-	 * Returns the foreground to use for the normal hyperlink.
-	 * 
-	 * @return the normal hyperlink foreground
-	 */
-	public Color getForeground() {
-		return foreground;
-	}
-	/**
-	 * Returns the cursor to use when hovering over the hyperlink.
-	 * 
-	 * @return the hyperlink cursor
-	 */
-	public Cursor getHyperlinkCursor() {
-		return FormsResources.getHandCursor();
-	}
-	/**
-	 * Returns the underline mode to be used for all the hyperlinks in this
-	 * group.
-	 * 
-	 * @return one of UNDERLINE_NEVER, UNDERLINE_ALWAYS, UNDERLINE_HOVER
-	 */
-	public int getHyperlinkUnderlineMode() {
-		return hyperlinkUnderlineMode;
-	}
-	/**
-	 * Sets the new active hyperlink background for all the links.
-	 * 
-	 * @param newActiveBackground
-	 *            the new active background
-	 */
-	public void setActiveBackground(Color newActiveBackground) {
-		activeBackground = newActiveBackground;
-	}
-	/**
-	 * Sets the new active hyperlink foreground for all the links.
-	 * 
-	 * @param newActiveForeground
-	 *            the new active foreground
-	 */
-	public void setActiveForeground(Color newActiveForeground) {
-		activeForeground = newActiveForeground;
-	}
-	/**
-	 * Sets the new hyperlink background for all the links.
-	 * 
-	 * @param newBackground
-	 *            the new hyperlink background
-	 */
-	public void setBackground(Color newBackground) {
-		background = newBackground;
-	}
-	/**
-	 * Sets the new hyperlink foreground for all the links.
-	 * 
-	 * @param newForeground
-	 *            the new hyperlink foreground
-	 */
-	public void setForeground(Color newForeground) {
-		foreground = newForeground;
-	}
-	/**
-	 * Sets the new hyperlink underline mode for all the links in this group.
-	 * 
-	 * @param mode
-	 *            one of <code>UNDERLINE_NEVER</code>,
-	 *            <code>UNDERLINE_HOVER</code> and
-	 *            <code>UNDERLINE_ALWAYS</code>.
-	 */
-	public void setHyperlinkUnderlineMode(int mode) {
-		hyperlinkUnderlineMode = mode;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IDetailsPage.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IDetailsPage.java
deleted file mode 100644
index da4cf1b..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IDetailsPage.java
+++ /dev/null
@@ -1,32 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms;
-
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * This interface should be implemented by clients providing
- * pages to handle object types in DetailsPart. Most of the
- * life cycle is the same as for the IFormPart. The page is
- * a part selection listener since selections in the master
- * part will be passed to the currently visible page.
- * 
- * @see DetailsPart
- * @see MasterDetailsBlock
- * @since 3.0
- */
-public interface IDetailsPage extends IFormPart, IPartSelectionListener {
-	/**
-	 * Creates the contents of the page in the provided parent.
-	 * @param parent the parent to create the page in
-	 */
-	void createContents(Composite parent);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IDetailsPageProvider.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IDetailsPageProvider.java
deleted file mode 100644
index aaff987..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IDetailsPageProvider.java
+++ /dev/null
@@ -1,42 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms;
-
-/**
- * The class that implements this interface provides for dynamic
- * computation of page key and the page itself based on the
- * input object. It should be used in situations where
- * using the object class as a static key is not enough
- * i.e. different pages may need to be loaded for objects
- * of the same type depending on their state.
- * 
- * @see DetailsPart
- * @see MasterDetailsBlock
- * @since 3.0
- */
-public interface IDetailsPageProvider {
-/**
- * Returns the page key for the provided object. The assumption is
- * that the provider knows about various object types and
- * is in position to cast the object into a type and call methods
- * on it to determine the matching page key.
- * @param object the input object
- * @return the page key for the provided object
- */
-	Object getPageKey(Object object);
-/**
- * Returns the page for the provided key. This method is the dynamic
- * alternative to registering pages with the details part directly.
- * @param key the page key
- * @return the matching page for the provided key
- */
-	IDetailsPage getPage(Object key);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IFormPart.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IFormPart.java
deleted file mode 100644
index 73da861..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IFormPart.java
+++ /dev/null
@@ -1,111 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms;
-
-/**
- * Classes that implement this interface can be added to the managed
- * form and take part in the form life cycle. The part is initialize
- * with the form and be asked to accept focus. The part can receive
- * form input and can elect to do something according to it (for
- * example, select an object that matches the input).
- * <p>The form part has two 'out of sync' states in respect to 
- * the model(s) that feed the form: <b>dirty</b> and <b>stale</b>.
- * When a part is dirty, it means that the user interacted with 
- * it and now its widgets contain state that is newer than the
- * model. In order to sync up with the model, 'commit' needs to
- * be called. In contrast, the model can change 'under' the form
- * (as a result of some actions outside the form), resulting
- * in data in the model being 'newer' than the content presented
- * in the form. A 'stale' form part is brought in sync with the 
- * model by calling 'refresh'. The part is responsible to notify
- * the form when one of these states change in the part. The
- * form reserves the right to handle this notification in the
- * most appropriate way for the situation (for example, if 
- * form is in a page of the multi-page editor, it may do 
- * nothing for stale parts if the page is currently not showing).
- * <p>When form is disposed, each registered part is disposed 
- * as well.
- * Parts are responsible for releasing any system resources
- * they created and for removing themselves as listeners
- * from all event providers.
- * @see IManagedForm
- * @since 3.0
- * 
- */
-public interface IFormPart {
-	/**
-	 * Initializes the part.
-	 * 
-	 * @param form the managed form that manages the part
-	 */
-	void initialize(IManagedForm form);
-	/**
-	 * Disposes the part allowing it to release allocated resources.
-	 */
-	void dispose();
-	/**
-	 * Returns true if the part has been modified with respect to
-	 * the data loaded from the model.
-	 * @return
-	 */
-	boolean isDirty();
-	/**
-	 * If part is displaying information loaded from a model, this method
-	 * instructs it to commit the new (modified) data back into the model.
-	 * 
-	 * @param onSave
-	 *            indicates if commit is called during 'save' operation or for
-	 *            some other reason (for example, if form is contained in a
-	 *            wizard or a multi-page editor and the user is about to leave
-	 *            the page).
-	 */
-	void commit(boolean onSave);
-
-	/**
-	 * Notifies the part that an object has been set as overall form's input.
-	 * The part can elect to react by revealing or selecting the object, or do
-	 * nothing if not applicable.
-	 * @return <code>true</code> if the part has selected and revealed
-	 * the input object, <code>false</code> otherwise.
-	 */
-	boolean setFormInput(Object input);
-	/**
-	 * Instructs form part to transfer focus to the widget that should has
-	 * focus in that part. The method can do nothing (if it has no widgets
-	 * capable of accepting focus).
-	 */
-	void setFocus();
-	/**
-	 * Tests whether the form part is stale and needs refreshing.
-	 * Parts can receive notification from models that will make
-	 * their content stale, but may need to delay refreshing
-	 * to improve performance (for example, there is no
-	 * need to immediately refresh a part on a form that is
-	 * current on a hidden page).
-	 * <p>It is important to differentiate 'stale' and 'dirty'
-	 * states. Part is 'dirty' if user interacted with
-	 * its editable widgets and changed the values. In contrast,
-	 * part is 'stale' when the data it presents in the widgets
-	 * has been changed in the model without direct user
-	 * interaction.
-	 * @return <code>true</code> if the part needs refreshing, 
-	 * <code>false</code> otherwise.
-	 */
-	boolean isStale();
-	/**
-	 * Refreshes the part completely from the information freshly 
-	 * obtained from the model. The method will not be called
-	 * if the part is not stale. Otherwise, the part is
-	 * responsible for clearing the 'stale' flag after refreshing
-	 * itself.
-	 */
-	void refresh();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IManagedForm.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IManagedForm.java
deleted file mode 100644
index c283e57..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IManagedForm.java
+++ /dev/null
@@ -1,148 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.forms.widgets.*;
-
-/**
- * Managed form wraps a form widget and adds life cycle methods for form parts.
- * A form part is a portion of the form that participates in form life cycle
- * events.
- * <p>
- * There is no 1/1 mapping between widgets and form parts. A widget like
- * Section can be a part by itself, but a number of widgets can gather around
- * one form part.
- *<p>
- * Although many Eclipse Forms classes expect IManagedForm interface,
- * implementing it is not required. Instead, ManagedForm should
- * either be used as-is or subclassed.
- * @see ManagedForm
- * @since 3.0
- */
-public interface IManagedForm {
-	/**
-	 * Returns the toolkit used by this form.
-	 * 
-	 * @return the toolkit
-	 */
-	public FormToolkit getToolkit();
-	/**
-	 * Returns the form widget managed by this form.
-	 * 
-	 * @return the form widget
-	 */
-	public ScrolledForm getForm();
-	/**
-	 * Reflows the form as a result of the layout change.
-	 * 
-	 * @param changed
-	 *            if <code>true</code>, discard cached layout information
-	 */
-	public void reflow(boolean changed);
-	/**
-	 * A part can use this method to notify other parts that implement
-	 * IPartSelectionListener about selection changes.
-	 * 
-	 * @param part
-	 *            the part that broadcasts the selection
-	 * @param selection
-	 *            the selection in the part
-	 */
-	public void fireSelectionChanged(IFormPart part, ISelection selection);
-	/**
-	 * Returns all the parts currently managed by this form.
-	 * 
-	 * @return the managed parts
-	 */
-	IFormPart[] getParts();
-	/**
-	 * Adds the new part to the form.
-	 * 
-	 * @param part
-	 *            the part to add
-	 */
-	void addPart(IFormPart part);
-	/**
-	 * Removes the part from the form.
-	 * 
-	 * @param part
-	 *            the part to remove
-	 */
-	void removePart(IFormPart part);
-	/**
-	 * Sets the input of this page to the provided object.
-	 * 
-	 * @param input
-	 *            the new page input
-	 * @return <code>true</code> if the form contains this object,
-	 * <code>false</code> otherwise.
-	 */
-	boolean setInput(Object input);
-	/**
-	 * Returns the current page input.
-	 * 
-	 * @return page input object or <code>null</code> if not applicable.
-	 */
-	Object getInput();
-	/**
-	 * Tests if form is dirty. A managed form is dirty if at least one managed
-	 * part is dirty.
-	 * 
-	 * @return <code>true</code> if at least one managed part is dirty,
-	 *         <code>false</code> otherwise.
-	 */
-	boolean isDirty();
-	/**
-	 * Notifies the form that the dirty state of one of its parts has changed.
-	 * The global dirty state of the form can be obtained by calling 'isDirty'.
-	 * 
-	 * @see #isDirty
-	 */
-	void dirtyStateChanged();
-	/**
-	 * Commits the dirty form. All pending changes in the widgets are flushed
-	 * into the model.
-	 * 
-	 * @param onSave
-	 */
-	void commit(boolean onSave);
-	/**
-	 * Tests if form is stale. A managed form is stale if at least one managed
-	 * part is stale. This can happen when the underlying model changes,
-	 * resulting in the presentation of the part being out of sync with the
-	 * model and needing refreshing.
-	 * 
-	 * @return <code>true</code> if the form is stale, <code>false</code>
-	 *         otherwise.
-	 */
-	boolean isStale();
-	/**
-	 * Notifies the form that the stale state of one of its parts has changed.
-	 * The global stale state of the form can be obtained by calling 'isStale'.
-	 */
-	void staleStateChanged();
-	/**
-	 * Refreshes the form by refreshing every part that is stale.
-	 */
-	void refresh();
-	/**
-	 * Sets the container that owns this form. Depending on the
-	 * context, the container may be wizard, editor page,
-	 * editor etc.
-	 * @param container the container of this form
-	 */
-	void setContainer(Object container);
-	/**
-	 * Returns the container of this form.
-	 * @return the form container
-	 */
-	Object getContainer();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IPartSelectionListener.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IPartSelectionListener.java
deleted file mode 100644
index e0d7d82..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IPartSelectionListener.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms;
-
-import org.eclipse.jface.viewers.ISelection;
-
-/**
- * Form parts can implement this interface if they want to be 
- * notified when another part on the same form changes selection 
- * state.
- * 
- * @see IFormPart
- * @since 3.0
- */
-public interface IPartSelectionListener {
-	/**
-	 * Called when the provided part has changed selection state.
-	 * 
-	 * @param part
-	 *            the selection source
-	 * @param selection
-	 *            the new selection
-	 */
-	public void selectionChanged(IFormPart part, ISelection selection);
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/ManagedForm.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/ManagedForm.java
deleted file mode 100644
index 736bc45..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/ManagedForm.java
+++ /dev/null
@@ -1,245 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms;
-import java.util.Vector;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.forms.widgets.*;
-/**
- * Managed form wraps a form widget and adds life cycle methods for form parts.
- * A form part is a portion of the form that participates in form life cycle
- * events.
- * <p>
- * There is requirement for 1/1 mapping between widgets and form parts. A
- * widget like Section can be a part by itself, but a number of widgets can
- * join around one form part.
- * <p>Note to developers: this class is left public to allow its use
- * beyond the original intention (inside a multi-page editor's page).
- * You should limit the use of this class to make new instances
- * inside a form container (wizard page, dialog etc.).
- * Clients that need access to the class should not do it directly. 
- * Instead, they should do it through IManagedForm interface as 
- * much as possible.
- * 
- * @since 3.0
- */
-public class ManagedForm implements IManagedForm {
-	private Object input;
-	private ScrolledForm form;
-	private FormToolkit toolkit;
-	private Object container;
-	private boolean ownsToolkit;
-	private Vector parts = new Vector();
-	/**
-	 * Creates a managed form in the provided parent. Form toolkit and widget
-	 * will be created and owned by this object.
-	 * 
-	 * @param parent
-	 *            the parent widget
-	 */
-	public ManagedForm(Composite parent) {
-		toolkit = new FormToolkit(parent.getDisplay());
-		ownsToolkit = true;
-		form = toolkit.createScrolledForm(parent);
-	}
-	/**
-	 * Creates a managed form that will use the provided toolkit and
-	 * 
-	 * @param toolkit
-	 * @param form
-	 */
-	public ManagedForm(FormToolkit toolkit, ScrolledForm form) {
-		this.form = form;
-		this.toolkit = toolkit;
-	}
-	/**
-	 * Add a part to be managed by this form.
-	 * 
-	 * @param part
-	 *            part to add
-	 */
-	public void addPart(IFormPart part) {
-		parts.add(part);
-	}
-	/**
-	 * Remove the part from this form.
-	 * 
-	 * @param part
-	 *            part to remove
-	 */
-	public void removePart(IFormPart part) {
-		parts.remove(part);
-	}
-	/**
-	 * Returns all the parts current managed by this form.
-	 */
-	public IFormPart[] getParts() {
-		return (IFormPart[]) parts.toArray(new IFormPart[parts.size()]);
-	}
-	/**
-	 * Returns the toolkit used by this form.
-	 * 
-	 * @return the toolkit
-	 */
-	public FormToolkit getToolkit() {
-		return toolkit;
-	}
-	/**
-	 * Returns the form widget managed by this form.
-	 * 
-	 * @return the form widget
-	 */
-	public ScrolledForm getForm() {
-		return form;
-	}
-	/**
-	 * Reflows the form as a result of a layout change.
-	 */
-	public void reflow(boolean changed) {
-		form.reflow(changed);
-	}
-	/**
-	 * A part can use this method to notify other parts that implement
-	 * IPartSelectionListener about selection changes.
-	 * 
-	 * @param part
-	 *            the part that broadcasts the selection
-	 * @param selection
-	 *            the selection in the part
-	 * @see IPartSelectionListener
-	 */
-	public void fireSelectionChanged(IFormPart part, ISelection selection) {
-		for (int i = 0; i < parts.size(); i++) {
-			IFormPart cpart = (IFormPart) parts.get(i);
-			if (part.equals(cpart))
-				continue;
-			if (cpart instanceof IPartSelectionListener) {
-				((IPartSelectionListener) cpart).selectionChanged(part,
-						selection);
-			}
-		}
-	}
-	/**
-	 * Initializes all the parts in this form.
-	 */
-	public void initialize() {
-		for (int i = 0; i < parts.size(); i++) {
-			IFormPart part = (IFormPart) parts.get(i);
-			part.initialize(this);
-		}
-	}
-	/**
-	 * Disposes all the parts in this form.
-	 */
-	public void dispose() {
-		for (int i = 0; i < parts.size(); i++) {
-			IFormPart part = (IFormPart) parts.get(i);
-			part.dispose();
-		}
-		if (ownsToolkit) {
-			toolkit.dispose();
-		}
-	}
-	/**
-	 * Refreshes the form by refreshes all the stale parts.
-	 */
-	public void refresh() {
-		int nrefreshed = 0;
-		for (int i = 0; i < parts.size(); i++) {
-			IFormPart part = (IFormPart) parts.get(i);
-			if (part.isStale()) {
-				part.refresh();
-				nrefreshed++;
-			}
-		}
-		if (nrefreshed > 0)
-			form.reflow(true);
-	}
-	/**
-	 * Commits the form by commiting all the dirty parts to the model.
-	 */
-	public void commit(boolean onSave) {
-		for (int i = 0; i < parts.size(); i++) {
-			IFormPart part = (IFormPart) parts.get(i);
-			if (part.isDirty())
-				part.commit(onSave);
-		}
-	}
-	/**
-	 * Sets the form input. Managed parts could opt to react to it by selecting
-	 * and/or revealing the object if they contain it.
-	 * 
-	 * @param input
-	 *            the input object
-	 */
-	public boolean setInput(Object input) {
-		boolean pageResult=false;
-		
-		this.input = input;
-		for (int i = 0; i < parts.size(); i++) {
-			IFormPart part = (IFormPart) parts.get(i);
-			boolean result = part.setFormInput(input);
-			if (result)
-				pageResult = true;
-		}
-		return pageResult;
-	}
-	public Object getInput() {
-		return input;
-	}
-	/**
-	 * Transfers the focus to the first form part.
-	 */
-	public void setFocus() {
-		if (parts.size() > 0) {
-			IFormPart part = (IFormPart) parts.get(0);
-			part.setFocus();
-		}
-	}
-	public boolean isDirty() {
-		for (int i = 0; i < parts.size(); i++) {
-			IFormPart part = (IFormPart) parts.get(i);
-			if (part.isDirty())
-				return true;
-		}
-		return false;
-	}
-	public boolean isStale() {
-		for (int i = 0; i < parts.size(); i++) {
-			IFormPart part = (IFormPart) parts.get(i);
-			if (part.isStale())
-				return true;
-		}
-		return false;
-	}
-	/**
-	 * @see IManagedForm#dirtyStateChanged
-	 */
-	public void dirtyStateChanged() {
-	}
-	/**
-	 * @see IManagedForm#staleStateChanged
-	 */
-	public void staleStateChanged() {
-	}
-	/**
-	 * @return Returns the container.
-	 */
-	public Object getContainer() {
-		return container;
-	}
-	/**
-	 * @param container The container to set.
-	 */
-	public void setContainer(Object container) {
-		this.container = container;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/MasterDetailsBlock.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/MasterDetailsBlock.java
deleted file mode 100644
index 9305626..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/MasterDetailsBlock.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.forms.widgets.*;
-/**
- * This class implements the 'master/details' UI pattern suitable for inclusion
- * in a form. The block consists of two parts: 'master' and 'details' in a sash
- * form that allows users to change the relative ratio on the page. The master
- * part needs to be created by the users of this class. The details part is
- * created by the block.
- * <p>
- * The master part is responsible for adding itself as a form part and firing
- * selection events. The details part catches the selection events and tries to
- * load a page registered to handle the selected object(s). The page shows the
- * details of the selected object(s) and allows users to edit them.
- * <p>
- * Details pages can be registered statically using 'registerPage' or
- * dynamically through the use of 'IDetailsPageProvider' in case where different
- * pages need to be shown for objects of the same type depending on their state.
- * <p>
- * Subclasses are required to implement abstract methods of this class. Master
- * part must be created and at least one details page should be registered in
- * order to show details of the objects selected in the master part. Tool bar
- * actions can be optionally added to the tool bar manager.
- * 
- * @see DetailsPart
- * @see IDetailsPage
- * @see IDetailsPageProvider
- * @since 3.0
- */
-public abstract class MasterDetailsBlock {
-/**
- * Details part created by the block. No attempt should be
- * made to access this field inside <code>createMasterPart</code>
- * because it has not been created yet and will be <code>null</code>.
- */
-	protected DetailsPart detailsPart;
-/**
- * The form that is the parent of both master and details part.
- * The form allows users to change the ratio between the two
- * parts.
- */
-	protected SashForm sashForm;
-	/**
-	 * Creates the content of the master/details block inside the managed form.
-	 * This method should be called as late as possible inside the parent part.
-	 * 
-	 * @param managedForm
-	 *            the managed form to create the block in
-	 */
-	public void createContent(IManagedForm managedForm) {
-		final ScrolledForm form = managedForm.getForm();
-		FormToolkit toolkit = managedForm.getToolkit();
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		form.getBody().setLayout(layout);
-		sashForm = new SashForm(form.getBody(), SWT.NULL);
-		toolkit.adapt(sashForm, false, false);
-		sashForm.setMenu(form.getBody().getMenu());
-		sashForm.setLayoutData(new GridData(GridData.FILL_BOTH));
-		createMasterPart(managedForm, sashForm);
-		createDetailsPart(managedForm, sashForm);
-		createToolBarActions(managedForm);
-		form.updateToolBar();
-	}
-	/**
-	 * Implement this method to create a master part in the provided parent.
-	 * Typical master parts are section parts that contain tree or table viewer.
-	 * 
-	 * @param managedForm
-	 *            the parent form
-	 * @param parent
-	 *            the parent composite
-	 */
-	protected abstract void createMasterPart(IManagedForm managedForm,
-			Composite parent);
-	/**
-	 * Implement this method to statically register pages for the expected
-	 * object types. This mechanism can be used when there is 1-&gt;1 mapping
-	 * between object classes and details pages.
-	 * 
-	 * @param detailsPart
-	 *            the details part
-	 */
-	protected abstract void registerPages(DetailsPart detailsPart);
-	/**
-	 * Implement this method to create form tool bar actions and add them to the
-	 * form tool bar if desired.
-	 * 
-	 * @param managedForm
-	 *            the form that owns the tool bar
-	 */
-	protected abstract void createToolBarActions(IManagedForm managedForm);
-	private void createDetailsPart(final IManagedForm mform, Composite parent) {
-		detailsPart = new DetailsPart(mform, parent, SWT.NULL);
-		mform.addPart(detailsPart);
-		registerPages(detailsPart);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/SectionPart.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/SectionPart.java
deleted file mode 100644
index 08f3397..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/SectionPart.java
+++ /dev/null
@@ -1,106 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.forms.events.ExpansionAdapter;
-import org.eclipse.ui.forms.events.ExpansionEvent;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.Section;
-/**
- * Section part implements IFormPart interface based on the Section widget. It
- * can either wrap the widget or create one itself.
- * <p>
- * Subclasses should extend <code>SectionPart</code> and implement 
- * life cycle methods like <code>refresh</code>, <code>commit</code>,
- * <code>setFocus</code> etc. Note that most of these methods
- * are not empty - calling <code>super</code> is required.
- * @see Section
- * @since 3.0
- */
-public class SectionPart extends AbstractFormPart {
-	private Section section;
-
-	/**
-	 * Creates a new section part based on the provided section.
-	 * 
-	 * @param section
-	 *            the section to use
-	 */
-	public SectionPart(Section section) {
-		this.section = section;
-		hookListeners();
-	}
-	/**
-	 * Creates a new section part inside the provided parent and using the
-	 * provided toolkit. The section part will create the section widget.
-	 * 
-	 * @param parent
-	 *            the parent
-	 * @param toolkit
-	 *            the toolkit to use
-	 * @param style
-	 *            the section widget style
-	 */
-	public SectionPart(Composite parent, FormToolkit toolkit, int style) {
-		this(toolkit.createSection(parent, style));
-	}
-	protected void hookListeners() {
-		if ((section.getExpansionStyle() & Section.TWISTIE) != 0
-				|| (section.getExpansionStyle() & Section.TREE_NODE) != 0) {
-			section.addExpansionListener(new ExpansionAdapter() {
-				public void expansionStateChanging(ExpansionEvent e) {
-					SectionPart.this.expansionStateChanging(e.getState());
-				}
-				public void expansionStateChanged(ExpansionEvent e) {
-					SectionPart.this.expansionStateChanged(e.getState());
-				}
-			});
-		}
-	}
-	/**
-	 * Returns the section widget used in this part.
-	 * 
-	 * @return the section widget
-	 */
-	public Section getSection() {
-		return section;
-	}
-	/**
-	 * The section is about to expand or collapse.
-	 * 
-	 * @param expanding
-	 *            <code>true</code> for expansion, <code>false</code> for
-	 *            collapse.
-	 */
-	protected void expansionStateChanging(boolean expanding) {
-	}
-	/**
-	 * The section has expanded or collapsed.
-	 * 
-	 * @param expanded
-	 *            <code>true</code> for expansion, <code>false</code> for
-	 *            collapse.
-	 */
-	protected void expansionStateChanged(boolean expanded) {
-		getManagedForm().getForm().reflow(false);
-	}
-	/**
-	 * Instructs the section to grab keyboard focus. The default implementation
-	 * will transfer focus to the section client. Subclasses may override and
-	 * transfer focus to some widget in the client.
-	 */
-	public void setFocus() {
-		Control client = section.getClient();
-		if (client != null)
-			client.setFocus();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/FormEditor.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/FormEditor.java
deleted file mode 100644
index ebe3d8b..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/FormEditor.java
+++ /dev/null
@@ -1,475 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.editor;
-import java.util.Vector;
-
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.forms.IManagedForm;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.part.*;
-/**
- * This class forms a base of multi-page form editors that typically use one or
- * more pages with forms and one page for raw source of the editor input.
- * <p>
- * Pages are added 'lazily' i.e. adding a page reserves a tab for it but does
- * not cause the page control to be created. Page control is created when an
- * attempt is made to select the page in question. This allows editors with
- * several tabs and complex pages to open quickly.
- * <p>
- * Subclasses should extend this class and implement <code>addPages</code>
- * method. One of the two <code>addPage</code> methods should be called to
- * contribute pages to the editor. One adds complete (standalone) editors as
- * nested tabs. These editors will be created right away and will be hooked so
- * that key bindings, selection service etc. is compatible with the one for the
- * standalone case. The other method adds classes that implement
- * <code>IFormPage</code> interface. These pages will be created lazily and
- * they will share the common key binding and selection service.
- * 
- * @since 3.0
- */
-public abstract class FormEditor extends MultiPageEditorPart {
-	private FormToolkit toolkit;
-	protected Vector pages;
-	private IEditorPart sourcePage;
-	private int currentPage = -1;
-	private static class FormEditorSelectionProvider
-			extends
-				MultiPageSelectionProvider {
-		private ISelection globalSelection;
-		/**
-		 * @param multiPageEditor
-		 */
-		public FormEditorSelectionProvider(FormEditor formEditor) {
-			super(formEditor);
-		}
-		public ISelection getSelection() {
-			IEditorPart activeEditor = ((FormEditor) getMultiPageEditor())
-					.getActiveEditor();
-			if (activeEditor != null) {
-				ISelectionProvider selectionProvider = activeEditor.getSite()
-						.getSelectionProvider();
-				if (selectionProvider != null)
-					return selectionProvider.getSelection();
-			}
-			return globalSelection;
-		}
-		/*
-		 * (non-Javadoc) Method declared on <code> ISelectionProvider </code> .
-		 */
-		public void setSelection(ISelection selection) {
-			IEditorPart activeEditor = ((FormEditor) getMultiPageEditor())
-					.getActiveEditor();
-			if (activeEditor != null) {
-				ISelectionProvider selectionProvider = activeEditor.getSite()
-						.getSelectionProvider();
-				if (selectionProvider != null)
-					selectionProvider.setSelection(selection);
-			} else {
-				this.globalSelection = selection;
-				fireSelectionChanged(new SelectionChangedEvent(this,
-						globalSelection));
-			}
-		}
-	}
-	/**
-	 * The constructor.
-	 */
-	public FormEditor() {
-		pages = new Vector();
-	}
-	/**
-	 * Overrides super to plug in a different selection provider.
-	 */
-	public void init(IEditorSite site, IEditorInput input)
-			throws PartInitException {
-		setSite(site);
-		setInput(input);
-		site.setSelectionProvider(new FormEditorSelectionProvider(this));
-	}
-	/**
-	 * Creates the common toolkit for this editor and adds pages to the editor.
-	 * 
-	 * @see #addPages
-	 */
-	protected void createPages() {
-		toolkit = createToolkit(getContainer().getDisplay());
-		addPages();
-	}
-	/**
-	 * Creates the form toolkit. The method can be implemented to substitute a
-	 * subclass of the toolkit that should be used for this editor. A typical
-	 * use of this method would be to create the form toolkit using one shared
-	 * <code>FormColors</code> object to share resources across the multiple
-	 * editor instances.
-	 * 
-	 * @param display
-	 *            the display to use when creating the toolkit
-	 * @return the newly created toolkit instance
-	 */
-	protected FormToolkit createToolkit(Display display) {
-		return new FormToolkit(display);
-	}
-	/**
-	 * Subclass should implement this method to add pages to the editor using
-	 * 'addPage(IFormPage)' method.
-	 */
-	protected abstract void addPages();
-	/**
-	 * Adds the form page to this editor. Form page will be
-	 * loaded lazily. Its part control will not be created
-	 * until it is activated for the first time.
-	 * 
-	 * @param page
-	 *            the form page to add
-	 */
-	public int addPage(IFormPage page) throws PartInitException {
-		int i = super.addPage(page.getPartControl());
-		configurePage(i, page);
-		return i;
-	}
-/**
- * Adds a simple SWT control as a page. Overrides superclass
- * implementation to keep track of pages.
- *@param control the page control to add
- *@return the 0-based index of the newly added page 
- */
-	public int addPage(Control control) {
-		int i = super.addPage(control);
-		try {
-			registerPage(control);
-		} catch (PartInitException e) {
-			// cannot happen for controls
-		}
-		return i;
-	}
-	/**
-	 * Adds the complete editor part to the multi-page editor.
-	 */
-	public int addPage(IEditorPart editor, IEditorInput input)
-			throws PartInitException {
-		int index = super.addPage(editor, input);
-		if (editor instanceof IFormPage)
-			configurePage(index, (IFormPage) editor);
-		else
-			registerPage(editor);
-		return index;
-	}
-	/**
-	 * Configures the form page.
-	 * 
-	 * @param index
-	 *            the page index
-	 * @param page
-	 *            the page to configure
-	 * @throws PartInitException
-	 *             if there are problems in configuring the page
-	 */
-	protected void configurePage(int index, IFormPage page)
-			throws PartInitException {
-		setPageText(index, page.getTitle());
-		//setPageImage(index, page.getTitleImage());
-		page.setIndex(index);
-		registerPage(page);
-	}
-	/**
-	 * Overrides the superclass to remove the page from the page table.
-	 * 
-	 * @param pageIndex
-	 *            the 0-based index of the page in the editor
-	 */
-	public void removePage(int pageIndex) {
-		if (pageIndex >= 0 && pageIndex < pages.size()) {
-			Object page = pages.get(pageIndex);
-			pages.remove(page);
-			if (page instanceof IFormPage) {
-				IFormPage fpage = (IFormPage) page;
-				if (!fpage.isEditor())
-					fpage.dispose();
-				updatePageIndices();
-			}
-		}
-		super.removePage(pageIndex);
-	}
-	// fix the page indices after the removal
-	private void updatePageIndices() {
-		for (int i = 0; i < pages.size(); i++) {
-			Object page = pages.get(i);
-			if (page instanceof IFormPage) {
-				IFormPage fpage = (IFormPage) page;
-				fpage.setIndex(i);
-			}
-		}
-	}
-	/**
-	 * Called to indicate that the editor has been made dirty or the changes
-	 * have been saved.
-	 */
-	public void editorDirtyStateChanged() {
-		firePropertyChange(PROP_DIRTY);
-	}
-	/**
-	 * Disposes the pages and the toolkit after disposing the editor itself.
-	 * Subclasses must call 'super' when reimplementing the method.
-	 */
-	public void dispose() {
-		super.dispose();
-		for (int i = 0; i < pages.size(); i++) {
-			Object page = pages.get(i);
-			if (page instanceof IFormPage) {
-				IFormPage fpage = (IFormPage) page;
-				// don't dispose source pages because they will
-				// be disposed as nested editors by the superclass
-				if (!fpage.isEditor())
-					fpage.dispose();
-			}
-		}
-		pages = null;
-		// toolkit may be null if editor has been instantiated
-		// but never created - see defect #62190  
-		if (toolkit!=null) {
-			toolkit.dispose();
-			toolkit = null;
-		}
-	}
-	/**
-	 * Returns the toolkit owned by this editor.
-	 * 
-	 * @return the toolkit object
-	 */
-	public FormToolkit getToolkit() {
-		return toolkit;
-	}
-	/**
-	 * Widens the visibility of the method in the superclass.
-	 * 
-	 * @return the active nested editor
-	 */
-	public IEditorPart getActiveEditor() {
-		return super.getActiveEditor();
-	}
-	/**
-	 * Returns the current page index. The value is identical to the value of
-	 * 'getActivePage()' except during the page switch, when this method still
-	 * has the old active page index.
-	 * <p>
-	 * Another important difference is during the editor closing. When the tab
-	 * folder is disposed, 'getActivePage()' will return -1, while this method
-	 * will still return the last active page.
-	 * 
-	 * @see #getActivePage
-	 * 
-	 * @return the currently selected page or -1 if no page is currently
-	 *         selected
-	 */
-	protected int getCurrentPage() {
-		return currentPage;
-	}
-	/**
-	 * @see MultiPageEditorPart#pageChange(int)
-	 */
-	protected void pageChange(int newPageIndex) {
-		// fix for windows handles
-		int oldPage = getCurrentPage();
-		if (oldPage != -1 && pages.size() > oldPage
-				&& pages.get(oldPage) instanceof IFormPage
-				&& oldPage != newPageIndex) {
-			// Check the old page
-			IFormPage oldFormPage = (IFormPage) pages.get(oldPage);
-			if (oldFormPage.canLeaveThePage() == false) {
-				setActivePage(oldPage);
-				return;
-			}
-		}
-		// Now is the absolute last moment to create the page control.
-		Object page = pages.get(newPageIndex);
-		if (page instanceof IFormPage) {
-			IFormPage fpage = (IFormPage) page;
-			if (fpage.getPartControl() == null) {
-				fpage.createPartControl(getContainer());
-				setControl(newPageIndex, fpage.getPartControl());
-				fpage.getPartControl().setMenu(getContainer().getMenu());
-			}
-		}
-		if (oldPage != -1 && pages.size() > oldPage
-				&& pages.get(oldPage) instanceof IFormPage) {
-			// Commit old page before activating the new one
-			IFormPage oldFormPage = (IFormPage) pages.get(oldPage);
-			IManagedForm mform = oldFormPage.getManagedForm();
-			if (mform != null)
-				mform.commit(false);
-		}
-		if (pages.size() > newPageIndex
-				&& pages.get(newPageIndex) instanceof IFormPage)
-			((IFormPage) pages.get(newPageIndex)).setActive(true);
-		if (oldPage != -1 && pages.size() > oldPage
-				&& pages.get(oldPage) instanceof IFormPage)
-			((IFormPage) pages.get(oldPage)).setActive(false);
-		// Call super - this will cause pages to switch
-		super.pageChange(newPageIndex);
-		this.currentPage = newPageIndex;
-	}
-	/**
-	 * Sets the active page using the unique page identifier.
-	 * 
-	 * @param pageId
-	 *            the id of the page to switch to
-	 * @return page that was set active or <samp>null </samp> if not found.
-	 */
-	public IFormPage setActivePage(String pageId) {
-		for (int i = 0; i < pages.size(); i++) {
-			Object page = pages.get(i);
-			if (page instanceof IFormPage) {
-				IFormPage fpage = (IFormPage) page;
-				if (fpage.getId().equals(pageId)) {
-					setActivePage(i);
-					return fpage;
-				}
-			}
-		}
-		return null;
-	}
-	/**
-	 * Finds the page instance that has the provided id.
-	 * 
-	 * @param pageId
-	 *            the id of the page to find
-	 * @return page with the matching id or <code>null</code> if not found.
-	 */
-	public IFormPage findPage(String pageId) {
-		for (int i = 0; i < pages.size(); i++) {
-			Object page = pages.get(i);
-			if (page instanceof IFormPage) {
-				IFormPage fpage = (IFormPage) pages.get(i);
-				if (fpage.getId().equals(pageId))
-					return fpage;
-			}
-		}
-		return null;
-	}
-	/**
-	 * Sets the active page using the unique page identifier and sets its input
-	 * to the provided object.
-	 * 
-	 * @param pageId
-	 *            the id of the page to switch to
-	 * @param pageInput
-	 *            the page input
-	 * @return page that was set active or <samp>null </samp> if not found.
-	 */
-	public IFormPage setActivePage(String pageId, Object pageInput) {
-		IFormPage page = setActivePage(pageId);
-		if (page != null) {
-			IManagedForm mform = page.getManagedForm();
-			if (mform != null)
-				mform.setInput(pageInput);
-		}
-		return page;
-	}
-	/**
-	 * Iterates through the pages calling similar method until a page is found
-	 * that contains the desired page input.
-	 * 
-	 * @param pageInput
-	 *            the object to select and reveal
-	 * @return the page that accepted the request or <code>null</code> if no
-	 *         page has the desired object.
-	 * 
-	 * @see #setActivePage
-	 */
-	public IFormPage selectReveal(Object pageInput) {
-		for (int i = 0; i < pages.size(); i++) {
-			Object page = pages.get(i);
-			if (page instanceof IFormPage) {
-				IFormPage fpage = (IFormPage) page;
-				if (fpage.selectReveal(pageInput))
-					return fpage;
-			}
-		}
-		return null;
-	}
-	/**
-	 * Returns active page instance if the currently selected page index is not
-	 * -1, or <code>null</code> if it is.
-	 * 
-	 * @return active page instance if selected, or <code>null</code> if no
-	 *         page is currently active.
-	 */
-	public IFormPage getActivePageInstance() {
-		int index = getActivePage();
-		if (index != -1) {
-			Object page = pages.get(index);
-			if (page instanceof IFormPage)
-				return (IFormPage) page;
-		}
-		return null;
-	}
-	/**
-	 * @see MultiPageEditorPart#setActivePage(int)
-	 */
-	protected void setActivePage(int pageIndex) {
-		// fix for window handles problem
-		// this should be called only when the editor is first opened
-		if (pages.size() > pageIndex
-				&& pages.get(pageIndex) instanceof IFormPage) {
-			pageChange(pageIndex);
-			IFormPage activePage = (IFormPage) pages.get(pageIndex);
-			activePage.setActive(true);
-			super.setActivePage(pageIndex);
-		} else
-			super.setActivePage(pageIndex);
-		updateActionBarContributor(pageIndex);
-	}
-	/**
-	 * Notifies action bar contributor about page change.
-	 * 
-	 * @param pageIndex
-	 *            the index of the new page
-	 */
-	protected void updateActionBarContributor(int pageIndex) {
-		// this is to enable the undo/redo actions before a page change has
-		// occurred
-		IEditorActionBarContributor contributor = getEditorSite()
-				.getActionBarContributor();
-		if (contributor != null
-				&& contributor instanceof MultiPageEditorActionBarContributor) {
-			((MultiPageEditorActionBarContributor) contributor)
-					.setActivePage(getEditor(pageIndex));
-		}
-	}
-	/**
-	 * Closes the editor programmatically.
-	 * 
-	 * @param save
-	 *            if <code>true</code>, the content should be saved before
-	 *            closing.
-	 */
-	public void close(final boolean save) {
-		Display display = getSite().getShell().getDisplay();
-		display.asyncExec(new Runnable() {
-			public void run() {
-				if (toolkit != null) {
-					getSite().getPage().closeEditor(FormEditor.this, save);
-				}
-			}
-		});
-	}
-	private void registerPage(Object page) throws PartInitException {
-		if (!pages.contains(page))
-			pages.add(page);
-		if (page instanceof IFormPage) {
-			IFormPage fpage = (IFormPage) page;
-			if (fpage.isEditor() == false)
-				fpage.init(getEditorSite(), getEditorInput());
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/FormPage.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/FormPage.java
deleted file mode 100644
index 468d906..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/FormPage.java
+++ /dev/null
@@ -1,289 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.editor;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.forms.*;
-import org.eclipse.ui.forms.widgets.ScrolledForm;
-import org.eclipse.ui.part.EditorPart;
-/**
- * A base class that all pages that should be added to FormEditor must subclass.
- * Form page has an instance of PageForm that extends managed form. Subclasses
- * should override method 'createFormContent(ManagedForm)' to fill the form with
- * content. Note that page itself can be loaded lazily (on first open).
- * Consequently, the call to create the form content can come after the editor
- * has been opened for a while (in fact, it is possible to open and close the
- * editor and never create the form because no attempt has been made to show the
- * page).
- * 
- * @since 3.0
- */
-public class FormPage extends EditorPart implements IFormPage {
-	private FormEditor editor;
-	private PageForm mform;
-	private int index;
-	private String id;
-	private String title;
-	
-	private static class PageForm extends ManagedForm {
-		public PageForm(FormPage page, ScrolledForm form) {
-			super(page.getEditor().getToolkit(), form);
-			setContainer(page);
-		}
-		
-		public FormPage getPage() {
-			return (FormPage)getContainer();
-		}
-		public void dirtyStateChanged() {
-			getPage().getEditor().editorDirtyStateChanged();
-		}
-		public void staleStateChanged() {
-			if (getPage().isActive())
-				refresh();
-		}
-	}
-	/**
-	 * A constructor that creates the page and initializes it with the editor.
-	 * 
-	 * @param editor
-	 *            the parent editor
-	 * @param id
-	 *            the unique identifier
-	 * @param title
-	 *            the page title
-	 */
-	public FormPage(FormEditor editor, String id, String title) {
-		this(id, title);
-		initialize(editor);
-	}
-	/**
-	 * The constructor. The parent editor need to be passed in the
-	 * <code>initialize</code> method if this constructor is used.
-	 * 
-	 * @param id
-	 *            a unique page identifier
-	 * @param title
-	 *            a user-friendly page title
-	 */
-	public FormPage(String id, String title) {
-		this.id = id;
-		this.title = title;
-	}
-	/**
-	 * Initializes the form page.
-	 * 
-	 * @see IEditorPart#init
-	 */
-	public void init(IEditorSite site, IEditorInput input) {
-		setSite(site);
-		setInput(input);
-	}
-	/**
-	 * Primes the form page with the parent editor instance.
-	 * 
-	 * @param editor
-	 *            the parent editor
-	 */
-	public void initialize(FormEditor editor) {
-		this.editor = editor;
-	}
-	/**
-	 * Returns the parent editor.
-	 * 
-	 * @return parent editor instance
-	 */
-	public FormEditor getEditor() {
-		return editor;
-	}
-	/**
-	 * Returns the managed form owned by this page.
-	 * 
-	 * @return the managed form
-	 */
-	public IManagedForm getManagedForm() {
-		return mform;
-	}
-	/**
-	 * Implements the required method by refreshing the form when set active.
-	 * Subclasses must call super when overriding this method.
-	 */
-	public void setActive(boolean active) {
-		if (active) {
-			// We are switching to this page - refresh it
-			// if needed.
-			mform.refresh();
-		}
-	}
-	/**
-	 * Tests if the page is active by asking the parent editor if this page is
-	 * the currently active page.
-	 * 
-	 * @return <code>true</code> if the page is currently active,
-	 *         <code>false</code> otherwise.
-	 */
-	public boolean isActive() {
-		return this.equals(editor.getActivePageInstance());
-	}
-	/**
-	 * Creates the part control by creating the managed form using the parent
-	 * editor's toolkit. Subclasses should override
-	 * <code>createFormContent(IManagedForm)</code> to populate the form with
-	 * content.
-	 * 
-	 * @param parent
-	 *            the page parent composite
-	 */
-	public void createPartControl(Composite parent) {
-		ScrolledForm form = editor.getToolkit().createScrolledForm(parent);
-		mform = new PageForm(this, form);
-		BusyIndicator.showWhile(parent.getDisplay(), new Runnable() {
-			public void run() {
-				createFormContent(mform);
-			}
-		});
-	}
-	/**
-	 * Subclasses should override this method to create content in the form
-	 * hosted in this page.
-	 * 
-	 * @param managedForm
-	 *            the form hosted in this page.
-	 */
-	protected void createFormContent(IManagedForm managedForm) {
-	}
-	/**
-	 * Returns the form page control.
-	 * 
-	 * @return managed form's control
-	 */
-	public Control getPartControl() {
-		return mform != null ? mform.getForm() : null;
-	}
-	/**
-	 * Disposes the managed form.
-	 */
-	public void dispose() {
-		if (mform != null)
-			mform.dispose();
-	}
-	/**
-	 * Returns the unique identifier that can be used to reference this page.
-	 * 
-	 * @return the unique page identifier
-	 */
-	public String getId() {
-		return id;
-	}
-	/**
-	 * Returns the page title.
-	 * 
-	 * @return page title
-	 */
-	public String getTitle() {
-		return title;
-	}
-	/**
-	 * Returns <code>null</code>- form page has no title image. Subclasses
-	 * may override.
-	 * 
-	 * @param Image
-	 *            the title image or <code>null</code> if not used.
-	 */
-	public Image getTitleImage() {
-		return null;
-	}
-	/**
-	 * Sets the focus by delegating to the managed form.
-	 */
-	public void setFocus() {
-		if (mform != null)
-			mform.setFocus();
-	}
-	/**
-	 * @see org.eclipse.ui.ISaveablePart#doSave(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void doSave(IProgressMonitor monitor) {
-		if (mform != null)
-			mform.commit(true);
-	}
-	/**
-	 * @see org.eclipse.ui.ISaveablePart#doSaveAs()
-	 */
-	public void doSaveAs() {
-	}
-	/**
-	 * @see org.eclipse.ui.ISaveablePart#isSaveAsAllowed()
-	 */
-	public boolean isSaveAsAllowed() {
-		return false;
-	}
-	/**
-	 * Implemented by testing if the managed form is dirty.
-	 * 
-	 * @return <code>true</code> if the managed form is dirty,
-	 *         <code>false</code> otherwise.
-	 * 
-	 * @see org.eclipse.ui.ISaveablePart#isDirty()
-	 */
-	public boolean isDirty() {
-		return mform != null ? mform.isDirty() : false;
-	}
-	/**
-	 * Preserves the page index.
-	 * 
-	 * @param index
-	 *            the assigned page index
-	 */
-	public void setIndex(int index) {
-		this.index = index;
-	}
-	/**
-	 * Returns the saved page index.
-	 * 
-	 * @return the page index
-	 */
-	public int getIndex() {
-		return index;
-	}
-	/**
-	 * Form pages are not editors.
-	 * 
-	 * @return <code>false</code>
-	 */
-	public boolean isEditor() {
-		return false;
-	}
-	/**
-	 * Attempts to select and reveal the given object by passing the request to
-	 * the managed form.
-	 * 
-	 * @param object
-	 *            the object to select and reveal in the page if possible.
-	 * @return <code>true</code> if the page has been successfully selected
-	 *         and revealed by one of the managed form parts, <code>false</code>
-	 *         otherwise.
-	 */
-	public boolean selectReveal(Object object) {
-		if (mform != null)
-			return mform.setInput(object);
-		return false;
-	}
-	/**
-	 * By default, editor will be allowed to flip the page.
-	 * @return <code>true</code>
-	 */
-	public boolean canLeaveThePage() {
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/IFormPage.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/IFormPage.java
deleted file mode 100644
index 8aa0c79..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/IFormPage.java
+++ /dev/null
@@ -1,130 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.editor;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.forms.IManagedForm;
-/**
- * Interface that all GUI pages need to implement in order
- * to be added to FormEditor part. The interface makes 
- * several assumptions:
- * <ul>
- * <li>The form page has a managed form</li>
- * <li>The form page has a unique id</li>
- * <li>The form page can be GUI but can also wrap a complete
- * editor class (in that case, it should return <code>true</code>
- * from <code>isEditor()</code> method).</li>
- * <li>The form page is lazy i.e. understands that 
- * its part control will be created at the last possible
- * moment.</li>.
- * </ul>
- * <p>Existing editors can be wrapped by implementing
- * this interface. In this case, 'isEditor' should return <code>true</code>.
- * A common editor to wrap in <code>TextEditor</code> that is
- * often added to show the raw source code of the file open into
- * the multi-page editor.
- * 
- * @since 3.0
- */
-public interface IFormPage extends IEditorPart {
-	/**
-	 * @param editor
-	 *            the form editor that this page belongs to
-	 */
-	void initialize(FormEditor editor);
-	/**
-	 * Returns the editor this page belongs to.
-	 * 
-	 * @return the form editor
-	 */
-	FormEditor getEditor();
-	/**
-	 * Returns the managed form of this page, unless this is a source page.
-	 * 
-	 * @return the managed form or <samp>null </samp> if this is a source page.
-	 */
-	IManagedForm getManagedForm();
-	/**
-	 * Indicates whether the page has become the active in the editor. Classes
-	 * that implement this interface may use this method to commit the page (on
-	 * <code>false</code>) or lazily create and/or populate the content on
-	 * <code>true</code>.
-	 * 
-	 * @param active
-	 *            <code>true</code> if page should be visible, <code>false</code>
-	 *            otherwise.
-	 */
-	void setActive(boolean active);
-	/**
-	 * Returns <samp>true </samp> if page is currently active, false if not.
-	 * 
-	 * @return <samp>true </samp> for active page.
-	 */
-	boolean isActive();
-	/**
-	 * Tests if the content of the page is in a state that allows the
-	 * editor to flip to another page. Typically, pages that contain
-	 * raw source with syntax errors should not allow editors to 
-	 * leave them until errors are corrected.
-	 * @return <code>true</code> if the editor can flip to another page,
-	 * <code>false</code> otherwise.
-	 */
-	boolean canLeaveThePage();
-	/**
-	 * Returns the control associated with this page.
-	 * 
-	 * @return the control of this page if created or <samp>null </samp> if the
-	 *         page has not been shown yet.
-	 */
-	Control getPartControl();
-	/**
-	 * Page must have a unique id that can be used to show it without knowing
-	 * its relative position in the editor.
-	 * 
-	 * @return the unique page identifier
-	 */
-	String getId();
-	/**
-	 * Returns the position of the page in the editor.
-	 * 
-	 * @return the zero-based index of the page in the editor.
-	 */
-	int getIndex();
-	/**
-	 * Sets the position of the page in the editor.
-	 * 
-	 * @param index
-	 *            the zero-based index of the page in the editor.
-	 */
-	void setIndex(int index);
-	/**
-	 * Tests whether this page wraps a complete editor that
-	 * can be registered on its own, or represents a page
-	 * that cannot exist outside the multi-page editor context.
-	 * 
-	 * @return <samp>true </samp> if the page wraps an editor,
-	 *         <samp>false </samp> if this is a form page.
-	 */
-	boolean isEditor();
-	/**
-	 * A hint to bring the provided object into focus. If the object is in a
-	 * tree or table control, select it. If it is shown on a scrollable page,
-	 * ensure that it is visible. If the object is not presented in 
-	 * the page, <code>false</code> should be returned to allow another
-	 * page to try.
-	 * 
-	 * @param object
-	 *            object to select and reveal
-	 * @return <code>true</code> if the request was successful, <code>false</code>
-	 *         otherwise.
-	 */
-	boolean selectReveal(Object object);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/package.html b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/package.html
deleted file mode 100644
index df243bc..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/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>
-Support for forms-based multi-page editors.
-<br>&nbsp;
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/ExpansionAdapter.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/ExpansionAdapter.java
deleted file mode 100644
index 3d41133..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/ExpansionAdapter.java
+++ /dev/null
@@ -1,41 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.events;
-/**
- * This adapter class provides default implementations for the methods
- * described by the <code>ExpansionListener</code> interface.
- * <p>
- * Classes that wish to deal with <code>ExpansionEvent</code>s can extend
- * this class and override only the methods which they are interested in.
- * </p>
- * 
- * @see IExpansionListener
- * @see ExpansionEvent
- * @since 3.0
- */
-public class ExpansionAdapter implements IExpansionListener {
-	/**
-	 * Sent when the link is entered. The default behaviour is to do nothing.
-	 * 
-	 * @param e
-	 *            the event
-	 */
-	public void expansionStateChanging(ExpansionEvent e) {
-	}
-	/**
-	 * Sent when the link is exited. The default behaviour is to do nothing.
-	 * 
-	 * @param e
-	 *            the event
-	 */
-	public void expansionStateChanged(ExpansionEvent e) {
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/ExpansionEvent.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/ExpansionEvent.java
deleted file mode 100644
index e7760ce..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/ExpansionEvent.java
+++ /dev/null
@@ -1,40 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.events;
-import org.eclipse.swt.events.TypedEvent;
-/**
- * Notifies listeners when expandable controls change expansion state.
- * 
- * @since 3.0
- */
-public final class ExpansionEvent extends TypedEvent {
-	/**
-	 * Creates a new expansion ecent.
-	 * 
-	 * @param obj
-	 *            event source
-	 * @param state
-	 *            the new expansion state
-	 */
-	public ExpansionEvent(Object obj, boolean state) {
-		super(obj);
-		data = state ? Boolean.TRUE : Boolean.FALSE;
-	}
-	/**
-	 * Returns the new expansion state of the widget.
-	 * 
-	 * @return <code>true</code> if the widget is now expaned, <code>false</code>
-	 *         otherwise.
-	 */
-	public boolean getState() {
-		return data.equals(Boolean.TRUE) ? true : false;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/HyperlinkAdapter.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/HyperlinkAdapter.java
deleted file mode 100644
index a738e5d..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/HyperlinkAdapter.java
+++ /dev/null
@@ -1,49 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.events;
-/**
- * This adapter class provides default implementations for the methods
- * described by the <code>HyperlinkListener</code> interface.
- * <p>
- * Classes that wish to deal with <code>HyperlinkEvent</code> s can extend
- * this class and override only the methods which they are interested in.
- * </p>
- * 
- * @see IHyperlinkListener
- * @see HyperlinkEvent
- * @since 3.0
- */
-public class HyperlinkAdapter implements IHyperlinkListener {
-	/**
-	 * Sent when the link is entered. The default behaviour is to do nothing.
-	 * 
-	 * @param e
-	 *            the event
-	 */
-	public void linkEntered(HyperlinkEvent e) {
-	}
-	/**
-	 * Sent when the link is exited. The default behaviour is to do nothing.
-	 * 
-	 * @param e
-	 *            the event
-	 */
-	public void linkExited(HyperlinkEvent e) {
-	}
-	/**
-	 * Sent when the link is activated. The default behaviour is to do nothing.
-	 * 
-	 * @param e
-	 *            the event
-	 */
-	public void linkActivated(HyperlinkEvent e) {
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/HyperlinkEvent.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/HyperlinkEvent.java
deleted file mode 100644
index 8d5fcbe..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/HyperlinkEvent.java
+++ /dev/null
@@ -1,66 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.events;
-import org.eclipse.swt.events.TypedEvent;
-import org.eclipse.swt.widgets.Widget;
-/**
- * Notifies listeners about a hyperlink change.
- *
- * @since 3.0
- */
-public final class HyperlinkEvent extends TypedEvent {
-	private String label;
-	private int stateMask;
-	/**
-	 * Creates a new hyperlink
-	 * 
-	 * @param obj
-	 *            event source
-	 * @param href
-	 *            the hyperlink reference that will be followed upon when the
-	 *            hyperlink is activated.
-	 * @param label
-	 *            the name of the hyperlink (the text that is rendered as a
-	 *            link in the source widget).
-	 */
-	public HyperlinkEvent(Widget widget, Object href, String label, int modifier) {
-		super(widget);
-		this.widget = widget;
-		this.data = href;
-		this.label = label;
-		this.stateMask = modifier;
-	}
-	/**
-	 * The hyperlink reference that will be followed when the hyperlink is
-	 * activated.
-	 * 
-	 * @return the hyperlink reference object
-	 */
-	public Object getHref() {
-		return this.data;
-	}
-	/**
-	 * The text of the hyperlink rendered in the source widget.
-	 * 
-	 * @return the hyperlink label
-	 */
-	public String getLabel() {
-		return label;
-	}
-	/**
-	 * Returns the value of the keyboard state mask present when
-	 * the event occured, or SWT.NULL for no modifiers.
-	 * @return the keyboard state mask or <code>SWT.NULL</code>. 
-	 */
-	public int getStateMask() {
-		return stateMask;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/IExpansionListener.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/IExpansionListener.java
deleted file mode 100644
index 3aa66e2..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/IExpansionListener.java
+++ /dev/null
@@ -1,35 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.events;
-/**
- * Classes that implement this interface will be notified before and after the
- * expandable control's expansion state changes.
- * 
- * @since 3.0
- */
-public interface IExpansionListener {
-	/**
-	 * Notifies the listener that the expandable control is about to change its
-	 * expansion state. The state provided by the event is the new state.
-	 * 
-	 * @param e
-	 *            the expansion event
-	 */
-	void expansionStateChanging(ExpansionEvent e);
-	/**
-	 * Notifies the listener after the expandable control has changed its
-	 * expansion state. The state provided by the event is the new state.
-	 * 
-	 * @param e
-	 *            the expansion event
-	 */
-	void expansionStateChanged(ExpansionEvent e);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/IHyperlinkListener.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/IHyperlinkListener.java
deleted file mode 100644
index 42fea9c..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/IHyperlinkListener.java
+++ /dev/null
@@ -1,47 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.events;
-/**
- * Classes that implement this interface will be notified when hyperlinks are
- * entered, exited and activated.
- * 
- * @see Hyperlink
- * @see ImageHyperlink
- * @see FormText
- * @since 3.0
- */
-public interface IHyperlinkListener {
-	/**
-	 * Sent when hyperlink is entered either by mouse entering the link client
-	 * area, or keyboard focus switching to the hyperlink.
-	 * 
-	 * @param e
-	 *            an event containing information about the hyperlink
-	 */
-	void linkEntered(HyperlinkEvent e);
-	/**
-	 * Sent when hyperlink is exited either by mouse exiting the link client
-	 * area, or keyboard focus switching from the hyperlink.
-	 * 
-	 * @param e
-	 *            an event containing information about the hyperlink
-	 */
-	void linkExited(HyperlinkEvent e);
-	/**
-	 * Sent when hyperlink is activated either by mouse click inside the link
-	 * client area, or by pressing 'Enter' key while hyperlink has keyboard
-	 * focus.
-	 * 
-	 * @param e
-	 *            an event containing information about the hyperlink
-	 */
-	void linkActivated(HyperlinkEvent e);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/package.html b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/package.html
deleted file mode 100644
index 56fb041..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/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>
-Events and listeners for forms-based parts.
-<br>&nbsp;
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/package.html b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/package.html
deleted file mode 100644
index 6e8c5dc..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/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>
-Forms-based controls for use in views, editors, and wizards.
-<br>&nbsp;
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/AbstractHyperlink.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/AbstractHyperlink.java
deleted file mode 100644
index c05c323..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/AbstractHyperlink.java
+++ /dev/null
@@ -1,267 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-import java.util.Vector;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.forms.events.*;
-import org.eclipse.ui.internal.forms.widgets.FormsResources;
-/**
- * This is the base class for custom hyperlink widget. It is responsible for
- * processing mouse and keyboard events, and converting them into unified
- * hyperlink events. Subclasses are responsible for rendering the hyperlink in
- * the client area.
- * 
- * @since 3.0
- */
-public abstract class AbstractHyperlink extends Canvas {
-	private boolean hasFocus;
-	private Vector listeners;
-	/**
-	 * Amount of the margin width around the hyperlink (default is 1).
-	 */
-	protected int marginWidth = 1;
-	/**
-	 * Amount of the margin height around the hyperlink (default is 1).
-	 */
-	protected int marginHeight = 1;
-	/**
-	 * Creates a new hyperlink in the provided parent.
-	 * 
-	 * @param parent
-	 *            the control parent
-	 * @param style
-	 *            the widget style
-	 */
-	public AbstractHyperlink(Composite parent, int style) {
-		super(parent, style);
-		addListener(SWT.KeyDown, new Listener() {
-			public void handleEvent(Event e) {
-				if (e.character == '\r') {
-					handleActivate(e);
-				}
-			}
-		});
-		addPaintListener(new PaintListener() {
-			public void paintControl(PaintEvent e) {
-				paint(e);
-			}
-		});
-		addListener(SWT.Traverse, new Listener() {
-			public void handleEvent(Event e) {
-				switch (e.detail) {
-					case SWT.TRAVERSE_PAGE_NEXT :
-					case SWT.TRAVERSE_PAGE_PREVIOUS :
-					case SWT.TRAVERSE_ARROW_NEXT :
-					case SWT.TRAVERSE_ARROW_PREVIOUS :
-					case SWT.TRAVERSE_RETURN :
-						e.doit = false;
-						return;
-				}
-				e.doit = true;
-			}
-		});
-		Listener listener = new Listener() {
-			public void handleEvent(Event e) {
-				switch (e.type) {
-					case SWT.FocusIn :
-						hasFocus = true;
-						handleEnter(e);
-						break;
-					case SWT.FocusOut :
-						hasFocus = false;
-						handleExit(e);
-						break;
-					case SWT.DefaultSelection :
-						handleActivate(e);
-						break;
-					case SWT.MouseEnter :
-						handleEnter(e);
-						break;
-					case SWT.MouseExit :
-						handleExit(e);
-						break;
-					case SWT.MouseUp :
-						handleMouseUp(e);
-						break;
-				}
-			}
-		};
-		addListener(SWT.MouseEnter, listener);
-		addListener(SWT.MouseExit, listener);
-		addListener(SWT.MouseUp, listener);
-		addListener(SWT.FocusIn, listener);
-		addListener(SWT.FocusOut, listener);
-		setCursor(FormsResources.getHandCursor());
-	}
-	/**
-	 * Adds the event listener to this hyperlink.
-	 * 
-	 * @param listener
-	 *            the event listener to add
-	 */
-	public void addHyperlinkListener(IHyperlinkListener listener) {
-		if (listeners == null)
-			listeners = new Vector();
-		if (!listeners.contains(listener))
-			listeners.add(listener);
-	}
-	/**
-	 * Removes the event listener from this hyperlink.
-	 * 
-	 * @param listener
-	 *            the event listener to remove
-	 */
-	public void removeHyperlinkListener(IHyperlinkListener listener) {
-		if (listeners == null)
-			return;
-		listeners.remove(listener);
-	}
-	/**
-	 * Returns the selection state of the control. When focus is gained, the
-	 * state will be <samp>true </samp>; it will switch to <samp>false </samp>
-	 * when the control looses focus.
-	 * 
-	 * @return <code>true</code> if the widget has focus, <code>false</code>
-	 *         otherwise.
-	 */
-	public boolean getSelection() {
-		return hasFocus;
-	}
-	/**
-	 * Called when hyperlink is entered. Subclasses that override this method
-	 * must call 'super'.
-	 */
-	protected void handleEnter(Event e) {
-		redraw();
-		if (listeners == null)
-			return;
-		int size = listeners.size();
-		HyperlinkEvent he = new HyperlinkEvent(this, getHref(), getText(), e.stateMask);
-		for (int i = 0; i < size; i++) {
-			IHyperlinkListener listener = (IHyperlinkListener) listeners.get(i);
-			listener.linkEntered(he);
-		}
-	}
-	/**
-	 * Called when hyperlink is exited. Subclasses that override this method
-	 * must call 'super'.
-	 */
-	protected void handleExit(Event e) {
-		redraw();
-		if (listeners == null)
-			return;
-		int size = listeners.size();
-		HyperlinkEvent he = new HyperlinkEvent(this, getHref(), getText(), e.stateMask);
-		for (int i = 0; i < size; i++) {
-			IHyperlinkListener listener = (IHyperlinkListener) listeners.get(i);
-			listener.linkExited(he);
-		}
-	}
-	/**
-	 * Called when hyperlink has been activated. Subclasses that override this
-	 * method must call 'super'.
-	 */
-	protected void handleActivate(Event e) {
-		if (listeners == null)
-			return;
-		int size = listeners.size();
-		setCursor(FormsResources.getBusyCursor());
-		HyperlinkEvent he = new HyperlinkEvent(this, getHref(), getText(), e.stateMask);
-		for (int i = 0; i < size; i++) {
-			IHyperlinkListener listener = (IHyperlinkListener) listeners.get(i);
-			listener.linkActivated(he);
-		}
-		if (!isDisposed())
-			setCursor(FormsResources.getHandCursor());
-	}
-	/**
-	 * Sets the object associated with this hyperlink. Concrete implementation
-	 * of this class can use if to store text, URLs or model objects that need
-	 * to be processed on hyperlink events.
-	 * 
-	 * @param href
-	 *            the hyperlink object reference
-	 */
-	public void setHref(Object href) {
-		setData("href", href);
-	}
-	/**
-	 * Returns the object associated with this hyperlink.
-	 * 
-	 * @see #setHref
-	 * @return the hyperlink object reference
-	 */
-	public Object getHref() {
-		return getData("href");
-	}
-	/**
-	 * Returns the textual representation of this hyperlink suitable for
-	 * showing in tool tips or on the status line.
-	 * 
-	 * @return the hyperlink text
-	 */
-	public String getText() {
-		return getToolTipText();
-	}
-	/**
-	 * Paints the hyperlink as a reaction to the provided paint event.
-	 * 
-	 * @param e
-	 *            the paint event
-	 */
-	protected abstract void paintHyperlink(GC gc);
-	/**
-	 * Paints the control as a reaction to the provided paint event.
-	 * 
-	 * @param e
-	 *            the paint event
-	 */
-	protected void paint(PaintEvent e) {
-		GC gc = e.gc;
-		Rectangle clientArea = getClientArea();
-		if (clientArea.width==0 || clientArea.height==0) return;
-		Image buffer = new Image(getDisplay(), clientArea.width, clientArea.height);
-		buffer.setBackground(getBackground());
-		GC bufferGC = new GC(buffer, gc.getStyle());
-		bufferGC.setBackground(getBackground());
-		bufferGC.fillRectangle(0, 0, clientArea.width, clientArea.height);
-		paintHyperlink(bufferGC);
-		if (hasFocus) {
-			Rectangle carea = getClientArea();
-			bufferGC.setForeground(getForeground());
-			bufferGC.drawFocus(0, 0, carea.width, carea.height);
-		}
-		gc.drawImage(buffer, 0, 0);
-		bufferGC.dispose();
-		buffer.dispose();
-	}
-	private void handleMouseUp(Event e) {
-		if (e.button != 1)
-			return;
-		Point size = getSize();
-		// Filter out mouse up events outside
-		// the link. This can happen when mouse is
-		// clicked, dragged outside the link, then
-		// released.
-		if (e.x < 0)
-			return;
-		if (e.y < 0)
-			return;
-		if (e.x >= size.x)
-			return;
-		if (e.y >= size.y)
-			return;
-		handleActivate(e);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ColumnLayout.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ColumnLayout.java
deleted file mode 100644
index 724accb..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ColumnLayout.java
+++ /dev/null
@@ -1,246 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-/**
- * This layout manager arranges children of the composite parent in vertical
- * columns. All the columns are identical size and children are stretched
- * horizontally to fill the column width. The goal is to give layout some
- * reasonable range of column numbers to allow it to handle various parent
- * widths. That way, column number will drop to the lowest number in the range
- * when width decreases, and grow up to the highest number in the range when
- * allowed by the parent width.
- * <p>
- * In addition, the layout attempts to 'fill the space' equally i.e. to avoid
- * large gaps at the and of the last column.
- * <p>
- * Child controls are layed out according to their 'natural' (preferred) size.
- * For 'stretchy' controls that do not have natural preferred size, it is
- * possible to set width and/or height hints using ColumnLayoutData objects.
- * 
- * @see ColumnLayoutData
- * @since 3.0
- */
-public final class ColumnLayout extends Layout implements ILayoutExtension {
-	/**
-	 * Minimum number of columns (default is 1).
-	 */
-	public int minNumColumns = 1;
-	/**
-	 * Maximum number of columns (default is 3).
-	 */
-	public int maxNumColumns = 3;
-	/**
-	 * Horizontal spacing between columns (default is 5).
-	 */
-	public int horizontalSpacing = 5;
-	/**
-	 * Vertical spacing between controls (default is 5).
-	 */
-	public int verticalSpacing = 5;
-	/**
-	 * Top margin (default is 5).
-	 */
-	public int topMargin = 5;
-	/**
-	 * Left margin (default is 5).
-	 */
-	public int leftMargin = 5;
-	/**
-	 * Bottom margin (default is 5).
-	 */
-	public int bottomMargin = 5;
-	/**
-	 * Right margin (default is 5).
-	 */
-	public int rightMargin = 5;
-	/**
-	 * Creates a new instance of the column layout.
-	 */
-	public ColumnLayout() {
-	}
-	protected Point computeSize(Composite composite, int wHint, int hHint,
-			boolean flushCache) {
-		if (wHint == 0)
-			return computeSize(composite, wHint, hHint, minNumColumns);
-		else if (wHint == SWT.DEFAULT)
-			return computeSize(composite, wHint, hHint, maxNumColumns);
-		else
-			return computeSize(composite, wHint, hHint, -1);
-	}
-	private Point computeSize(Composite parent, int wHint, int hHint,
-			int ncolumns) {
-		Control[] children = parent.getChildren();
-		int cwidth = 0;
-		int cheight = 0;
-		Point[] sizes = new Point[children.length];
-		
-		int cwHint = SWT.DEFAULT;
-		if (ncolumns!= -1) {
-			cwHint = wHint - leftMargin - rightMargin - (ncolumns-1)*horizontalSpacing;
-			if (cwHint <=0) cwHint = 0;
-			else
-				cwHint /= ncolumns;
-		}
-		
-		for (int i = 0; i < children.length; i++) {
-			sizes[i] = computeControlSize(children[i], cwHint);
-			cwidth = Math.max(cwidth, sizes[i].x);
-			cheight += sizes[i].y;
-		}
-		if (ncolumns == -1) {
-			// must compute
-			ncolumns = (wHint - leftMargin - rightMargin - horizontalSpacing)
-					/ (cwidth + horizontalSpacing);
-			ncolumns = Math.max(ncolumns, minNumColumns);
-			ncolumns = Math.min(ncolumns, maxNumColumns);
-		}
-		int perColHeight = cheight / ncolumns;
-		if (cheight % ncolumns != 0)
-			perColHeight++;
-		int colHeight = 0;
-		int[] heights = new int[ncolumns];
-		int ncol = 0;
-		for (int i = 0; i < sizes.length; i++) {
-			int childHeight = sizes[i].y;
-			if (colHeight + childHeight > perColHeight) {
-				ncol++;
-				if (ncol == ncolumns) {
-					// overflow - start filling in
-					ncol = findShortestColumn(heights);
-					colHeight = heights[ncol];
-				} else
-					colHeight = 0;
-			}
-			colHeight += childHeight;
-			if (heights[ncol] > 0)
-				heights[ncol] += verticalSpacing;
-			heights[ncol] += childHeight;
-		}
-		Point size = new Point(0, 0);
-		for (int i = 0; i < ncolumns; i++) {
-			size.y = Math.max(size.y, heights[i]);
-		}
-		size.x = cwidth * ncolumns + (ncolumns - 1) * horizontalSpacing;
-		size.x += leftMargin + rightMargin;
-		//System.out.println("ColumnLayout: whint="+wHint+", size.x="+size.x);
-		size.y += topMargin + bottomMargin;
-		return size;
-	}
-	private Point computeControlSize(Control c, int wHint) {
-		ColumnLayoutData cd = (ColumnLayoutData) c.getLayoutData();
-		int widthHint = cd != null ? cd.widthHint : wHint;
-		int heightHint = cd != null ? cd.heightHint : SWT.DEFAULT;
-		return c.computeSize(widthHint, heightHint);
-	}
-	private int findShortestColumn(int[] heights) {
-		int result = 0;
-		int height = Integer.MAX_VALUE;
-		for (int i = 0; i < heights.length; i++) {
-			if (height > heights[i]) {
-				height = heights[i];
-				result = i;
-			}
-		}
-		return result;
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.swt.widgets.Layout#layout(org.eclipse.swt.widgets.Composite,
-	 *      boolean)
-	 */
-	protected void layout(Composite parent, boolean flushCache) {
-		Control[] children = parent.getChildren();
-		Rectangle carea = parent.getClientArea();
-		int cwidth = 0;
-		int cheight = 0;
-		Point[] sizes = new Point[children.length];
-		for (int i = 0; i < children.length; i++) {
-			sizes[i] = computeControlSize(children[i], SWT.DEFAULT);
-			cwidth = Math.max(cwidth, sizes[i].x);
-			cheight += sizes[i].y;
-		}
-		int ncolumns = (carea.width - leftMargin - rightMargin - horizontalSpacing)
-				/ (cwidth + horizontalSpacing);
-		ncolumns = Math.max(ncolumns, minNumColumns);
-		ncolumns = Math.min(ncolumns, maxNumColumns);
-		int realWidth = (carea.width - leftMargin - rightMargin + horizontalSpacing)
-				/ ncolumns - horizontalSpacing;
-		int childrenPerColumn = children.length / ncolumns;
-		if (children.length % ncolumns != 0)
-			childrenPerColumn++;
-		int colWidth = 0;
-		int colHeight = 0;
-		int ncol = 0;
-		int x = leftMargin, y = topMargin;
-		int ccolCount = 0;
-		for (int i = 0; i < children.length; i++) {
-			Control child = children[i];
-			Point csize = sizes[i];
-			ccolCount++;
-			ColumnLayoutData cd = (ColumnLayoutData) child.getLayoutData();
-			int align = cd != null
-					? cd.horizontalAlignment
-					: ColumnLayoutData.FILL;
-			int fillWidth = Math.max(cwidth, realWidth);
-			int childWidth = align == ColumnLayoutData.FILL
-					? fillWidth
-					: csize.x;
-			if (y + csize.y + bottomMargin > carea.height
-					|| ccolCount > childrenPerColumn) {
-				// wrap
-				x += horizontalSpacing + fillWidth;
-				y = topMargin;
-				ncol++;
-				ccolCount = 1;
-			}
-			if (ncol == ncolumns - 1 && align == ColumnLayoutData.FILL) {
-				childWidth = carea.width - x - rightMargin;
-			}
-			switch (align) {
-				case ColumnLayoutData.LEFT :
-				case ColumnLayoutData.FILL :
-					child.setBounds(x, y, childWidth, csize.y);
-					break;
-				case ColumnLayoutData.RIGHT :
-					child.setBounds(x + fillWidth - childWidth, y, childWidth,
-							csize.y);
-					break;
-				case ColumnLayoutData.CENTER :
-					child.setBounds(x + fillWidth / 2 - childWidth / 2, y,
-							childWidth, csize.y);
-					break;
-			}
-			y += csize.y + verticalSpacing;
-		}
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.widgets.ILayoutExtension#computeMaximumWidth(org.eclipse.swt.widgets.Composite,
-	 *      boolean)
-	 */
-	public int computeMaximumWidth(Composite parent, boolean changed) {
-		return computeSize(parent, SWT.DEFAULT, SWT.DEFAULT, changed).x;
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.widgets.ILayoutExtension#computeMinimumWidth(org.eclipse.swt.widgets.Composite,
-	 *      boolean)
-	 */
-	public int computeMinimumWidth(Composite parent, boolean changed) {
-		return computeSize(parent, 0, SWT.DEFAULT, changed).x;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ColumnLayoutData.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ColumnLayoutData.java
deleted file mode 100644
index 610e531..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ColumnLayoutData.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-import org.eclipse.swt.SWT;
-/**
- * This class is used to store layout data for the <code>ColumnLayout</code>
- * class. You can control width and height hints, as well as horizontal
- * alignment using instances of this class. As with other layouts, they are not
- * required to get the default behaviour.
- * 
- * @see ColumnLayout
- * @since 3.0
- */
-public final class ColumnLayoutData {
-	/**
-	 * Width hint that will be used instead of the computed control width when
-	 * used in conjunction with <code>ColumnLayout</code> class (default is
-	 * SWT.DEFAULT).
-	 */
-	public int widthHint = SWT.DEFAULT;
-	/**
-	 * Height hint that will be used instead of the computed control height
-	 * when used in conjunction with <code>ColumnLayout</code> class (default
-	 * is SWT.DEFAULT).
-	 */
-	public int heightHint = SWT.DEFAULT;
-	/**
-	 * Horizontal alignment constant - control will be aligned to the left.
-	 */
-	public static final int LEFT = 1;
-	/**
-	 * Horizontal alignment constant - control will be aligned to the right.
-	 */
-	public static final int CENTER = 2;
-	/**
-	 * Horizontal alignment constant - control will be centered.
-	 */
-	public static final int RIGHT = 3;
-	/**
-	 * Horizontal alignment constant - control will fill the column.
-	 */
-	public static final int FILL = 4;
-	/**
-	 * Horizontal alignment variable (default is FILL).
-	 */
-	public int horizontalAlignment = FILL;
-	/**
-	 * Convinience constructor for the class.
-	 * 
-	 * @param wHint
-	 *            width hint for the control
-	 * @param hHint
-	 *            height hint for the control
-	 */
-	public ColumnLayoutData(int wHint, int hHint) {
-		this.widthHint = wHint;
-		this.heightHint = hHint;
-	}
-	/**
-	 * Convinience constructor for the class.
-	 * 
-	 * @param wHint
-	 *            width hint for the control
-	 */
-	public ColumnLayoutData(int wHint) {
-		this.widthHint = wHint;
-	}
-	/**
-	 * The default constructor.
-	 *  
-	 */
-	public ColumnLayoutData() {
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ExpandableComposite.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ExpandableComposite.java
deleted file mode 100644
index ca38f69..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ExpandableComposite.java
+++ /dev/null
@@ -1,720 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-import java.util.Vector;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.forms.events.*;
-import org.eclipse.ui.internal.forms.widgets.*;
-/**
- * This composite is capable of expanding or collapsing a single client that is
- * its direct child. The composite renders an expansion toggle affordance
- * (according to the chosen style), and a title that also acts as a hyperlink
- * (can be selected and is traversable). The client is layed out below the
- * title when expanded, or hidden when collapsed.
- * <p>The widget can be instantiated as-is, or subclassed to
- * modify some aspects of it.
- * 
- * @see Section
- * @since 3.0
- */
-public class ExpandableComposite extends Composite {
-	/**
-	 * If this style is used, a twistie will be used to render the expansion
-	 * toggle.
-	 */
-	public static final int TWISTIE = 1 << 1;
-	/**
-	 * If this style is used, a tree node with either + or - signs will be used
-	 * to render the expansion toggle.
-	 */
-	public static final int TREE_NODE = 1 << 2;
-	/**
-	 * If this style is used, the title text will be rendered as a hyperlink
-	 * that can individually accept focus. Otherwise, it will still act like a
-	 * hyperlink, but only the toggle control will accept focus.
-	 */
-	public static final int FOCUS_TITLE = 1 << 3;
-	/**
-	 * If this style is used, the client origin will be vertically aligned with
-	 * the title text. Otherwise, it will start at x = 0.
-	 */
-	public static final int CLIENT_INDENT = 1 << 4;
-	/**
-	 * If this style is used, computed size of the composite will take the
-	 * client width into consideration only in the expanded state. Otherwise,
-	 * client width will always be taken into acount.
-	 */
-	public static final int COMPACT = 1 << 5;
-	/**
-	 * If this style is used, the control will be created in the expanded
-	 * state. This state can later be changed programmatically or by the user
-	 * if TWISTIE or TREE_NODE style is used.
-	 */
-	public static final int EXPANDED = 1 << 6;
-	/**
-	 * If this style is used, title bar decoration will be painted behind
-	 * the text.
-	 */
-	public static final int TITLE_BAR = 1 << 8;
-	/**
-	 * If this style is used, title will not be rendered.
-	 */
-	public static final int NO_TITLE = 1<<12;
-	/**
-	 * Width of the margin that will be added around the control (default is
-	 * 0).
-	 */	
-	public int marginWidth = 0;
-	/**
-	 * Height of the margin that will be added around the control (default is
-	 * 0).
-	 */
-	public int marginHeight = 0;
-	private int VSPACE = 3;
-	public int clientVerticalSpacing = VSPACE;
-	protected int GAP = 4;
-
-	private int SEPARATOR_HEIGHT = 2;
-	private int expansionStyle = TWISTIE | FOCUS_TITLE | EXPANDED;
-	private boolean expanded;
-	private Control textClient;
-	private Control client;
-	private Vector listeners;
-	protected ToggleHyperlink toggle;
-	protected Control textLabel;
-	private class ExpandableLayout extends Layout implements ILayoutExtension {
-		protected void layout(Composite parent, boolean changed) {
-			Rectangle clientArea = parent.getClientArea();
-			int thmargin = 0;
-			int tvmargin = 0;
-			
-			if ((expansionStyle & TITLE_BAR)!=0) {
-				thmargin = GAP;
-				tvmargin = GAP;
-			}
-			int x = marginWidth + thmargin;
-			int y = marginHeight + tvmargin;
-			Point tsize = null;
-			Point tcsize = null;
-			if (toggle != null)
-				tsize = toggle.computeSize(SWT.DEFAULT, SWT.DEFAULT, changed);
-			int twidth = clientArea.width - marginWidth - marginWidth - thmargin - thmargin;
-			if (tsize != null)
-				twidth -= tsize.x + GAP;
-			if (textClient !=null)
-				tcsize = textClient.computeSize(SWT.DEFAULT, SWT.DEFAULT, changed);
-			if (tcsize!=null)
-				twidth -= tcsize.x + GAP;
-			Point size = null;
-			if (textLabel!=null)
-				size = textLabel.computeSize(twidth, SWT.DEFAULT, changed);
-			if (textLabel instanceof Label) {
-				Point defSize = textLabel.computeSize(SWT.DEFAULT, SWT.DEFAULT,
-						changed);
-				if (defSize.y == size.y) {
-					// One line - pick the smaller of the two widths
-					size.x = Math.min(defSize.x, size.x);
-				}
-			}
-			if (toggle != null) {
-				GC gc = new GC(ExpandableComposite.this);
-				gc.setFont(getFont());
-				FontMetrics fm = gc.getFontMetrics();
-				int fontHeight = fm.getHeight();
-				gc.dispose();
-				int ty = fontHeight / 2 - tsize.y / 2 + 1;
-				ty = Math.max(ty, 0);
-				ty += marginHeight + tvmargin;
-				toggle.setLocation(x, ty);
-				toggle.setSize(tsize);
-				x += tsize.x + GAP;
-			}
-			if (textLabel!=null)
-				textLabel.setBounds(x, y, size.x, size.y);
-			if (textClient!=null) {
-				int tcx = clientArea.width - tcsize.x-thmargin;
-				textClient.setBounds(tcx, y, tcsize.x, tcsize.y);
-			}
-			if (size!=null)
-				y += size.y;
-			if ((expansionStyle & TITLE_BAR) != 0) 
-				y += tvmargin;
-			if (getSeparatorControl() != null) {
-				y += VSPACE;
-				getSeparatorControl().setBounds(marginWidth, y,
-						clientArea.width - marginWidth - marginWidth,
-						SEPARATOR_HEIGHT);
-				y += SEPARATOR_HEIGHT;
-				if (expanded)
-					y += VSPACE;
-			}
-			if (expanded) {
-				int areaWidth = clientArea.width - marginWidth - marginWidth - thmargin-thmargin;
-				int cx = marginWidth + thmargin;
-				if ((expansionStyle & CLIENT_INDENT) != 0) {
-					cx = x;
-					areaWidth -= x;
-				}
-				if (client != null) {
-					Point dsize = null;
-					Control desc = getDescriptionControl();
-					if (desc != null) {
-						dsize = desc.computeSize(areaWidth, SWT.DEFAULT,
-								changed);
-						desc.setBounds(cx, y, dsize.x, dsize.y);
-						y += dsize.y + clientVerticalSpacing;
-					}
-					else
-						y += clientVerticalSpacing - VSPACE;
-					//int cwidth = clientArea.width - marginWidth - marginWidth
-							//- cx;
-					int cwidth = areaWidth;
-					int cheight = clientArea.height - marginHeight
-							- marginHeight - y;
-					client.setBounds(cx, y, cwidth, cheight);
-				}
-			}
-		}
-		protected Point computeSize(Composite parent, int wHint, int hHint,
-				boolean changed) {
-			int width = 0, height = 0;
-			Point tsize = null;
-			int twidth = 0;
-			if (toggle != null) {
-				tsize = toggle.computeSize(SWT.DEFAULT, SWT.DEFAULT, changed);
-				twidth = tsize.x + GAP;
-			}
-			int thmargin = 0;
-			int tvmargin = 0;
-			
-			if ((expansionStyle & TITLE_BAR)!=0) {
-				thmargin = GAP;
-				tvmargin = GAP;
-			}
-			int innerwHint = wHint;
-			if (innerwHint != SWT.DEFAULT)
-				innerwHint -= twidth;
-			
-			int innertHint = innerwHint;
-			
-			Point tcsize = null;
-			if (textClient!=null) {
-				tcsize = textClient.computeSize(SWT.DEFAULT, SWT.DEFAULT, changed);
-				if (innertHint!=SWT.DEFAULT)
-					innertHint -= GAP + tcsize.x;
-			}
-			Point size = null;
-			
-			if (textLabel!=null)
-				size = textLabel.computeSize(innertHint, SWT.DEFAULT, changed);
-			if (textLabel instanceof Label) {
-				Point defSize = textLabel.computeSize(SWT.DEFAULT, SWT.DEFAULT,
-						changed);
-				if (defSize.y == size.y) {
-					// One line - pick the smaller of the two widths
-					size.x = Math.min(defSize.x, size.x);
-				}
-			}
-			if (size!=null)
-				width = size.x;
-			int sizey = size!=null?size.y:0;
-			height = tcsize!=null?Math.max(tcsize.y, sizey):sizey;
-			if (getSeparatorControl() != null) {
-				height += VSPACE + SEPARATOR_HEIGHT;
-				if (expanded && client != null)
-					height += VSPACE;
-			}
-			if ((expansionStyle & TITLE_BAR) != 0) 
-				height += VSPACE;
-			if ((expanded || (expansionStyle & COMPACT) == 0) && client != null) {
-				int cwHint = wHint;
-				
-				if (cwHint!=SWT.DEFAULT)
-					cwHint -= tvmargin + tvmargin;
-				if ((expansionStyle & CLIENT_INDENT) != 0)
-					cwHint = innerwHint;
-				Point dsize = null;
-				Point csize = client.computeSize(FormUtil.getWidthHint(cwHint,
-						client), SWT.DEFAULT, changed);
-				if (getDescriptionControl() != null) {
-					int dwHint = cwHint;
-					if (dwHint == SWT.DEFAULT) {
-						dwHint = csize.x - tvmargin - tvmargin;
-						if ((expansionStyle & CLIENT_INDENT) != 0)
-							dwHint -= twidth;
-					}
-					dsize = getDescriptionControl().computeSize(dwHint,
-							SWT.DEFAULT, changed);
-				}
-				if (dsize != null) {
-					if ((expansionStyle & CLIENT_INDENT) != 0)
-						dsize.x -= twidth;
-					width = Math.max(width, dsize.x);
-					if (expanded)
-						height += dsize.y + clientVerticalSpacing;
-				}
-				else
-					height += clientVerticalSpacing - VSPACE;
-				if ((expansionStyle & CLIENT_INDENT) != 0)
-					csize.x -= twidth;
-				width = Math.max(width, csize.x);
-				if (expanded)
-					height += csize.y;
-			}
-			if (toggle != null) {
-				height = height - sizey + Math.max(sizey, tsize.y);
-				width += twidth;
-			}
-			return new Point(width + marginWidth + marginWidth+thmargin+thmargin, height
-					+ marginHeight + marginHeight+tvmargin+tvmargin);
-		}
-		public int computeMinimumWidth(Composite parent, boolean changed) {
-			int width = 0;
-			Point size = null;
-			if (textLabel!=null)
-				size = textLabel.computeSize(5, SWT.DEFAULT, changed);
-			Point tcsize=null;
-			if (textClient!=null) {
-				tcsize = textClient.computeSize(SWT.DEFAULT, SWT.DEFAULT, changed);
-			}
-			int thmargin = 0;
-			int tvmargin = 0;
-			
-			if ((expansionStyle & TITLE_BAR)!=0) {
-				thmargin = GAP;
-				tvmargin = GAP;
-			}			
-			if (size!=null)
-				width = size.x;
-			if (tcsize!=null)
-				width += GAP + tcsize.x;
-
-			if ((expanded || (expansionStyle & COMPACT) == 0) && client != null) {
-				Point dsize = null;
-				if (getDescriptionControl() != null) {
-					dsize = getDescriptionControl().computeSize(5, SWT.DEFAULT,
-							changed);
-					width = Math.max(width, dsize.x);
-				}
-				int cwidth = FormUtil.computeMinimumWidth(client, changed);
-				width = Math.max(width, cwidth);
-			}
-			if (toggle != null) {
-				Point tsize = toggle.computeSize(SWT.DEFAULT, SWT.DEFAULT,
-						changed);
-				width += tsize.x + GAP;
-			}
-			return width + marginWidth + marginWidth+thmargin+thmargin;
-		}
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.ui.forms.parts.ILayoutExtension#computeMinimumWidth(org.eclipse.swt.widgets.Composite,
-		 *      boolean)
-		 */
-		public int computeMaximumWidth(Composite parent, boolean changed) {
-			int width = 0;
-			Point size = null;
-			if (textLabel!=null)
-				textLabel.computeSize(SWT.DEFAULT, SWT.DEFAULT,
-					changed);
-			Point tcsize=null;
-			int thmargin = 0;
-			int tvmargin = 0;
-			
-			if ((expansionStyle & TITLE_BAR)!=0) {
-				thmargin = GAP;
-				tvmargin = GAP;
-			}			
-			if (textClient!=null) {
-				tcsize = textClient.computeSize(SWT.DEFAULT, SWT.DEFAULT, changed);
-			}
-			if (size!=null)
-				width = size.x;
-			if (tcsize!=null)
-				width += GAP + tcsize.x;
-			if ((expanded || (expansionStyle & COMPACT) == 0) && client != null) {
-				Point dsize = null;
-				if (getDescriptionControl() != null) {
-					dsize = getDescriptionControl().computeSize(SWT.DEFAULT,
-							SWT.DEFAULT, changed);
-					width = Math.max(width, dsize.x);
-				}
-				int cwidth = FormUtil.computeMaximumWidth(client, changed);
-				width = Math.max(width, cwidth);
-			}
-			if (toggle != null) {
-				Point tsize = toggle.computeSize(SWT.DEFAULT, SWT.DEFAULT,
-						changed);
-				width += tsize.x + GAP;
-			}
-			return width + marginWidth + marginWidth+thmargin+thmargin;
-		}
-	}
-	/**
-	 * Creates an expandable composite using a TWISTIE toggle.
-	 * 
-	 * @param parent
-	 *            the parent composite
-	 * @param style
-	 *            SWT style bits
-	 */
-	public ExpandableComposite(Composite parent, int style) {
-		this(parent, style, TWISTIE);
-	}
-	/**
-	 * Creates the expandable composite in the provided parent.
-	 * 
-	 * @param parent
-	 *            the parent
-	 * @param style
-	 *            the control style
-	 * @param expansionStyle
-	 *            the style of the expansion widget (TREE_NODE, TWISTIE,
-	 *            CLIENT_INDENT, COMPACT, FOCUS_TITLE)
-	 */
-	public ExpandableComposite(Composite parent, int style, int expansionStyle) {
-		super(parent, style);
-		this.expansionStyle = expansionStyle;
-		super.setLayout(new ExpandableLayout());
-		listeners = new Vector();
-		if ((expansionStyle & TITLE_BAR) != 0) {
-			this.addPaintListener(new PaintListener() {
-				public void paintControl(PaintEvent e) {
-					onPaint(e);
-				}
-			});
-		}
-		if ((expansionStyle & TWISTIE) != 0)
-			toggle = new Twistie(this, SWT.NULL);
-		else if ((expansionStyle & TREE_NODE) != 0)
-			toggle = new TreeNode(this, SWT.NULL);
-		else
-			expanded = true;
-		if ((expansionStyle & EXPANDED) != 0)
-			expanded = true;
-		if (toggle != null) {
-			toggle.setExpanded(expanded);
-			toggle.addHyperlinkListener(new HyperlinkAdapter() {
-				public void linkActivated(HyperlinkEvent e) {
-					toggleState();
-				}
-			});
-		}
-		if ((expansionStyle & FOCUS_TITLE) != 0) {
-			Hyperlink link = new Hyperlink(this, SWT.WRAP);
-			link.addHyperlinkListener(new HyperlinkAdapter() {
-				public void linkActivated(HyperlinkEvent e) {
-					toggle.setExpanded(!toggle.isExpanded());
-					toggleState();
-				}
-			});
-			textLabel = link;
-		} else if ((expansionStyle & NO_TITLE) == 0) {
-			final Label label = new Label(this, SWT.WRAP);
-			if (!isFixedStyle()) {
-				label.setCursor(FormsResources.getHandCursor());
-				label.addListener(SWT.MouseDown, new Listener() {
-					public void handleEvent(Event e) {
-						if (toggle != null)
-							toggle.setFocus();
-					}
-				});
-				label.addListener(SWT.MouseUp, new Listener() {
-					public void handleEvent(Event e) {
-						label.setCursor(FormsResources.getBusyCursor());
-						toggle.setExpanded(!toggle.isExpanded());
-						toggleState();
-						label.setCursor(FormsResources.getHandCursor());
-					}
-				});
-			}
-			textLabel = label;
-		}
-		if (textLabel!=null)
-			textLabel.setMenu(getMenu());
-	}
-	/**
-	 * Prevents assignment of the layout manager - expandable composite uses
-	 * its own layout.
-	 */
-	public final void setLayout(Layout layout) {
-	}
-	/**
-	 * Sets the background of all the custom controls in the expandable.
-	 */
-	public void setBackground(Color bg) {
-		super.setBackground(bg);
-		if (textLabel!=null)
-			textLabel.setBackground(bg);
-		if (toggle != null)
-			toggle.setBackground(bg);
-	}
-	/**
-	 * Sets the foreground of all the custom controls in the expandable.
-	 */
-	public void setForeground(Color fg) {
-		super.setForeground(fg);
-		if (textLabel!=null)
-			textLabel.setForeground(fg);
-		if (toggle != null)
-			toggle.setForeground(fg);
-	}
-	/**
-	 * Sets the color of the toggle control.
-	 * 
-	 * @param c
-	 *            the color object
-	 */
-	public void setToggleColor(Color c) {
-		if (toggle != null)
-			toggle.setDecorationColor(c);
-	}
-	/**
-	 * Sets the active color of the toggle control (when the mouse enters the
-	 * toggle area).
-	 * 
-	 * @param c
-	 *            the active color object
-	 */
-	public void setActiveToggleColor(Color c) {
-		if (toggle != null)
-			toggle.setHoverDecorationColor(c);
-	}
-	/**
-	 * Sets the fonts of all the custom controls in the expandable.
-	 */
-	public void setFont(Font font) {
-		super.setFont(font);
-		if (textLabel!=null)
-			textLabel.setFont(font);
-		if (toggle != null)
-			toggle.setFont(font);
-	}
-	/**
-	 * Sets the client of this expandable composite. The client must not be
-	 * <samp>null </samp> and must be a direct child of this container.
-	 * 
-	 * @param client
-	 *            the client that will be expanded or collapsed
-	 */
-	public void setClient(Control client) {
-		Assert.isTrue(client != null && client.getParent().equals(this));
-		this.client = client;
-	}
-	/**
-	 * Returns the current expandable client.
-	 * 
-	 * @return the client control
-	 */
-	public Control getClient() {
-		return client;
-	}
-	/**
-	 * Sets the title of the expandable composite. The title will act as a
-	 * hyperlink and activating it will toggle the client between expanded and
-	 * collapsed state.
-	 * 
-	 * @param title
-	 *            the new title string
-	 * @see #getTitle
-	 */
-	public void setText(String title) {
-		if (textLabel instanceof Label)
-			((Label) textLabel).setText(title);
-		else if (textLabel instanceof Hyperlink)
-			((Hyperlink) textLabel).setText(title);
-	}
-	/**
-	 * Returns the title string.
-	 * 
-	 * @return the title string
-	 * @see #setTitle
-	 */
-	public String getText() {
-		if (textLabel instanceof Label)
-			return ((Label) textLabel).getText();
-		else if (textLabel instanceof Hyperlink)
-			return ((Hyperlink) textLabel).getText();
-		else
-			return "";
-	}
-	/**
-	 * Tests the expanded state of the composite.
-	 * 
-	 * @return <samp>true </samp> if expanded, <samp>false </samp> if
-	 *         collapsed.
-	 */
-	public boolean isExpanded() {
-		return expanded;
-	}
-	/**
-	 * Returns the bitwise-ORed style bits for the expansion control.
-	 * 
-	 * @return
-	 */
-	public int getExpansionStyle() {
-		return expansionStyle;
-	}
-	/**
-	 * Programmatically changes expanded state.
-	 * 
-	 * @param expanded
-	 *            the new expanded state
-	 */
-	public void setExpanded(boolean expanded) {
-		internalSetExpanded(expanded);
-		if (toggle != null)
-			toggle.setExpanded(expanded);
-	}
-	/**
-	 * Performs the expansion state change for the expandable control.
-	 * 
-	 * @param expanded
-	 *            the expansion state
-	 */
-	protected void internalSetExpanded(boolean expanded) {
-		if (this.expanded != expanded) {
-			this.expanded = expanded;
-			if (getDescriptionControl() != null)
-				getDescriptionControl().setVisible(expanded);
-			if (client != null)
-				client.setVisible(expanded);
-			layout();
-		}
-	}
-	/**
-	 * Adds the listener that will be notified when the expansion state
-	 * changes.
-	 * 
-	 * @param listener
-	 *            the listener to add
-	 */
-	public void addExpansionListener(IExpansionListener listener) {
-		if (!listeners.contains(listener))
-			listeners.add(listener);
-	}
-	/**
-	 * Removes the expansion listener.
-	 * 
-	 * @param listener
-	 *            the listner to remove
-	 */
-	public void removeExpansionListener(IExpansionListener listener) {
-		if (listeners.contains(listener))
-			listeners.remove(listener);
-	}
-	private void toggleState() {
-		boolean newState = !isExpanded();
-		fireExpanding(newState, true);
-		internalSetExpanded(!isExpanded());
-		fireExpanding(newState, false);
-	}
-/**
- * If TITLE_BAR style is used, title bar decoration will
- * be painted behind the text in this method. The default
- * implementation does nothing - subclasses are responsible
- * for rendering the title area.
- * @param e the paint event
- */
-	protected void onPaint(PaintEvent e) {
-	}
-	private void fireExpanding(boolean state, boolean before) {
-		int size = listeners.size();
-		if (size == 0)
-			return;
-		ExpansionEvent e = new ExpansionEvent(this, state);
-		for (int i = 0; i < size; i++) {
-			IExpansionListener listener = (IExpansionListener) listeners.get(i);
-			if (before)
-				listener.expansionStateChanging(e);
-			else
-				listener.expansionStateChanged(e);
-		}
-	}
-	/**
-	 * Returns description control that will be placed under the title if
-	 * present.
-	 * 
-	 * @return the description control or <samp>null </samp> if not used.
-	 */
-	protected Control getDescriptionControl() {
-		return null;
-	}
-	/**
-	 * Returns the separator control that will be placed between the title and
-	 * the description if present.
-	 * 
-	 * @return the separator control or <samp>null </samp> if not used.
-	 */
-	protected Control getSeparatorControl() {
-		return null;
-	}
-	/**
-	 * Computes the size of the expandable composite.
-	 * 
-	 * @see org.eclipse.swt.widgets.Composite#computeSize
-	 */
-	public Point computeSize(int wHint, int hHint, boolean changed) {
-		checkWidget();
-		Point size;
-		ExpandableLayout layout = (ExpandableLayout) getLayout();
-		if (wHint == SWT.DEFAULT || hHint == SWT.DEFAULT) {
-			size = layout.computeSize(this, wHint, hHint, changed);
-		} else {
-			size = new Point(wHint, hHint);
-		}
-		Rectangle trim = computeTrim(0, 0, size.x, size.y);
-		return new Point(trim.width, trim.height);
-	}
-	/**
-	 * Returns <samp>true </samp> if the composite is fixed i.e. cannot be
-	 * expanded or collapsed. Fixed control will still contain the title,
-	 * separator and description (if present) as well as the client, but will
-	 * be in the permanent expanded state and the toggle affordance will not be
-	 * shown.
-	 * 
-	 * @return <samp>true </samp> if the control is fixed in the expanded
-	 *         state, <samp>false </samp> if it can be collapsed.
-	 */
-	protected boolean isFixedStyle() {
-		return (expansionStyle & TWISTIE) == 0
-				&& (expansionStyle & TREE_NODE) == 0;
-	}
-	/**
-	 * Returns the text client control.
-	 * @return Returns the text client control if specified, or <code>null</code> if
-	 * not.
-	 */
-	public Control getTextClient() {
-		return textClient;
-	}
-	/**
-	 * Sets the text client control. Text client is a control that 
-	 * is a child of the expandable composite and is placed to the right
-	 * of the text. It can be used to place small image hyperlinks. If
-	 * more than one control is needed, use Composite to hold them. Care should
-	 * be taken that the height of the control is comparable to the
-	 * height of the text.
-	 * @param textClient the textClient to set or <code>null</code> if not
-	 * needed any more.
-	 */
-	public void setTextClient(Control textClient) {
-		if (this.textClient!=null)
-			this.textClient.dispose();
-		this.textClient = textClient;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/Form.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/Form.java
deleted file mode 100644
index 0e5cbd4..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/Form.java
+++ /dev/null
@@ -1,346 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-import org.eclipse.jface.action.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.internal.forms.widgets.*;
-/**
- * Form is a custom control that renders a title and
- * an optional background image above the body composite.
- * It can be used alone when part of parents that are scrolled.
- * If scrolling is required, use <code>ScrolledForm</code> instead
- * because it has an instance of <code>Form</code> and adds scrolling
- * capability.
- * <p>
- * Form can have a title if set. If not set, title area will
- * not be left empty - form body will be resized to fill the entire
- * form.
- * <p>
- * Form can have a background image behind the title text. The image
- * can be painted as-is, or tiled as many times as needed to fill
- * the title area.
- * <p>Form has a custom layout manager that is wrap-enabled. If a form
- * is placed in a composite whose layout manager implements ILayoutExtension,
- * the body of the worm will participate in wrapping as long as its
- * layout manager implements ILayoutExtension as well.
- * <p>
- * Children of the form should typically be created using FormToolkit to match
- * the appearance and behaviour. When creating children, use the form body as a
- * parent by calling 'getBody()' on the form instance. Example:
- * 
- * <pre>
- *  FormToolkit toolkit = new FormToolkit(parent.getDisplay());
- *  Form form = toolkit.createForm(parent);
- *  formContent.setText(&quot;Sample form&quot;);
- *  formContent.getBody().setLayout(new GridLayout());
- *  toolkit.createButton(formContent.getBody(), &quot;Checkbox&quot;, SWT.CHECK);
- * </pre>
- * 
- * <p>
- * No layout manager has been set on the body. Clients are required to set the
- * desired layout manager explicitly.
- * <p>
- * Although the class is not final, it should not be subclassed.
- * @since 3.0
- */
-public class Form extends Composite {
-	private int TITLE_HMARGIN = 10;
-	private int TITLE_VMARGIN = 5;
-	private int TITLE_GAP = 5;
-	private Image backgroundImage;
-	private boolean backgroundImageTiled;
-	private String text;
-	private Composite body;
-	private ToolBarManager toolBarManager;
-
-	private class FormLayout extends Layout implements ILayoutExtension {
-		public int computeMinimumWidth(Composite composite, boolean flushCache) {
-			return computeSize(composite, 5, SWT.DEFAULT, flushCache).x;
-		}
-		public int computeMaximumWidth(Composite composite, boolean flushCache) {
-			return computeSize(composite, SWT.DEFAULT, SWT.DEFAULT, flushCache).x;
-		}
-		public Point computeSize(Composite composite, int wHint, int hHint,
-				boolean flushCache) {
-			int width = 0;
-			int height = 0;
-			if (text != null) {
-				GC gc = new GC(composite);
-				gc.setFont(getFont());
-				if (wHint != SWT.DEFAULT) {
-					Point wsize = FormUtil.computeWrapSize(gc, text, wHint);
-					width = wsize.x;
-					height = wsize.y;
-				} else {
-					Point extent = gc.textExtent(text);
-					width = extent.x;
-					height = extent.y;
-				}
-				gc.dispose();
-			}
-			if (toolBarManager != null) {
-				ToolBar toolBar = toolBarManager.getControl();
-				if (toolBar != null) {
-					Point tbsize = toolBar
-							.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-					if (width != 0)
-						width += TITLE_GAP;
-					width += tbsize.x;
-					height = Math.max(height, tbsize.y);
-				}
-			}
-			if (height != 0)
-				height += TITLE_VMARGIN * 2;
-			if (width != 0)
-				width += TITLE_HMARGIN * 2;
-			int ihHint = hHint;
-			if (ihHint > 0 && ihHint != SWT.DEFAULT)
-				ihHint -= height;
-			Point bsize = body.computeSize(FormUtil.getWidthHint(wHint, body),
-					FormUtil.getHeightHint(ihHint, body), flushCache);
-			width = Math.max(bsize.x, width);
-			height += bsize.y;
-			return new Point(width, height);
-		}
-		protected void layout(Composite composite, boolean flushCache) {
-			Rectangle carea = composite.getClientArea();
-			int height = 0;
-			Point tbsize = null;
-			int twidth = carea.width - TITLE_HMARGIN * 2;
-			if (toolBarManager != null) {
-				ToolBar toolBar = toolBarManager.getControl();
-				if (toolBar != null) {
-					tbsize = toolBar.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-					toolBar.setBounds(carea.width - 1 - TITLE_HMARGIN
-							- tbsize.x, TITLE_VMARGIN, tbsize.x, tbsize.y);
-					height = tbsize.y;
-				}
-			}
-			if (tbsize != null) {
-				twidth -= tbsize.x - TITLE_GAP;
-			}
-			if (text != null) {
-				GC gc = new GC(composite);
-				gc.setFont(getFont());
-				height = FormUtil.computeWrapSize(gc, text, twidth).y;
-				gc.dispose();
-				if (tbsize != null)
-					height = Math.max(tbsize.y, height);
-			}
-			if (height > 0)
-				height += TITLE_VMARGIN * 2;
-			body.setBounds(0, height, carea.width, carea.height - height);
-		}
-	}
-	/**
-	 * Creates the form content control as a child of the provided parent.
-	 * 
-	 * @param parent
-	 *            the parent widget
-	 */
-	public Form(Composite parent, int style) {
-		super(parent, SWT.NO_BACKGROUND|style);
-		addListener(SWT.Paint, new Listener() {
-			public void handleEvent(Event e) {
-				onPaint(e.gc);
-			}
-		});
-		super.setLayout(new FormLayout());
-		body = new LayoutComposite(this, SWT.NULL);
-		body.setMenu(parent.getMenu());
-	}
-/**
- * Passes the menu to the form body.
- *@param menu
- */
-	public void setMenu(Menu menu) {
-		super.setMenu(menu);
-		body.setMenu(menu);
-	}
-	/**
-	 * Fully delegates the size computation to the internal
-	 * layout manager.
-	 */
-	public final Point computeSize(int wHint, int hHint, boolean changed) {
-		return ((FormLayout) getLayout()).computeSize(this, wHint, hHint,
-				changed);
-	}
-	/**
-	 * Prevents from changing the custom control layout.
-	 */
-	public final void setLayout(Layout layout) {
-	}
-	/**
-	 * Returns the title text that will be rendered at the top of the form.
-	 * 
-	 * @return the title text
-	 */
-	public String getText() {
-		return text;
-	}
-	/**
-	 * Sets the foreground color of the form. This color will also be used for
-	 * the body.
-	 */
-	public void setForeground(Color fg) {
-		super.setForeground(fg);
-		body.setForeground(fg);
-	}
-	/**
-	 * Sets the background color of the form. This color will also be used for
-	 * the body.
-	 */
-	public void setBackground(Color bg) {
-		super.setBackground(bg);
-		body.setBackground(bg);
-		if (toolBarManager != null)
-			toolBarManager.getControl().setBackground(bg);
-	}
-	/**
-	 * Sets the text to be rendered at the top of the form above the body as a
-	 * title.
-	 * 
-	 * @param text
-	 *            the title text
-	 */
-	public void setText(String text) {
-		this.text = text;
-		layout();
-		redraw();
-	}
-
-	/**
-	 * Returns the optional background image of this form. The image is
-	 * rendered starting at the position 0,0 and is painted behind the title.
-	 * 
-	 * @return Returns the background image.
-	 */
-	public Image getBackgroundImage() {
-		return backgroundImage;
-	}
-	/**
-	 * Sets the optional background image to be rendered behind the title
-	 * starting at the position 0,0.
-	 * 
-	 * @param backgroundImage
-	 *            The backgroundImage to set.
-	 */
-	public void setBackgroundImage(Image backgroundImage) {
-		this.backgroundImage = backgroundImage;
-		redraw();
-	}
-	/**
-	 * Returns the tool bar manager that is used to manage tool items in the
-	 * form's title area.
-	 * 
-	 * @return form tool bar manager
-	 */
-	public IToolBarManager getToolBarManager() {
-		if (toolBarManager == null) {
-			toolBarManager = new ToolBarManager(SWT.FLAT);
-			ToolBar toolbar = toolBarManager.createControl(this);
-			toolbar.setBackground(getBackground());
-			toolbar.setForeground(getForeground());
-			toolbar.setCursor(FormsResources.getHandCursor());
-			addDisposeListener(new DisposeListener() {
-				public void widgetDisposed(DisposeEvent e) {
-					if (toolBarManager != null) {
-						toolBarManager.dispose();
-						toolBarManager = null;
-					}
-				}
-			});
-		}
-		return toolBarManager;
-	}
-	/**
-	 * Updates the local tool bar manager if used. Does nothing if local tool
-	 * bar manager has not been created yet.
-	 */
-	public void updateToolBar() {
-		if (toolBarManager != null)
-			toolBarManager.update(false);
-	}
-	/**
-	 * Returns the container that occupies the body of the form (the form area
-	 * below the title). Use this container as a parent for the controls that
-	 * should be in the form. No layout manager has been set on the form body.
-	 * 
-	 * @return Returns the body of the form.
-	 */
-	public Composite getBody() {
-		return body;
-	}
-	private void onPaint(GC gc) {
-		if (text==null) return;
-		Rectangle carea = getClientArea();
-
-		gc.setFont(getFont());
-		Point textSize = FormUtil.computeWrapSize(gc, text, carea.width-TITLE_HMARGIN-TITLE_HMARGIN);
-		int theight = TITLE_HMARGIN + textSize.y + TITLE_HMARGIN + TITLE_GAP;
-		Image buffer= new Image(getDisplay(), carea.width, theight);
-		GC bufferGC = new GC(buffer, gc.getStyle());
-		bufferGC.setBackground(getBackground());
-		bufferGC.setForeground(getForeground());
-		bufferGC.setFont(getFont());
-		Rectangle tbounds = new Rectangle(TITLE_HMARGIN, 
-				TITLE_VMARGIN,
-				carea.width-TITLE_HMARGIN-TITLE_HMARGIN, 
-				textSize.y);
-		bufferGC.fillRectangle(0, 0, carea.width, theight);
-		if (backgroundImage != null) {
-			drawBackgroundImage(bufferGC, carea.width, TITLE_VMARGIN+textSize.y+TITLE_VMARGIN);
-		}
-		FormUtil.paintWrapText(bufferGC, text, tbounds);
-		gc.drawImage(buffer, 0, 0);
-		bufferGC.dispose();
-		buffer.dispose();
-	}
-	private void drawBackgroundImage(GC gc, int width, int height) {
-		if (backgroundImageTiled) {
-			Rectangle ibounds = backgroundImage.getBounds();
-			int x=0;
-			int y=0;
-			// loop and tile image until the entire title area is covered
-			for (;;) {
-				gc.drawImage(backgroundImage, x, y);
-				x+=ibounds.width;
-				if (x>width) {
-					//wrap
-					x = 0;
-					y += ibounds.height;
-					if (y>height) break;
-				}
-			}
-		}
-		else {
-			gc.drawImage(backgroundImage, 0, 0);
-		}
-		
-	}
-	/**
-	 * @return Returns the backgroundImageTiled.
-	 */
-	public boolean isBackgroundImageTiled() {
-		return backgroundImageTiled;
-	}
-	/**
-	 * @param backgroundImageTiled The backgroundImageTiled to set.
-	 */
-	public void setBackgroundImageTiled(boolean backgroundImageTiled) {
-		this.backgroundImageTiled = backgroundImageTiled;
-		if (isVisible())
-			redraw();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/FormText.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/FormText.java
deleted file mode 100644
index 3663abc..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/FormText.java
+++ /dev/null
@@ -1,874 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-import java.io.InputStream;
-import java.util.*;
-
-import org.eclipse.jface.action.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.accessibility.*;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.forms.HyperlinkSettings;
-import org.eclipse.ui.forms.events.*;
-import org.eclipse.ui.internal.forms.widgets.*;
-/**
- * This class is a read-only text control that is capable of rendering wrapped
- * text. Text can be rendered as-is or by parsing the formatting XML tags.
- * Independently, words that start with http:// can be converted into
- * hyperlinks on the fly.
- * <p>
- * When configured to use formatting XML, the control requires the root element
- * <code>form</code> to be used. The following tags can be children of the
- * <code>form</code> element:
- * </p>
- * <ul>
- * <li><b>p </b>- for defining paragraphs. The following attributes are
- * allowed:
- * <ul>
- * <li><b>vspace </b>- if set to 'false', no vertical space will be added
- * (default is 'true')</li>
- * </ul>
- * </li>
- * <li><b>li </b>- for defining list items. The following attributes are
- * allowed:
- * <ul>
- * <li><b>vspace </b>- the same as with the <b>p </b> tag</li>
- * <li><b>style </b>- could be 'bullet' (default), 'text' and 'image'</li>
- * <li><b>value </b>- not used for 'bullet'. For text, it is the value of the
- * text to rendered as a bullet. For image, it is the href of the image to be
- * rendered as a bullet.</li>
- * <li><b>indent </b>- the number of pixels to indent the text in the list
- * item</li>
- * <li><b>bindent </b>- the number of pixels to indent the bullet itself
- * </li>
- * </ul>
- * </li>
- * </ul>
- * <p>
- * Text in paragraphs and list items will be wrapped according to the width of
- * the control. The following tags can appear as children of either <b>p </b>
- * or <b>li </b> elements:
- * <ul>
- * <li><b>img </b>- to render an image. Element accepts attribute 'href' that
- * is a key to the Image set using 'setImage' method.</li>
- * <li><b>a </b>- to render a hyperlink. Element accepts attribute 'href'
- * that will be provided to the hyperlink listeners via HyperlinkEvent object.
- * The element also accepts 'nowrap' attribute (default is false). When set to
- * 'true', the hyperlink will not be wrapped.</li>
- * <li><b>b </b>- the enclosed text will use bold font.</li>
- * <li><b>br </b>- forced line break (no attributes).</li>
- * <li><b>span </b>- the enclosed text will have the color and font specified
- * in the element attributes. Color is provided using 'color' attribute and is
- * a key to the Color object set by 'setColor' method. Font is provided using
- * 'font' attribute and is a key to the Font object set by 'setFont' method.
- * </li>
- * </ul>
- * <p>
- * None of the elements can nest. For example, you cannot have <b>b </b> inside
- * a <b>span </b>. This was done to keep everything simple and transparent.
- * </p>
- * <p>
- * Care should be taken when using this control. Form text is not an HTML
- * browser and should not be treated as such. If you need complex formatting
- * capabilities, use Browser widget. If you need editing capabilities and
- * font/color styles of text segments is all you need, use StyleText widget.
- * Finally, if all you need is to wrap text, use SWT Label widget and create it
- * with SWT.WRAP style.
- * <p>
- * <p>
- * You should be careful not to ask the control to render large quantities of
- * text. It does not have advanced support for dirty regions and will repaint
- * fully each time. Instead, combine the control in a composite with other
- * controls and let SWT take care of the dirty regions.
- * </p>
- * <p>Although the class is not marked final,
- * @see FormToolkit
- * @see TableWrapLayout
- * @since 3.0
- */
-public final class FormText extends Canvas {
-	/**
-	 * The object ID to be used when registering action to handle URL
-	 * hyperlinks (those that should result in opening the web browser). Value
-	 * is "urlHandler".
-	 */
-	public static final String URL_HANDLER_ID = "urlHandler";
-	/**
-	 * Value of the horizontal margin (default is 0).
-	 */
-	public int marginWidth = 0;
-	/**
-	 * Value of hte horizontal margin (default is 1).
-	 */
-	public int marginHeight = 1;
-	//private fields
-	private boolean hasFocus;
-	private boolean paragraphsSeparated = true;
-	private FormTextModel model;
-	private Vector listeners;
-	private Hashtable resourceTable = new Hashtable();
-	private HyperlinkSegment entered;
-	private boolean mouseDown = false;
-	//private Point dragOrigin;
-	private Action openAction;
-	private Action copyShortcutAction;
-	private boolean loading = true;
-	//TODO translate this text
-	private String loadingText = "Loading...";
-	private class FormTextLayout extends Layout implements ILayoutExtension {
-		public FormTextLayout() {
-		}
-		public int computeMaximumWidth(Composite parent, boolean changed) {
-			return computeSize(parent, SWT.DEFAULT, SWT.DEFAULT, changed).x;
-		}
-		public int computeMinimumWidth(Composite parent, boolean changed) {
-			return computeSize(parent, 5, SWT.DEFAULT, true).x;
-		}
-		/*
-		 * @see Layout#computeSize(Composite, int, int, boolean)
-		 */
-		public Point computeSize(Composite composite, int wHint, int hHint,
-				boolean changed) {
-			int innerWidth = wHint;
-			if (isLoading()) {
-				return computeLoading();
-			}
-			if (innerWidth != SWT.DEFAULT)
-				innerWidth -= marginWidth * 2;
-			Point textSize = computeTextSize(innerWidth);
-			int textWidth = textSize.x + 2 * marginWidth;
-			int textHeight = textSize.y + 2 * marginHeight;
-			Point result = new Point(textWidth, textHeight);
-			return result;
-		}
-		private Point computeLoading() {
-			GC gc = new GC(FormText.this);
-			gc.setFont(getFont());
-			String loadingText = getLoadingText();
-			Point size = gc.textExtent(loadingText);
-			gc.dispose();
-			size.x += 2 * marginWidth;
-			size.y += 2 * marginHeight;
-			return size;
-		}
-		private Point computeTextSize(int wHint) {
-			Paragraph[] paragraphs = model.getParagraphs();
-			GC gc = new GC(FormText.this);
-			gc.setFont(getFont());
-			Locator loc = new Locator();
-			int width = wHint != SWT.DEFAULT ? wHint : 0;
-			FontMetrics fm = gc.getFontMetrics();
-			int lineHeight = fm.getHeight();
-			for (int i = 0; i < paragraphs.length; i++) {
-				Paragraph p = paragraphs[i];
-				if (i > 0 && getParagraphsSeparated()
-						&& p.getAddVerticalSpace())
-					loc.y += getParagraphSpacing(lineHeight);
-				loc.rowHeight = 0;
-				loc.indent = p.getIndent();
-				loc.x = p.getIndent();
-				ParagraphSegment[] segments = p.getSegments();
-				if (segments.length > 0) {
-					for (int j = 0; j < segments.length; j++) {
-						ParagraphSegment segment = segments[j];
-						segment.advanceLocator(gc, wHint, loc, resourceTable,
-								false);
-						width = Math.max(width, loc.width);
-					}
-					loc.y += loc.rowHeight;
-				} else {
-					// empty new line
-					loc.y += lineHeight;
-				}
-			}
-			gc.dispose();
-			return new Point(width, loc.y);
-		}
-		protected void layout(Composite composite, boolean flushCache) {
-		}
-	}
-	/**
-	 * Contructs a new form text widget in the provided parent and using the
-	 * styles.
-	 * 
-	 * @param parent
-	 *            form text parent control
-	 * @param style
-	 *            the widget style
-	 */
-	public FormText(Composite parent, int style) {
-		super(parent, SWT.NO_BACKGROUND | SWT.WRAP | style);
-		setLayout(new FormTextLayout());
-		model = new FormTextModel();
-		addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				model.dispose();
-				Font boldFont = (Font)resourceTable.get(FormTextModel.BOLD_FONT_ID);
-				if (boldFont!=null) {
-					boldFont.dispose();
-				}
-			}
-		});
-		addPaintListener(new PaintListener() {
-			public void paintControl(PaintEvent e) {
-				paint(e);
-			}
-		});
-		addListener(SWT.KeyDown, new Listener() {
-			public void handleEvent(Event e) {
-				if (e.character == '\r') {
-					activateSelectedLink();
-					return;
-				}
-			}
-		});
-		addListener(SWT.Traverse, new Listener() {
-			public void handleEvent(Event e) {
-				switch (e.detail) {
-					case SWT.TRAVERSE_PAGE_NEXT :
-					case SWT.TRAVERSE_PAGE_PREVIOUS :
-					case SWT.TRAVERSE_ARROW_NEXT :
-					case SWT.TRAVERSE_ARROW_PREVIOUS :
-						e.doit = false;
-						return;
-				}
-				if (!model.hasFocusSegments()) {
-					e.doit = true;
-					return;
-				}
-				if (e.detail == SWT.TRAVERSE_TAB_NEXT)
-					e.doit = advance(true);
-				else if (e.detail == SWT.TRAVERSE_TAB_PREVIOUS)
-					e.doit = advance(false);
-				else if (e.detail != SWT.TRAVERSE_RETURN)
-					e.doit = true;
-			}
-		});
-		addFocusListener(new FocusListener() {
-			public void focusGained(FocusEvent e) {
-				if (!hasFocus) {
-					hasFocus = true;
-					handleFocusChange();
-				}
-			}
-			public void focusLost(FocusEvent e) {
-				if (hasFocus) {
-					hasFocus = false;
-					handleFocusChange();
-				}
-			}
-		});
-		addMouseListener(new MouseListener() {
-			public void mouseDoubleClick(MouseEvent e) {
-			}
-			public void mouseDown(MouseEvent e) {
-				// select a link
-				handleMouseClick(e, true);
-			}
-			public void mouseUp(MouseEvent e) {
-				// activate a link
-				handleMouseClick(e, false);
-			}
-		});
-		addMouseTrackListener(new MouseTrackListener() {
-			public void mouseEnter(MouseEvent e) {
-				handleMouseMove(e);
-			}
-			public void mouseExit(MouseEvent e) {
-				if (entered != null) {
-					exitLink(entered, e.stateMask);
-					paintLinkHover(entered, false);
-					entered = null;
-					setCursor(null);
-				}
-			}
-			public void mouseHover(MouseEvent e) {
-				handleMouseHover(e);
-			}
-		});
-		addMouseMoveListener(new MouseMoveListener() {
-			public void mouseMove(MouseEvent e) {
-				handleMouseMove(e);
-			}
-		});
-		initAccessible();
-		makeActions();
-		ensureBoldFontPresent(getFont());
-	}
-	/**
-	 * Test for focus.
-	 * 
-	 * @return <samp>true </samp> if the widget has focus.
-	 */
-	public boolean getFocus() {
-		return hasFocus;
-	}
-	/**
-	 * Test if the widget is currently processing the text it is about to
-	 * render.
-	 * 
-	 * @return <samp>true </samp> if the widget is still loading the text,
-	 *         <samp>false </samp> otherwise.
-	 */
-	public boolean isLoading() {
-		return loading;
-	}
-	/**
-	 * Returns the text that will be shown in the control while the real
-	 * content is loading.
-	 * 
-	 * @return loading text message
-	 */
-	public String getLoadingText() {
-		return loadingText;
-	}
-	/**
-	 * Sets the text that will be shown in the control while the real content
-	 * is loading. This is significant when content to render is loaded from
-	 * the input stream that was created from a remote URL, and the time to
-	 * load the entire content is nontrivial.
-	 * 
-	 * @param loadingText
-	 *            loading text message
-	 */
-	public void setLoadingText(String loadingText) {
-		this.loadingText = loadingText;
-	}
-	/**
-	 * If paragraphs are separated, spacing will be added between them.
-	 * Otherwise, new paragraphs will simply start on a new line with no
-	 * spacing.
-	 * 
-	 * @param value
-	 *            <samp>true </samp> if paragraphs are separated, </samp> false
-	 *            </samp> otherwise.
-	 */
-	public void setParagraphsSeparated(boolean value) {
-		paragraphsSeparated = value;
-	}
-	/**
-	 * Tests if there is some inter-paragraph spacing.
-	 * 
-	 * @return <samp>true </samp> if paragraphs are separated, <samp>false
-	 *         </samp> otherwise.
-	 */
-	public boolean getParagraphsSeparated() {
-		return paragraphsSeparated;
-	}
-	/**
-	 * Registers the image referenced by the provided key.
-	 * <p>
-	 * For <samp>img </samp> tags, an object of a type <samp>Image </samp> must
-	 * be registered using the key equivalent to the value of the <samp>href
-	 * </samp> attribute used in the tag.
-	 * 
-	 * @param key
-	 *            unique key that matches the value of the <samp>href </samp>
-	 *            attribute.
-	 * @param image
-	 *            an object of a type <samp>Image </samp>.
-	 */
-	public void setImage(String key, Image image) {
-		resourceTable.put("i." + key, image);
-	}
-	/**
-	 * Registers the color referenced by the provided key.
-	 * <p>
-	 * For <samp>span </samp> tags, an object of a type <samp>Color </samp>
-	 * must be registered using the key equivalent to the value of the <samp>
-	 * color </samp> attribute.
-	 * 
-	 * @param key
-	 *            unique key that matches the value of the <samp>color </samp>
-	 *            attribute.
-	 * @param color
-	 *            an object of a type <samp>Color </samp>.
-	 */
-	public void setColor(String key, Color color) {
-		resourceTable.put("c." + key, color);
-	}
-	/**
-	 * Registers the font referenced by the provided key.
-	 * <p>
-	 * For <samp>span </samp> tags, an object of a type <samp>Font </samp> must
-	 * be registered using the key equivalent to the value of the <samp>font
-	 * </samp> attribute.
-	 * 
-	 * @param key
-	 *            unique key that matches the value of the <samp>font </samp>
-	 *            attribute.
-	 * @param font
-	 *            an object of a type <samp>Font </samp>.
-	 */
-	public void setFont(String key, Font font) {
-		resourceTable.put("f." + key, font);
-	}
-	/**
-	 * Sets the font to use to render the default
-	 * text (text that does not have special font property
-	 * assigned). Bold font will be constructed from
-	 * this font.
-	 * @param font the default font to use
-	 */
-	public void setFont(Font font) {
-		super.setFont(font);
-		Font boldFont = (Font)resourceTable.get(FormTextModel.BOLD_FONT_ID);
-		if (boldFont!=null) {
-			boldFont.dispose();
-			resourceTable.remove(FormTextModel.BOLD_FONT_ID);
-		}
-		ensureBoldFontPresent(getFont());
-	}
-	/**
-	 * Sets the provided text. Text can be rendered as-is, or by parsing the
-	 * formatting tags. Optionally, sections of text starting with http:// will
-	 * be converted to hyperlinks.
-	 * 
-	 * @param text
-	 *            the text to render
-	 * @param parseTags
-	 *            if <samp>true </samp>, formatting tags will be parsed.
-	 *            Otherwise, text will be rendered as-is.
-	 * @param expandURLs
-	 *            if <samp>true </samp>, URLs found in the untagged text will
-	 *            be converted into hyperlinks.
-	 */
-	public void setText(String text, boolean parseTags, boolean expandURLs) {
-		if (parseTags)
-			model.parseTaggedText(text, expandURLs);
-		else
-			model.parseRegularText(text, expandURLs);
-		loading = false;
-		layout();
-	}
-	/**
-	 * Sets the contents of the stream. Optionally, URLs in untagged text can
-	 * be converted into hyperlinks. The caller is responsible for closing the
-	 * stream.
-	 * 
-	 * @param is
-	 *            stream to render
-	 * @param expandURLs
-	 *            if <samp>true </samp>, URLs found in untagged text will be
-	 *            converted into hyperlinks.
-	 */
-	public void setContents(InputStream is, boolean expandURLs) {
-		model.parseInputStream(is, expandURLs);
-		loading = false;
-		layout();
-	}
-	/**
-	 * Controls whether whitespace inside paragraph and list
-	 * items is normalized. 
-	 * <p>If normalized:
-	 * <ul>
-	 * <li>all white space characters will
-	 * be condensed into at most one when between words.</li> 
-	 * <li>new line characters will be ignored and replaced
-	 * with one white space character</li>
-	 * <li>white space characters after the opening
-	 * tags and before the closing tags will be trimmed</li>
-	 * @param value <code>true</code> if whitespace is
-	 * normalized, <code>false</code> otherwise.
-	 */
-	public void setWhitespaceNormalized(boolean value) {
-		model.setWhitespaceNormalized(value);
-	}
-	/**
-	 * Tests whether whitespace inside paragraph and
-	 * list item is normalized.
-	 * @see #setWhitespaceNormalized(boolean)
-	 * @return <code>true</code> if whitespace is
-	 * normalized, <code>false</code> otherwise.
-	 */
-	public boolean isWhitespaceNormalized() {
-		return model.isWhitespaceNormalized();
-	}
-	/**
-	 * Sets the focus to the first hyperlink, or the widget itself if there are
-	 * no hyperlinks.
-	 * 
-	 * @return <samp>true </samp> if the control got focus, <samp>false </samp>
-	 *         otherwise.
-	 */
-	public boolean setFocus() {
-		/*
-		 * if (!model.hasFocusSegments()) return false;
-		 */
-		return super.setFocus();
-	}
-	/**
-	 * Returns the hyperlink settings that are in effect for this control.
-	 * 
-	 * @return current hyperlinks settings
-	 */
-	public HyperlinkSettings getHyperlinkSettings() {
-		return model.getHyperlinkSettings();
-	}
-	/**
-	 * Sets the hyperlink settings to be used for this control. Settings will
-	 * affect things like hyperlink color, rendering style, cursor etc.
-	 * 
-	 * @param settings
-	 *            hyperlink settings for this control
-	 */
-	public void setHyperlinkSettings(HyperlinkSettings settings) {
-		model.setHyperlinkSettings(settings);
-	}
-	/**
-	 * Adds a listener that will handle hyperlink events.
-	 * 
-	 * @param listener
-	 *            the listener to add
-	 */
-	public void addHyperlinkListener(IHyperlinkListener listener) {
-		if (listeners == null)
-			listeners = new Vector();
-		if (!listeners.contains(listener))
-			listeners.add(listener);
-	}
-	/**
-	 * Removes the hyperlink listener.
-	 * 
-	 * @param listener
-	 *            the listener to remove
-	 */
-	public void removeHyperlinkListener(IHyperlinkListener listener) {
-		if (listeners == null)
-			return;
-		listeners.remove(listener);
-	}
-	/**
-	 * Context menu is about to show - override to add actions to the menu
-	 * manager. Subclasses are required to call 'super' when overriding.
-	 * 
-	 * @param manager
-	 *            the pop-up menu manager
-	 */
-	protected void contextMenuAboutToShow(IMenuManager manager) {
-		HyperlinkSegment link = model.getSelectedLink();
-		if (link != null)
-			contributeLinkActions(manager, link);
-	}
-	private void makeActions() {
-		/*
-		 * openAction = new Action() { public void run() {
-		 * activateSelectedLink(); } }; openAction.setText(
-		 * FormsPlugin.getResourceString("FormEgine.linkPopup.open"));
-		 * copyShortcutAction = new Action() { public void run() {
-		 * copyShortcut(model.getSelectedLink()); } };
-		 * copyShortcutAction.setText(
-		 * FormsPlugin.getResourceString("FormEgine.linkPopup.copyShortcut"));
-		 */
-	}
-	private String getAcessibleText() {
-		return model.getAccessibleText();
-	}
-	private void initAccessible() {
-		Accessible accessible = getAccessible();
-		accessible.addAccessibleListener(new AccessibleAdapter() {
-			public void getName(AccessibleEvent e) {
-				e.result = getAcessibleText();
-			}
-			public void getHelp(AccessibleEvent e) {
-				e.result = getToolTipText();
-			}
-		});
-		accessible.addAccessibleControlListener(new AccessibleControlAdapter() {
-			public void getChildAtPoint(AccessibleControlEvent e) {
-				Point pt = toControl(new Point(e.x, e.y));
-				e.childID = (getBounds().contains(pt))
-						? ACC.CHILDID_SELF
-						: ACC.CHILDID_NONE;
-			}
-			public void getLocation(AccessibleControlEvent e) {
-				Rectangle location = getBounds();
-				Point pt = toDisplay(new Point(location.x, location.y));
-				e.x = pt.x;
-				e.y = pt.y;
-				e.width = location.width;
-				e.height = location.height;
-			}
-			public void getChildCount(AccessibleControlEvent e) {
-				e.detail = 0;
-			}
-			public void getRole(AccessibleControlEvent e) {
-				e.detail = ACC.ROLE_TEXT;
-			}
-			public void getState(AccessibleControlEvent e) {
-				e.detail = ACC.STATE_READONLY;
-			}
-		});
-	}
-	private void handleMouseClick(MouseEvent e, boolean down) {
-		if (down) {
-			// select a hyperlink
-			HyperlinkSegment segmentUnder = model.findHyperlinkAt(e.x, e.y);
-			if (segmentUnder != null) {
-				HyperlinkSegment oldLink = model.getSelectedLink();
-				model.selectLink(segmentUnder);
-				enterLink(segmentUnder, e.stateMask);
-				paintFocusTransfer(oldLink, segmentUnder);
-			}
-			mouseDown = true;
-			//dragOrigin = new Point(e.x, e.y);
-		} else {
-			if (e.button == 1) {
-				HyperlinkSegment segmentUnder = model.findHyperlinkAt(e.x, e.y);
-				if (segmentUnder != null) {
-					activateLink(segmentUnder, e.stateMask);
-				}
-			}
-			mouseDown = false;
-		}
-	}
-	private void handleMouseHover(MouseEvent e) {
-	}
-	private void handleMouseMove(MouseEvent e) {
-		if (mouseDown) {
-			handleDrag(e);
-			return;
-		}
-		TextSegment segmentUnder = model.findSegmentAt(e.x, e.y);
-		if (segmentUnder == null) {
-			if (entered != null) {
-				exitLink(entered, e.stateMask);
-				paintLinkHover(entered, false);
-				entered = null;
-			}
-			setCursor(null);
-		} else {
-			if (segmentUnder instanceof HyperlinkSegment) {
-				HyperlinkSegment linkUnder = (HyperlinkSegment) segmentUnder;
-				if (entered == null) {
-					entered = linkUnder;
-					enterLink(linkUnder, e.stateMask);
-					paintLinkHover(entered, true);
-					setCursor(model.getHyperlinkSettings().getHyperlinkCursor());
-				}
-			} else {
-				if (entered != null) {
-					exitLink(entered, e.stateMask);
-					paintLinkHover(entered, false);
-					entered = null;
-				}
-				setCursor(model.getHyperlinkSettings().getTextCursor());
-			}
-		}
-	}
-	private boolean advance(boolean next) {
-		HyperlinkSegment current = model.getSelectedLink();
-		if (current != null)
-			exitLink(current, SWT.NULL);
-		boolean valid = model.traverseLinks(next);
-		HyperlinkSegment newLink = model.getSelectedLink();
-		if (valid)
-			enterLink(newLink, SWT.NULL);
-		paintFocusTransfer(current, newLink);
-		if (newLink != null)
-			ensureVisible(newLink);
-		return !valid;
-	}
-	private void handleFocusChange() {
-		if (hasFocus) {
-			model.traverseLinks(true);
-			enterLink(model.getSelectedLink(), SWT.NULL);
-			paintFocusTransfer(null, model.getSelectedLink());
-			ensureVisible(model.getSelectedLink());
-		} else {
-			paintFocusTransfer(model.getSelectedLink(), null);
-			model.selectLink(null);
-		}
-	}
-	private void enterLink(HyperlinkSegment link, int stateMask) {
-		if (link == null || listeners == null)
-			return;
-		int size = listeners.size();
-		HyperlinkEvent he = new HyperlinkEvent(this, link.getHref(), link
-				.getText(), stateMask);
-		for (int i = 0; i < size; i++) {
-			IHyperlinkListener listener = (IHyperlinkListener) listeners.get(i);
-			listener.linkEntered(he);
-		}
-	}
-	private void exitLink(HyperlinkSegment link, int stateMask) {
-		if (link == null || listeners == null)
-			return;
-		int size = listeners.size();
-		HyperlinkEvent he = new HyperlinkEvent(this, link.getHref(), link
-				.getText(), stateMask);
-		for (int i = 0; i < size; i++) {
-			IHyperlinkListener listener = (IHyperlinkListener) listeners.get(i);
-			listener.linkExited(he);
-		}
-	}
-	private void paintLinkHover(HyperlinkSegment link, boolean hover) {
-		GC gc = new GC(this);
-		HyperlinkSettings settings = getHyperlinkSettings();
-		gc.setForeground(hover ? settings.getActiveForeground() : settings
-				.getForeground());
-		gc.setBackground(getBackground());
-		gc.setFont(getFont());
-		boolean selected = (link == model.getSelectedLink());
-		link.repaint(gc, hover);
-		if (selected) {
-			link.paintFocus(gc, getBackground(), getForeground(), false);
-			link.paintFocus(gc, getBackground(), getForeground(), true);
-		}
-		gc.dispose();
-	}
-	private void activateSelectedLink() {
-		HyperlinkSegment link = model.getSelectedLink();
-		if (link != null)
-			activateLink(link, SWT.NULL);
-	}
-	private void activateLink(HyperlinkSegment link, int stateMask) {
-		setCursor(model.getHyperlinkSettings().getBusyCursor());
-		if (listeners != null) {
-			int size = listeners.size();
-			HyperlinkEvent e = new HyperlinkEvent(this, link.getHref(), link
-					.getText(), stateMask);
-			for (int i = 0; i < size; i++) {
-				IHyperlinkListener listener = (IHyperlinkListener) listeners
-						.get(i);
-				listener.linkActivated(e);
-			}
-		}
-		if (!isDisposed())
-			setCursor(model.getHyperlinkSettings().getHyperlinkCursor());
-	}
-	private void ensureBoldFontPresent(Font regularFont) {
-		Font boldFont = (Font)resourceTable.get(FormTextModel.BOLD_FONT_ID);
-		if (boldFont!=null) return;
-		FontData[] fontDatas = regularFont.getFontData();
-		for (int i = 0; i < fontDatas.length; i++) {
-			fontDatas[i].setStyle(fontDatas[i].getStyle() | SWT.BOLD);
-		}
-		boldFont = new Font(getDisplay(), fontDatas);
-		resourceTable.put(FormTextModel.BOLD_FONT_ID, boldFont);
-	}
-	private void paint(PaintEvent e) {
-		Rectangle carea = getClientArea();
-		GC gc = e.gc;
-		gc.setFont(getFont());
-		ensureBoldFontPresent(getFont());
-		gc.setForeground(getForeground());
-		gc.setBackground(getBackground());
-		
-		Locator loc = new Locator();
-		loc.marginWidth = marginWidth;
-		loc.marginHeight = marginHeight;
-		loc.x = marginWidth;
-		loc.y = marginHeight;
-		FontMetrics fm = gc.getFontMetrics();
-		int lineHeight = fm.getHeight();
-		// Use double-buffering to reduce flicker
-		Image textBuffer = new Image(getDisplay(), carea.width, carea.height);
-		textBuffer.setBackground(getBackground());
-		GC textGC = new GC(textBuffer, gc.getStyle());
-		textGC.setForeground(getForeground());
-		textGC.setBackground(getBackground());
-		textGC.setFont(getFont());
-		textGC.fillRectangle(0, 0, carea.width, carea.height);
-		
-		if (loading) {
-			int textWidth = gc.textExtent(loadingText).x;
-			textGC.drawText(loadingText, carea.width / 2 - textWidth / 2,
-					getClientArea().height / 2 - lineHeight / 2);
-		} else {
-			Paragraph[] paragraphs = model.getParagraphs();
-			HyperlinkSegment selectedLink = model.getSelectedLink();
-			for (int i = 0; i < paragraphs.length; i++) {
-				Paragraph p = paragraphs[i];
-				if (i > 0 && paragraphsSeparated && p.getAddVerticalSpace())
-					loc.y += getParagraphSpacing(lineHeight);
-				loc.indent = p.getIndent();
-				loc.resetCaret();
-				loc.rowHeight = 0;
-				p.paint(textGC, carea.width, loc, lineHeight, resourceTable,
-						selectedLink);
-			}
-		}
-		gc.drawImage(textBuffer, 0, 0);
-		textGC.dispose();
-		textBuffer.dispose();
-	}
-	private int getParagraphSpacing(int lineHeight) {
-		return lineHeight / 2;
-	}
-	private void paintFocusTransfer(HyperlinkSegment oldLink,
-			HyperlinkSegment newLink) {
-		GC gc = new GC(this);
-		Color bg = getBackground();
-		Color fg = getForeground();
-		gc.setFont(getFont());
-		if (oldLink != null) {
-			gc.setBackground(bg);
-			gc.setForeground(fg);
-			oldLink.paintFocus(gc, bg, fg, false);
-		}
-		if (newLink != null) {
-			//ensureVisible(newLink);
-			gc.setBackground(bg);
-			gc.setForeground(fg);
-			newLink.paintFocus(gc, bg, fg, true);
-		}
-		gc.dispose();
-	}
-	private void contributeLinkActions(IMenuManager manager,
-			HyperlinkSegment link) {
-		manager.add(openAction);
-		manager.add(copyShortcutAction);
-		manager.add(new Separator());
-	}
-	private void copyShortcut(HyperlinkSegment link) {
-		String text = link.getText();
-		Clipboard clipboard = new Clipboard(getDisplay());
-		clipboard.setContents(new Object[]{text}, new Transfer[]{TextTransfer
-				.getInstance()});
-	}
-	private void ensureVisible(HyperlinkSegment segment) {
-		if (segment == null)
-			return;
-		Rectangle bounds = segment.getBounds();
-		ScrolledComposite scomp = FormUtil.getScrolledComposite(this);
-		if (scomp == null)
-			return;
-		Point origin = FormUtil.getControlLocation(scomp, this);
-		origin.x += bounds.x;
-		origin.y += bounds.y;
-		FormUtil.ensureVisible(scomp, origin, new Point(bounds.width,
-				bounds.height));
-	}
-
-	private void handleDrag(MouseEvent e) {
-	}
-	/**
-	 * Overrides the method by fully trusting the layout manager (computed
-	 * width or height may be larger than the provider width or height hints).
-	 */
-	public Point computeSize(int wHint, int hHint, boolean changed) {
-		checkWidget();
-		Point size;
-		FormTextLayout layout = (FormTextLayout) getLayout();
-		if (wHint == SWT.DEFAULT || hHint == SWT.DEFAULT) {
-			size = layout.computeSize(this, wHint, hHint, changed);
-		} else {
-			size = new Point(wHint, hHint);
-		}
-		Rectangle trim = computeTrim(0, 0, size.x, size.y);
-		return new Point(trim.width, trim.height);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/FormToolkit.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/FormToolkit.java
deleted file mode 100644
index 3f0cca8..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/FormToolkit.java
+++ /dev/null
@@ -1,691 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-import java.io.File;
-
-import org.eclipse.jface.resource.JFaceResources;
-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.forms.*;
-import org.eclipse.ui.internal.forms.widgets.*;
-/**
- * The toolkit is responsible for creating SWT controls adapted to work in
- * Eclipse forms. In addition to changing their presentation properties (fonts,
- * colors etc.), various listeners are attached to make them behave correctly in
- * the form context.
- * <p>
- * In addition to being the control factory, the toolkit is also responsible for
- * painting flat borders for select controls, managing hyperlink groups and
- * control colors.
- * <p>
- * The toolkit creates some of the most common controls used to populate Eclipse
- * forms. Controls that must be created using their constructors, 
- * <code>adapt()</samp> method is available to change its properties in the 
- * same way as with the supported toolkit controls.
- * <p>
- * Typically, one toolkit object is created per workbench part (for example, an
- * editor or a form wizard). The toolkit is disposed when the part is disposed.
- * To conserve resources, it is possible to create one color object for the
- * entire plug-in and share it between several toolkits. The plug-in is
- * responsible for disposing the colors (disposing the toolkit that uses shared
- * color object will not dispose the colors).
- *<p> 
- * FormToolkit is normally instantiated, but can also be 
- * subclassed if some of the methods needs to be modified.
- * In those cases, <code>super</code> must be called to 
- * preserve normal behaviour.
- * @since 3.0
- */
-public class FormToolkit {
-	public static final String KEY_DRAW_BORDER = "FormWidgetFactory.drawBorder";
-	public static final String TREE_BORDER = "treeBorder";
-	public static final String TEXT_BORDER = "textBorder";
-	private int borderStyle = SWT.NULL;
-	private FormColors colors;
-	private KeyListener deleteListener;
-	private BorderPainter borderPainter;
-	private HyperlinkGroup hyperlinkGroup;
-	/* default */
-	VisibilityHandler visibilityHandler;
-	/* default */
-	KeyboardHandler keyboardHandler;
-	private class BorderPainter implements PaintListener {
-		public void paintControl(PaintEvent event) {
-			Composite composite = (Composite) event.widget;
-			Control[] children = composite.getChildren();
-			for (int i = 0; i < children.length; i++) {
-				Control c = children[i];
-				boolean inactiveBorder = false;
-				boolean textBorder = false;
-				if (!c.isVisible())
-					continue;
-				if (c.getEnabled() == false && !(c instanceof CCombo))
-					continue;
-				if (c instanceof Hyperlink)
-					continue;
-				Object flag = c.getData(KEY_DRAW_BORDER);
-				if (flag != null) {
-					if (flag.equals(Boolean.FALSE))
-						continue;
-					if (flag.equals(TREE_BORDER))
-						inactiveBorder = true;
-					else if (flag.equals(TEXT_BORDER))
-						textBorder = true;
-				}
-				if (getBorderStyle() == SWT.BORDER) {
-					if (!inactiveBorder && !textBorder) {
-						continue;
-					}
-					if (c instanceof Text || c instanceof Table
-							|| c instanceof Tree || c instanceof TableTree)
-						continue;
-				}
-				if (!inactiveBorder
-						&& (c instanceof Text || c instanceof CCombo || textBorder)) {
-					Rectangle b = c.getBounds();
-					GC gc = event.gc;
-					gc.setForeground(c.getBackground());
-					gc.drawRectangle(b.x - 1, b.y - 1, b.width + 1,
-							b.height + 1);
-					gc.setForeground(getBorderStyle() == SWT.BORDER
-							? colors.getBorderColor():colors.getForeground());
-					if (c instanceof CCombo)
-						gc.drawRectangle(b.x - 1, b.y - 1, b.width + 1,
-								b.height + 1);
-					else
-						gc.drawRectangle(b.x - 1, b.y - 2, b.width + 1,
-								b.height + 3);
-				} else if (inactiveBorder || c instanceof Table
-						|| c instanceof Tree || c instanceof TableTree) {
-					Rectangle b = c.getBounds();
-					GC gc = event.gc;
-					gc.setForeground(colors.getBorderColor());
-					gc.drawRectangle(b.x - 1, b.y - 1, b.width + 1,
-							b.height + 1);
-				}
-			}
-		}
-	}
-	private static class VisibilityHandler extends FocusAdapter {
-		public void focusGained(FocusEvent e) {
-			Widget w = e.widget;
-			if (w instanceof Control) {
-				FormUtil.ensureVisible((Control) w);
-			}
-		}
-	}
-	private static class KeyboardHandler extends KeyAdapter {
-		public void keyPressed(KeyEvent e) {
-			Widget w = e.widget;
-			if (w instanceof Control) {
-				if (e.doit)
-					FormUtil.processKey(e.keyCode, (Control) w);
-			}
-		}
-	}
-	/**
-	 * Creates a toolkit that is self-sufficient (will manage its own colors).
-	 *  
-	 */
-	public FormToolkit(Display display) {
-		this(new FormColors(display));
-	}
-	/**
-	 * Creates a toolkit that will use the provided (shared) colors. The toolkit
-	 * will <b>not </b> dispose the provided colors.
-	 * 
-	 * @param colors
-	 *            the shared colors
-	 */
-	public FormToolkit(FormColors colors) {
-		this.colors = colors;
-		initialize();
-	}
-	/**
-	 * Creates a button as a part of the form.
-	 * 
-	 * @param parent
-	 *            the button parent
-	 * @param text
-	 *            an optional text for the button (can be <code>null</code>)
-	 * @param style
-	 *            the button style (for example, <code>SWT.PUSH</code>)
-	 * @return the button widget
-	 */
-	public Button createButton(Composite parent, String text, int style) {
-		Button button = new Button(parent, style | SWT.FLAT);
-		if (text != null)
-			button.setText(text);
-		adapt(button, true, true);
-		return button;
-	}
-	/**
-	 * Creates the composite as a part of the form.
-	 * 
-	 * @param parent
-	 *            the composite parent
-	 * @return the composite widget
-	 */
-	public Composite createComposite(Composite parent) {
-		return createComposite(parent, SWT.NULL);
-	}
-	/**
-	 * Creates the composite as part of the form using the provided style.
-	 * 
-	 * @param parent
-	 *            the composite parent
-	 * @param style
-	 *            the composite style
-	 * @return the composite widget
-	 */
-	public Composite createComposite(Composite parent, int style) {
-		Composite composite = new LayoutComposite(parent, style);
-		adapt(composite);
-		return composite;
-	}
-	/**
-	 * Creats the composite that can server as a separator between various parts
-	 * of a form. Separator height should be controlled by setting the height
-	 * hint on the layout data for the composite.
-	 * 
-	 * @param parent
-	 *            the separator parent
-	 * @return the separator widget
-	 */
-	public Composite createCompositeSeparator(Composite parent) {
-		final Composite composite = new Composite(parent, SWT.NONE);
-		composite.addListener(SWT.Paint, new Listener() {
-			public void handleEvent(Event e) {
-				if (composite.isDisposed())
-					return;
-				Rectangle bounds = composite.getBounds();
-				GC gc = e.gc;
-				gc.setForeground(colors.getColor(FormColors.SEPARATOR));
-				gc.setBackground(colors.getBackground());
-				gc.fillGradientRectangle(0, 0, bounds.width, bounds.height,
-						false);
-			}
-		});
-		if (parent instanceof Section)
-			((Section) parent).setSeparatorControl(composite);
-		return composite;
-	}
-	/**
-	 * Creates a label as a part of the form.
-	 * 
-	 * @param parent
-	 *            the label parent
-	 * @param text
-	 *            the label text
-	 * @return the label widget
-	 */
-	public Label createLabel(Composite parent, String text) {
-		return createLabel(parent, text, SWT.NONE);
-	}
-	/**
-	 * Creates a label as a part of the form.
-	 * 
-	 * @param parent
-	 *            the label parent
-	 * @param text
-	 *            the label text
-	 * @param style
-	 *            the label style
-	 * @return the label widget
-	 */
-	public Label createLabel(Composite parent, String text, int style) {
-		Label label = new Label(parent, style);
-		if (text != null)
-			label.setText(text);
-		adapt(label, false, false);
-		return label;
-	}
-	/**
-	 * Creates a hyperlink as a part of the form. The hyperlink will be added to
-	 * the hyperlink group that belongs to this toolkit.
-	 * 
-	 * @param parent
-	 *            the hyperlink parent
-	 * @param text
-	 *            the text of the hyperlink
-	 * @param style
-	 *            the hyperlink style
-	 * @return the hyperlink widget
-	 */
-	public Hyperlink createHyperlink(Composite parent, String text, int style) {
-		Hyperlink hyperlink = new Hyperlink(parent, style);
-		if (text != null)
-			hyperlink.setText(text);
-		hyperlink.addFocusListener(visibilityHandler);
-		hyperlink.addKeyListener(keyboardHandler);
-		hyperlinkGroup.add(hyperlink);
-		return hyperlink;
-	}
-	/**
-	 * Creates an image hyperlink as a part of the form. The hyperlink will be
-	 * added to the hyperlink group that belongs to this toolkit.
-	 * 
-	 * @param parent
-	 *            the hyperlink parent
-	 * @param style
-	 *            the hyperlink style
-	 * @return the image hyperlink widget
-	 */
-	public ImageHyperlink createImageHyperlink(Composite parent, int style) {
-		ImageHyperlink hyperlink = new ImageHyperlink(parent, style);
-		hyperlink.addFocusListener(visibilityHandler);
-		hyperlink.addKeyListener(keyboardHandler);
-		hyperlinkGroup.add(hyperlink);
-		return hyperlink;
-	}
-	/**
-	 * Creates a rich text as a part of the form.
-	 * 
-	 * @param parent
-	 *            the rich text parent
-	 * @param trackFocus
-	 *            if <code>true</code>, the toolkit will monitor focus
-	 *            transfers to ensure that the hyperlink in focus is visible in
-	 *            the form.
-	 * @return the rich text widget
-	 */
-	public FormText createFormText(Composite parent, boolean trackFocus) {
-		FormText engine = new FormText(parent, SWT.WRAP);
-		engine.marginWidth = 1;
-		engine.marginHeight = 0;
-		engine.setHyperlinkSettings(getHyperlinkGroup());
-		adapt(engine, trackFocus, true);
-		engine.setMenu(parent.getMenu());
-		return engine;
-	}
-	/**
-	 * Adapts a control to be used in a form that is associated with this
-	 * toolkit. This involves adjusting colors and optionally adding handlers to
-	 * ensure focus tracking and keyboard management.
-	 * 
-	 * @param control
-	 *            a control to adapt
-	 * @param trackFocus
-	 *            if <code>true</code>, form will be scrolled horizontally
-	 *            and/or vertically if needed to ensure that the control is
-	 *            visible when it gains focus. Set it to <code>false</code> if
-	 *            the control is not capable of gaining focus.
-	 * @param trackKeyboard
-	 *            if <code>true</code>, the control that is capable of
-	 *            gaining focus will be tracked for certain keys that are
-	 *            important to the underlying form (for example, PageUp,
-	 *            PageDown, ScrollUp, ScrollDown etc.). Set it to
-	 *            <code>false</code> if the control is not capable of gaining
-	 *            focus or these particular key event are already used by the
-	 *            control.
-	 */
-	public void adapt(Control control, boolean trackFocus, boolean trackKeyboard) {
-		control.setBackground(colors.getBackground());
-		control.setForeground(colors.getForeground());
-		if (trackFocus)
-			control.addFocusListener(visibilityHandler);
-		if (trackKeyboard)
-			control.addKeyListener(keyboardHandler);
-	}
-	/**
-	 * Adapts a composite to be used in a form associated with this toolkit.
-	 * 
-	 * @param composite
-	 *            the composite to adapt
-	 */
-	public void adapt(Composite composite) {
-		composite.setBackground(colors.getBackground());
-		composite.addMouseListener(new MouseAdapter() {
-			public void mousePressed(MouseEvent e) {
-				((Control) e.widget).setFocus();
-			}
-		});
-		composite.setMenu(composite.getParent().getMenu());
-	}
-	/**
-	 * A helper method that ensures the provided control is visible
-	 * when ScrolledComposite is somewhere in the parent chain. If 
-	 * scroll bars are visible and the control is clipped,
-	 * the client of the scrolled composite will be scrolled
-	 * to reveal the control.
-	 * @param c the control to reveal
-	 */
-	public static void ensureVisible(Control c) {
-		FormUtil.ensureVisible(c);
-	}
-	/**
-	 * Creates a section as a part of the form.
-	 * 
-	 * @param parent
-	 *            the section parent
-	 * @param sectionStyle
-	 *            the section style
-	 * @return the section widget
-	 */
-	public Section createSection(Composite parent, int sectionStyle) {
-		Section section = new Section(parent, sectionStyle);
-		section.setBackground(colors.getBackground());
-		section.setForeground(colors.getForeground());
-		section.setMenu(parent.getMenu());
-		if (section.textLabel != null) {
-			section.textLabel.addFocusListener(visibilityHandler);
-			section.textLabel.addKeyListener(keyboardHandler);
-		}
-		if (section.toggle != null) {
-			section.toggle.addFocusListener(visibilityHandler);
-			section.toggle.addKeyListener(keyboardHandler);
-			section.toggle.setHoverDecorationColor(getHyperlinkGroup()
-					.getActiveForeground());
-			section.toggle.setDecorationColor(colors
-					.getColor(FormColors.SEPARATOR));
-		}
-		section.setFont(JFaceResources.getFontRegistry().get(
-				JFaceResources.BANNER_FONT));
-		if ((sectionStyle & Section.TITLE_BAR) != 0) {
-			colors.initializeSectionToolBarColors();
-			//section.setForeground(colors.getColor(COLOR_TB_FG));
-			section.setTitleBarBackground(colors.getColor(FormColors.TB_GBG));
-			section.setTitleBarBorderColor(colors
-					.getColor(FormColors.TB_BORDER));
-			section.setTitleBarGradientBackground(colors
-					.getColor(FormColors.TB_GBG));
-			if (section.toggle != null)
-				section.toggle.setDecorationColor(colors
-						.getColor(FormColors.TB_TOGGLE));
-		}
-		return section;
-	}
-	/**
-	 * Creates an expandable composite as a part of the form.
-	 * 
-	 * @param parent
-	 *            the expandable composite parent
-	 * @param expansionStyle
-	 *            the expandable composite style
-	 * @return the expandable composite widget
-	 */
-	public ExpandableComposite createExpandableComposite(Composite parent,
-			int expansionStyle) {
-		ExpandableComposite ec = new ExpandableComposite(parent, SWT.NULL,
-				expansionStyle);
-		ec.setMenu(parent.getMenu());
-		ec.setBackground(colors.getBackground());
-		ec.setForeground(colors.getForeground());
-		//hyperlinkGroup.add(ec.textLabel);
-		if (ec.toggle != null) {
-			ec.toggle.addFocusListener(visibilityHandler);
-			ec.toggle.addKeyListener(keyboardHandler);
-		}
-		ec.textLabel.addFocusListener(visibilityHandler);
-		ec.textLabel.addKeyListener(keyboardHandler);
-		ec.setFont(JFaceResources.getFontRegistry().get(
-				JFaceResources.BANNER_FONT));
-		return ec;
-	}
-	/**
-	 * Creates a separator label as a part of the form.
-	 * 
-	 * @param parent
-	 *            the separator parent
-	 * @param style
-	 *            the separator style
-	 * @return the separator label
-	 */
-	public Label createSeparator(Composite parent, int style) {
-		Label label = new Label(parent, SWT.SEPARATOR | style);
-		label.setBackground(colors.getBackground());
-		label.setForeground(colors.getBorderColor());
-		return label;
-	}
-	/**
-	 * Creates a table as a part of the form.
-	 * 
-	 * @param parent
-	 *            the table parent
-	 * @param style
-	 *            the table style
-	 * @return the table widget
-	 */
-	public Table createTable(Composite parent, int style) {
-		Table table = new Table(parent, style | borderStyle);
-		adapt(table, false, false);
-		//hookDeleteListener(table);
-		return table;
-	}
-	/**
-	 * Creates a text as a part of the form.
-	 * 
-	 * @param parent
-	 *            the text parent
-	 * @param value
-	 *            the text initial value
-	 * @return the text widget
-	 */
-	public Text createText(Composite parent, String value) {
-		return createText(parent, value, SWT.SINGLE);
-	}
-	/**
-	 * Creates a text as a part of the form.
-	 * 
-	 * @param parent
-	 *            the text parent
-	 * @param value
-	 *            the text initial value
-	 * @param the
-	 *            text style
-	 * @return the text widget
-	 */
-	public Text createText(Composite parent, String value, int style) {
-		Text text = new Text(parent, borderStyle | style);
-		if (value != null)
-			text.setText(value);
-		adapt(text, true, false);
-		return text;
-	}
-	/**
-	 * Creates a tree widget as a part of the form.
-	 * 
-	 * @param parent
-	 *            the tree parent
-	 * @param style
-	 *            the tree style
-	 * @return the tree widget
-	 */
-	public Tree createTree(Composite parent, int style) {
-		Tree tree = new Tree(parent, borderStyle | style);
-		adapt(tree, false, false);
-		//hookDeleteListener(tree);
-		return tree;
-	}
-	/**
-	 * Creates a scrolled form widget in the provided parent. If you do not
-	 * require scrolling because there is already a scrolled composite up the
-	 * parent chain, use 'createForm' instead.
-	 * 
-	 * @param parent
-	 *            the scrolled form parent
-	 * @return the form that can scroll itself
-	 * @see #createForm
-	 */
-	public ScrolledForm createScrolledForm(Composite parent) {
-		ScrolledForm form = new ScrolledForm(parent);
-		form.setExpandHorizontal(true);
-		form.setExpandVertical(true);
-		form.setBackground(colors.getBackground());
-		form.setForeground(colors.getColor(FormColors.TITLE));
-		form.setFont(JFaceResources.getHeaderFont());
-		return form;
-	}
-	/**
-	 * Creates a form widget in the provided parent. Note that this widget does
-	 * not scroll its content, so make sure there is a scrolled composite up the
-	 * parent chain. If you require scrolling, use 'createScrolledForm' instead.
-	 * 
-	 * @param the
-	 *            form parent
-	 * @return the form that does not scroll
-	 * @see #createScrolledForm
-	 */
-	public Form createForm(Composite parent) {
-		Form formContent = new Form(parent, SWT.NULL);
-		formContent.setBackground(colors.getBackground());
-		formContent.setForeground(colors.getColor(FormColors.TITLE));
-		formContent.setFont(JFaceResources.getHeaderFont());
-		return formContent;
-	}
-	/**
-	 * Creates a rich text as a part of the form.
-	 * 
-	 * @param parent
-	 *            the rich text parent
-	 * @param trackFocus
-	 *            if <code>true</code>, the toolkit will monitor focus
-	 *            transfers to ensure that the hyperlink in focus is visible in
-	 *            the form.
-	 * @return the rich text widget
-	 */
-	public ScrolledPageBook createPageBook(Composite parent, int style) {
-		ScrolledPageBook book = new ScrolledPageBook(parent, style);
-		adapt(book, true, true);
-		book.setMenu(parent.getMenu());
-		return book;
-	}
-	/**
-	 * Disposes the toolkit.
-	 */
-	public void dispose() {
-		if (colors.isShared() == false) {
-			colors.dispose();
-			colors = null;
-		}
-	}
-	/**
-	 * Returns the hyperlink group that manages hyperlinks for this toolkit.
-	 * 
-	 * @return the hyperlink group
-	 */
-	public HyperlinkGroup getHyperlinkGroup() {
-		return hyperlinkGroup;
-	}
-	/**
-	 * Sets the background color for the entire toolkit. The method delegates
-	 * the call to the FormColors object and also updates the hyperlink group so
-	 * that hyperlinks and other objects are in sync.
-	 * 
-	 * @param bg
-	 *            the new background color
-	 */
-	public void setBackground(Color bg) {
-		hyperlinkGroup.setBackground(bg);
-		colors.setBackground(bg);
-	}
-	/**
-	 * Refreshes the hyperlink colors by loading from JFace settings.
-	 */
-	public void refreshHyperlinkColors() {
-		hyperlinkGroup.initializeDefaultForegrounds(colors.getDisplay());
-	}
-	/**
-	 * Paints flat borders for widgets created by this toolkit within the
-	 * provided parent. Borders will not be painted if the global border style
-	 * is SWT.BORDER (i.e. if native borders are used). Call this method during
-	 * creation of a form composite to get the borders of its children painted.
-	 * Care should be taken when selection layout margins. At least one pixel
-	 * pargin width and height must be chosen to allow the toolkit to paint the
-	 * border on the parent around the widgets.
-	 * <p>
-	 * Borders are painted for some controls that are selected by the toolkit by
-	 * default. If a control needs a border but is not on its list, it is
-	 * possible to force border in the following way:
-	 * 
-	 * <pre>
-	 * 
-	 *  
-	 *    widget.setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TREE_BORDER);
-	 *    
-	 *    or
-	 *    
-	 *    widget.setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TEXT_BORDER);
-	 *   
-	 *  
-	 * </pre>
-	 * 
-	 * @param parent
-	 *            the parent that owns the children for which the border needs
-	 *            to be painted.
-	 */
-	public void paintBordersFor(Composite parent) {
-		//if (borderStyle == SWT.BORDER)
-		//	return;
-		if (borderPainter == null)
-			borderPainter = new BorderPainter();
-		parent.addPaintListener(borderPainter);
-	}
-	/**
-	 * Returns the colors used by this toolkit.
-	 * 
-	 * @return the color object
-	 */
-	public FormColors getColors() {
-		return colors;
-	}
-	/**
-	 * Returns the border style used for various widgets created by this
-	 * toolkit. The intent of the toolkit is to create controls with styles that
-	 * yield a 'flat' appearance. On systems where the native borders are
-	 * already flat, we set the style to SWT.BORDER and don't paint the borders
-	 * ourselves. Otherwise, the style is set to SWT.NULL, and borders are
-	 * painted by the toolkit.
-	 * 
-	 * @return the global border style
-	 */
-	public int getBorderStyle() {
-		return borderStyle;
-	}
-	/**
-	 * Sets the border style to be used when creating widgets. The toolkit
-	 * chooses the correct style based on the platform but this value can be
-	 * changed using this method.
-	 * 
-	 * @param style
-	 *            <code>SWT.BORDER</code> or <code>SWT.NULL</code>
-	 * @see #getBorderStyle
-	 */
-	public void setBorderStyle(int style) {
-		this.borderStyle = style;
-	}
-	private void initialize() {
-		initializeBorderStyle();
-		hyperlinkGroup = new HyperlinkGroup(colors.getDisplay());
-		hyperlinkGroup.setBackground(colors.getBackground());
-		visibilityHandler = new VisibilityHandler();
-		keyboardHandler = new KeyboardHandler();
-	}
-	private void initializeBorderStyle() {
-		String osname = System.getProperty("os.name");
-		if (osname.equals("Windows XP")) {
-			String javaHome = System.getProperty("java.home");
-			File homeDir = new File(javaHome);
-			File binDir = new File(homeDir, "bin");
-			File manifest = new File(binDir, "javaw.exe.manifest");
-			if (manifest.exists()) {
-				// Skinned widgets used - check for Windows Classic
-				// If not used, set the style to BORDER
-				RGB rgb = colors.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND);
-				if (rgb.red != 212 && rgb.green != 208 && rgb.blue != 200)
-					borderStyle = SWT.BORDER;
-			}
-		}		
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/Hyperlink.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/Hyperlink.java
deleted file mode 100644
index c2a5bcb..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/Hyperlink.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.accessibility.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.internal.forms.widgets.*;
-/**
- * Hyperlink is a concrete implementation of the abstract base class that draws
- * text in the client area. Text can be wrapped and underlined. Hyperlink is
- * typically added to the hyperlink group so that certain properties are
- * managed for all the hyperlinks that belong to it.
- * <p>Hyperlink can be extended.
- * @see org.eclipse.ui.forms.HyperlinkGroup
- * @since 3.0
- */
-public class Hyperlink extends AbstractHyperlink {
-	private String text;
-	private boolean underlined;
-	/**
-	 * Creates a new hyperlink control in the provided parent.
-	 * 
-	 * @param parent
-	 *            the control parent
-	 * @param style
-	 *            the widget style
-	 */
-	public Hyperlink(Composite parent, int style) {
-		super(parent, SWT.NO_BACKGROUND | style);
-		initAccessible();
-	}
-	protected void initAccessible() {
-		Accessible accessible = getAccessible();
-		accessible.addAccessibleListener(new AccessibleAdapter() {
-			public void getName(AccessibleEvent e) {
-				e.result = getText();
-			}
-			public void getHelp(AccessibleEvent e) {
-				e.result = getToolTipText();
-			}
-		});
-		accessible.addAccessibleControlListener(new AccessibleControlAdapter() {
-			public void getChildAtPoint(AccessibleControlEvent e) {
-				Point pt = toControl(new Point(e.x, e.y));
-				e.childID = (getBounds().contains(pt))
-						? ACC.CHILDID_SELF
-						: ACC.CHILDID_NONE;
-			}
-			public void getLocation(AccessibleControlEvent e) {
-				Rectangle location = getBounds();
-				Point pt = toDisplay(new Point(location.x, location.y));
-				e.x = pt.x;
-				e.y = pt.y;
-				e.width = location.width;
-				e.height = location.height;
-			}
-			public void getChildCount(AccessibleControlEvent e) {
-				e.detail = 0;
-			}
-			public void getRole(AccessibleControlEvent e) {
-				e.detail = ACC.ROLE_LABEL;
-			}
-			public void getState(AccessibleControlEvent e) {
-				int state = ACC.STATE_NORMAL;
-				if (Hyperlink.this.getSelection())
-					state = ACC.STATE_SELECTED | ACC.STATE_FOCUSED;
-				e.detail = state;
-			}
-		});
-	}
-	/**
-	 * Sets the underlined state. It is not necessary to call this method when
-	 * in a hyperlink group.
-	 * 
-	 * @param underlined
-	 *            if <samp>true </samp>, a line will be drawn below the text
-	 *            for each wrapped line.
-	 */
-	public void setUnderlined(boolean underlined) {
-		this.underlined = underlined;
-		redraw();
-	}
-	/**
-	 * Returns the underline state of the hyperlink.
-	 * 
-	 * @return <samp>true </samp> if text is underlined, <samp>false </samp>
-	 *         otherwise.
-	 */
-	public boolean isUnderlined() {
-		return underlined;
-	}
-	/**
-	 * Overrides the parent by incorporating the margin.
-	 */
-	public Point computeSize(int wHint, int hHint, boolean changed) {
-		checkWidget();
-		int innerWidth = wHint;
-		if (innerWidth != SWT.DEFAULT)
-			innerWidth -= marginWidth * 2;
-		Point textSize = computeTextSize(innerWidth, hHint);
-		int textWidth = textSize.x + 2 * marginWidth;
-		int textHeight = textSize.y + 2 * marginHeight;
-		return new Point(textWidth, textHeight);
-	}
-	/**
-	 * Returns the current hyperlink text.
-	 * 
-	 * @return hyperlink text
-	 */
-	public String getText() {
-		return text;
-	}
-	/**
-	 * Sets the text of this hyperlink.
-	 * 
-	 * @param text
-	 *            the hyperlink text
-	 */
-	public void setText(String text) {
-		if (text != null)
-			this.text = text;
-		else
-			text = "";
-		redraw();
-	}
-	/**
-	 * Paints the hyperlink text.
-	 * 
-	 * @param e
-	 *            the paint event
-	 */
-	protected void paintHyperlink(GC gc) {
-		Rectangle carea = getClientArea();
-		Rectangle bounds = new Rectangle(marginWidth, marginHeight, carea.width
-				- marginWidth - marginWidth, carea.height - marginHeight
-				- marginHeight);
-		paintText(gc, bounds);
-	}
-	/**
-	 * Paints the hyperlink text in provided bounding rectangle.
-	 * 
-	 * @param gc
-	 *            graphic context
-	 * @param bounds
-	 *            the bounding rectangle in which to paint the text
-	 */
-	protected void paintText(GC gc, Rectangle bounds) {
-		gc.setFont(getFont());
-		gc.setForeground(getForeground());
-		if ((getStyle() & SWT.WRAP) != 0) {
-			FormUtil.paintWrapText(gc, text, bounds, underlined);
-		} else {
-			gc.drawText(getText(), bounds.x, bounds.y, true);
-			if (underlined) {
-				FontMetrics fm = gc.getFontMetrics();
-				int descent = fm.getDescent();
-				int lineY = bounds.y + bounds.height - descent + 1;
-				gc.drawLine(bounds.x, lineY, bounds.x + bounds.width, lineY);
-			}
-		}
-	}
-	protected Point computeTextSize(int wHint, int hHint) {
-		Point extent;
-		GC gc = new GC(this);
-		gc.setFont(getFont());
-		if ((getStyle() & SWT.WRAP) != 0 && wHint != SWT.DEFAULT) {
-			extent = FormUtil.computeWrapSize(gc, getText(), wHint);
-		} else {
-			extent = gc.textExtent(getText());
-		}
-		gc.dispose();
-		return extent;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ILayoutExtension.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ILayoutExtension.java
deleted file mode 100644
index def25b5..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ILayoutExtension.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-import org.eclipse.swt.widgets.Composite;
-/**
- * Classes that extend abstract class Layout and implement this interface can
- * take part in layout computation of the TableWrapLayout manager. This layout
- * uses alternative algorithm that computes columns before rows. It allows it
- * to 'flow' wrapped text proportionally (similar to the way web browser
- * renders tables). Custom layout managers that implement this interface will
- * allow TableWrapLayout to properly compute width hint to pass.
- * 
- * @see TableWrapLayout
- * @see ColumnLayout
- * @since 3.0
- */
-public interface ILayoutExtension {
-	/**
-	 * Computes the minimum width of the parent. All widgets capable of word
-	 * wrapping should return the width of the longest word that cannot be
-	 * broken any further.
-	 * 
-	 * @param parent the parent composite
-	 * @param changed <code>true</code> if the cached information should be
-	 * flushed, <code>false</code> otherwise.
-	 * @return the minimum width of the parent composite
-	 */
-	public int computeMinimumWidth(Composite parent, boolean changed);
-	/**
-	 * Computes the maximum width of the parent. All widgets capable of word
-	 * wrapping should return the length of the entire text with wrapping
-	 * turned off.
-	 * 
-	 * @param parent the parent composite
-	 * @param changed <code>true</code> if the cached information
-	 * should be flushed, <code>false</code> otherwise.
-	 * @return the maximum width of the parent composite
-	 */
-	public int computeMaximumWidth(Composite parent, boolean changed);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ImageHyperlink.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ImageHyperlink.java
deleted file mode 100644
index 8107689..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ImageHyperlink.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-/**
- * This class extends hyperlink widget by adding the capability to render an
- * image relative to the text. If no text has been set, only image will be
- * shown. Images for hover and active states can be set in addition to the
- * normal state image.
- * <p>
- * When image is taller than the text, additional style can be provided to
- * control vertical alignment (supported values are SWT.TOP, SWT.BOTTOM and
- * SWT.CENTER).
- * <p>The class does not need to be sublassed but it is allowed
- * to do so if some aspect of the image hyperlink needs to be
- * modified.
- * @since 3.0
- */
-public class ImageHyperlink extends Hyperlink {
-	/**
-	 * Amount of pixels between the image and the text (default is 5).
-	 */
-	public int textSpacing = 5;
-	private Image image;
-	private Image hoverImage;
-	private Image activeImage;
-	private int state;
-	private static final int HOVER = 1 << 1;
-	private static final int ACTIVE = 1 << 2;
-	private int verticalAlignment=SWT.CENTER;
-	/**
-	 * Creates the image hyperlink instance.
-	 * 
-	 * @param parent
-	 *            the control parent
-	 * @param style
-	 *            the control style (SWT.WRAP, BOTTOM, TOP, MIDDLE)
-	 */
-	public ImageHyperlink(Composite parent, int style) {
-		super(parent, removeAlignment(style));
-		extractAlignment(style);
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.widgets.AbstractHyperlink#paintHyperlink(org.eclipse.swt.events.PaintEvent)
-	 */
-	protected void paintHyperlink(GC gc) {
-		Rectangle clientArea = getClientArea();
-		Image image = null;
-		if ((state & ACTIVE) != 0)
-			image = activeImage;
-		else if ((state & HOVER) != 0)
-			image = hoverImage;
-		if (image == null)
-			image = this.image;
-		if (image == null)
-			return;
-		Rectangle ibounds = image.getBounds();
-		Point maxsize = computeMaxImageSize();
-		int x = marginWidth + maxsize.x / 2 - ibounds.width / 2;
-		int y = marginHeight + maxsize.y / 2 - ibounds.height / 2;
-		gc.drawImage(image, x, y);
-		if (getText() != null) {
-			int textWidth = clientArea.width - maxsize.x - textSpacing
-					- marginWidth - marginWidth;
-			int textX = marginWidth + maxsize.x + textSpacing;
-			Point textSize = computeTextSize(textWidth, SWT.DEFAULT);
-			textWidth = textSize.x;
-			int slotHeight = clientArea.height - marginHeight - marginHeight;
-			int textY;
-			int textHeight = textSize.y;
-			if (verticalAlignment==SWT.BOTTOM) {
-				textY = marginHeight + slotHeight - textHeight;
-			} else if (verticalAlignment==SWT.CENTER) {
-				textY = marginHeight + slotHeight / 2 - textHeight / 2;
-			} else {
-				textY = marginHeight;
-			}
-			paintText(gc, new Rectangle(textX, textY, textWidth, textHeight));
-		}
-	}
-	/**
-	 * Computes the control size by reserving space for images in addition to
-	 * text.
-	 * 
-	 * @param wHint
-	 *            width hint
-	 * @param hHint
-	 *            height hint
-	 * @param changed
-	 *            if <code>true</code>, any cached layout data should be
-	 *            computed anew
-	 */
-	public Point computeSize(int wHint, int hHint, boolean changed) {
-		checkWidget();
-		Point isize = computeMaxImageSize();
-		Point textSize = null;
-		if (getText() != null) {
-			int innerWHint = wHint;
-			if (wHint != SWT.DEFAULT) {
-				innerWHint = wHint - 2 * marginWidth;
-			}
-			textSize = super.computeSize(innerWHint, hHint, changed);
-		}
-		int width = isize.x;
-		int height = isize.y;
-		if (textSize != null) {
-			width += textSpacing;
-			width += textSize.x;
-			height = Math.max(height, textSize.y);
-		}
-		width += 2 * marginWidth;
-		height += 2 * marginHeight;
-		return new Point(width, height);
-	}
-	protected void handleEnter(Event e) {
-		state = HOVER;
-		super.handleEnter(e);
-	}
-	protected void handleExit(Event e) {
-		state = 0;
-		super.handleExit(e);
-	}
-	protected void handleActivate(Event e) {
-		state &= ACTIVE;
-		redraw();
-		super.handleActivate(e);
-		state &= ~ACTIVE;
-		if (!isDisposed()) 
-			redraw();
-	}
-	/**
-	 * Returns active image.
-	 * 
-	 * @return active image or <code>null</code> if not set.
-	 */
-	public Image getActiveImage() {
-		return activeImage;
-	}
-	/**
-	 * Sets the image to show when link is activated.
-	 * 
-	 * @param activeImage
-	 *  
-	 */
-	public void setActiveImage(Image activeImage) {
-		this.activeImage = activeImage;
-	}
-	/**
-	 * Returns the hover image.
-	 * 
-	 * @return hover image or <code>null</code> if not set.
-	 */
-	public Image getHoverImage() {
-		return hoverImage;
-	}
-	/**
-	 * Sets the image to show when link is hover state (on mouse over).
-	 * 
-	 * @param hoverImage
-	 */
-	public void setHoverImage(Image hoverImage) {
-		this.hoverImage = hoverImage;
-	}
-	/**
-	 * Returns the image to show in the normal state.
-	 * 
-	 * @return normal image or <code>null</code> if not set.
-	 */
-	public Image getImage() {
-		return image;
-	}
-	/**
-	 * Sets the image to show when link is in the normal state.
-	 * 
-	 * @param image
-	 */
-	public void setImage(Image image) {
-		this.image = image;
-	}
-	private Point computeMaxImageSize() {
-		int x = 0;
-		int y = 0;
-		if (image != null) {
-			x = Math.max(image.getBounds().width, x);
-			y = Math.max(image.getBounds().height, y);
-		}
-		if (hoverImage != null) {
-			x = Math.max(hoverImage.getBounds().width, x);
-			y = Math.max(hoverImage.getBounds().height, y);
-		}
-		if (activeImage != null) {
-			x = Math.max(activeImage.getBounds().width, x);
-			y = Math.max(activeImage.getBounds().height, y);
-		}
-		return new Point(x, y);
-	}
-	private static int removeAlignment(int style) {
-		if ((style & SWT.CENTER)!=0) {
-			return style & (~SWT.CENTER);
-		}
-		if ((style & SWT.TOP)!=0) {
-			return style & (~SWT.TOP);
-		}
-		if ((style & SWT.BOTTOM)!=0) {
-			return style & (~SWT.BOTTOM);
-		}
-		return style;
-	}
-	private void extractAlignment(int style) {
-		if ((style & SWT.CENTER)!=0) {
-			verticalAlignment = SWT.CENTER;
-		}
-		else if ((style & SWT.TOP)!=0) {
-			verticalAlignment = SWT.TOP;
-		}
-		else if ((style & SWT.BOTTOM)!=0) {
-			verticalAlignment = SWT.BOTTOM;
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/LayoutComposite.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/LayoutComposite.java
deleted file mode 100644
index da36083..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/LayoutComposite.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.*;
-/**
- * The class overrides default method for computing size in Composite by
- * accepting size returned from layout managers as-is. The defualt code accepts
- * width or height hint assuming it is correct. However, it is possible that
- * the computation using the provided width hint results in a real size that is
- * larger. This can result in wrapped text widgets being clipped, asking to
- * render in bounds narrower than the longest word.
- */
-/* package */class LayoutComposite extends Composite {
-	public LayoutComposite(Composite parent, int style) {
-		super(parent, style);
-		setMenu(parent.getMenu());
-	}
-	public Point computeSize(int wHint, int hHint, boolean changed) {
-		Layout layout = getLayout();
-		if (layout instanceof TableWrapLayout)
-			return ((TableWrapLayout) layout).computeSize(this, wHint, hHint,
-					changed);
-		if (layout instanceof ColumnLayout)
-			return ((ColumnLayout) layout).computeSize(this, wHint, hHint,
-					changed);
-		return super.computeSize(wHint, hHint, changed);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ScrolledForm.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ScrolledForm.java
deleted file mode 100644
index 8e0d0f3..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ScrolledForm.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-/**
- * ScrolledForm is a control that is capable of scrolling an instance of the
- * Form class. It should be created in a parent that will allow it to use all
- * the available area (for example, a shell, a view or an editor).
- * <p>
- * Children of the form should typically be created using FormToolkit to match
- * the appearance and behaviour. When creating children, use a form body as a
- * parent by calling 'getBody()' on the form instance. Example:
- * 
- * <pre>
- *  FormToolkit toolkit = new FormToolkit(parent.getDisplay());
- *  ScrolledForm form = toolkit.createScrolledForm(parent);
- *  form.setText(&quot;Sample form&quot;);
- *  form.getBody().setLayout(new GridLayout());
- *  toolkit.createButton(form.getBody(), &quot;Checkbox&quot;, SWT.CHECK);
- * </pre>
- * 
- * <p>
- * No layout manager has been set on the body. Clients are required to set the
- * desired layout manager explicitly.
- *<p>Although the class is not final, it is not expected to be
- * be extended. 
- *
- * @since 3.0
- */
-public class ScrolledForm extends SharedScrolledComposite {
-	private Form content;
-	public ScrolledForm(Composite parent) {
-		this(parent, SWT.V_SCROLL | SWT.H_SCROLL);
-	}
-	/**
-	 * Creates the form control as a child of the provided parent.
-	 * 
-	 * @param parent
-	 *            the parent widget
-	 */
-	public ScrolledForm(Composite parent, int style) {
-		super(parent, style);
-		super.setMenu(parent.getMenu());
-		content = new Form(this, SWT.NULL);
-		super.setContent(content);
-		content.setMenu(getMenu());
-	}
-/**
- * Passes the menu to the body.
- * @param menu
- */
-	public void setMenu(Menu menu) {
-		super.setMenu(menu);
-		if (content!=null) 
-			content.setMenu(menu);
-	}
-	/**
-	 * Returns the title text that will be rendered at the top of the form.
-	 * 
-	 * @return the title text
-	 */
-	public String getText() {
-		return content.getText();
-	}
-	/**
-	 * Sets the foreground color of the form. This color will also be used for
-	 * the body.
-	 */
-	public void setForeground(Color fg) {
-		super.setForeground(fg);
-		content.setForeground(fg);
-	}
-	/**
-	 * Sets the background color of the form. This color will also be used for
-	 * the body.
-	 */
-	public void setBackground(Color bg) {
-		super.setBackground(bg);
-		content.setBackground(bg);
-	}
-	/**
-	 * The form sets the content widget. This method should not be called by
-	 * classes that instantiate this widget.
-	 */
-	public final void setContent(Control c) {
-	}
-	/**
-	 * Sets the text to be rendered at the top of the form above the body as a
-	 * title.
-	 * 
-	 * @param text
-	 *            the title text
-	 */
-	public void setText(String text) {
-		content.setText(text);
-		reflow(true);
-	}
-	/**
-	 * Returns the optional background image of this form. The image is
-	 * rendered starting at the position 0,0 and is painted behind the title.
-	 * 
-	 * @return Returns the background image.
-	 */
-	public Image getBackgroundImage() {
-		return content.getBackgroundImage();
-	}
-	/**
-	 * Sets the optional background image to be rendered behind the title
-	 * starting at the position 0,0.
-	 * 
-	 * @param backgroundImage
-	 *            The backgroundImage to set.
-	 */
-	public void setBackgroundImage(Image backgroundImage) {
-		content.setBackgroundImage(backgroundImage);
-	}
-	/**
-	 * Returns the tool bar manager that is used to manage tool items in the
-	 * form's title area.
-	 * 
-	 * @return form tool bar manager
-	 */
-	public IToolBarManager getToolBarManager() {
-		return content.getToolBarManager();
-	}
-	/**
-	 * Updates the local tool bar manager if used. Does nothing if local tool
-	 * bar manager has not been created yet.
-	 */
-	public void updateToolBar() {
-		content.updateToolBar();
-	}
-	/**
-	 * Recomputes the body layout and form scroll bars. The method should be
-	 * used when changes somewhere in the form body invalidate the current
-	 * layout and/or scroll bars.
-	 * 
-	 * @param flushCache
-	 *            if <samp>true </samp>, drop any cached layout information and
-	 *            compute new one.
-	 */
-	public void reflow(boolean flushCache) {
-		content.getBody().layout();
-		content.layout();
-		super.reflow(flushCache);
-	}
-	/**
-	 * Returns the container that occupies the body of the form (the form area
-	 * below the title). Use this container as a parent for the controls that
-	 * should be in the form. No layout manager has been set on the form body.
-	 * 
-	 * @return Returns the body of the form.
-	 */
-	public Composite getBody() {
-		return content.getBody();
-	}
-	/**
-	 * Returns the instance of the form owned by the scrolled form.
-	 * 
-	 * @return the form instance
-	 */
-	public Form getForm() {
-		return content;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ScrolledFormText.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ScrolledFormText.java
deleted file mode 100644
index 6bd0715..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ScrolledFormText.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-import java.io.InputStream;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.*;
-/**
- * ScrolledFormText is a control that is capable of scrolling an instance of
- * the FormText class. It should be created in a parent that will allow it to
- * use all the available area (for example, a shell, a view or an editor). The
- * form text can be created by the class itself, or set from outside. In the
- * later case, the form text instance must be a direct child of the
- * ScrolledFormText instance.
- * <p>
- * The class assumes that text to be rendered contains formatting tags. In case
- * of a string, it will enclose the text in 'form' root element if missing from
- * the text as a convinience. For example:
- * 
- * <pre>
- *  ftext.setText(&quot;&lt;p&gt;Some text here&lt;/&gt;&quot;);
- * </pre>
- * 
- * will not cause an error. The same behavior does not exist for content from
- * the input stream, however - it must be well formed in that case.
- * </p>
-
- * @since 3.0
- * @see FormText
- */
-public final class ScrolledFormText extends SharedScrolledComposite {
-	private FormText content;
-	private String text;
-	/**
-	 * Creates the new scrolled text instance in the provided parent
-	 * 
-	 * @param parent
-	 *            the parent composite
-	 * @param createFormText
-	 *            if <code>true</code>, enclosing form text instance will be
-	 *            created in this constructor.
-	 */
-	public ScrolledFormText(Composite parent, boolean createFormText) {
-		this(parent, SWT.V_SCROLL | SWT.H_SCROLL, createFormText);
-	}
-	/**
-	 * Creates the new scrolled text instance in the provided parent
-	 * 
-	 * @param parent
-	 *            the parent composite
-	 * @param style
-	 *            the style to pass to the scrolled composite
-	 * @param createFormText
-	 *            if <code>true</code>, enclosing form text instance will be
-	 *            created in this constructor.
-	 */
-	public ScrolledFormText(Composite parent, int style, boolean createFormText) {
-		super(parent, style);
-		if (createFormText)
-			setFormText(new FormText(this, SWT.NULL));
-	}
-	/**
-	 * Sets the form text to be managed by this scrolled form text. The
-	 * instance must be a direct child of this class. If this method is used,
-	 * <code>false</code> must be passed in either of the constructors to
-	 * avoid creating form text instance.
-	 * 
-	 * @param formText
-	 *            the form text instance to use.
-	 */
-	public void setFormText(FormText formText) {
-		this.content = formText;
-		super.setContent(content);
-		content.setMenu(getMenu());
-		if (text != null)
-			loadText(text);
-	}
-	/**
-	 * Sets the foreground color of the scrolled form text.
-	 * 
-	 * @param fg
-	 *            the foreground color
-	 */
-	public void setForeground(Color fg) {
-		super.setForeground(fg);
-		if (content != null)
-			content.setForeground(fg);
-	}
-	/**
-	 * Sets the background color of the scrolled form text.
-	 * 
-	 * @param the
-	 *            background color
-	 */
-	public void setBackground(Color bg) {
-		super.setBackground(bg);
-		if (content != null)
-			content.setBackground(bg);
-	}
-	/**
-	 * The class sets the content widget. This method should not be called by
-	 * classes that instantiate this widget.
-	 * 
-	 * @param c
-	 *            content control
-	 */
-	public final void setContent(Control c) {
-	}
-	/**
-	 * Sets the text to be rendered in the scrolled form text. The text must
-	 * contain formatting tags.
-	 * 
-	 * @param text
-	 *            the text to be rendered
-	 */
-	public void setText(String text) {
-		this.text = text;
-		loadText(text);
-		reflow(true);
-	}
-	/**
-	 * Sets the contents to rendered in the scrolled form text. The stream must
-	 * contain formatting tags. The caller is responsible for closing the input
-	 * stream. The call may be long running. For best results, call this method
-	 * from another thread and call 'reflow' when done (but make both calls
-	 * using 'Display.asyncExec' because these calls must be made in the event
-	 * dispatching thread).
-	 * 
-	 * @param is
-	 *            content input stream
-	 */
-	public void setContents(InputStream is) {
-		loadContents(is);
-	}
-	/**
-	 * Returns the instance of the form text.
-	 * 
-	 * @return the form text instance
-	 */
-	public FormText getFormText() {
-		return content;
-	}
-	private void loadText(String text) {
-		if (content != null) {
-			String markup = text;
-			if (!markup.startsWith("<form>"))
-				markup = "<form>" + text + "</form>";
-			content.setText(markup, true, false);
-		}
-	}
-	private void loadContents(InputStream is) {
-		if (content != null) {
-			content.setContents(is, false);
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ScrolledPageBook.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ScrolledPageBook.java
deleted file mode 100644
index 5671ee7..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ScrolledPageBook.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-import java.util.Hashtable;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.internal.forms.widgets.WrappedPageBook;
-/**
- * ScrolledPageBook is a class that is capable of stacking several composites
- * (pages), while showing one at a time. The content is scrolled if there is
- * not enough space to fit it in the client area.
- * 
- * @since 3.0
- */
-public final class ScrolledPageBook extends SharedScrolledComposite {
-	private WrappedPageBook pageBook;
-	private Hashtable pages;
-	private Composite emptyPage;
-	private Control currentPage;
-	/**
-	 * Creates a new instance in the provided parent
-	 * 
-	 * @param parent
-	 */
-	public ScrolledPageBook(Composite parent) {
-		this(parent, SWT.H_SCROLL | SWT.V_SCROLL);
-	}
-	/**
-	 * Creates a new instance in the provided parent and with the provided
-	 * style.
-	 * 
-	 * @param parent
-	 *            the control parent
-	 * @param style
-	 *            the style to use
-	 */
-	public ScrolledPageBook(Composite parent, int style) {
-		super(parent, style);
-		pageBook = new WrappedPageBook(this, SWT.NULL);
-		setContent(pageBook);
-		pages = new Hashtable();
-		setExpandHorizontal(true);
-		setExpandVertical(true);
-		this.addListener(SWT.Traverse, new Listener() {
-			public void handleEvent(Event e) {
-				switch (e.detail) {
-					case SWT.TRAVERSE_ESCAPE :
-					case SWT.TRAVERSE_RETURN :
-					case SWT.TRAVERSE_TAB_NEXT :
-					case SWT.TRAVERSE_TAB_PREVIOUS :
-						e.doit = true;
-						break;
-				}
-			}
-		});
-	}
-	/**
-	 * Removes the default size of the composite, allowing the control to
-	 * shrink to the trim.
-	 * 
-	 * @param wHint
-	 *            the width hint
-	 * @param hHint
-	 *            the height hint
-	 * @param changed
-	 *            if <code>true</code>, do not use cached values
-	 */
-	public Point computeSize(int wHint, int hHint, boolean changed) {
-		Rectangle trim = computeTrim(0, 0, 10, 10);
-		return new Point(trim.width, trim.height);
-	}
-	/**
-	 * Tests if the page under the provided key is currently in the book.
-	 * 
-	 * @param key
-	 *            the page key
-	 * @return <code>true</code> if page exists, <code>false</code>
-	 *         otherwise.
-	 */
-	public boolean hasPage(Object key) {
-		return pages.containsKey(key);
-	}
-	/**
-	 * Creates a new page for the provided key. Use the returned composite to
-	 * create children in it.
-	 * 
-	 * @param key
-	 *            the page key
-	 * @return the newly created page composite
-	 */
-	public Composite createPage(Object key) {
-		Composite page = createPage();
-		pages.put(key, page);
-		return page;
-	}
-	/**
-	 * Returns the page book container.
-	 * 
-	 * @return the page book container
-	 */
-	public Composite getContainer() {
-		return pageBook;
-	}
-	/**
-	 * Registers a page under the privided key to be managed by the page book.
-	 * The page must be a direct child of the page book container.
-	 * 
-	 * @param key
-	 *            the page key
-	 * @param page
-	 *            the page composite to register
-	 * @see #createPage
-	 * @see #getContainer
-	 */
-	public void registerPage(Object key, Control page) {
-		pages.put(key, page);
-	}
-	/**
-	 * Removes the page under the provided key from the page book. Does nothing
-	 * if page with that key does not exist.
-	 * 
-	 * @param key
-	 *            the page key.
-	 */
-	public void removePage(Object key) {
-		removePage(key, true);
-	}
-	/**
-	 * Removes the page under the provided key from the page book. Does nothing
-	 * if page with that key does not exist.
-	 * 
-	 * @param key
-	 *            the page key.
-	 * @param showEmptyPage
-	 * 			  if <code>true</code>, shows the empty page
-	 *            after page removal.
-	 */
-	public void removePage(Object key, boolean showEmptyPage) {
-		Control page = (Control) pages.get(key);
-		if (page != null) {
-			pages.remove(key);
-			page.dispose();
-			if (showEmptyPage)
-				showEmptyPage();
-		}
-	}
-	/**
-	 * Shows the page with the provided key and hides the page previously
-	 * showing. Does nothing if the page with that key does not exist.
-	 * 
-	 * @param key
-	 *            the page key
-	 */
-	public void showPage(Object key) {
-		Control page = (Control) pages.get(key);
-		if (page != null) {
-			pageBook.showPage(page);
-			if (currentPage != null && currentPage != page) {
-				// switching pages - force layout
-				if (page instanceof Composite)
-					((Composite) page).layout(false);
-			}
-			currentPage = page;
-		} else {
-			showEmptyPage();
-		}
-		reflow(true);
-	}
-	/**
-	 * Shows a page with no children to be used if the desire is to not show
-	 * any registered page.
-	 */
-	public void showEmptyPage() {
-		if (emptyPage == null) {
-			emptyPage = createPage();
-			emptyPage.setLayout(new GridLayout());
-		}
-		pageBook.showPage(emptyPage);
-		currentPage = emptyPage;
-		reflow(true);
-	}
-	/**
-	 * Sets focus on the current page if shown.
-	 */
-	public boolean setFocus() {
-		if (currentPage != null)
-			return currentPage.setFocus();
-		return super.setFocus();
-	}
-	/**
-	 * Returns the page currently showing.
-	 * 
-	 * @return the current page
-	 */
-	public Control getCurrentPage() {
-		return currentPage;
-	}
-	private Composite createPage() {
-		Composite page = new LayoutComposite(pageBook, SWT.NULL);
-		page.setBackground(getBackground());
-		page.setForeground(getForeground());
-		page.setMenu(pageBook.getMenu());
-		return page;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/Section.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/Section.java
deleted file mode 100644
index 1c38335..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/Section.java
+++ /dev/null
@@ -1,323 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-import java.util.Hashtable;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-/**
- * A variation of the expandable composite that adds optional description below
- * the title. Section is often used as a basic building block if forms because
- * it provides for logical grouping of information.
- * <p>
- * In case of the TITLE_BAR style, Section renders the title bar in a way
- * compatible with the rest of the workbench. Since it is a widget, all the
- * colors must be supplied directly. When created by the form toolkit, these
- * colors are supplied by the toolkit. The toolkit initializes these
- * colors based on the system colors. For this reason, it is 
- * recommended to create the section by the toolkit instead of
- * through its own constructor.
- * 
- * @since 3.0
- */
-public final class Section extends ExpandableComposite {
-	/**
-	 * Description style. If used, description will be rendered below the title.
-	 */
-	public static final int DESCRIPTION = 1 << 7;
-	private Label descriptionLabel;
-	private Control separator;
-	private Hashtable titleColors;
-	private static final String COLOR_BG = "bg";
-	private static final String COLOR_GBG = "gbg";
-	private static final String COLOR_FG = "fg";
-	private static final String COLOR_BORDER = "border";
-	/**
-	 * Creates a new section instance in the provided parent.
-	 * 
-	 * @param parent
-	 *            the parent composite
-	 * @param style
-	 *            the style to use
-	 */
-	public Section(Composite parent, int style) {
-		super(parent, SWT.NULL, style);
-		if ((style & DESCRIPTION) != 0) {
-			descriptionLabel = new Label(this, SWT.WRAP);
-		}
-	}
-	protected void internalSetExpanded(boolean expanded) {
-		super.internalSetExpanded(expanded);
-		reflow();
-	}
-	protected void reflow() {
-		Composite c = this;
-		while (c != null) {
-			c.setRedraw(false);
-			c = c.getParent();
-			if (c instanceof ScrolledForm) {
-				break;
-			}
-		}
-		c = this;
-		while (c != null) {
-			c.layout(true);
-			c = c.getParent();
-			if (c instanceof ScrolledForm) {
-				((ScrolledForm) c).reflow(true);
-				break;
-			}
-		}
-		c = this;
-		while (c != null) {
-			c.setRedraw(true);
-			c = c.getParent();
-			if (c instanceof ScrolledForm) {
-				break;
-			}
-		}
-	}
-	/**
-	 * Sets the description text. Has no effect of DESCRIPTION style was not
-	 * used to create the control.
-	 * 
-	 * @param description
-	 */
-	public void setDescription(String description) {
-		if (descriptionLabel != null)
-			descriptionLabel.setText(description);
-	}
-	/**
-	 * Returns the current description text.
-	 * 
-	 * @return description text or <code>null</code> if DESCRIPTION style was
-	 *         not used to create the control.
-	 */
-	public String getDescription() {
-		if (descriptionLabel != null)
-			return descriptionLabel.getText();
-		return null;
-	}
-	/**
-	 * Sets the separator control of this section. The separator must not be
-	 * <samp>null </samp> and must be a direct child of this container. If
-	 * defined, separator will be placed below the title text and will remain
-	 * visible regardless of the expansion state.
-	 * 
-	 * @param separator
-	 *            the separator that will be placed below the title text.
-	 */
-	public void setSeparatorControl(Control separator) {
-		Assert.isTrue(separator != null && separator.getParent().equals(this));
-		this.separator = separator;
-	}
-	/**
-	 * Returns the control that is used as a separator betweeen the title and
-	 * the client, or <samp>null </samp> if not set.
-	 * 
-	 * @return separator control or <samp>null </samp> if not set.
-	 */
-	public Control getSeparatorControl() {
-		return separator;
-	}
-	/**
-	 * Sets the background of the section.
-	 * 
-	 * @param bg
-	 *            the new background
-	 */
-	public void setBackground(Color bg) {
-		super.setBackground(bg);
-		if (descriptionLabel != null)
-			descriptionLabel.setBackground(bg);
-	}
-	/**
-	 * Sets the foreground of the section.
-	 * 
-	 * @param fg
-	 *            the new foreground.
-	 */
-	public void setForeground(Color fg) {
-		super.setForeground(fg);
-		if (descriptionLabel != null)
-			descriptionLabel.setForeground(fg);
-	}
-	/**
-	 * Returns the control used to render the description.
-	 * 
-	 * @return description control or <code>null</code> if DESCRIPTION style
-	 *         was not used to create the control.
-	 */
-	protected Control getDescriptionControl() {
-		return descriptionLabel;
-	}
-	/**
-	 * Sets the color of the title bar border when TITLE_BAR style is used.
-	 * 
-	 * @param color
-	 *            the title bar border color
-	 */
-	public void setTitleBarBorderColor(Color color) {
-		putTitleBarColor(COLOR_BORDER, color);
-	}
-	/**
-	 * Sets the color of the title bar foreground when TITLE_BAR style is used.
-	 * 
-	 * @param color
-	 *            the title bar foreground
-	 */
-	public void setTitleBarForeground(Color color) {
-		putTitleBarColor(COLOR_FG, color);
-	}
-	/**
-	 * Sets the color of the title bar background when TITLE_BAR style is used.
-	 * This color is used as a starting color for the vertical gradient.
-	 * 
-	 * @param color
-	 *            the title bar border background
-	 */
-	public void setTitleBarBackground(Color color) {
-		putTitleBarColor(COLOR_BG, color);
-		textLabel.setBackground(color);
-		if (toggle != null)
-			toggle.setBackground(color);
-	}
-	/**
-	 * Sets the color of the title bar gradient background when TITLE_BAR style
-	 * is used. This color is used at the height where title controls end
-	 * (toggle, tool bar).
-	 * 
-	 * @param color
-	 *            the title bar gradient background
-	 */
-	public void setTitleBarGradientBackground(Color color) {
-		putTitleBarColor(COLOR_GBG, color);
-		//textLabel.setBackground(color);
-		//if (toggle!=null)
-		//	toggle.setBackground(color);
-	}
-	/**
-	 * Returns the title bar border color when TITLE_BAR style is used.
-	 * 
-	 * @return the title bar border color
-	 */
-	public Color getTitleBarBorderColor() {
-		if (titleColors == null)
-			return null;
-		return (Color) titleColors.get(COLOR_BORDER);
-	}
-	/**
-	 * Returns the title bar gradient background color when TITLE_BAR style is
-	 * used.
-	 * 
-	 * @return the title bar gradient background
-	 */
-	public Color getTitleBarGradientBackground() {
-		if (titleColors == null)
-			return null;
-		return (Color) titleColors.get(COLOR_GBG);
-	}
-	/**
-	 * Returns the title bar foreground when TITLE_BAR style is used.
-	 * 
-	 * @return the title bar foreground
-	 */
-	public Color getTitleBarForeground() {
-		if (titleColors == null)
-			return null;
-		return (Color) titleColors.get(COLOR_FG);
-	}
-	/**
-	 * Returns the title bar background when TITLE_BAR style is used.
-	 * 
-	 * @return the title bar background
-	 */
-	public Color getTitleBarBackground() {
-		if (titleColors == null)
-			return null;
-		return (Color) titleColors.get(COLOR_BG);
-	}
-	private void putTitleBarColor(String key, Color color) {
-		if (titleColors == null)
-			titleColors = new Hashtable();
-		titleColors.put(key, color);
-	}
-	protected void onPaint(PaintEvent e) {
-		Color bg = null;
-		Color gbg = null;
-		Color fg = null;
-		Color border = null;
-		if (titleColors != null) {
-			bg = (Color) titleColors.get(COLOR_BG);
-			gbg = (Color) titleColors.get(COLOR_GBG);
-			fg = (Color) titleColors.get(COLOR_FG);
-			border = (Color) titleColors.get(COLOR_BORDER);
-		}
-		if (bg == null)
-			bg = getBackground();
-		if (fg == null)
-			fg = getForeground();
-		if (border == null)
-			border = fg;
-		if (gbg == null)
-			gbg = bg;
-		Rectangle bounds = getClientArea();
-		Point tsize = null;
-		Point tcsize = null;
-		if (toggle != null)
-			tsize = toggle.getSize();
-		int twidth = bounds.width - marginWidth - marginWidth;
-		if (tsize != null)
-			twidth -= tsize.x + GAP;
-		if (getTextClient() != null)
-			tcsize = getTextClient()
-					.getSize();
-		if (tcsize != null)
-			twidth -= tcsize.x + GAP;
-		Point size = textLabel.getSize();
-		int tvmargin = GAP;
-		int theight = 0;
-		if (tsize != null)
-			theight += Math.max(theight, tsize.y);
-		if (tcsize != null)
-			theight = Math.max(theight, tcsize.y);
-		theight = Math.max(theight, size.y);
-		theight += tvmargin + tvmargin;
-		int midpoint = (theight * 66) / 100;
-		int rem = theight - midpoint;
-		GC gc = e.gc;
-		gc.setForeground(bg);
-		gc.setBackground(gbg);
-		gc.fillGradientRectangle(marginWidth, marginHeight, bounds.width - 1
-				- marginWidth - marginWidth, midpoint - 1, true);
-		gc.setForeground(gbg);
-		gc.setBackground(getBackground());
-		gc.fillGradientRectangle(marginWidth, marginHeight + midpoint - 1,
-				bounds.width - 1 - marginWidth - marginWidth, rem - 1, true);
-		gc.setForeground(border);
-		gc.drawLine(marginWidth, marginHeight + 2, marginWidth, marginHeight
-				+ theight - 1);
-		gc.drawLine(marginWidth, marginHeight + 2, marginWidth + 2,
-				marginHeight);
-		gc.drawLine(marginWidth + 2, marginHeight, bounds.width - marginWidth
-				- 3, marginHeight);
-		gc.drawLine(bounds.width - marginWidth - 3, marginHeight, bounds.width
-				- marginWidth - 1, marginHeight + 2);
-		gc.drawLine(bounds.width - marginWidth - 1, marginHeight + 2,
-				bounds.width - marginWidth - 1, marginHeight + theight - 1);
-		if (toggle != null && !isExpanded()) {
-			gc.drawLine(marginWidth, marginHeight + theight - 1, bounds.width
-					- marginWidth - 1, marginHeight + theight - 1);
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/SharedScrolledComposite.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/SharedScrolledComposite.java
deleted file mode 100644
index ca6f55d..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/SharedScrolledComposite.java
+++ /dev/null
@@ -1,123 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.internal.forms.widgets.*;
-/**
- * This class is used to provide common scrolling services to a number
- * of controls in the toolkit. Classes that extend it are not
- * required to implement any method. 
- * 
- * @since 3.0
- */
-public abstract class SharedScrolledComposite extends ScrolledComposite {
-	private static final int H_SCROLL_INCREMENT = 5;
-	private static final int V_SCROLL_INCREMENT = 64;
-	/**
-	 *  Creates the new instance.
-	 * @param parent the parent composite
-	 * @param style the style to use
-	 */
-	public SharedScrolledComposite(Composite parent, int style) {
-		super(parent, style);
-		addListener(SWT.Resize, new Listener() {
-			public void handleEvent(Event e) {
-				reflow(true);
-			}
-		});
-		initializeScrollBars();
-	}
-	/**
-	 * Sets the foreground of the control and its content.
-	 * 
-	 * @param fg
-	 *            the new foreground color
-	 */
-	public void setForeground(Color fg) {
-		super.setForeground(fg);
-		if (getContent()!=null)
-			getContent().setForeground(fg);
-	}
-	/**
-	 * Sets the background of the control and its content.
-	 * 
-	 * @param bg
-	 *            the new background color
-	 */
-	public void setBackground(Color bg) {
-		super.setBackground(bg);
-		if (getContent()!=null)
-			getContent().setBackground(bg);
-	}
-	/**
-	 * Sets the font of the form. This font will be used to render the title
-	 * text. It will not affect the body.
-	 */
-	public void setFont(Font font) {
-		super.setFont(font);
-		if (getContent()!=null)
-			getContent().setFont(font);
-	}
-	/**
-	 * Overrides 'super' to pass the proper colors and font
-	 */
-	public void setContent(Control content) {
-		super.setContent(content);
-		if (content!=null) {
-			content.setForeground(getForeground());
-			content.setBackground(getBackground());
-			content.setFont(getFont());
-		}
-	}
-	/**
-	 * If content is set, transfers focus to the content.
-	 */
-	public boolean setFocus() {
-		if (getContent() != null)
-			return getContent().setFocus();
-		else
-			return super.setFocus();
-	}
-	/**
-	 * Recomputes the body layout and the scroll bars. The method should be
-	 * used when changes somewhere in the form body invalidate the current
-	 * layout and/or scroll bars.
-	 * 
-	 * @param flushCache if <code>true</code>, drop the cached data
-	 */
-	public void reflow(boolean flushCache) {
-		Composite c = (Composite) getContent();
-		Rectangle clientArea = getClientArea();
-		if (c == null)
-			return;
-		c.layout(flushCache);
-		Point newSize = c.computeSize(FormUtil
-				.getWidthHint(clientArea.width, c), FormUtil.getHeightHint(
-				clientArea.height, c), flushCache);
-		c.setSize(newSize);
-		setMinSize(newSize);
-		FormUtil.updatePageIncrement(this);
-	}
-	private void initializeScrollBars() {
-		ScrollBar hbar = getHorizontalBar();
-		if (hbar != null) {
-			hbar.setIncrement(H_SCROLL_INCREMENT);
-		}
-		ScrollBar vbar = getVerticalBar();
-		if (vbar != null) {
-			vbar.setIncrement(V_SCROLL_INCREMENT);
-		}
-		FormUtil.updatePageIncrement(this);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/TableWrapData.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/TableWrapData.java
deleted file mode 100644
index a9705cb..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/TableWrapData.java
+++ /dev/null
@@ -1,164 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-/**
- * Layout data used in conjunction with <code>HTMLTableLayout</code>.
- * Children in a composite that uses this layout should call
- * <samp>setLayoutData </samp> and pass an instance of this class to control
- * physical placement in the parent.
- * 
- * @see TableWrapLayout
- * @since 3.0
- */
-public final class TableWrapData {
-	/**
-	 * The control will be left-justified.
-	 */
-	public static final int LEFT = 1 << 1;
-	/**
-	 * The control will be centered horizontally.
-	 */
-	public static final int CENTER = 1 << 2;
-	/**
-	 * The control will be right-justified.
-	 */
-	public static final int RIGHT = 1 << 3;
-	/**
-	 * The control will be aligned with the top of the cell.
-	 */
-	public static final int TOP = 1 << 4;
-	/**
-	 * The control will be centered vertically.
-	 */
-	public static final int MIDDLE = 1 << 5;
-	/**
-	 * The control will be aligned with the bottom of the cell.
-	 */
-	public static final int BOTTOM = 1 << 6;
-	/**
-	 * The control will have the same width as the column it occupies.
-	 */
-	public static final int FILL = 1 << 7;
-	/**
-	 * In addition to filling width or height, the control will take part in
-	 * allocation of any excess space. Note that this constant can only be
-	 * passed to the constructor (cannot be directly assigned to <code>align</code>
-	 * variable).
-	 */
-	public static final int FILL_GRAB = 1 << 8;
-	/**
-	 * Number of columns to span (default is 1).
-	 */
-	public int colspan = 1;
-	/**
-	 * Number of rows to span (default is 1).
-	 */
-	public int rowspan = 1;
-	/**
-	 * Horizontal alignment (LEFT, CENTER, RIGHT or FILL; default is LEFT).
-	 */
-	public int align = LEFT;
-	/**
-	 * Vertical alignment (TOP, MIDDLE, BOTTOM or FILL; default is TOP).
-	 */
-	public int valign = TOP;
-	/**
-	 * Horizontal indent (default is 0).
-	 */
-	public int indent = 0;
-	/**
-	 * Maximum width of the control (default is SWT.DEFAULT).
-	 */
-	public int maxWidth = SWT.DEFAULT;
-	/**
-	 * Maximum height of the control (default is SWT.DEFAULT).
-	 */
-	public int maxHeight = SWT.DEFAULT;
-	/**
-	 * Height hint of the control (default is SWT.DEFAULT).
-	 */
-	public int heightHint = SWT.DEFAULT;
-	/**
-	 * If <code>true</code>, take part in excess horizontal space
-	 * distribution. (default is <code>false</code>).
-	 */
-	public boolean grabHorizontal;
-	/**
-	 * If <code>true</code>, will grab any excess vertical space (default is
-	 * <code>false</code>). Note that since TableWrapLayout works top-down
-	 * and does not grows to fill the parent, this only applies to local excess
-	 * space created by fixed-height children that span multiple rows.
-	 */
-	public boolean grabVertical;
-	int childIndex;
-	boolean isItemData = true;
-	int compWidth;
-	Point compSize;
-	/**
-	 * The default constructor.
-	 *  
-	 */
-	public TableWrapData() {
-	}
-	/**
-	 * The convinience constructor - allows passing the horizontal alignment
-	 * style.
-	 * 
-	 * @param align
-	 *            horizontal alignment (LEFT, MIDDLE, RIGHT, FILL or
-	 *            FILL_GRAB).
-	 */
-	public TableWrapData(int align) {
-		this(align, TOP, 1, 1);
-	}
-	/**
-	 * The convinience constructor - allows passing the alignment styles.
-	 * 
-	 * @param align
-	 *            horizontal alignment (LEFT, CENTER, RIGHT, FILL or
-	 *            FILL_GRAB).
-	 * @param valign
-	 *            vertical alignment (TOP, MIDDLE, BOTTOM, FILL or FILL_GRAB).
-	 */
-	public TableWrapData(int align, int valign) {
-		this(align, valign, 1, 1);
-	}
-	/**
-	 * The convinience constructor - allows passing the alignment styles,
-	 * column and row spans.
-	 * 
-	 * @param align
-	 *            horizontal alignment (LEFT, CENTER, RIGHT, FILL or
-	 *            FILL_GRAB).
-	 * @param valign
-	 *            vertical alignment (TOP, MIDDLE, BOTTOM, FILL or FILL_GRAB)
-	 * @param rowspan
-	 *            row span (1 or more)
-	 * @param colspan
-	 *            column span (1 or more)
-	 */
-	public TableWrapData(int align, int valign, int rowspan, int colspan) {
-		if (align == FILL_GRAB) {
-			this.align = FILL;
-			grabHorizontal = true;
-		} else
-			this.align = align;
-		if (valign == FILL_GRAB) {
-			this.valign = FILL;
-			grabVertical = true;
-		} else
-			this.valign = valign;
-		this.rowspan = rowspan;
-		this.colspan = colspan;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/TableWrapLayout.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/TableWrapLayout.java
deleted file mode 100644
index 5e26dc5..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/TableWrapLayout.java
+++ /dev/null
@@ -1,837 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-import java.util.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-/**
- * This implementation of the layout algorithm attempts to position controls in
- * the composite using a two-pass autolayout HTML table altorithm recommeded by
- * HTML 4.01 W3C specification (see
- * http://www.w3.org/TR/html4/appendix/notes.html#h-B.5.2.2). The main
- * differences with GridLayout is that it has two passes and that width and
- * height are not calculated in the same pass.
- * <p>
- * The advantage of the algorithm over GridLayout is that it is capable of
- * flowing text controls capable of line wrap. These controls do not have
- * natural 'preferred size'. Instead, they are capable of providing the
- * required height if the width is set. Consequently, this algorithm first
- * calculates the widths that will be assigned to columns, and then passes
- * those widths to the controls to calculate the height. When a composite with
- * this layout is a child of the scrolling composite, they should interact in
- * such a way that reduction in the scrolling composite width results in the
- * reflow and increase of the overall height.
- * <p>
- * If none of the columns contain expandable and wrappable controls, the
- * end-result will be similar to the one provided by GridLayout. The difference
- * will show up for layouts that contain controls whose minimum and maximum
- * widths are not the same.
- * 
- * @see TableWrapData
- * @since 3.0
- */
-public final class TableWrapLayout extends Layout implements ILayoutExtension {
-	/**
-	 * Number of columns to use when positioning children (default is 1).
-	 */
-	public int numColumns = 1;
-	/**
-	 * Left margin variable (default is 5).
-	 */
-	public int leftMargin = 5;
-	/**
-	 * Right margin variable (default is 5).
-	 */
-	public int rightMargin = 5;
-	/**
-	 * Top margin variable (default is 5).
-	 */
-	public int topMargin = 5;
-	/**
-	 * Botom margin variable (default is 5).
-	 */
-	public int bottomMargin = 5;
-	/**
-	 * Horizontal spacing (default is 5).
-	 */
-	public int horizontalSpacing = 5;
-	/**
-	 * Vertical spacing (default is 5).
-	 */
-	public int verticalSpacing = 5;
-	/**
-	 * If set to <code>true</code>, all the columns will have the same
-	 * width. Otherwise, column widths will be computed based on controls in
-	 * them and their layout data (default is <code>false</code>).
-	 */
-	public boolean makeColumnsEqualWidth = false;
-	private boolean initialLayout = true;
-	private Vector grid = null;
-	private Hashtable rowspans;
-	private int[] minColumnWidths, maxColumnWidths;
-	private int widestColumnWidth;
-	private int[] growingColumns;
-	private int[] growingRows;
-	private class RowSpan {
-		Control child;
-		int row;
-		int column;
-		int height;
-		int totalHeight;
-		public RowSpan(Control child, int column, int row) {
-			this.child = child;
-			this.column = column;
-			this.row = row;
-		}
-		public void update(int currentRow, int rowHeight) {
-			TableWrapData td = (TableWrapData) child.getLayoutData();
-			if (currentRow - row <= td.rowspan - 1) {
-				totalHeight += rowHeight;
-				if (currentRow > row)
-					totalHeight += verticalSpacing;
-			}
-		}
-		public int getRequiredHeightIncrease() {
-			if (totalHeight < height)
-				return height - totalHeight;
-			else
-				return 0;
-		}
-	}
-	/**
-	 * Implements ILayoutExtension. Should not be called directly.
-	 * 
-	 * @see ILayoutExtension
-	 */
-	public int computeMinimumWidth(Composite parent, boolean changed) {
-		changed = true;
-		initializeIfNeeded(parent, changed);
-		if (initialLayout) {
-			changed = true;
-			initialLayout = false;
-		}
-		if (grid == null || changed) {
-			changed = true;
-			grid = new Vector();
-			createGrid(parent);
-		}
-		if (minColumnWidths == null)
-			minColumnWidths = new int[numColumns];
-		for (int i = 0; i < numColumns; i++) {
-			minColumnWidths[i] = 0;
-		}
-		return internalGetMinimumWidth(parent, changed);
-	}
-	/**
-	 * Implements ILayoutExtension. Should not be called directly.
-	 * 
-	 * @see ILayoutExtension
-	 */
-	public int computeMaximumWidth(Composite parent, boolean changed) {
-		changed = true;
-		initializeIfNeeded(parent, changed);
-		if (initialLayout) {
-			changed = true;
-			initialLayout = false;
-		}
-		if (grid == null || changed) {
-			changed = true;
-			grid = new Vector();
-			createGrid(parent);
-		}
-		if (maxColumnWidths == null)
-			maxColumnWidths = new int[numColumns];
-		for (int i = 0; i < numColumns; i++) {
-			maxColumnWidths[i] = 0;
-		}
-		return internalGetMaximumWidth(parent, changed);
-	}
-	/**
-	 * @see Layout#layout(Composite, boolean)
-	 */
-	protected void layout(Composite parent, boolean changed) {
-		Rectangle clientArea = parent.getClientArea();
-		Control[] children = parent.getChildren();
-		if (children.length == 0)
-			return;
-		int parentWidth = clientArea.width;
-		changed = true;
-		initializeIfNeeded(parent, changed);
-		if (initialLayout) {
-			changed = true;
-			initialLayout = false;
-		}
-		if (grid == null || changed) {
-			changed = true;
-			grid = new Vector();
-			createGrid(parent);
-		}
-		resetColumnWidths();
-		int minWidth = internalGetMinimumWidth(parent, changed);
-		int maxWidth = internalGetMaximumWidth(parent, changed);
-		int tableWidth = parentWidth;
-		int[] columnWidths;
-		if (parentWidth <= minWidth) {
-			tableWidth = minWidth;
-			if (makeColumnsEqualWidth) {
-				columnWidths = new int[numColumns];
-				for (int i = 0; i < numColumns; i++) {
-					columnWidths[i] = widestColumnWidth;
-				}
-			} else
-				columnWidths = minColumnWidths;
-		} else if (parentWidth > maxWidth) {
-			if (growingColumns.length == 0) {
-				tableWidth = maxWidth;
-				columnWidths = maxColumnWidths;
-			} else {
-				columnWidths = new int[numColumns];
-				int colSpace = tableWidth - leftMargin - rightMargin;
-				colSpace -= (numColumns - 1) * horizontalSpacing;
-				int extra = parentWidth - maxWidth;
-				int colExtra = extra / growingColumns.length;
-				for (int i = 0; i < numColumns; i++) {
-					columnWidths[i] = maxColumnWidths[i];
-					if (isGrowingColumn(i)) {
-						columnWidths[i] += colExtra;
-					}
-				}
-			}
-		} else {
-			columnWidths = new int[numColumns];
-			if (makeColumnsEqualWidth) {
-				int colSpace = tableWidth - leftMargin - rightMargin;
-				colSpace -= (numColumns - 1) * horizontalSpacing;
-				int col = colSpace / numColumns;
-				for (int i = 0; i < numColumns; i++) {
-					columnWidths[i] = col;
-				}
-			} else {
-				columnWidths = assignExtraSpace(tableWidth, maxWidth, minWidth);
-			}
-		}
-		int y = topMargin;
-		int[] rowHeights = computeRowHeights(children, columnWidths, changed);
-		for (int i = 0; i < grid.size(); i++) {
-			int rowHeight = rowHeights[i];
-			int x = leftMargin;
-			TableWrapData[] row = (TableWrapData[]) grid.elementAt(i);
-			for (int j = 0; j < numColumns; j++) {
-				TableWrapData td = row[j];
-				if (td.isItemData) {
-					Control child = children[td.childIndex];
-					placeControl(child, td, x, y, rowHeights, i);
-				}
-				x += columnWidths[j];
-				if (j < numColumns - 1)
-					x += horizontalSpacing;
-			}
-			y += rowHeight + verticalSpacing;
-		}
-	}
-	int[] computeRowHeights(Control[] children, int[] columnWidths,
-			boolean changed) {
-		int[] rowHeights = new int[grid.size()];
-		for (int i = 0; i < grid.size(); i++) {
-			TableWrapData[] row = (TableWrapData[]) grid.elementAt(i);
-			rowHeights[i] = 0;
-			for (int j = 0; j < numColumns; j++) {
-				TableWrapData td = row[j];
-				if (td.isItemData == false) {
-					continue;
-				}
-				Control child = children[td.childIndex];
-				int span = td.colspan;
-				int cwidth = 0;
-				for (int k = j; k < j + span; k++) {
-					cwidth += columnWidths[k];
-					if (k < j + span - 1)
-						cwidth += horizontalSpacing;
-				}
-				Point size = computeSize(child, cwidth, td.indent, changed);
-				td.compWidth = cwidth;
-				if (td.heightHint != SWT.DEFAULT) {
-					size = new Point(size.x, td.heightHint);
-				}
-				td.compSize = size;
-				RowSpan rowspan = (RowSpan) rowspans.get(child);
-				if (rowspan == null) {
-					rowHeights[i] = Math.max(rowHeights[i], size.y);
-				} else
-					rowspan.height = size.y;
-			}
-			updateRowSpans(i, rowHeights[i]);
-		}
-		for (Enumeration enum = rowspans.elements(); enum.hasMoreElements();) {
-			RowSpan rowspan = (RowSpan) enum.nextElement();
-			int increase = rowspan.getRequiredHeightIncrease();
-			if (increase == 0)
-				continue;
-			TableWrapData td = (TableWrapData) rowspan.child.getLayoutData();
-			int ngrowing = 0;
-			int[] affectedRows = new int[grid.size()];
-			for (int i = 0; i < growingRows.length; i++) {
-				int growingRow = growingRows[i];
-				if (growingRow >= rowspan.row
-						&& growingRow < rowspan.row + td.rowspan) {
-					affectedRows[ngrowing++] = growingRow;
-				}
-			}
-			if (ngrowing == 0) {
-				ngrowing = 1;
-				affectedRows[0] = rowspan.row + td.rowspan - 1;
-			}
-			increase += increase % ngrowing;
-			int perRowIncrease = increase / ngrowing;
-			for (int i = 0; i < ngrowing; i++) {
-				int growingRow = affectedRows[i];
-				rowHeights[growingRow] += perRowIncrease;
-			}
-		}
-		return rowHeights;
-	}
-	boolean isGrowingColumn(int col) {
-		if (growingColumns == null)
-			return false;
-		for (int i = 0; i < growingColumns.length; i++) {
-			if (col == growingColumns[i])
-				return true;
-		}
-		return false;
-	}
-	int[] assignExtraSpace(int tableWidth, int maxWidth, int minWidth) {
-		int fixedPart = leftMargin + rightMargin + (numColumns - 1)
-				* horizontalSpacing;
-		int D = maxWidth - minWidth;
-		int W = tableWidth - fixedPart - minWidth;
-		int widths[] = new int[numColumns];
-		int rem = 0;
-		for (int i = 0; i < numColumns; i++) {
-			int cmin = minColumnWidths[i];
-			int cmax = maxColumnWidths[i];
-			int d = cmax - cmin;
-			int extra = D != 0 ? (d * W) / D : 0;
-			if (i < numColumns - 1) {
-				widths[i] = cmin + extra;
-				rem += widths[i];
-			} else {
-				widths[i] = tableWidth - fixedPart - rem;
-			}
-		}
-		return widths;
-	}
-	Point computeSize(Control child, int width, int indent, boolean changed) {
-		int widthArg = width - indent;
-		if (!isWrap(child))
-			widthArg = SWT.DEFAULT;
-		Point size = child.computeSize(widthArg, SWT.DEFAULT, changed);
-		size.x += indent;
-		return size;
-	}
-	void placeControl(Control control, TableWrapData td, int x, int y,
-			int[] rowHeights, int row) {
-		int xloc = x + td.indent;
-		int yloc = y;
-		int height = td.compSize.y;
-		int colWidth = td.compWidth-td.indent;
-		int width = Math.min(td.compSize.x, colWidth);
-		int slotHeight = rowHeights[row];
-		RowSpan rowspan = (RowSpan) rowspans.get(control);
-		if (rowspan != null) {
-			slotHeight = 0;
-			for (int i = row; i < row + td.rowspan; i++) {
-				if (i > row)
-					slotHeight += verticalSpacing;
-				slotHeight += rowHeights[i];
-			}
-		}
-		// align horizontally
-		if (td.align == TableWrapData.CENTER) {
-			xloc = x + colWidth / 2 - width / 2;
-		} else if (td.align == TableWrapData.RIGHT) {
-			xloc = x + colWidth - width;
-		} else if (td.align == TableWrapData.FILL) {
-			width = colWidth;
-		}
-		// align vertically
-		if (td.valign == TableWrapData.MIDDLE) {
-			yloc = y + slotHeight / 2 - height / 2;
-		} else if (td.valign == TableWrapData.BOTTOM) {
-			yloc = y + slotHeight - height;
-		} else if (td.valign == TableWrapData.FILL) {
-			height = slotHeight;
-		}
-		control.setBounds(xloc, yloc, width, height);
-	}
-	void createGrid(Composite composite) {
-		int row, column, rowFill, columnFill;
-		Control[] children;
-		TableWrapData spacerSpec;
-		Vector growingCols = new Vector();
-		Vector growingRows = new Vector();
-		rowspans = new Hashtable();
-		// 
-		children = composite.getChildren();
-		if (children.length == 0)
-			return;
-		// 
-		grid.addElement(createEmptyRow());
-		row = 0;
-		column = 0;
-		// Loop through the children and place their associated layout specs in
-		// the
-		// grid. Placement occurs left to right, top to bottom (i.e., by row).
-		for (int i = 0; i < children.length; i++) {
-			// Find the first available spot in the grid.
-			Control child = children[i];
-			TableWrapData spec = (TableWrapData) child.getLayoutData();
-			while (((TableWrapData[]) grid.elementAt(row))[column] != null) {
-				column = column + 1;
-				if (column >= numColumns) {
-					row = row + 1;
-					column = 0;
-					if (row >= grid.size()) {
-						grid.addElement(createEmptyRow());
-					}
-				}
-			}
-			// See if the place will support the widget's horizontal span. If
-			// not, go to the
-			// next row.
-			if (column + spec.colspan - 1 >= numColumns) {
-				grid.addElement(createEmptyRow());
-				row = row + 1;
-				column = 0;
-			}
-			// The vertical span for the item will be at least 1. If it is > 1,
-			// add other rows to the grid.
-			if (spec.rowspan > 1) {
-				rowspans.put(child, new RowSpan(child, column, row));
-			}
-			for (int j = 2; j <= spec.rowspan; j++) {
-				if (row + j > grid.size()) {
-					grid.addElement(createEmptyRow());
-				}
-			}
-			// Store the layout spec. Also cache the childIndex. NOTE: That we
-			// assume the children of a
-			// composite are maintained in the order in which they are created
-			// and added to the composite.
-			((TableWrapData[]) grid.elementAt(row))[column] = spec;
-			spec.childIndex = i;
-			if (spec.grabHorizontal) {
-				updateGrowingColumns(growingCols, spec, column);
-			}
-			if (spec.grabVertical) {
-				updateGrowingRows(growingRows, spec, row);
-			}
-			// Put spacers in the grid to account for the item's vertical and
-			// horizontal
-			// span.
-			rowFill = spec.rowspan - 1;
-			columnFill = spec.colspan - 1;
-			for (int r = 1; r <= rowFill; r++) {
-				for (int c = 0; c < spec.colspan; c++) {
-					spacerSpec = new TableWrapData();
-					spacerSpec.isItemData = false;
-					((TableWrapData[]) grid.elementAt(row + r))[column + c] = spacerSpec;
-				}
-			}
-			for (int c = 1; c <= columnFill; c++) {
-				for (int r = 0; r < spec.rowspan; r++) {
-					spacerSpec = new TableWrapData();
-					spacerSpec.isItemData = false;
-					((TableWrapData[]) grid.elementAt(row + r))[column + c] = spacerSpec;
-				}
-			}
-			column = column + spec.colspan - 1;
-		}
-		// Fill out empty grid cells with spacers.
-		for (int k = column + 1; k < numColumns; k++) {
-			spacerSpec = new TableWrapData();
-			spacerSpec.isItemData = false;
-			((TableWrapData[]) grid.elementAt(row))[k] = spacerSpec;
-		}
-		for (int k = row + 1; k < grid.size(); k++) {
-			spacerSpec = new TableWrapData();
-			spacerSpec.isItemData = false;
-			((TableWrapData[]) grid.elementAt(k))[column] = spacerSpec;
-		}
-		growingColumns = new int[growingCols.size()];
-		for (int i = 0; i < growingCols.size(); i++) {
-			growingColumns[i] = ((Integer) growingCols.get(i)).intValue();
-		}
-		this.growingRows = new int[growingRows.size()];
-		for (int i = 0; i < growingRows.size(); i++) {
-			this.growingRows[i] = ((Integer) growingRows.get(i)).intValue();
-		}
-	}
-	private void updateGrowingColumns(Vector growingColumns,
-			TableWrapData spec, int column) {
-		int affectedColumn = column + spec.colspan - 1;
-		for (int i = 0; i < growingColumns.size(); i++) {
-			Integer col = (Integer) growingColumns.get(i);
-			if (col.intValue() == affectedColumn)
-				return;
-		}
-		growingColumns.add(new Integer(affectedColumn));
-	}
-	private void updateGrowingRows(Vector growingRows, TableWrapData spec,
-			int row) {
-		int affectedRow = row + spec.rowspan - 1;
-		for (int i = 0; i < growingRows.size(); i++) {
-			Integer irow = (Integer) growingRows.get(i);
-			if (irow.intValue() == affectedRow)
-				return;
-		}
-		growingRows.add(new Integer(affectedRow));
-	}
-	private TableWrapData[] createEmptyRow() {
-		TableWrapData[] row = new TableWrapData[numColumns];
-		for (int i = 0; i < numColumns; i++)
-			row[i] = null;
-		return row;
-	}
-	/**
-	 * @see Layout#computeSize(Composite, int, int, boolean)
-	 */
-	protected Point computeSize(Composite parent, int wHint, int hHint,
-			boolean changed) {
-		Control[] children = parent.getChildren();
-		if (children.length == 0) {
-			return new Point(0, 0);
-		}
-		int parentWidth = wHint;
-		changed = true;
-		initializeIfNeeded(parent, changed);
-		if (initialLayout) {
-			changed = true;
-			initialLayout = false;
-		}
-		if (grid == null || changed) {
-			changed = true;
-			grid = new Vector();
-			createGrid(parent);
-		}
-		resetColumnWidths();
-		int minWidth = internalGetMinimumWidth(parent, changed);
-		int maxWidth = internalGetMaximumWidth(parent, changed);
-		int tableWidth = parentWidth;
-		int[] columnWidths;
-		if (parentWidth <= minWidth) {
-			tableWidth = minWidth;
-			if (makeColumnsEqualWidth) {
-				columnWidths = new int[numColumns];
-				for (int i = 0; i < numColumns; i++) {
-					columnWidths[i] = widestColumnWidth;
-				}
-			} else
-				columnWidths = minColumnWidths;
-		} else if (parentWidth > maxWidth) {
-			if (makeColumnsEqualWidth) {
-				columnWidths = new int[numColumns];
-				int colSpace = parentWidth - leftMargin - rightMargin;
-				colSpace -= (numColumns - 1) * horizontalSpacing;
-				int col = colSpace / numColumns;
-				for (int i = 0; i < numColumns; i++) {
-					columnWidths[i] = col;
-				}
-			} else {
-				tableWidth = maxWidth;
-				columnWidths = maxColumnWidths;
-			}
-		} else {
-			columnWidths = new int[numColumns];
-			if (makeColumnsEqualWidth) {
-				int colSpace = tableWidth - leftMargin - rightMargin;
-				colSpace -= (numColumns - 1) * horizontalSpacing;
-				int col = colSpace / numColumns;
-				for (int i = 0; i < numColumns; i++) {
-					columnWidths[i] = col;
-				}
-			} else {
-				columnWidths = assignExtraSpace(tableWidth, maxWidth, minWidth);
-			}
-		}
-		int totalHeight = 0;
-		int innerHeight = 0;
-		// compute widths
-		for (int i = 0; i < grid.size(); i++) {
-			TableWrapData[] row = (TableWrapData[]) grid.elementAt(i);
-			// assign widths, calculate heights
-			int rowHeight = 0;
-			for (int j = 0; j < numColumns; j++) {
-				TableWrapData td = row[j];
-				if (td.isItemData == false) {
-					continue;
-				}
-				Control child = children[td.childIndex];
-				int span = td.colspan;
-				int cwidth = 0;
-				for (int k = j; k < j + span; k++) {
-					if (k > j)
-						cwidth += horizontalSpacing;
-					cwidth += columnWidths[k];
-				}
-				int cy = td.heightHint;
-				if (cy == SWT.DEFAULT) {
-					Point size = computeSize(child, cwidth, td.indent, changed);
-					cy = size.y;
-				}
-				RowSpan rowspan = (RowSpan) rowspans.get(child);
-				if (rowspan != null) {
-					// don't take the height of this child into acount
-					// because it spans multiple rows
-					rowspan.height = cy;
-				} else {
-					rowHeight = Math.max(rowHeight, cy);
-				}
-			}
-			updateRowSpans(i, rowHeight);
-			if (i > 0)
-				innerHeight += verticalSpacing;
-			innerHeight += rowHeight;
-		}
-		if (!rowspans.isEmpty())
-			innerHeight = compensateForRowSpans(innerHeight);
-		totalHeight = topMargin + innerHeight + bottomMargin;
-		return new Point(tableWidth, totalHeight);
-	}
-	private void updateRowSpans(int row, int rowHeight) {
-		if (rowspans == null || rowspans.size() == 0)
-			return;
-		for (Enumeration enum = rowspans.elements(); enum.hasMoreElements();) {
-			RowSpan rowspan = (RowSpan) enum.nextElement();
-			rowspan.update(row, rowHeight);
-		}
-	}
-	private int compensateForRowSpans(int totalHeight) {
-		for (Enumeration enum = rowspans.elements(); enum.hasMoreElements();) {
-			RowSpan rowspan = (RowSpan) enum.nextElement();
-			totalHeight += rowspan.getRequiredHeightIncrease();
-		}
-		return totalHeight;
-	}
-	int internalGetMinimumWidth(Composite parent, boolean changed) {
-		if (changed)
-			calculateMinimumColumnWidths(parent, true);
-		int minimumWidth = 0;
-		widestColumnWidth = 0;
-		if (makeColumnsEqualWidth) {
-			for (int i = 0; i < numColumns; i++) {
-				widestColumnWidth = Math.max(widestColumnWidth,
-						minColumnWidths[i]);
-			}
-		}
-		for (int i = 0; i < numColumns; i++) {
-			if (i > 0)
-				minimumWidth += horizontalSpacing;
-			if (makeColumnsEqualWidth)
-				minimumWidth += widestColumnWidth;
-			else
-				minimumWidth += minColumnWidths[i];
-		}
-		// add margins
-		minimumWidth += leftMargin + rightMargin;
-		return minimumWidth;
-	}
-	int internalGetMaximumWidth(Composite parent, boolean changed) {
-		if (changed)
-			calculateMaximumColumnWidths(parent, true);
-		int maximumWidth = 0;
-		for (int i = 0; i < numColumns; i++) {
-			if (i > 0)
-				maximumWidth += horizontalSpacing;
-			maximumWidth += maxColumnWidths[i];
-		}
-		// add margins
-		maximumWidth += leftMargin + rightMargin;
-		return maximumWidth;
-	}
-	void resetColumnWidths() {
-		if (minColumnWidths == null)
-			minColumnWidths = new int[numColumns];
-		if (maxColumnWidths == null)
-			maxColumnWidths = new int[numColumns];
-		for (int i = 0; i < numColumns; i++) {
-			minColumnWidths[i] = 0;
-		}
-		for (int i = 0; i < numColumns; i++) {
-			maxColumnWidths[i] = 0;
-		}
-	}
-	void calculateMinimumColumnWidths(Composite parent, boolean changed) {
-		Control[] children = parent.getChildren();
-		for (int i = 0; i < grid.size(); i++) {
-			TableWrapData[] row = (TableWrapData[]) grid.elementAt(i);
-			for (int j = 0; j < numColumns; j++) {
-				TableWrapData td = row[j];
-				if (td.isItemData == false)
-					continue;
-				Control child = children[td.childIndex];
-				int minWidth = -1;
-				if (child instanceof Composite) {
-					Composite cc = (Composite) child;
-					Layout l = cc.getLayout();
-					if (l instanceof ILayoutExtension) {
-						minWidth = ((ILayoutExtension) l).computeMinimumWidth(
-								cc, changed);
-					}
-				}
-				if (minWidth == -1) {
-					int minWHint = isWrap(child) ? 0 : SWT.DEFAULT;
-					Point size = child.computeSize(minWHint, SWT.DEFAULT,
-							changed);
-					minWidth = size.x;
-				}
-				minWidth += td.indent;
-				if (td.colspan == 1)
-					minColumnWidths[j] = Math.max(minColumnWidths[j], minWidth);
-				else {
-					// check if the current minimum width is enough to
-					// support the control; if not, add the delta to
-					// the last column
-					int current = 0;
-					for (int k = j; k < j + td.colspan; k++) {
-						if (k > j)
-							current += horizontalSpacing;
-						current += minColumnWidths[k];
-					}
-					if (minWidth <= current) {
-						// we are ok - nothing to do here
-					} else {
-						int ndiv = 0;
-						if (growingColumns != null) {
-							for (int k = j; k < j + td.colspan; k++) {
-								if (isGrowingColumn(k)) {
-									ndiv++;
-								}
-							}
-						}
-						if (ndiv == 0) {
-							// add the delta to the last column
-							minColumnWidths[j + td.colspan - 1] += minWidth
-									- current;
-						} else {
-							// distribute the delta to the growing
-							// columns
-							int percolumn = (current - td.colspan) / ndiv;
-							if ((current - td.colspan) % ndiv > 0)
-								percolumn++;
-							for (int k = j; k < j + td.colspan; k++) {
-								if (isGrowingColumn(k))
-									minColumnWidths[k] += percolumn;
-							}
-						}
-					}
-				}
-			}
-		}
-	}
-	boolean isWrap(Control control) {
-		if (control instanceof Composite
-				&& ((Composite) control).getLayout() instanceof ILayoutExtension)
-			return true;
-		return (control.getStyle() & SWT.WRAP) != 0;
-	}
-	void calculateMaximumColumnWidths(Composite parent, boolean changed) {
-		Control[] children = parent.getChildren();
-		for (int i = 0; i < numColumns; i++) {
-			maxColumnWidths[i] = 0;
-		}
-		for (int i = 0; i < grid.size(); i++) {
-			TableWrapData[] row = (TableWrapData[]) grid.elementAt(i);
-			for (int j = 0; j < numColumns; j++) {
-				TableWrapData td = row[j];
-				if (td.isItemData == false)
-					continue;
-				Control child = children[td.childIndex];
-				int maxWidth = SWT.DEFAULT;
-				if (child instanceof Composite) {
-					Composite cc = (Composite) child;
-					Layout l = cc.getLayout();
-					if (l instanceof ILayoutExtension) {
-						maxWidth = ((ILayoutExtension) l).computeMaximumWidth(
-								cc, changed);
-					}
-				} else if (td.maxWidth != SWT.DEFAULT)
-					maxWidth = td.maxWidth;
-				if (maxWidth == SWT.DEFAULT) {
-					Point size = child.computeSize(SWT.DEFAULT, SWT.DEFAULT,
-							changed);
-					maxWidth = size.x;
-				}
-				maxWidth += td.indent;
-				if (td.colspan == 1)
-					maxColumnWidths[j] = Math.max(maxColumnWidths[j], maxWidth);
-				else {
-					// check if the current maximum width is enough to
-					// support the control; if not, add the delta to
-					// the last column
-					int current = 0;
-					for (int k = j; k < j + td.colspan; k++) {
-						if (k > j)
-							current += horizontalSpacing;
-						current += maxColumnWidths[k];
-					}
-					if (maxWidth <= current) {
-						// we are ok - nothing to do here
-					} else {
-						int ndiv = 0;
-						if (growingColumns != null) {
-							for (int k = j; k < j + td.colspan; k++) {
-								if (isGrowingColumn(k)) {
-									ndiv++;
-								}
-							}
-						}
-						if (ndiv == 0) {
-							// add the delta to the last column
-							maxColumnWidths[j + td.colspan - 1] += maxWidth
-									- current;
-						} else {
-							// distribute the delta to the growing
-							// columns
-							int percolumn = (current - td.colspan) / ndiv;
-							if ((current - td.colspan) % ndiv > 0)
-								percolumn++;
-							// divide the distribution per row
-							// if the control will span multiple rows
-							percolumn /= td.rowspan;
-							for (int k = j; k < j + td.colspan; k++) {
-								if (isGrowingColumn(k))
-									maxColumnWidths[k] += percolumn;
-							}
-						}
-					}
-				}
-			}
-		}
-	}
-	private void initializeIfNeeded(Composite parent, boolean changed) {
-		if (changed)
-			initialLayout = true;
-		if (initialLayout) {
-			initializeLayoutData(parent);
-			initialLayout = false;
-		}
-	}
-	void initializeLayoutData(Composite composite) {
-		Control[] children = composite.getChildren();
-		for (int i = 0; i < children.length; i++) {
-			Control child = children[i];
-			if (child.getLayoutData() == null) {
-				child.setLayoutData(new TableWrapData());
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ToggleHyperlink.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ToggleHyperlink.java
deleted file mode 100644
index a56a1a7..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ToggleHyperlink.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.accessibility.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.forms.events.*;
-/**
- * A custom selectable control that can be used to control areas that can be
- * expanded or collapsed.
- * <p>
- * This is an abstract class. Subclasses are responsible for rendering the
- * control using decoration and hover decoration color. Control should be
- * rendered based on the current expansion state.
- * 
- * @since 3.0
- */
-public abstract class ToggleHyperlink extends AbstractHyperlink {
-	protected int innerWidth;
-	protected int innerHeight;
-	private boolean expanded;
-	protected boolean hover;
-	private Color decorationColor;
-	private Color hoverColor;
-	/**
-	 * Creates a control in a provided composite.
-	 * 
-	 * @param parent
-	 *            the parent
-	 * @param style
-	 *            the style
-	 */
-	public ToggleHyperlink(Composite parent, int style) {
-		super(parent, style);
-		addListener(SWT.MouseEnter, new Listener() {
-			public void handleEvent(Event e) {
-				hover = true;
-				redraw();
-			}
-		});
-		addListener(SWT.MouseExit, new Listener() {
-			public void handleEvent(Event e) {
-				hover = false;
-				redraw();
-			}
-		});
-		addHyperlinkListener(new HyperlinkAdapter() {
-			public void linkActivated(HyperlinkEvent e) {
-				setExpanded(!isExpanded());
-			}
-		});
-		initAccessible();
-	}
-	/**
-	 * Sets the color of the decoration.
-	 * 
-	 * @param decorationColor
-	 */
-	public void setDecorationColor(Color decorationColor) {
-		this.decorationColor = decorationColor;
-	}
-	/**
-	 * Returns the color of the decoration.
-	 * 
-	 * @return decoration color
-	 */
-	public Color getDecorationColor() {
-		return decorationColor;
-	}
-	/**
-	 * Sets the hover color of decoration. Hover color will be used when mouse
-	 * enters the decoration area.
-	 * 
-	 * @param hoverColor
-	 *            the hover color to use
-	 */
-	public void setHoverDecorationColor(Color hoverColor) {
-		this.hoverColor = hoverColor;
-	}
-	/**
-	 * Returns the hover color of the decoration.
-	 * 
-	 * @return the hover color of the decoration.
-	 */
-	public Color geHoverDecorationColor() {
-		return hoverColor;
-	}
-	/**
-	 * Computes the size of the control.
-	 * 
-	 * @param wHint
-	 *            width hint
-	 * @param hHint
-	 *            height hint
-	 * @param changed
-	 *            if true, flush any saved layout state
-	 */
-	public Point computeSize(int wHint, int hHint, boolean changed) {
-		int width, height;
-		if (wHint != SWT.DEFAULT)
-			width = wHint;
-		else
-			width = innerWidth + 2 * marginWidth;
-		if (hHint != SWT.DEFAULT)
-			height = hHint;
-		else
-			height = innerHeight + 2 * marginHeight;
-		return new Point(width, height);
-	}
-	/**
-	 * Returns the expansion state of the toggle control. When toggle is in the
-	 * normal (downward) state, the value is <samp>true </samp>. Collapsed
-	 * control will return <samp>false </samp>.
-	 * 
-	 * @return <samp>false </samp> if collapsed, <samp>true </samp> otherwise.
-	 */
-	public boolean isExpanded() {
-		return expanded;
-	}
-	/**
-	 * Sets the expansion state of the twistie control
-	 * 
-	 * @param selection
-	 */
-	public void setExpanded(boolean expanded) {
-		this.expanded = expanded;
-		redraw();
-	}
-	private void initAccessible() {
-		getAccessible().addAccessibleListener(new AccessibleAdapter() {
-			public void getHelp(AccessibleEvent e) {
-				e.result = getToolTipText();
-			}
-		});
-		getAccessible().addAccessibleControlListener(
-				new AccessibleControlAdapter() {
-					public void getChildAtPoint(AccessibleControlEvent e) {
-						Point testPoint = toControl(new Point(e.x, e.y));
-						if (getBounds().contains(testPoint)) {
-							e.childID = ACC.CHILDID_SELF;
-						}
-					}
-					public void getLocation(AccessibleControlEvent e) {
-						Rectangle location = getBounds();
-						Point pt = toDisplay(new Point(location.x, location.y));
-						e.x = pt.x;
-						e.y = pt.y;
-						e.width = location.width;
-						e.height = location.height;
-					}
-					public void getChildCount(AccessibleControlEvent e) {
-						e.detail = 0;
-					}
-					public void getRole(AccessibleControlEvent e) {
-						e.detail = ACC.ROLE_TREE;
-					}
-					public void getState(AccessibleControlEvent e) {
-						e.detail = ToggleHyperlink.this.isExpanded()
-								? ACC.STATE_EXPANDED
-								: ACC.STATE_COLLAPSED;
-					}
-					public void getValue(AccessibleControlEvent e) {
-						e.result = ToggleHyperlink.this.isExpanded()
-								? "1"
-								: "0";
-					}
-				});
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/TreeNode.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/TreeNode.java
deleted file mode 100644
index 3a9ae97..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/TreeNode.java
+++ /dev/null
@@ -1,71 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.Composite;
-/**
- * A custom selectable control that can be used to control areas that can be
- * expanded or collapsed. The control control can be toggled between selected
- * and deselected state with a mouse or by pressing 'Enter' while the control
- * has focus.
- * <p>
- * The control is rendered as box with a '+' or '-' sign, depending on the
- * expansion state. Focus indication is rendered around the box when the
- * control has keyboard focus.
- * 
- * @see Twistie
- * @since 3.0
- */
-public final class TreeNode extends ToggleHyperlink {
-	/**
-	 * Creates a control in a provided composite.
-	 * 
-	 * @param parent
-	 *            the parent
-	 * @param style
-	 *            the style
-	 */
-	public TreeNode(Composite parent, int style) {
-		super(parent, style);
-		innerWidth = 10;
-		innerHeight = 10;
-	}
-	protected void paint(PaintEvent e) {
-		paintHyperlink(e.gc);
-	}
-	protected void paintHyperlink(GC gc) {
-		Rectangle box = getBoxBounds(gc);
-		gc.setForeground(getDisplay().getSystemColor(
-				SWT.COLOR_WIDGET_NORMAL_SHADOW));
-		gc.drawRectangle(box);
-		gc.setForeground(getForeground());
-		gc.drawLine(box.x + 2, box.y + 4, box.x + 6, box.y + 4);
-		if (!isExpanded()) {
-			gc.drawLine(box.x + 4, box.y + 2, box.x + 4, box.y + 6);
-		}
-		if (getSelection()) {
-			gc.setForeground(getForeground());
-			gc.drawFocus(box.x - 1, box.y - 1, box.width + 3, box.height + 3);
-		}
-	}
-	private Rectangle getBoxBounds(GC gc) {
-		int x = 1;
-		int y = 0;
-		gc.setFont(getFont());
-		//int height = gc.getFontMetrics().getHeight();
-		//y = height / 2 - 4;
-		//y = Math.max(y, 0);
-		y = 2;
-		return new Rectangle(x, y, 8, 8);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/Twistie.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/Twistie.java
deleted file mode 100644
index d864772..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/Twistie.java
+++ /dev/null
@@ -1,74 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.Composite;
-/**
- * A custom selectable control that can be used to control areas that can be
- * expanded or collapsed. The control control can be toggled between selected
- * and deselected state with a mouse or by pressing 'Enter' while the control
- * has focus.
- * <p>
- * The control is rendered as a triangle that points to the right in the
- * collapsed and down in the expanded state. Triangle color can be changed.
- * 
- * @see TreeNode
- * @since 3.0
- */
-public final class Twistie extends ToggleHyperlink {
-	private static final int[] onPoints = {0, 2, 8, 2, 4, 6};
-	private static final int[] offPoints = {2, -1, 2, 8, 6, 4};
-	/**
-	 * Creates a control in a provided composite.
-	 * 
-	 * @param parent
-	 *            the parent
-	 * @param style
-	 *            the style
-	 */
-	public Twistie(Composite parent, int style) {
-		super(parent, SWT.NO_BACKGROUND | style);
-		innerWidth = 9;
-		innerHeight = 9;
-	}
-	/*
-	 * @see SelectableControl#paint(GC)
-	 */
-	protected void paintHyperlink(GC gc) {
-		if (hover && geHoverDecorationColor() != null)
-			gc.setBackground(geHoverDecorationColor());
-		else if (getDecorationColor() != null)
-			gc.setBackground(getDecorationColor());
-		else
-			gc.setBackground(getForeground());
-		int[] data;
-		Point size = getSize();
-		int x = (size.x - 9) / 2;
-		int y = (size.y - 9) / 2;
-		if (isExpanded())
-			data = translate(onPoints, x, y);
-		else
-			data = translate(offPoints, x, y);
-		gc.fillPolygon(data);
-		gc.setBackground(getBackground());
-	}
-	private int[] translate(int[] data, int x, int y) {
-		int[] target = new int[data.length];
-		for (int i = 0; i < data.length; i += 2) {
-			target[i] = data[i] + x;
-		}
-		for (int i = 1; i < data.length; i += 2) {
-			target[i] = data[i] + y;
-		}
-		return target;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/package.html b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/package.html
deleted file mode 100644
index 2ec1b59..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/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>
-Custom widgets and controls for forms-based parts.
-<br>&nbsp;
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/FormWizard.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/FormWizard.java
deleted file mode 100644
index 63dedda..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/FormWizard.java
+++ /dev/null
@@ -1,58 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms;
-
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.forms.FormColors;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-
-/**
- * Creates a wizard that hosts one or more pages based on forms.
- * 
- * @since 3.0
- */
-public abstract class FormWizard extends Wizard {
-	protected FormToolkit toolkit;
-
-	/**
-	 * Creates the wizard that will own its own colors.
-	 */
-	public FormWizard() {
-	}
-	/**
-	 * Creates a wizard that will use shared colors.
-	 * 
-	 * @param colors
-	 *            shared colors
-	 */
-	public FormWizard(FormColors colors) {
-		toolkit = new FormToolkit(colors);
-	}
-	/**
-	 * Creates form toolkit if missing before creating page controls.
-	 * 
-	 * @param pageContainer
-	 *            the page container widget
-	 */
-	public void createPageControls(Composite pageContainer) {
-		if (toolkit == null)
-			toolkit = new FormToolkit(pageContainer.getDisplay());
-		super.createPageControls(pageContainer);
-	}
-	/**
-	 * Disposes the toolkit and the wizard itself.
-	 */
-	public void dispose() {
-		super.dispose();
-		toolkit.dispose();
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/FormWizardDialog.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/FormWizardDialog.java
deleted file mode 100644
index be032d2..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/FormWizardDialog.java
+++ /dev/null
@@ -1,95 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms;
-
-import org.eclipse.jface.wizard.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.forms.FormColors;
-
-/**
- * Modifies the standard wizard dialog to accept form wizards. Modification
- * consists of adjusting colors and layout so that scrollable forms can be
- * hosted.
- * 
- * @since 3.0
- */
-public class FormWizardDialog extends WizardDialog {
-	protected FormColors colors;
-
-	/**
-	 * Creats the wizard dialog. Colors are required to modify the dialog
-	 * appearance to fit the forms.
-	 * 
-	 * @param shell
-	 *            the parent shell
-	 * @param wizard
-	 *            the wizard to host
-	 * @param colors
-	 *            the colors to use
-	 */
-	public FormWizardDialog(
-		Shell shell,
-		FormWizard wizard,
-		FormColors colors) {
-		super(shell, wizard);
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-		this.colors = colors;
-	}
-	/**
-	 * Extends the parent method by adjusting the colors and margins to fit the
-	 * forms.
-	 * 
-	 * @param the
-	 *            dialog area parent
-	 * @return the dialog area
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Composite c = (Composite) super.createDialogArea(parent);
-		setChildColors(c);
-		c.setBackground(colors.getBackground());
-		c.setForeground(colors.getForeground());
-		return c;
-	}
-	/**
-	 * Extends the parent method by adjusting the colors of the button bar.
-	 * 
-	 * @param parent
-	 *            the button bar parent
-	 * @return the button bar
-	 */
-	protected Control createButtonBar(Composite parent) {
-		Control bar = super.createButtonBar(parent);
-		bar.setBackground(colors.getBackground());
-		bar.setForeground(colors.getForeground());
-		parent.setBackground(colors.getBackground());
-		parent.setForeground(colors.getForeground());
-		return bar;
-	}
-
-	private void setChildColors(Composite parent) {
-		Control[] children = parent.getChildren();
-		for (int i = 0; i < children.length; i++) {
-			Control child = children[i];
-			child.setBackground(colors.getBackground());
-			if (child instanceof ProgressMonitorPart)
-				setChildColors((ProgressMonitorPart) child);
-			if (child instanceof Composite) {
-				Layout l = ((Composite) child).getLayout();
-				if (l instanceof PageContainerFillLayout) {
-					PageContainerFillLayout pl = (PageContainerFillLayout) l;
-					pl.marginWidth = 0;
-					pl.marginHeight = 0;
-				}
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/FormWizardPage.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/FormWizardPage.java
deleted file mode 100644
index 1301b40..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/FormWizardPage.java
+++ /dev/null
@@ -1,51 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms;
-
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.forms.widgets.*;
-
-/**
- * Form wizard page is a page that hosts a scrollable form. Subclasses
- * are supposed to implement 'fillFormBody' that 
- * 
- * @since 3.0
- */
-public abstract class FormWizardPage extends WizardPage {
-	protected FormToolkit toolkit;
-	protected WizardForm managedForm;
-	
-	public FormWizardPage(String id, FormToolkit toolkit) {
-		super(id);
-		this.toolkit = toolkit;
-	}
-
-/**
- * Creates the form wizard page control. This method is final. Clients 
- * are expected to implement <code>createFormContents(Composite)</code> instead.
- */
-	public final void createControl(Composite parent) {
-		ScrolledForm form = toolkit.createScrolledForm(parent);
-		form.setExpandHorizontal(true);
-		form.setExpandVertical(true);
-		managedForm = new WizardForm(this, toolkit, form);
-		createFormContents(form.getBody());
-		setControl(form);
-	}
-	
-	public void dispose() {
-		managedForm.dispose();
-		super.dispose();
-	}
-	
-	protected abstract void createFormContents(Composite form);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/WizardForm.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/WizardForm.java
deleted file mode 100644
index b1f9951..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/WizardForm.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms;
-
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.forms.ManagedForm;
-import org.eclipse.ui.forms.widgets.*;
-
-/**
- *@since 3.0
- */
-public class WizardForm extends ManagedForm {
-	/**
-	 * @param parent
-	 */
-	public WizardForm(WizardPage page, Composite parent) {
-		super(parent);
-		setContainer(page);
-	}
-	/**
-	 * @param toolkit
-	 * @param form
-	 */
-	public WizardForm(WizardPage page, FormToolkit toolkit, ScrolledForm form) {
-		super(toolkit, form);
-		setContainer(page);
-	}
-	public WizardPage getPage() {
-		return (WizardPage)getContainer();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/BreakSegment.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/BreakSegment.java
deleted file mode 100644
index 8acf1ba..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/BreakSegment.java
+++ /dev/null
@@ -1,46 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import java.util.Hashtable;
-
-import org.eclipse.swt.graphics.GC;
-
-/**
- * This segment serves as break within a paragraph. It has no data -
- * just starts a new line and resets the locator.
- */
-
-public class BreakSegment extends ParagraphSegment {
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.internal.widgets.ParagraphSegment#advanceLocator(org.eclipse.swt.graphics.GC, int, org.eclipse.ui.forms.internal.widgets.Locator, java.util.Hashtable)
-	 */
-	public boolean advanceLocator(GC gc, int wHint, Locator locator,
-			Hashtable objectTable, boolean computeHeightOnly) {
-		if (!computeHeightOnly) {
-			locator.x = locator.indent;
-			locator.y += locator.rowHeight;
-			locator.rowHeight = 0;
-		}
-		locator.rowCounter++;		
-		return true;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.internal.widgets.ParagraphSegment#paint(org.eclipse.swt.graphics.GC, int, org.eclipse.ui.forms.internal.widgets.Locator, java.util.Hashtable, boolean)
-	 */
-	public void paint(GC gc, int width, Locator locator, Hashtable resourceTable,
-			boolean selected) {
-		locator.resetCaret();
-		locator.y += locator.rowHeight;
-		locator.rowHeight = 0;
-		locator.rowCounter++;		
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/BulletParagraph.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/BulletParagraph.java
deleted file mode 100644
index 6eac5d6..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/BulletParagraph.java
+++ /dev/null
@@ -1,123 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import java.util.Hashtable;
-
-import org.eclipse.swt.graphics.*;
-
-public class BulletParagraph extends Paragraph {
-	public static final int CIRCLE = 1;
-	public static final int TEXT = 2;
-	public static final int IMAGE = 3;
-	private int style = CIRCLE;
-	private String text;
-	private int CIRCLE_DIAM = 5;
-	private int SPACING = 10;
-	private int indent = -1;
-	private int bindent = -1;
-	/**
-	 * Constructor for BulletParagraph.
-	 * @param addVerticalSpace
-	 */
-	public BulletParagraph(boolean addVerticalSpace) {
-		super(addVerticalSpace);
-	}
-
-	public int getIndent() {
-		int ivalue = indent;
-		if (ivalue != -1)
-			return ivalue;
-		switch (style) {
-			case CIRCLE :
-				ivalue = CIRCLE_DIAM + SPACING;
-				break;
-			default:
-				ivalue = 20;
-				break;
-		}
-		return getBulletIndent() + ivalue;
-	}
-	
-	public int getBulletIndent() {
-		if (bindent != -1)
-			return bindent;
-		return 0;
-	}
-
-	/*
-	 * @see IBulletParagraph#getBulletStyle()
-	 */
-	public int getBulletStyle() {
-		return style;
-	}
-
-	public void setBulletStyle(int style) {
-		this.style = style;
-	}
-
-	public void setBulletText(String text) {
-		this.text = text;
-	}
-
-	public void setIndent(int indent) {
-		this.indent = indent;
-	}
-	
-	public void setBulletIndent(int bindent) {
-		this.bindent = bindent;
-	}
-
-	/*
-	 * @see IBulletParagraph#getBulletText()
-	 */
-	public String getBulletText() {
-		return text;
-	}
-
-	public void paint(
-		GC gc,
-		int width,
-		Locator loc,
-		int lineHeight,
-		Hashtable resourceTable,
-		HyperlinkSegment selectedLink) {
-		computeRowHeights(gc, width, loc, lineHeight, resourceTable);
-		paintBullet(gc, loc, lineHeight, resourceTable);
-		super.paint(gc, width, loc, lineHeight, resourceTable, selectedLink);
-	}
-
-	public void paintBullet(
-		GC gc,
-		Locator loc,
-		int lineHeight,
-		Hashtable resourceTable) {
-		int x = loc.x - getIndent() + getBulletIndent();
-		int rowHeight = ((int[])loc.heights.get(0))[0];
-		if (style == CIRCLE) {
-			int y = loc.y + rowHeight / 2 - CIRCLE_DIAM / 2;
-			Color bg = gc.getBackground();
-			Color fg = gc.getForeground();
-			gc.setBackground(fg);
-			gc.fillRectangle(x, y + 1, 5, 3);
-			gc.fillRectangle(x + 1, y, 3, 5);
-			gc.setBackground(bg);
-		} else if (style == TEXT && text != null) {
-			gc.drawText(text, x, loc.y);
-		} else if (style == IMAGE && text != null) {
-			Image image = (Image) resourceTable.get(text);
-			if (image != null) {
-				int y = loc.y + rowHeight / 2 - image.getBounds().height / 2;
-				gc.drawImage(image, x, y);
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/FormTextModel.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/FormTextModel.java
deleted file mode 100644
index 8654b27..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/FormTextModel.java
+++ /dev/null
@@ -1,527 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import java.io.*;
-import java.util.Vector;
-
-import javax.xml.parsers.*;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.ui.forms.HyperlinkSettings;
-import org.w3c.dom.*;
-import org.xml.sax.*;
-
-public class FormTextModel {
-	private static final DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
-
-	private boolean whitespaceNormalized=true;
-	private Vector paragraphs;
-	private HyperlinkSegment[] hyperlinks;
-	private int selectedLinkIndex = -1;
-	private HyperlinkSettings hyperlinkSettings;
-	public static final String BOLD_FONT_ID = "f.____bold";
-	
-	public FormTextModel() {
-		reset();
-	}
-
-	/*
-	 * @see ITextModel#getParagraphs()
-	 */
-	public Paragraph[] getParagraphs() {
-		if (paragraphs == null)
-			return new Paragraph[0];
-		return (Paragraph[]) paragraphs.toArray(
-			new Paragraph[paragraphs.size()]);
-	}
-	
-	public String getAccessibleText() {
-		if (paragraphs == null)
-			return "";
-		StringBuffer sbuf = new StringBuffer();
-		for (int i=0; i<paragraphs.size(); i++) {
-			Paragraph paragraph  = (Paragraph)paragraphs.get(i);
-			String text = paragraph.getAccessibleText();
-			sbuf.append(text);
-		}
-		return sbuf.toString();
-	}
-
-	/*
-	 * @see ITextModel#parse(String)
-	 */
-	public void parseTaggedText(String taggedText, boolean expandURLs) {
-		if (taggedText==null) {
-			reset();
-			return;
-		}
-		try {
-			InputStream stream =
-				new ByteArrayInputStream(taggedText.getBytes("UTF8"));
-			parseInputStream(stream, expandURLs);
-		} catch (UnsupportedEncodingException e) {
-			SWT.error(SWT.ERROR_UNSUPPORTED_FORMAT, e);
-		}
-	}
-
-	public void parseInputStream(InputStream is, boolean expandURLs) {
-			
-		documentBuilderFactory.setNamespaceAware(true);
-		documentBuilderFactory.setIgnoringComments(true);
-	
-		reset();
-		try {
-			DocumentBuilder parser = documentBuilderFactory.newDocumentBuilder();
-			InputSource source = new InputSource(is);
-			Document doc = parser.parse(source);
-			processDocument(doc, expandURLs);
-		} catch (ParserConfigurationException e) {
-			SWT.error(SWT.ERROR_CANNOT_SET_TEXT, e);
-		} catch (SAXException e) {
-			SWT.error(SWT.ERROR_CANNOT_SET_TEXT, e);
-		} catch (IOException e) {
-			SWT.error(SWT.ERROR_IO, e);
-		}
-	}
-
-	private void processDocument(Document doc, boolean expandURLs) {
-		Node root = doc.getDocumentElement();
-		NodeList children = root.getChildNodes();
-		for (int i = 0; i < children.getLength(); i++) {
-			Node child = children.item(i);
-			if (child.getNodeType() == Node.TEXT_NODE) {
-				// Make an implicit paragraph
-				String text = getSingleNodeText(child);
-				if (text != null && !isIgnorableWhiteSpace(text, true)) {
-					Paragraph p = new Paragraph(true);
-					p.parseRegularText(
-						text,
-						expandURLs,
-						getHyperlinkSettings(),
-						null);
-					paragraphs.add(p);
-				}
-			} else if (child.getNodeType() == Node.ELEMENT_NODE) {
-				String tag = child.getNodeName().toLowerCase();
-				if (tag.equals("p")) {
-					Paragraph p = processParagraph(child, expandURLs);
-					if (p != null)
-						paragraphs.add(p);
-				} else if (tag.equals("li")) {
-					Paragraph p = processListItem(child, expandURLs);
-					if (p != null)
-						paragraphs.add(p);
-				}
-			}
-		}
-	}
-	private Paragraph processParagraph(Node paragraph, boolean expandURLs) {
-		NodeList children = paragraph.getChildNodes();
-		NamedNodeMap atts = paragraph.getAttributes();
-		Node addSpaceAtt = atts.getNamedItem("addVerticalSpace");
-		boolean addSpace = true;
-		
-		if (addSpaceAtt==null)
-			addSpaceAtt = atts.getNamedItem("vspace");
-
-		if (addSpaceAtt != null) {
-			String value = addSpaceAtt.getNodeValue();
-			addSpace = value.equalsIgnoreCase("true");
-		}
-		Paragraph p = new Paragraph(addSpace);
-
-		processSegments(p, children, expandURLs);
-		return p;
-	}
-	private Paragraph processListItem(Node listItem, boolean expandURLs) {
-		NodeList children = listItem.getChildNodes();
-		NamedNodeMap atts = listItem.getAttributes();
-		Node addSpaceAtt = atts.getNamedItem("addVerticalSpace");
-		Node styleAtt = atts.getNamedItem("style");
-		Node valueAtt = atts.getNamedItem("value");
-		Node indentAtt = atts.getNamedItem("indent");
-		Node bindentAtt = atts.getNamedItem("bindent");
-		int style = BulletParagraph.CIRCLE;
-		int indent = -1;
-		int bindent = -1;
-		String text = null;
-		boolean addSpace = true;
-
-		if (addSpaceAtt != null) {
-			String value = addSpaceAtt.getNodeValue();
-			addSpace = value.equalsIgnoreCase("true");
-		}
-		if (styleAtt != null) {
-			String value = styleAtt.getNodeValue();
-			if (value.equalsIgnoreCase("text")) {
-				style = BulletParagraph.TEXT;
-			} else if (value.equalsIgnoreCase("image")) {
-				style = BulletParagraph.IMAGE;
-			}
-			else if (value.equalsIgnoreCase("bullet")) {
-				style = BulletParagraph.CIRCLE;
-			}
-		}
-		if (valueAtt != null) {
-			text = valueAtt.getNodeValue();
-			if (style==BulletParagraph.IMAGE)
-				text = "i."+text;
-		}
-		if (indentAtt != null) {
-			String value = indentAtt.getNodeValue();
-			try {
-				indent = Integer.parseInt(value);
-			} catch (NumberFormatException e) {
-			}
-		}
-		if (bindentAtt != null) {
-			String value = bindentAtt.getNodeValue();
-			try {
-				bindent = Integer.parseInt(value);
-			} catch (NumberFormatException e) {
-			}
-		}
-
-		BulletParagraph p = new BulletParagraph(addSpace);
-		p.setIndent(indent);
-		p.setBulletIndent(bindent);
-		p.setBulletStyle(style);
-		p.setBulletText(text);
-
-		processSegments(p, children, expandURLs);
-		return p;
-	}
-
-	private void processSegments(
-		Paragraph p,
-		NodeList children,
-		boolean expandURLs) {
-		for (int i = 0; i < children.getLength(); i++) {
-			Node child = children.item(i);
-			ParagraphSegment segment = null;
-
-			if (child.getNodeType() == Node.TEXT_NODE) {
-				String value = getSingleNodeText(child);
-
-				if (value != null && !isIgnorableWhiteSpace(value, false)) {
-					p.parseRegularText(
-						value,
-						expandURLs,
-						getHyperlinkSettings(),
-						null);
-				}
-			} else if (child.getNodeType() == Node.ELEMENT_NODE) {
-				String name = child.getNodeName();
-				if (name.equalsIgnoreCase("img")) {
-					segment = processImageSegment(child);
-				} else if (name.equalsIgnoreCase("a")) {
-					segment =
-						processHyperlinkSegment(child, getHyperlinkSettings());
-				} else if (name.equalsIgnoreCase("span")) {
-					processTextSegment(p, expandURLs, child);
-				} else if (name.equalsIgnoreCase("b")) {
-					String text = getNodeText(child);
-					String fontId = BOLD_FONT_ID;
-					p.parseRegularText(
-						text,
-						expandURLs,
-						getHyperlinkSettings(),
-						fontId);
-				} else if (name.equalsIgnoreCase("br")) {
-					segment = new BreakSegment();
-				}
-			}
-			if (segment != null) {
-				p.addSegment(segment);
-			}
-		}
-	}
-
-	private boolean isIgnorableWhiteSpace(String text, boolean ignoreSpaces) {
-		for (int i = 0; i < text.length(); i++) {
-			char c = text.charAt(i);
-			if (ignoreSpaces && c == ' ')
-				continue;
-			if (c == '\n' || c == '\r' || c == '\f')
-				continue;
-			return false;
-		}
-		return true;
-	}
-
-	private ParagraphSegment processImageSegment(Node image) {
-		ImageSegment segment = new ImageSegment();
-		NamedNodeMap atts = image.getAttributes();
-		Node id = atts.getNamedItem("href");
-		Node align = atts.getNamedItem("align");
-		if (id != null) {
-			String value = id.getNodeValue();
-			segment.setObjectId("i."+value);
-		}
-		if (align != null) {
-			String value = align.getNodeValue().toLowerCase();
-			if (value.equals("top"))
-				segment.setVerticalAlignment(ImageSegment.TOP);
-			else if (value.equals("middle"))
-				segment.setVerticalAlignment(ImageSegment.MIDDLE);
-			else if (value.equals("bottom"))
-				segment.setVerticalAlignment(ImageSegment.BOTTOM);
-		}
-		return segment;
-	}
-	
-	private void appendText(String value, StringBuffer buf, int [] spaceCounter) {
-		if (!whitespaceNormalized)
-			buf.append(value);
-		else {
-			for (int j=0; j<value.length(); j++) {
-				char c = value.charAt(j);
-				if (c==' ' || c=='\t') {
-					// space
-					if (++spaceCounter[0] == 1) {
-						buf.append(c);
-					}
-				}
-				else if (c=='\n' || c=='\r' || c=='\f') {
-					// new line
-					if (++spaceCounter[0]==1) {
-						buf.append(' ');
-					}
-				}
-				else {
-					// other characters
-					spaceCounter[0]=0;
-					buf.append(c);
-				}
-			}
-		}
-	}
-	
-	private String getNormalizedText(String text) {
-		int [] spaceCounter = new int[1];
-		StringBuffer buf = new StringBuffer();
-		
-		if (text==null) return null;
-		appendText(text, buf, spaceCounter);
-		return buf.toString();
-	}
-	
-	private String getSingleNodeText(Node node) {
-		return getNormalizedText(node.getNodeValue());
-	}
-
-	private String getNodeText(Node node) {
-		NodeList children = node.getChildNodes();
-		StringBuffer buf = new StringBuffer();
-		int [] spaceCounter=new int[1];
-
-		for (int i = 0; i < children.getLength(); i++) {
-			Node child = children.item(i);
-			if (child.getNodeType() == Node.TEXT_NODE) {
-				String value = child.getNodeValue();
-				appendText(value, buf, spaceCounter);
-			}
-		}
-		return buf.toString().trim();
-	}
-
-	private ParagraphSegment processHyperlinkSegment(
-		Node link,
-		HyperlinkSettings settings) {
-		String text = getNodeText(link);
-		HyperlinkSegment segment = new HyperlinkSegment(text, settings, null);
-		NamedNodeMap atts = link.getAttributes();
-		Node href = atts.getNamedItem("href");
-		if (href != null) {
-			String value = href.getNodeValue();
-			segment.setHref(value);
-		}
-		Node nowrap = atts.getNamedItem("nowrap");
-		if (nowrap != null) {
-			String value = nowrap.getNodeValue();
-			if (value!=null && value.equalsIgnoreCase("true"))
-				segment.setWordWrapAllowed(false);
-		}
-		return segment;
-	}
-
-	private void processTextSegment(
-		Paragraph p,
-		boolean expandURLs,
-		Node textNode) {
-		String text = getNodeText(textNode);
-
-		NamedNodeMap atts = textNode.getAttributes();
-		Node font = atts.getNamedItem("font");
-		Node color = atts.getNamedItem("color");
-		String fontId = null;
-		String colorId = null;
-		if (font != null) {
-			fontId = "f."+font.getNodeValue();
-		}
-		if (color != null) {
-			colorId = "c."+color.getNodeValue();
-		}
-		p.parseRegularText(text, expandURLs, getHyperlinkSettings(), fontId, colorId);
-	}
-
-	public void parseRegularText(String regularText, boolean convertURLs) {
-		reset();
-		
-		if (regularText==null) return;
-		
-		regularText = getNormalizedText(regularText);
-
-		Paragraph p = new Paragraph(true);
-		paragraphs.add(p);
-		int pstart = 0;
-
-		for (int i = 0; i < regularText.length(); i++) {
-			char c = regularText.charAt(i);
-			if (p == null) {
-				p = new Paragraph(true);
-				paragraphs.add(p);
-			}
-			if (c == '\n') {
-				String text = regularText.substring(pstart, i);
-				pstart = i + 1;
-				p.parseRegularText(
-					text,
-					convertURLs,
-					getHyperlinkSettings(),
-					null);
-				p = null;
-			}
-		}
-		if (p != null) {
-			// no new line
-			String text = regularText.substring(pstart);
-			p.parseRegularText(text, convertURLs, getHyperlinkSettings(), null);
-		}
-	}
-
-	public HyperlinkSettings getHyperlinkSettings() {
-		return hyperlinkSettings;
-	}
-
-	public void setHyperlinkSettings(HyperlinkSettings settings) {
-		this.hyperlinkSettings = settings;
-	}
-
-	private void reset() {
-		if (paragraphs == null)
-			paragraphs = new Vector();
-		paragraphs.clear();
-		selectedLinkIndex = -1;
-		hyperlinks = null;
-	}
-
-	HyperlinkSegment[] getHyperlinks() {
-		if (hyperlinks != null || paragraphs == null)
-			return hyperlinks;
-		Vector result = new Vector();
-		for (int i = 0; i < paragraphs.size(); i++) {
-			Paragraph p = (Paragraph) paragraphs.get(i);
-			ParagraphSegment[] segments = p.getSegments();
-			for (int j = 0; j < segments.length; j++) {
-				if (segments[j] instanceof HyperlinkSegment)
-					result.add(segments[j]);
-			}
-		}
-		hyperlinks =
-			(HyperlinkSegment[]) result.toArray(
-				new HyperlinkSegment[result.size()]);
-		return hyperlinks;
-	}
-
-	public HyperlinkSegment findHyperlinkAt(int x, int y) {
-		HyperlinkSegment[] links = getHyperlinks();
-		for (int i = 0; i < links.length; i++) {
-			if (links[i].contains(x, y))
-				return links[i];
-		}
-		return null;
-	}
-	public TextSegment findSegmentAt(int x, int y) {
-		for (int i = 0; i < paragraphs.size(); i++) {
-			Paragraph p = (Paragraph) paragraphs.get(i);
-			TextSegment segment = p.findSegmentAt(x, y);
-			if (segment != null)
-				return segment;
-		}
-		return null;
-	}
-
-	public HyperlinkSegment getSelectedLink() {
-		if (selectedLinkIndex == -1)
-			return null;
-		return hyperlinks[selectedLinkIndex];
-	}
-
-	public boolean traverseLinks(boolean next) {
-		HyperlinkSegment[] links = getHyperlinks();
-		if (links == null)
-			return false;
-		int size = links.length;
-		if (next) {
-			selectedLinkIndex++;
-		} else
-			selectedLinkIndex--;
-
-		if (selectedLinkIndex < 0 || selectedLinkIndex > size - 1) {
-			selectedLinkIndex = -1;
-		}
-		return selectedLinkIndex != -1;
-	}
-
-	public void selectLink(HyperlinkSegment link) {
-		if (link == null)
-			selectedLinkIndex = -1;
-		else {
-			HyperlinkSegment[] links = getHyperlinks();
-			selectedLinkIndex = -1;
-			if (links == null)
-				return;
-			for (int i = 0; i < links.length; i++) {
-				if (links[i].equals(link)) {
-					selectedLinkIndex = i;
-					break;
-				}
-			}
-		}
-	}
-
-	public boolean hasFocusSegments() {
-		HyperlinkSegment[] links = getHyperlinks();
-		if (links.length > 0)
-			return true;
-		return false;
-	}
-
-	public void dispose() {
-		paragraphs = null;
-		selectedLinkIndex = -1;
-		hyperlinks = null;
-	}
-	/**
-	 * @return Returns the whitespaceNormalized.
-	 */
-	public boolean isWhitespaceNormalized() {
-		return whitespaceNormalized;
-	}
-	/**
-	 * @param whitespaceNormalized The whitespaceNormalized to set.
-	 */
-	public void setWhitespaceNormalized(boolean whitespaceNormalized) {
-		this.whitespaceNormalized = whitespaceNormalized;
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/FormUtil.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/FormUtil.java
deleted file mode 100644
index dbcd564..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/FormUtil.java
+++ /dev/null
@@ -1,359 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import java.text.BreakIterator;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.forms.widgets.*;
-
-public class FormUtil {
-	static final int H_SCROLL_INCREMENT = 5;
-	static final int V_SCROLL_INCREMENT = 64;
-
-	public static Text createText(
-		Composite parent,
-		String label,
-		FormToolkit factory) {
-		return createText(parent, label, factory, 1);
-	}
-	public static Text createText(
-		Composite parent,
-		String label,
-		FormToolkit factory,
-		int span) {
-		factory.createLabel(parent, label);
-		Text text = factory.createText(parent, "");
-		int hfill =
-			span == 1
-				? GridData.FILL_HORIZONTAL
-				: GridData.HORIZONTAL_ALIGN_FILL;
-		GridData gd = new GridData(hfill | GridData.VERTICAL_ALIGN_CENTER);
-		gd.horizontalSpan = span;
-		text.setLayoutData(gd);
-		return text;
-	}
-	public static Text createText(
-		Composite parent,
-		String label,
-		FormToolkit factory,
-		int span,
-		int style) {
-		Label l = factory.createLabel(parent, label);
-		if ((style & SWT.MULTI) != 0) {
-			GridData gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
-			l.setLayoutData(gd);
-		}
-		Text text = factory.createText(parent, "", style);
-		int hfill =
-			span == 1
-				? GridData.FILL_HORIZONTAL
-				: GridData.HORIZONTAL_ALIGN_FILL;
-		GridData gd = new GridData(hfill | GridData.VERTICAL_ALIGN_CENTER);
-		gd.horizontalSpan = span;
-		text.setLayoutData(gd);
-		return text;
-	}
-	public static Text createText(
-		Composite parent,
-		FormToolkit factory,
-		int span) {
-		Text text = factory.createText(parent, "");
-		int hfill =
-			span == 1
-				? GridData.FILL_HORIZONTAL
-				: GridData.HORIZONTAL_ALIGN_FILL;
-		GridData gd = new GridData(hfill | GridData.VERTICAL_ALIGN_CENTER);
-		gd.horizontalSpan = span;
-		text.setLayoutData(gd);
-		return text;
-	}
-	
-	public static int computeMinimumWidth(GC gc, String text) {
-		BreakIterator wb = BreakIterator.getWordInstance();
-		wb.setText(text);
-		int last = 0;
-		
-		int width = 0;
-
-		for (int loc = wb.first();
-		loc != BreakIterator.DONE;
-		loc = wb.next()) {
-			String word = text.substring(last, loc);
-			Point extent = gc.textExtent(word);
-			width = Math.max(width, extent.x);
-			last = loc;
-		}
-		return width;
-	}
-
-	public static Point computeWrapSize(GC gc, String text, int wHint) {
-		BreakIterator wb = BreakIterator.getWordInstance();
-		wb.setText(text);
-		FontMetrics fm = gc.getFontMetrics();
-		int lineHeight = fm.getHeight();
-
-		int saved = 0;
-		int last = 0;
-		int height = lineHeight;
-		int maxWidth = 0;
-
-		for (int loc = wb.first();
-			loc != BreakIterator.DONE;
-			loc = wb.next()) {
-			String word = text.substring(saved, loc);
-			Point extent = gc.textExtent(word);
-			maxWidth = Math.max(maxWidth, extent.x);
-			if (extent.x > wHint) {
-				// overflow
-				saved = last;
-				height += extent.y;
-			}
-			last = loc;
-		}
-		return new Point(maxWidth, height);
-	}
-	public static void paintWrapText(
-		GC gc,
-		String text,
-		Rectangle bounds) {
-		paintWrapText(gc, text, bounds, false);
-	}
-	public static void paintWrapText(
-		GC gc,
-		String text,
-		Rectangle bounds,
-		boolean underline) {
-		BreakIterator wb = BreakIterator.getWordInstance();
-		wb.setText(text);
-		FontMetrics fm = gc.getFontMetrics();
-		int lineHeight = fm.getHeight();
-		int descent = fm.getDescent();
-
-		int saved = 0;
-		int last = 0;
-		int y = bounds.y;
-		int width = bounds.width;
-
-		for (int loc = wb.first();
-			loc != BreakIterator.DONE;
-			loc = wb.next()) {
-			String line = text.substring(saved, loc);
-			Point extent = gc.textExtent(line);
-
-			if (extent.x > width) {
-				// overflow
-				String prevLine = text.substring(saved, last);
-				gc.drawText(prevLine, bounds.x, y, true);
-				if (underline) {
-					Point prevExtent = gc.textExtent(prevLine);
-					int lineY = y + lineHeight - descent + 1;
-					gc.drawLine(bounds.x, lineY, bounds.x+prevExtent.x, lineY);
-				}
-
-				saved = last;
-				y += lineHeight;
-			}
-			last = loc;
-		}
-		// paint the last line
-		String lastLine = text.substring(saved, last);
-		gc.drawText(lastLine, bounds.x, y, true);
-		if (underline) {
-			int lineY = y + lineHeight - descent + 1;
-			Point lastExtent = gc.textExtent(lastLine);
-			gc.drawLine(bounds.x, lineY, bounds.x + lastExtent.x, lineY);
-		}
-	}
-	public static ScrolledComposite getScrolledComposite(Control c) {
-		Composite parent = c.getParent();
-
-		while (parent != null) {
-			if (parent instanceof ScrolledComposite) {
-				return (ScrolledComposite) parent;
-			}
-			parent = parent.getParent();
-		}
-		return null;
-	}
-	
-	public static void ensureVisible(Control c) {
-		ScrolledComposite scomp = getScrolledComposite(c);
-		if (scomp != null) {
-			FormUtil.ensureVisible(scomp, c);
-		}
-	}
-	public static void ensureVisible(ScrolledComposite scomp, Control control) {
-		Point controlSize = control.getSize();
-		Point controlOrigin = getControlLocation(scomp, control);
-		ensureVisible(scomp, controlOrigin, controlSize);
-	}
-
-	public static void ensureVisible(
-		ScrolledComposite scomp,
-		Point controlOrigin,
-		Point controlSize) {
-		Rectangle area = scomp.getClientArea();
-		Point scompOrigin = scomp.getOrigin();
-
-		int x = scompOrigin.x;
-		int y = scompOrigin.y;
-		//System.out.println("Ensure: area="+area+", origin="+scompOrigin+", cloc="+controlOrigin+", csize="+controlSize+", x="+x+", y="+y);
-		
-		//horizontal right
-		if (controlOrigin.x + controlSize.x > scompOrigin.x + area.width) {
-			x = controlOrigin.x + controlSize.x - area.width;
-		}
-		// horizontal left
-		else if (controlOrigin.x < x) {
-			x = controlOrigin.x;
-		}
-		// vertical bottom
-		if (controlOrigin.y + controlSize.y > scompOrigin.y + area.height) {
-			y = controlOrigin.y + controlSize.y - area.height;
-		}
-		// vertical top
-		else if (controlOrigin.y < y) {
-			y = controlOrigin.y;
-		}
-
-		if (scompOrigin.x!=x || scompOrigin.y!=y) {
-			// scroll to reveal
-			scomp.setOrigin(x, y);
-		}
-	}
-
-	public static Point getControlLocation(ScrolledComposite scomp, Control control) {
-		int x = 0;
-		int y = 0;
-		Control content = scomp.getContent();
-		Control currentControl = control;
-		for (;;) {
-			if (currentControl == content)
-				break;
-			Point location = currentControl.getLocation();
-			//if (location.x > 0)
-				//x += location.x;
-			//if (location.y > 0)
-				//y += location.y;
-			x+= location.x;
-			y += location.y;
-			currentControl = currentControl.getParent();
-		}
-		return new Point(x, y);
-	}
-
-	static void scrollVertical(ScrolledComposite scomp, boolean up) {
-		scroll(scomp, 0, up ? -V_SCROLL_INCREMENT : V_SCROLL_INCREMENT);
-	}
-	static void scrollHorizontal(ScrolledComposite scomp, boolean left) {
-		scroll(scomp, left ? -H_SCROLL_INCREMENT : H_SCROLL_INCREMENT, 0);
-	}
-	static void scrollPage(ScrolledComposite scomp, boolean up) {
-		Rectangle clientArea = scomp.getClientArea();
-		int increment = up ? -clientArea.height : clientArea.height;
-		scroll(scomp, 0, increment);
-	}
-	static void scroll(
-		ScrolledComposite scomp,
-		int xoffset,
-		int yoffset) {
-		Point origin = scomp.getOrigin();
-		Point contentSize = scomp.getContent().getSize();
-		int xorigin = origin.x + xoffset;
-		int yorigin = origin.y + yoffset;
-		xorigin = Math.max(xorigin, 0);
-		xorigin = Math.min(xorigin, contentSize.x - 1);
-		yorigin = Math.max(yorigin, 0);
-		yorigin = Math.min(yorigin, contentSize.y - 1);
-		scomp.setOrigin(xorigin, yorigin);
-	}
-
-	public static void updatePageIncrement(ScrolledComposite scomp) {
-		ScrollBar vbar = scomp.getVerticalBar();
-		if (vbar != null) {
-			Rectangle clientArea = scomp.getClientArea();
-			int increment = clientArea.height - 5;
-			vbar.setPageIncrement(increment);
-		}
-	}
-	public static void processKey(int keyCode, Control c) {
-		ScrolledComposite scomp = FormUtil.getScrolledComposite(c);
-		if (scomp != null) {
-			if (c instanceof Combo)
-				return;
-			switch (keyCode) {
-				case SWT.ARROW_DOWN :
-					FormUtil.scrollVertical(scomp, false);
-					break;
-				case SWT.ARROW_UP :
-					FormUtil.scrollVertical(scomp, true);
-					break;
-				case SWT.ARROW_LEFT :
-					FormUtil.scrollHorizontal(scomp, true);
-					break;
-				case SWT.ARROW_RIGHT :
-					FormUtil.scrollHorizontal(scomp, false);
-					break;
-				case SWT.PAGE_UP :
-					FormUtil.scrollPage(scomp, true);
-					break;
-				case SWT.PAGE_DOWN :
-					FormUtil.scrollPage(scomp, false);
-					break;
-			}
-		}
-	}
-
-	static boolean isWrapControl(Control c) {
-		if (c instanceof Composite) {
-			return ((Composite)c).getLayout() instanceof ILayoutExtension;
-		}
-		else {
-			return (c.getStyle() & SWT.WRAP) != 0;
-		}
-	}
-	
-	public static int getWidthHint(int wHint, Control c) {
-		boolean wrap=isWrapControl(c);
-		return wrap ? wHint : SWT.DEFAULT;
-	}
-	
-	public static int getHeightHint(int hHint, Control c) {
-		if (c instanceof Composite) {
-			Layout layout = ((Composite)c).getLayout();
-			if (layout instanceof ColumnLayout)
-				return hHint;
-		}
-		return SWT.DEFAULT;
-	}
-	
-	public static int computeMinimumWidth(Control c, boolean changed) {
-		if (c instanceof Composite) {
-			Layout layout = ((Composite)c).getLayout();
-			if (layout instanceof ILayoutExtension)
-				return ((ILayoutExtension)layout).computeMinimumWidth((Composite)c, changed);
-		}
-		return c.computeSize(FormUtil.getWidthHint(5, c), SWT.DEFAULT, changed).x;
-	}
-	public static int computeMaximumWidth(Control c, boolean changed) {
-		if (c instanceof Composite) {
-			Layout layout = ((Composite)c).getLayout();
-			if (layout instanceof ILayoutExtension)
-				return ((ILayoutExtension)layout).computeMaximumWidth((Composite)c, changed);
-		}
-		return c.computeSize(SWT.DEFAULT, SWT.DEFAULT, changed).x;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/FormsResources.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/FormsResources.java
deleted file mode 100644
index 3b67b45..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/FormsResources.java
+++ /dev/null
@@ -1,57 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * Utility methods to access shared form-specific resources.
- * <p>
- * All methods declared on this class are static. This
- * class cannot be instantiated.
- * </p>
- * <p>
- * </p>
- */
-public class FormsResources {
-	private static Cursor busyCursor;
-	private static Cursor handCursor;
-	private static Cursor textCursor;
-	
-	public static Cursor getBusyCursor() {
-		if (busyCursor==null)
-			busyCursor = new Cursor(Display.getCurrent(), SWT.CURSOR_WAIT);
-		return busyCursor;
-	}
-	public static Cursor getHandCursor() {
-		if (handCursor==null)
-			handCursor = new Cursor(Display.getCurrent(), SWT.CURSOR_HAND);
-		return handCursor;
-	}
-	public static Cursor getTextCursor() {
-		if (textCursor==null)
-			textCursor = new Cursor(Display.getCurrent(), SWT.CURSOR_IBEAM);
-		return textCursor;
-	}
-	public static void shutdown() {
-		if (busyCursor!=null)
-			busyCursor.dispose();
-		if (handCursor!=null)
-			handCursor.dispose();
-		if (textCursor!=null)
-			textCursor.dispose();
-		busyCursor=null;
-		handCursor=null;
-		textCursor=null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/HyperlinkSegment.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/HyperlinkSegment.java
deleted file mode 100644
index 34bf7cd..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/HyperlinkSegment.java
+++ /dev/null
@@ -1,75 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import java.util.Hashtable;
-
-import org.eclipse.swt.graphics.*;
-import org.eclipse.ui.forms.HyperlinkSettings;
-
-/**
- * @version 	1.0
- * @author
- */
-public class HyperlinkSegment
-	extends TextSegment {
-	private String href;
-	private static final String LINK_FG = "c.___link_fg";
-	private HyperlinkSettings settings;
-	
-	public HyperlinkSegment(String text, HyperlinkSettings settings, String fontId) {
-		super(text, fontId);
-		this.settings = settings;
-		underline = settings.getHyperlinkUnderlineMode()==HyperlinkSettings.UNDERLINE_ALWAYS;
-	}
-
-	/*
-	 * @see IObjectReference#getObjectId()
-	 */
-	public String getHref() {
-		return href;
-	}
-	
-	void setHref(String href) {
-		this.href = href;
-	}
-	public void paint(GC gc, int width, Locator locator, Hashtable resourceTable, boolean selected) {
-		resourceTable.put(LINK_FG, settings.getForeground());
-		setColorId(LINK_FG);
-		super.paint(gc, width, locator, resourceTable, selected);
-	}
-	
-	public void repaint(GC gc, boolean hover) {
-		FontMetrics fm = gc.getFontMetrics();
-		int lineHeight = fm.getHeight();
-		int descent = fm.getDescent();
-		boolean rolloverMode = settings.getHyperlinkUnderlineMode()==HyperlinkSettings.UNDERLINE_HOVER;
-		for (int i=0; i<areaRectangles.size(); i++) {
-			AreaRectangle areaRectangle = (AreaRectangle)areaRectangles.get(i);
-			Rectangle rect = areaRectangle.rect;
-			String text = areaRectangle.getText();
-			Point extent = gc.textExtent(text);
-			int textX = rect.x + 1;
-			gc.drawString(text, textX, rect.y, false);
-			if (underline || hover || rolloverMode) {
-				int lineY = rect.y + lineHeight - descent + 1;
-				Color saved=null;
-				if (rolloverMode && !hover) {
-					saved = gc.getForeground();
-					gc.setForeground(gc.getBackground());
-				}
-				gc.drawLine(textX, lineY, textX+extent.x, lineY);
-				if (saved!=null)
-					gc.setForeground(saved);
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ImageSegment.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ImageSegment.java
deleted file mode 100644
index a01bfa2..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ImageSegment.java
+++ /dev/null
@@ -1,109 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import java.util.Hashtable;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-
-/**
- * @version 	1.0
- * @author
- */
-public class ImageSegment extends ParagraphSegment {
-	public static final int TOP = 1;
-	public static final int MIDDLE = 2;
-	public static final int BOTTOM = 3;
-	
-	private int alignment = BOTTOM;
-	private String imageId;
-	
-	public int getVerticalAlignment() {
-		return alignment;
-	}
-	
-	void setVerticalAlignment(int alignment) {
-		this.alignment = alignment;
-	}
-	
-	public Image getImage(Hashtable objectTable) {
-		if (imageId==null) return null;
-		Object obj = objectTable.get(imageId);
-		if (obj==null) return null;
-		if (obj instanceof Image) return (Image)obj;
-		return null;
-	}
-	
-	public String getObjectId() {
-		return imageId;
-	}
-	
-	void setObjectId(String imageId) {
-		this.imageId = imageId;
-	}
-	
-	public boolean advanceLocator(GC gc, int wHint, Locator loc, Hashtable objectTable, boolean computeHeightOnly) {
-		Image image = getImage(objectTable);
-		int iwidth = 0;
-		int iheight = 0;
-		boolean newLine=false;
-		
-		if (image!=null) {
-			Rectangle rect = image.getBounds();
-			iwidth = rect.width;
-			iheight = rect.height;
-		}
-		if (wHint != SWT.DEFAULT && loc.x + iwidth > wHint) {
-			// new line
-			loc.x = loc.indent + iwidth;
-			loc.width = loc.x;
-			loc.y += loc.rowHeight;
-			if (computeHeightOnly)
-				loc.collectHeights(true);
-			loc.rowHeight = iheight;
-			loc.leading = 0;
-			newLine=true;
-		}
-		else {
-			loc.x += iwidth;
-			loc.rowHeight = Math.max(loc.rowHeight, iheight);
-		}
-		return newLine;
-	}
-
-	public void paint(GC gc, int width, Locator loc, Hashtable resourceTable, boolean selected) {
-		Image image = getImage(resourceTable);
-		int iwidth = 0;
-		int iheight = 0;
-		if (image!=null) {
-			Rectangle rect = image.getBounds();
-			iwidth = rect.width;
-			iheight = rect.height;
-		}
-		else return;
-		loc.width = iwidth;
-		loc.height = iheight;
-		
-		if (loc.x + iwidth > width) {
-			// new row
-			loc.x = loc.indent + loc.marginWidth;
-			loc.y += loc.rowHeight;
-			loc.rowHeight = 0;
-			loc.rowCounter++;
-		}
-		int ix = loc.x;
-		int iy = loc.getBaseline(iheight, false);		
-		gc.drawImage(image, ix, iy);
-		loc.x += iwidth;
-		loc.rowHeight = Math.max(loc.rowHeight, iheight);
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/Locator.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/Locator.java
deleted file mode 100644
index 9facc81..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/Locator.java
+++ /dev/null
@@ -1,68 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import java.util.ArrayList;
-
-/**
- * @version 	1.0
- * @author
- */
-public class Locator implements Cloneable { 
-	public int indent;
-	public int x, y;
-	public int width, height;
-	public int leading;
-	public int rowHeight;
-	public int marginWidth;
-	public int marginHeight;
-	public int rowCounter;
-	public ArrayList heights;
-	
-	public void newLine() {
-		resetCaret();
-		y += rowHeight;
-		rowHeight = 0;
-	}
-
-	public Locator create() {
-		try {
-			return (Locator)clone();
-		}
-		catch (CloneNotSupportedException e) {
-			return null;
-		}
-	}
-	public void collectHeights(boolean advance) {
-		heights.add(new int [] { rowHeight, leading} );
-		rowCounter++;
-	}
-	public int getBaseline(int segmentHeight) {
-		return getBaseline(segmentHeight, true);
-
-	}
-	public int getBaseline(int segmentHeight, boolean text) {
-		if (heights!=null && heights.size()>rowCounter) {
-			int [] rdata = (int[])heights.get(rowCounter);
-			int rheight = rdata[0];
-			int rleading = rdata[1];
-			if (text)
-				return y + rheight - segmentHeight - rleading;
-			else
-				return y + rheight - segmentHeight;
-		}
-		return y;
-	}
-	
-	public void resetCaret() {
-		x = marginWidth + indent;
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/Paragraph.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/Paragraph.java
deleted file mode 100644
index 51c893c..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/Paragraph.java
+++ /dev/null
@@ -1,187 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import java.io.*;
-import java.util.*;
-
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.ui.forms.HyperlinkSettings;
-
-/**
- * @version 	1.0
- * @author
- */
-public class Paragraph {
-	public static final String HTTP = "http://";
-	private Vector segments;
-	private boolean addVerticalSpace = true;
-
-	public Paragraph(boolean addVerticalSpace) {
-		this.addVerticalSpace = addVerticalSpace;
-	}
-
-	public int getIndent() {
-		return 0;
-	}
-
-	public boolean getAddVerticalSpace() {
-		return addVerticalSpace;
-	}
-
-	/*
-	 * @see IParagraph#getSegments()
-	 */
-	public ParagraphSegment[] getSegments() {
-		if (segments == null)
-			return new ParagraphSegment[0];
-		return (ParagraphSegment[]) segments.toArray(
-			new ParagraphSegment[segments.size()]);
-	}
-
-	public void addSegment(ParagraphSegment segment) {
-		if (segments == null)
-			segments = new Vector();
-		segments.add(segment);
-	}
-	
-	public void parseRegularText(String text, boolean expandURLs,
-			HyperlinkSettings settings, String fontId) {
-		parseRegularText(text, expandURLs, settings, fontId, null);
-	}
-	
-	
-
-	public void parseRegularText(
-		String text,
-		boolean expandURLs,
-		HyperlinkSettings settings,
-		String fontId,
-		String colorId) {
-		if (text.length() == 0)
-			return;
-		if (expandURLs) {
-			int loc = text.indexOf(HTTP);
-
-			if (loc == -1)
-				addSegment(new TextSegment(text, fontId, colorId));
-			else {
-				int textLoc = 0;
-				while (loc != -1) {
-					addSegment(new TextSegment(text.substring(textLoc, loc), fontId, colorId));
-					boolean added = false;
-					for (textLoc = loc; textLoc < text.length(); textLoc++) {
-						char c = text.charAt(textLoc);
-						if (Character.isSpaceChar(c)) {
-							addHyperlinkSegment(text.substring(loc, textLoc), settings, fontId);
-							added = true;
-							break;
-						}
-					}
-					if (!added) {
-						// there was no space - just end of text
-						addHyperlinkSegment(text.substring(loc), settings, fontId);
-						break;
-					}
-					loc = text.indexOf(HTTP, textLoc);
-				}
-				if (textLoc < text.length()) {
-					addSegment(new TextSegment(text.substring(textLoc), fontId, colorId));
-				}
-			}
-		} else {
-			addSegment(new TextSegment(text, fontId, colorId));
-		}
-	}
-
-	private void addHyperlinkSegment(
-		String text,
-		HyperlinkSettings settings,
-		String fontId) {
-		HyperlinkSegment hs = new HyperlinkSegment(text, settings, fontId);
-		hs.setWordWrapAllowed(false);
-		hs.setHref(text);
-		addSegment(hs);
-	}
-	
-	protected void computeRowHeights(GC gc, int width, Locator loc, int lineHeight, Hashtable resourceTable) {
-		ParagraphSegment [] segments = getSegments();
-		// compute heights
-		Locator hloc = loc.create();
-		ArrayList heights = new ArrayList();
-		hloc.heights = heights;
-		hloc.rowCounter = 0;
-		for (int j = 0; j<segments.length; j++) {
-			ParagraphSegment segment = segments[j];
-			segment.advanceLocator(gc, width, hloc, resourceTable, true);
-		}
-		hloc.collectHeights(false);
-		loc.heights = heights;
-		loc.rowCounter = 0;
-	}
-
-	public void paint(
-		GC gc,
-		int width,
-		Locator loc,
-		int lineHeight,
-		Hashtable resourceTable,
-		HyperlinkSegment selectedLink) {
-		ParagraphSegment [] segments = getSegments();
-		if (segments.length > 0) {
-			if (segments[0] instanceof TextSegment
-				&& ((TextSegment) segments[0]).isSelectable())
-				loc.x += 1;
-			// compute heights
-			if (loc.heights==null)
-				computeRowHeights(gc, width, loc, lineHeight, resourceTable);
-			for (int j = 0; j < segments.length; j++) {
-				ParagraphSegment segment = segments[j];
-				boolean doSelect = false;
-				if (selectedLink != null && segment.equals(selectedLink))
-					doSelect = true;
-				segment.paint(gc, width, loc, resourceTable, doSelect);
-			}
-			loc.heights = null;
-			loc.y += loc.rowHeight;
-		} else {
-			loc.y += lineHeight;
-		}
-	}
-	public String getAccessibleText() {
-		ParagraphSegment [] segments = getSegments();
-		StringWriter swriter = new StringWriter();
-		PrintWriter writer = new PrintWriter(swriter);
-		for (int i = 0; i < segments.length; i++) {
-			ParagraphSegment segment = segments[i];
-			if (segment instanceof TextSegment) {
-				String text = ((TextSegment)segment).getText();
-				writer.print(text);
-			}
-		}
-		writer.println();
-		swriter.flush();
-		return swriter.toString();
-	}
-	public TextSegment findSegmentAt(int x, int y) {
-		if (segments!=null) {
-			for (int i=0; i<segments.size(); i++) {
-				ParagraphSegment segment = (ParagraphSegment)segments.get(i);
-				if (segment instanceof TextSegment) {
-					TextSegment textSegment = (TextSegment)segment;
-					if (textSegment.contains(x, y))
-						return textSegment;
-				}
-			}
-		}
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ParagraphSegment.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ParagraphSegment.java
deleted file mode 100644
index e47000b..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ParagraphSegment.java
+++ /dev/null
@@ -1,24 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import java.util.Hashtable;
-
-import org.eclipse.swt.graphics.GC;
-
-/**
- * @version 	1.0
- * @author
- */
-public abstract class ParagraphSegment {
-	public abstract boolean advanceLocator(GC gc, int wHint, Locator loc, Hashtable objectTable, boolean computeHeightOnly);
-	public abstract void paint(GC gc, int width, Locator loc, Hashtable resourceTable, boolean selected);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/TextSegment.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/TextSegment.java
deleted file mode 100644
index dbf599c..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/TextSegment.java
+++ /dev/null
@@ -1,393 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import java.text.BreakIterator;
-import java.util.*;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-
-/**
- * @version 	1.0
- * @author
- */
-public class TextSegment extends ParagraphSegment {
-	private String colorId;
-	private String fontId;
-	private String text;
-	protected boolean underline;
-	private boolean wrapAllowed = true;
-	protected Vector areaRectangles = new Vector();
-	
-	class AreaRectangle {
-		Rectangle rect;
-		int from, to;
-		public AreaRectangle(Rectangle rect, int from, int to) {
-			this.rect = rect;
-			this.from = from;
-			this.to = to;
-		}
-		public boolean contains(int x, int y) {
-			return rect.contains(x, y);
-		}
-		public String getText() {
-			if (from==0 && to== -1)
-				return TextSegment.this.getText();
-			if (from >0 && to == -1)
-				return TextSegment.this.getText().substring(from);
-			return TextSegment.this.getText().substring(from, to);
-		}
-	}
-	
-	public TextSegment(String text, String fontId) {
-		this(text, fontId, null);
-	}
-	
-	public TextSegment(String text, String fontId, String colorId) {
-		this.text = cleanup(text);
-		this.fontId = fontId;
-		this.colorId = colorId;
-	}
-
-	private String cleanup(String text) {
-		StringBuffer buf = new StringBuffer();
-		for (int i = 0; i < text.length(); i++) {
-			char c = text.charAt(i);
-			if (c == '\n' || c == '\r' || c=='\f') {
-				if (i > 0)
-					buf.append(' ');
-			} else
-				buf.append(c);
-		}
-		return buf.toString();
-	}
-
-	public void setWordWrapAllowed(boolean value) {
-		wrapAllowed = value;
-	}
-
-	public boolean isWordWrapAllowed() {
-		return wrapAllowed;
-	}
-	
-	public boolean isSelectable() {
-		return false;
-	}
-
-	public String getColorId() {
-		return colorId;
-	}
-
-	public String getText() {
-		return text;
-	}
-
-	void setText(String text) {
-		this.text = cleanup(text);
-	}
-
-	void setColorId(String colorId) {
-		this.colorId = colorId;
-	}
-
-	void setFontId(String fontId) {
-		this.fontId = fontId;
-	}
-
-	public boolean contains(int x, int y) {
-		for (int i = 0; i < areaRectangles.size(); i++) {
-			AreaRectangle ar = (AreaRectangle) areaRectangles.get(i);
-			if (ar.contains(x, y))
-				return true;
-		}
-		return false;
-	}
-	
-	public Rectangle getBounds() {
-		int x=0, y=0;
-		int width = 0, height = 0;
-		
-		for (int i=0; i<areaRectangles.size(); i++) {
-			AreaRectangle ar = (AreaRectangle)areaRectangles.get(i);
-			if (i==0) {
-				x = ar.rect.x;
-				y = ar.rect.y;
-			}
-			else
-				x = Math.min(ar.rect.x, x);
-			width = Math.max(ar.rect.width, width);
-			height += ar.rect.height;
-		}
-		return new Rectangle(x, y, width, height);
-	}
-
-	public boolean advanceLocator(
-		GC gc,
-		int wHint,
-		Locator locator,
-		Hashtable objectTable,
-		boolean computeHeightOnly) {
-		Font oldFont = null;
-		if (fontId != null) {
-			oldFont = gc.getFont();
-			Font newFont = (Font)objectTable.get(fontId);
-			if (newFont!=null) 
-				gc.setFont(newFont);
-		}
-		FontMetrics fm = gc.getFontMetrics();
-		int lineHeight = fm.getHeight();
-		boolean newLine=false;
-
-		if (wHint == SWT.DEFAULT || !wrapAllowed) {
-			Point extent = gc.textExtent(text);
-
-			if (wHint!=SWT.DEFAULT && locator.x + extent.x > wHint) {
-				// new line
-				locator.x = isSelectable()?locator.indent+1:locator.indent;
-				locator.y += locator.rowHeight;
-				if (computeHeightOnly)
-					locator.collectHeights(true);
-				locator.rowHeight = 0;
-				locator.leading = 0;
-				newLine = true;
-			}
-			int width = extent.x;
-			if (isSelectable()) width+=2;
-			locator.x += width;
-			locator.width = width;
-			locator.height = extent.y;
-			locator.rowHeight = Math.max(locator.rowHeight, extent.y);
-			locator.leading = Math.max(locator.leading, fm.getLeading());
-			return newLine;
-		}
-
-		BreakIterator wb = BreakIterator.getLineInstance();
-		wb.setText(text);
-
-		int saved = 0;
-		int last = 0;
-
-		int width = 0;
-
-		Point lastExtent = null;
-
-		for (int loc = wb.first(); loc != BreakIterator.DONE; loc = wb.next()) {
-			String word = text.substring(saved, loc);
-			Point extent = gc.textExtent(word);
-
-			if (locator.x + extent.x > wHint) {
-				// overflow
-				String savedWord = text.substring(saved, last);
-				if (lastExtent==null)
-				   lastExtent = gc.textExtent(savedWord);
-				int lineWidth = locator.x + lastExtent.x;
-				if (isSelectable()) lineWidth+=2;
-
-				saved = last;
-				locator.rowHeight = Math.max(locator.rowHeight, lastExtent.y);
-				locator.leading = Math.max(locator.leading, fm.getLeading());
-				if (computeHeightOnly) locator.collectHeights(true);
-				locator.x = isSelectable()?locator.indent+1:locator.indent;
-				locator.y += locator.rowHeight;
-				locator.rowHeight = 0;
-				locator.leading = 0;
-				width = Math.max(width, lineWidth);
-				newLine = true;
-			}
-			last = loc;
-			lastExtent = extent;
-		}
-		String lastString = text.substring(saved, last);
-		Point extent = gc.textExtent(lastString);
-		int lineWidth = extent.x;
-		if (isSelectable()) lineWidth += 2;
-		locator.x += lineWidth;
-		locator.width = width;
-		locator.height = lineHeight;
-		locator.rowHeight = Math.max(locator.rowHeight, extent.y);
-		locator.leading = Math.max(locator.leading, fm.getLeading());
-		if (oldFont != null) {
-			gc.setFont(oldFont);
-		}
-		return newLine;
-	}
-	
-	public void paint(
-		GC gc,
-		int width,
-		Locator locator,
-		Hashtable resourceTable,
-		boolean selected) {
-		Font oldFont = null;
-		Color oldColor = null;
-
-		areaRectangles.clear();
-
-		if (fontId != null) {
-			oldFont = gc.getFont();
-			Font newFont = (Font)resourceTable.get(fontId);
-			if (newFont!=null)
-				gc.setFont(newFont);
-		}
-		if (colorId != null) {
-			oldColor = gc.getForeground();
-			Color newColor = (Color)resourceTable.get(colorId);
-			if (newColor!=null) gc.setForeground(newColor);
-		}
-		FontMetrics fm = gc.getFontMetrics();
-		int lineHeight = fm.getHeight();
-		int descent = fm.getDescent();
-
-		if (!wrapAllowed) {
-			Point extent = gc.textExtent(text);
-			int ewidth = extent.x;
-			if (isSelectable()) ewidth += 2;
-
-			if (locator.x + ewidth > width) {
-				// new line
-				locator.resetCaret();
-				if (isSelectable()) locator.x += 1;
-				locator.y += locator.rowHeight;
-				locator.rowHeight = 0;
-				locator.rowCounter++;
-			}
-			int ly = locator.getBaseline(fm.getHeight()-fm.getLeading());
-			gc.drawString(text, locator.x, ly);
-			if (underline) {
-				int lineY = ly + lineHeight - descent + 1;
-				gc.drawLine(locator.x, lineY, locator.x + extent.x, lineY);
-			}
-			Rectangle br =
-				new Rectangle(locator.x - 1, ly, extent.x + 2, lineHeight - descent + 3);
-			areaRectangles.add(new AreaRectangle(br, 0, -1));
-			if (selected) {
-				if (colorId != null)
-					gc.setForeground(oldColor);
-				gc.drawFocus(br.x, br.y, br.width, br.height);
-			}
-
-			locator.x += ewidth;
-			locator.width = ewidth;
-			locator.height = lineHeight;
-			locator.rowHeight = Math.max(locator.rowHeight, extent.y);
-			if (oldFont != null) {
-				gc.setFont(oldFont);
-			}
-			if (oldColor != null) {
-				gc.setForeground(oldColor);
-			}
-			return;
-		}
-
-		BreakIterator wb = BreakIterator.getLineInstance();
-		wb.setText(text);
-
-		int saved = 0;
-		int last = 0;
-
-		for (int loc = wb.first(); loc != BreakIterator.DONE; loc = wb.next()) {
-			if (loc == 0)
-				continue;
-			String word = text.substring(saved, loc);
-			Point extent = gc.textExtent(word);
-			int ewidth = extent.x;
-			if (isSelectable()) ewidth += 2;
-
-			if (locator.x + ewidth > width) {
-				// overflow
-				String prevLine = text.substring(saved, last);
-				int ly = locator.getBaseline(lineHeight-fm.getLeading());
-				gc.drawString(prevLine, locator.x, ly, true);
-				Point prevExtent = gc.textExtent(prevLine);
-				int prevWidth = prevExtent.x;
-				if (isSelectable()) prevWidth += 2;
-
-				if (underline) {
-					int lineY = ly + lineHeight - descent + 1;
-					gc.drawLine(locator.x, lineY, locator.x + prevWidth, lineY);
-				}
-				Rectangle br =
-					new Rectangle(
-						locator.x - 1,
-						ly,
-						prevExtent.x + 2,
-						lineHeight - descent + 3);
-				if (selected) {
-					if (colorId != null)
-						gc.setForeground(oldColor);
-					gc.drawFocus(br.x, br.y, br.width, br.height);
-					Color newColor = (Color)resourceTable.get(colorId);
-					if (newColor != null)
-						gc.setForeground(newColor);
-				}
-				areaRectangles.add(new AreaRectangle(br, saved, last));
-				
-				locator.rowHeight = Math.max(locator.rowHeight, prevExtent.y);
-				locator.resetCaret();
-				if (isSelectable()) locator.x +=1;
-				locator.y += locator.rowHeight;
-				locator.rowCounter++;
-				locator.rowHeight = 0;
-				saved = last;
-			}
-			last = loc;
-		}
-		// paint the last line
-		String lastLine = text.substring(saved, last);
-		int ly = locator.getBaseline(lineHeight-fm.getLeading());
-		gc.drawString(lastLine, locator.x, ly, true);
-		Point lastExtent = gc.textExtent(lastLine);
-		int lastWidth = lastExtent.x;
-		if (isSelectable()) lastWidth += 2;
-		Rectangle br =
-			new Rectangle(
-				locator.x - 1,
-				ly,
-				lastExtent.x + 2,
-				lineHeight - descent + 3);
-		areaRectangles.add(new AreaRectangle(br, saved, last));
-		if (underline) {
-			int lineY = ly + lineHeight - descent + 1;
-			gc.drawLine(locator.x, lineY, locator.x + lastExtent.x, lineY);
-		}
-		if (selected) {
-			if (colorId != null)
-				gc.setForeground(oldColor);
-			gc.drawFocus(br.x, br.y, br.width, br.height);
-		}
-		locator.x += lastWidth;
-		locator.rowHeight = Math.max(locator.rowHeight, lastExtent.y);
-		if (oldFont != null) {
-			gc.setFont(oldFont);
-		}
-		if (oldColor != null) {
-			gc.setForeground(oldColor);
-		}
-	}
-	
-	public void paintFocus(GC gc, Color bg, Color fg, boolean selected) {
-		if (areaRectangles==null) return;
-		for (int i=0; i<areaRectangles.size(); i++) {
-			AreaRectangle areaRectangle = (AreaRectangle)areaRectangles.get(i);
-			Rectangle br = areaRectangle.rect;
-			if (selected) {
-				gc.setBackground(bg);
-				gc.setForeground(fg);
-				gc.drawFocus(br.x, br.y, br.width, br.height);
-			}
-			else {
-				gc.setForeground(bg);
-				gc.drawRectangle(br.x, br.y, br.width-1, br.height-1);
-			}
-		}
-	}	
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/WrappedPageBook.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/WrappedPageBook.java
deleted file mode 100644
index f574647..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/WrappedPageBook.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.forms.widgets.ILayoutExtension;
-
-/**
- * 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 WrappedPageBook extends Composite {
-	class PageBookLayout extends Layout implements ILayoutExtension {
-		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 {
-				result = new Point(0, 0);
-			}
-			return result;
-		}
-		protected void layout(Composite composite, boolean flushCache) {
-			if (currentPage != null) {
-				currentPage.setBounds(composite.getClientArea());
-			}
-		}
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.ui.forms.widgets.ILayoutExtension#computeMaximumWidth(org.eclipse.swt.widgets.Composite,
-		 *      boolean)
-		 */
-		public int computeMaximumWidth(Composite parent, boolean changed) {
-			return computeSize(parent, SWT.DEFAULT, SWT.DEFAULT, changed).x;
-		}
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.ui.forms.widgets.ILayoutExtension#computeMinimumWidth(org.eclipse.swt.widgets.Composite,
-		 *      boolean)
-		 */
-		public int computeMinimumWidth(Composite parent, boolean changed) {
-			return computeSize(parent, 0, SWT.DEFAULT, changed).x;
-		}
-	}
-	/**
-	 * 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 WrappedPageBook(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);
-				page.setVisible(true);
-			}
-		}
-		// hide old *after* new page has been made visible in order to avoid
-		// flashing
-		if (oldPage != null && !oldPage.isDisposed())
-			oldPage.setVisible(false);
-	}
-	public Point computeSize(int wHint, int hHint, boolean changed) {
-		return ((PageBookLayout) getLayout()).computeSize(this, wHint, hHint,
-				changed);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/.classpath b/bundles/org.eclipse.ui.ide/.classpath
deleted file mode 100644
index 4eee819..0000000
--- a/bundles/org.eclipse.ui.ide/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" path="extensions"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.ui.ide/.cvsignore b/bundles/org.eclipse.ui.ide/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/bundles/org.eclipse.ui.ide/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/.project b/bundles/org.eclipse.ui.ide/.project
deleted file mode 100644
index bd1a295..0000000
--- a/bundles/org.eclipse.ui.ide/.project
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.ide</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.core.resources</project>
-		<project>org.eclipse.core.runtime.compatibility</project>
-		<project>org.eclipse.help</project>
-		<project>org.eclipse.jface</project>
-		<project>org.eclipse.ui</project>
-		<project>org.eclipse.ui.views</project>
-		<project>org.eclipse.ui.workbench</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.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.ui.ide/about.html b/bundles/org.eclipse.ui.ide/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/bundles/org.eclipse.ui.ide/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.ide/build.properties b/bundles/org.eclipse.ui.ide/build.properties
deleted file mode 100644
index e678645..0000000
--- a/bundles/org.eclipse.ui.ide/build.properties
+++ /dev/null
@@ -1,20 +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 Corporation - initial API and implementation
-###############################################################################
-
-bin.includes = plugin.properties,\
-               plugin.xml,\
-               about.html,\
-               icons/,\
-               *.jar
-src.includes = about.html,\
-               schema/
-source.ide.jar = extensions/,\
-                 src/
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/ICapabilityInstallWizard.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/ICapabilityInstallWizard.java
deleted file mode 100644
index 3bc10e9..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/ICapabilityInstallWizard.java
+++ /dev/null
@@ -1,65 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.ui.IWorkbench;
-
-/**
- * Interface for project capability install wizard. The wizard is
- * responsible for collecting any necessary information from the
- * user.
- * <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>
- * <p>
- * <b>NOTE:</b> This is experimental API, which may be changed or removed at any point
- * in time. This API should not be called, overridden or otherwise used in production 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.ide/extensions/org/eclipse/ui/ICapabilityUninstallWizard.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/ICapabilityUninstallWizard.java
deleted file mode 100644
index 81fd410..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/ICapabilityUninstallWizard.java
+++ /dev/null
@@ -1,72 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.ui.IWorkbench;
-
-/**
- * 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>
- * <p>
- * <b>NOTE:</b> This is experimental API, which may be changed or removed at any point
- * in time. This API should not be called, overridden or otherwise used in production 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.ide/extensions/org/eclipse/ui/IContributorResourceAdapter.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IContributorResourceAdapter.java
deleted file mode 100644
index 71faf98..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IContributorResourceAdapter.java
+++ /dev/null
@@ -1,39 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui;
-
-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.
-	 * 
-	 * @param adaptable the adaptable being queried
-	 * @return a resource, or <code>null</code> if there
-	 * 	is no adapted resource for this type
-	 */
-	public IResource getAdaptedResource(IAdaptable adaptable);
-
-}
-
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IFileEditorInput.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IFileEditorInput.java
deleted file mode 100644
index 34a0a6c..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IFileEditorInput.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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui;
-
-import org.eclipse.core.resources.IFile;
-
-/**
- * This interface defines a file-oriented input to an editor.
- * <p>
- * Clients implementing this editor input interface should override
- * <code>Object.equals(Object)</code> to answer true for two inputs
- * that are the same. The <code>IWorbenchPage.openEditor</code> APIs
- * are dependent on this to find an editor with the same input.
- * </p><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.
- * <p>
- * The <code>IFile</code> returned can be a handle to a resource
- * that does not exist in the workspace. As such, an editor should
- * provide appropriate feedback to the user instead of simply failing
- * during input validation. For example, a text editor could open
- * in read-only mode with a message in the text area to inform the
- * user that the file does not exist.
- * </p>
- *
- * @return the underlying file
- */
-public IFile getFile();
-}
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerActionFilter.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerActionFilter.java
deleted file mode 100644
index f589a86..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerActionFilter.java
+++ /dev/null
@@ -1,81 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui;
-
-import org.eclipse.ui.IActionFilter;
-
-
-/**
- * Describes the public attributes for a marker and the acceptable 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$
-	
-	/**
-	 * An attribute indicating the type of resource associated with the marker
-	 * (value <code>"resourceType"</code>). The attribute value in xml must be
-	 * one of <code>IResource.FILE, IResource.PROJECT, IResource.FOLDER,
-	 * or IResource.ROOT</code>.
-	 */
-	public static final String RESOURCE_TYPE = "resourceType"; //$NON-NLS-1$
-
-}
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerHelpRegistry.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerHelpRegistry.java
deleted file mode 100644
index 8428d0f..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerHelpRegistry.java
+++ /dev/null
@@ -1,58 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui;
-
-import org.eclipse.core.resources.IMarker;
- 
-/** 
- * 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.ide/extensions/org/eclipse/ui/IMarkerResolution.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerResolution.java
deleted file mode 100644
index ca44b4e..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerResolution.java
+++ /dev/null
@@ -1,36 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui;
-
-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.ide/extensions/org/eclipse/ui/IMarkerResolution2.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerResolution2.java
deleted file mode 100644
index e615e09..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerResolution2.java
+++ /dev/null
@@ -1,41 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui;
-
-import org.eclipse.swt.graphics.Image;
- 
-/** 
- * Extends <code>IMarkerResolution</code>.  This interface should be used 
- * in place of <code>IMarkerResolution</code> if a description and/or image 
- * are desired.
- * 
- * @since 3.0
- */
-public interface IMarkerResolution2 extends IMarkerResolution {
-	
-	/**
-	 * Returns optional additional information about the resolution.
-	 * The additional information will be presented to assist the user
-	 * in deciding if the selected proposal is the desired choice.
-	 *
-	 * @return the additional information or <code>null</code>
-	 */
-	public String getDescription();
-	
-	/**
-	 * Returns the image to be displayed in the list of resolutions.
-	 * The image would typically be shown to the left of the display string.
-	 *
-	 * @return the image to be shown or <code>null</code> if no image is desired
-	 */
-	public Image getImage();
-}
-
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerResolutionGenerator.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerResolutionGenerator.java
deleted file mode 100644
index 3d1e90a..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerResolutionGenerator.java
+++ /dev/null
@@ -1,31 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui;
-
-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.ide/extensions/org/eclipse/ui/IMarkerResolutionGenerator2.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerResolutionGenerator2.java
deleted file mode 100644
index a5c9774..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerResolutionGenerator2.java
+++ /dev/null
@@ -1,33 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui;
-
-import org.eclipse.core.resources.IMarker;
- 
-/** 
- * A marker resolution generator should implement this interface rather than   
- * <code>IMarkerResolutionGenerator</code> if it can determine whether a particular marker 
- * has any resolutions more efficiently than computing all the resolutions.
- * 
- * @since 2.1
- */
-public interface IMarkerResolutionGenerator2 extends IMarkerResolutionGenerator {
-
-    /** 
-     * Returns whether there are any resolutions for the given marker.
-     * 
-     * @return <code>true</code> if there are resolutions for the given marker,
-     *   <code>false</code> if not
-     */ 
-    public boolean hasResolutions(IMarker marker); 
-}
-
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IProjectActionFilter.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IProjectActionFilter.java
deleted file mode 100644
index 87070bd..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IProjectActionFilter.java
+++ /dev/null
@@ -1,43 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui;
-
-import org.eclipse.ui.IResourceActionFilter;
-
-
-/**
- * Describes the public attributes for a project and the acceptable 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 org.eclipse.ui.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.ide/extensions/org/eclipse/ui/IResourceActionFilter.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IResourceActionFilter.java
deleted file mode 100644
index deb28f4..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IResourceActionFilter.java
+++ /dev/null
@@ -1,119 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui;
-
-
-/**
- * Describes the public attributes for a resource and the acceptable 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 org.eclipse.ui.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$
-	
-	/**
-	 * An attribute indicating that this is an xml file
-	 * and we should ensure that the first tag (or top-level
-	 * tag) has this name.
-	 * @since 3.0
-	 * @deprecated Please use content types instead.
-	 */
-	public static final String XML_FIRST_TAG = "xmlFirstTag"; //$NON-NLS-1$
-	
-	/**
-	 * An attribute indicating that this is an xml file and we should ensure that the DTD
-	 * definition in this xml file is the value supplied with this attribute.
-	 * @since 3.0
-	 * @deprecated Please use content types instead.
-	 */
-	public static final String XML_DTD_NAME = "xmlDTDName";	 //$NON-NLS-1$
-	
-	/**
-	 * An attribute indicating that this is a file, and we are looking to verify
-	 * that the file matches the content type matching the given identifier.
-	 * The identifier is provided in the value.
-	 * @since 3.0
-	 */
-	public static final String CONTENT_TYPE_ID = "contentTypeId"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IStorageEditorInput.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IStorageEditorInput.java
deleted file mode 100644
index 0c070c0..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IStorageEditorInput.java
+++ /dev/null
@@ -1,46 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui;
-
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.ui.IEditorInput;
-
-/**
- * Interface for a <code>IStorage</code> input to an editor.
- * <p>
- * Clients implementing this editor input interface should override
- * <code>Object.equals(Object)</code> to answer true for two inputs
- * that are the same. The <code>IWorbenchPage.openEditor</code> APIs
- * are dependent on this to find an editor with the same input.
- * </p><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><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.ide/extensions/org/eclipse/ui/ResourceWorkingSetFilter.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/ResourceWorkingSetFilter.java
deleted file mode 100644
index 6fe4e55..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/ResourceWorkingSetFilter.java
+++ /dev/null
@@ -1,158 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.ui.IContainmentAdapter;
-import org.eclipse.ui.IWorkingSet;
-
-/**
- * A resource working set filter filters resources from a view that 
- * are neither a parent nor children of a working set element.
- * 
- * @since 2.0
- */
-public class ResourceWorkingSetFilter extends ViewerFilter {
-	private IWorkingSet workingSet = null;
-	private IAdaptable[] cachedWorkingSet = null;
-
-	/**
-	 * Returns the active working set the filter is working with.
-	 * 
-	 * @return the active working set 
-	 */
-	public IWorkingSet getWorkingSet() {
-		return workingSet;
-	}
-	/**
-	 * Sets the active working set.
-	 * 
-	 * @param workingSet the working set the filter should work with
-	 */
-	public void setWorkingSet(IWorkingSet workingSet) {
-		this.workingSet = workingSet;
-	}
-	/**
-	 * Determines if an element should be filtered out.
-	 * 
-	 * @see ViewerFilter#select(Viewer, Object, Object)
-	 */
-	public boolean select(Viewer viewer, Object parentElement, Object element) {
-		IResource resource = null;
-		
-		if (workingSet == null) {
-			return true;
-		}			
-		if (element instanceof IResource) {
-			resource = (IResource) element;
-		}
-		else						
-		if (element instanceof IAdaptable) {
-			IAdaptable adaptable = (IAdaptable) element;
-			resource = (IResource) adaptable.getAdapter(IResource.class);
-		}
-		if (resource != null) {
-			return isEnclosed(resource);
-		}
-		return true;
-	}
-	/**
-	 * Returns if the given resource is enclosed by a working set element.
-	 * The IContainmentAdapter of each working set element is used for the
-	 * containment test. If there is no IContainmentAdapter for a working 
-	 * set element, a simple resource based test is used. 
-	 * 
-	 * @param element resource to test for enclosure by a working set
-	 * 	element 
-	 * @return true if element is enclosed by a working set element and 
-	 * 	false otherwise. 
-	 */
-	private boolean isEnclosed(IResource element) {
-		IPath elementPath = element.getFullPath();
-		IAdaptable[] workingSetElements = cachedWorkingSet;
-		
-		// working set elements won't be cached if select is called
-		// directly, outside filter. fixes bug 14500.
-		if (workingSetElements == null)
-			workingSetElements = workingSet.getElements();
-
-		for (int i = 0; i < workingSetElements.length; i++) {
-			IAdaptable workingSetElement = workingSetElements[i];
-			IContainmentAdapter containmentAdapter = (IContainmentAdapter) workingSetElement.getAdapter(IContainmentAdapter.class);
-			
-			// if there is no IContainmentAdapter defined for the working  
-			// set element type fall back to using resource based  
-			// containment check 
-			if (containmentAdapter != null) {
-				if (containmentAdapter.contains(workingSetElement, element, IContainmentAdapter.CHECK_CONTEXT | IContainmentAdapter.CHECK_IF_CHILD | IContainmentAdapter.CHECK_IF_ANCESTOR | IContainmentAdapter.CHECK_IF_DESCENDANT))
-					return true;
-			} else if (isEnclosedResource(element, elementPath, workingSetElement)) {
-				return true;
-			}
-		}
-		return false;
-	}
-	/**
-	 * Returns if the given resource is enclosed by a working set element.
-	 * A resource is enclosed if it is either a parent of a working set 
-	 * element, a child of a working set element or a working set element
-	 * itself.
-	 * Simple path comparison is used. This is only guaranteed to return
-	 * correct results for resource working set elements. 
-	 * 
-	 * @param element resource to test for enclosure by a working set
-	 * 	element
-	 * @param elementPath full, absolute path of the element to test 
-	 * @return true if element is enclosed by a working set element and 
-	 * 	false otherwise. 
-	 */
-	private boolean isEnclosedResource(IResource element, IPath elementPath, IAdaptable workingSetElement) {
-		IResource workingSetResource = null;
-		
-		if (workingSetElement.equals(element))
-			return true;
-		if (workingSetElement instanceof IResource) {
-			workingSetResource = (IResource) workingSetElement;
-		}
-		else {
-			workingSetResource = (IResource) workingSetElement.getAdapter(IResource.class);
-		}	
-		if (workingSetResource != null) {
-			IPath resourcePath = workingSetResource.getFullPath();
-			if (resourcePath.isPrefixOf(elementPath))
-				return true;
-			if (elementPath.isPrefixOf(resourcePath))
-				return true;
-		}
-		return false;
-	}
-	/**
-	 * Filters out elements that are neither a parent nor a child of 
-	 * a working set element.
-	 * 
-	 * @see ViewerFilter#filter(Viewer, Object, Object[])
-	 */
-	public Object[] filter(Viewer viewer, Object parent, Object[] elements) {
-		Object[] result = null;
-		if (workingSet != null)
-			cachedWorkingSet = workingSet.getElements();
-		try {
-			result = super.filter(viewer, parent, elements);
-		} finally {
-			cachedWorkingSet = null;
-		}
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/AddBookmarkAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/AddBookmarkAction.java
deleted file mode 100644
index 191836b..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/AddBookmarkAction.java
+++ /dev/null
@@ -1,176 +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 Corporation - initial API and implementation 
- *   Sebastian Davids <sdavids@gmx.de>
- *     - Fix for bug 20510 - Add Bookmark action has wrong label in navigator or
- *       packages view
-*********************************************************************/
-package org.eclipse.ui.actions;
-
-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.ide.IHelpContextIds;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-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(IDEWorkbenchMessages.getString("AddBookmarkLabel")); //$NON-NLS-1$
-		setId(ID);
-		if (shell == null) {
-			throw new IllegalArgumentException();
-		}
-		this.shell = shell;
-		this.promptForName = promptForName;
-		setToolTipText(IDEWorkbenchMessages.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 i = selection.iterator(); i.hasNext();) {
-			Object o = i.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) {
-			IDEWorkbenchPlugin.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) {
-		// @issue typed selections
-		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 = IDEWorkbenchMessages.getString("AddBookmarkDialog.title"); //$NON-NLS-1$
-		String message = IDEWorkbenchMessages.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.ide/extensions/org/eclipse/ui/actions/AddTaskAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/AddTaskAction.java
deleted file mode 100644
index fe2cbb2..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/AddTaskAction.java
+++ /dev/null
@@ -1,97 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.ui.views.markers.internal.DialogTaskProperties;
-
-/**
- * Standard action for adding a task to the currently selected file
- * resource(s).
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * @since 2.1
- */
-public class AddTaskAction extends SelectionListenerAction {
-	/**
-	 * The id of this action.
-	 */
-	public static final String ID = PlatformUI.PLUGIN_ID + ".AddTaskAction";//$NON-NLS-1$
-	/**
-	 * The shell in which to show any dialogs.
-	 */
-	private Shell shell;
-
- 	/**
- 	 * Creates a new instance of the receiver.
- 	 * 
- 	 * @param shell shell to use to show any dialogs
- 	 */
-	public AddTaskAction(Shell shell) {
-		super(IDEWorkbenchMessages.getString("AddTaskLabel")); //$NON-NLS-1$		
-		setId(ID);
-		this.shell = shell;
-		Assert.isNotNull(shell);
-		setToolTipText(IDEWorkbenchMessages.getString("AddTaskToolTip")); //$NON-NLS-1$		
-		WorkbenchHelp.setHelp(this, IHelpContextIds.ADD_TASK_ACTION);
-	}
-	private IResource getElement(IStructuredSelection selection) {
-		if (selection.size() != 1)
-			return null;
-
-		Object element = selection.getFirstElement();
-		IResource resource = null;
-		if (element instanceof IResource)
-			resource = (IResource) element;
-		if (element instanceof IAdaptable)
-			resource = (IResource) ((IAdaptable) element).getAdapter(IResource.class);
-
-		if (resource != null && resource instanceof IProject) {
-			IProject project = (IProject) resource;
-			if (project.isOpen() == false)
-				resource = null;
-		}			
-		return resource;		
-	}	
-	/* (non-Javadoc)
-	 * Method declared on IAction.
-	 */
-	public void run() {
-		IResource resource = getElement(getStructuredSelection());
-		if (resource != null) {
-			DialogTaskProperties dialog= new DialogTaskProperties(shell);
-			dialog.setResource(resource);
-			dialog.open();
-		}
-	}
-
-	/**
-	 * The <code>AddTaskAction</code> implementation of this
-	 * <code>SelectionListenerAction</code> method enables the action only
-	 * if the selection contains a single resource and the resource is
-	 * not a closed project.
-	 * 
-	 * @param selection the selection to update the enabled state for
-	 */
-	protected boolean updateSelection(IStructuredSelection selection) {
-		return super.updateSelection(selection) && getElement(selection) != null;
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/BuildAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/BuildAction.java
deleted file mode 100644
index c203e76..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/BuildAction.java
+++ /dev/null
@@ -1,283 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.ide.*;
-
-/**
- * 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(IDEWorkbenchMessages.getString("BuildAction.text")); //$NON-NLS-1$
-		setToolTipText(IDEWorkbenchMessages.getString("BuildAction.toolTip")); //$NON-NLS-1$
-		setId(ID_BUILD);
-		WorkbenchHelp.setHelp(this, IHelpContextIds.INCREMENTAL_BUILD_ACTION);
-	}
-	else {
-		setText(IDEWorkbenchMessages.getString("RebuildAction.text")); //$NON-NLS-1$
-		setToolTipText(IDEWorkbenchMessages.getString("RebuildAction.tooltip")); //$NON-NLS-1$
-		setId(ID_REBUILD_ALL);
-		WorkbenchHelp.setHelp(this, IHelpContextIds.FULL_BUILD_ACTION);
-	}
-		
-	this.buildType = type;
-}
-/**
- * Adds the given project and all of its prerequisities, transitively,
- * to the provided set.
- */
-private void addAllProjects(IProject project, HashSet projects) {
-	if (project == null || !project.isAccessible() || projects.contains(project))
-		return;
-	projects.add(project);
-	try {
-		IProject[] preReqs = project.getReferencedProjects();
-		for (int i = 0; i < preReqs.length; i++)
-			addAllProjects(preReqs[i], projects);
-	} catch (CoreException e) {
-		//ignore inaccessible projects
-	}
-}
-
-/* (non-Javadoc)
- * Method declared on WorkspaceAction.
- */
-protected List getActionResources() {
-	return getProjectsToBuild();
-}
-
-/* (non-Javadoc)
- * Method declared on WorkspaceAction.
- */
-String getOperationMessage() {
-	return IDEWorkbenchMessages.getString("BuildAction.operationMessage"); //$NON-NLS-1$
-}
-/* (non-Javadoc)
- * Method declared on WorkspaceAction.
- */
-String getProblemsMessage() {
-	return IDEWorkbenchMessages.getString("BuildAction.problemMessage"); //$NON-NLS-1$
-}
-/* (non-Javadoc)
- * Method declared on WorkspaceAction.
- */
-String getProblemsTitle() {
-	return IDEWorkbenchMessages.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 = IDEWorkbenchPlugin.getDefault().getPreferenceStore();
-	return store.getBoolean(IDEInternalPreferences.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) {
-	//recursively compute project prerequisites
-	HashSet toBuild = new HashSet();
-	for (Iterator it = resourceCollection.iterator(); it.hasNext();)
-		addAllProjects((IProject)it.next(), toBuild);
-
-	// Optimize...
-	if (toBuild.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(toBuild.size());
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		for (int i = 0; i < orderedNames.length; i++) {
-			IProject handle = root.getProject(orderedNames[i]);
-			if (toBuild.contains(handle)) {
-				orderedProjects.add(handle);
-				toBuild.remove(handle);
-			}
-		}
-		//Add anything not specified before we return
-		orderedProjects.addAll(toBuild);
-		return orderedProjects;
-	}
-
-	// Try the project prerequisite order then
-	IProject[] projects = new IProject[toBuild.size()];
-	projects = (IProject[]) toBuild.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();
-
-	runInBackground(ResourcesPlugin.getWorkspace().getRuleFactory().buildRule());
-}
-/**
- * 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 !ResourcesPlugin.getWorkspace().isAutoBuilding() && 
-		super.updateSelection(s) && getProjectsToBuild().size() > 0;
-}
-}
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CloseResourceAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CloseResourceAction.java
deleted file mode 100644
index 98f7e56..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CloseResourceAction.java
+++ /dev/null
@@ -1,251 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-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.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-import org.eclipse.ui.model.AdaptableList;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchPartLabelProvider;
-
-/**
- * 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, IDEWorkbenchMessages.getString("CloseResourceAction.text")); //$NON-NLS-1$
-		setId(ID);
-		setToolTipText(IDEWorkbenchMessages.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(saveEditors);
-		ListSelectionDialog dlg =
-			new ListSelectionDialog(getShell(), input, new WorkbenchContentProvider(), new WorkbenchPartLabelProvider(), IDEWorkbenchMessages.getString("EditorManager.saveResourcesMessage")); //$NON-NLS-1$
-
-		dlg.setInitialSelections(saveEditors.toArray(new Object[saveEditors.size()]));
-		dlg.setTitle(IDEWorkbenchMessages.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 IDEWorkbenchMessages.getString("CloseResourceAction.problemMessage"); //$NON-NLS-1$
-	}
-	/* (non-Javadoc)
-	 * Method declared on WorkspaceAction.
-	 */
-	String getProblemsTitle() {
-		return IDEWorkbenchMessages.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;
-						}
-					}
-				}
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyFilesAndFoldersOperation.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyFilesAndFoldersOperation.java
deleted file mode 100644
index 80beaa9..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyFilesAndFoldersOperation.java
+++ /dev/null
@@ -1,1260 +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 Corporation - initial API and 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.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.StatusUtil;
-import org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog;
-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;
-
-	/**
-	 * Whether or not the copy has been canceled by the user.
-	 */
-	private boolean canceled = false;
-
-	/**
-	 * Overwrite all flag.
-	 */
-	private boolean alwaysOverwrite = 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 = IDEWorkbenchMessages.format("CopyFilesAndFoldersOperation.copyNameTwoArgs", new Object[] { new Integer(counter), resourceName }); //$NON-NLS-1$
-			else
-				nameSegment = IDEWorkbenchMessages.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 IDEWorkbenchMessages.format(
-			"CopyFilesAndFoldersOperation.deepCopyQuestion", //$NON-NLS-1$
-			new Object[] {source.getFullPath().makeRelative()});
-	}
-	/**
-	 * 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 = IDEWorkbenchMessages.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++) {
-			IResource resource = resources[i]; 
-			if (resource != null) {
-				IPath location = resource.getLocation();
-				String message = null; 
-				if (location != null) {
-					File file = location.toFile();
-					if (file.exists() == false) {
-						if (resource.isLinked()) {
-							message = IDEWorkbenchMessages.format(
-								"CopyFilesAndFoldersOperation.missingLinkTarget", 	//$NON-NLS-1$
-								new Object[] {resource.getName()});
-						} else {
-							message = IDEWorkbenchMessages.format(
-								"CopyFilesAndFoldersOperation.resourceDeleted",	//$NON-NLS-1$
-								new Object[] {resource.getName()});				
-						}					
-					}
-				}
-				if (message != null) {
-					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 source the source resource
-	 * @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 source, 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};
-				String labels[] = new String[] {
-					IDialogConstants.YES_LABEL,
-					IDialogConstants.YES_TO_ALL_LABEL,
-					IDialogConstants.NO_LABEL,
-					IDialogConstants.CANCEL_LABEL};
-
-				if (destination.getType() == IResource.FOLDER) {
-					if (homogenousResources(source, destination)) {
-						message = IDEWorkbenchMessages.format(
-							"CopyFilesAndFoldersOperation.overwriteMergeQuestion", //$NON-NLS-1$
-							new Object[] { destination.getFullPath().makeRelative()});
-					} else {
-						if (destination.isLinked()) {
-							message = IDEWorkbenchMessages.format(
-								"CopyFilesAndFoldersOperation.overwriteNoMergeLinkQuestion", //$NON-NLS-1$
-								new Object[] { destination.getFullPath().makeRelative()});
-						}
-						else {
-							message = IDEWorkbenchMessages.format(
-								"CopyFilesAndFoldersOperation.overwriteNoMergeNoLinkQuestion", //$NON-NLS-1$
-								new Object[] { destination.getFullPath().makeRelative()});
-						}
-						resultId = new int[] {
-							IDialogConstants.YES_ID,
-							IDialogConstants.NO_ID,
-							IDialogConstants.CANCEL_ID};
-						labels = new String[] {
-							IDialogConstants.YES_LABEL,
-							IDialogConstants.NO_LABEL,
-							IDialogConstants.CANCEL_LABEL};
-					}					
-				} else {
-					message = IDEWorkbenchMessages.format(
-						"CopyFilesAndFoldersOperation.overwriteQuestion", //$NON-NLS-1$
-						new Object[] { destination.getFullPath().makeRelative()});
-				}
-				MessageDialog dialog = new MessageDialog(
-					shell, 
-					IDEWorkbenchMessages.getString("CopyFilesAndFoldersOperation.resourceExists"), //$NON-NLS-1$
-					null,
-					message,
-					MessageDialog.QUESTION,
-					labels,
-					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) {
-					if (file.isReadOnly()) {
-						existing.add(file);
-					}
-					if (getValidateConflictSource()) {
-						IFile sourceFile = getFile(source);
-						if (sourceFile != null) {
-							existing.add(sourceFile);
-						}
-					}
-				}
-			}
-		}
-	} 
-	/**
-	 * 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 destination destination to which resources will be copied
-	 * @param subMonitor a progress monitor for showing progress and for cancelation
-	 */
-	protected void copy(IResource[] resources, 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();
-			IResource existing = workspaceRoot.findMember(destinationPath);			
-			if (source.getType() == IResource.FOLDER && existing != null) {
-				// the resource is a folder and it exists in the destination, copy the
-				// children of the folder.
-				if (homogenousResources(source, existing)) {
-					IResource[] children = ((IContainer) source).members();
-					copy(children, destinationPath, subMonitor);
-				}
-				else {
-					// delete the destination folder, copying a linked folder
-					// over an unlinked one or vice versa. Fixes bug 28772. 
-					delete(existing, new SubProgressMonitor(subMonitor, 0));
-					source.copy(destinationPath, IResource.SHALLOW, new SubProgressMonitor(subMonitor, 0));					
-				}
-			} else {
-				if (existing != null) {
-					if (homogenousResources(source, existing))			
-						copyExisting(source, existing, subMonitor);
-					else  {
-						// Copying a linked resource over unlinked or vice versa.
-						// Can't use setContents here. Fixes bug 28772.
-						delete(existing, new SubProgressMonitor(subMonitor, 0));
-						source.copy(destinationPath, IResource.SHALLOW, new SubProgressMonitor(subMonitor, 0));
-					}						
-				} else {
-					source.copy(destinationPath, IResource.SHALLOW, 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
-	 * @throws CoreException setContents failed
-	 */
-	private void copyExisting(IResource source, IResource existing, IProgressMonitor subMonitor) throws CoreException {
-		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));
-			}
-		}
-	}
-	/**
-	 * 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];
-
-		// 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;
-
-				// Fix for bug 31116. Do not provide a task name when
-				// creating the task.
-				monitor.beginTask("", 100); //$NON-NLS-1$
-				monitor.setTaskName(getOperationTitle());
-				monitor.worked(10); // show some initial progress
-
-				// Checks only required if this is an exisiting container path.
-				boolean copyWithAutoRename = false;
-				IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-				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(IDEWorkbenchMessages.getString("CopyFilesAndFoldersOperation.nameCollision")); //$NON-NLS-1$
-							return;
-						}
-						if (validateEdit(container, copyResources) == false)
-							return;
-					}
-				}
-
-				errorStatus = null;
-				if (copyResources.length > 0) {
-					if (copyWithAutoRename)
-						performCopyWithAutoRename(copyResources, destinationPath, monitor);
-					else
-						performCopy(copyResources, destinationPath, monitor);
-				}
-				copiedResources[0] = copyResources;
-			}
-		};
-
-		try {
-			new ProgressMonitorJobsDialog(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(IDEWorkbenchMessages.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 ProgressMonitorJobsDialog(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(IDEWorkbenchMessages.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[] = { "" }; //$NON-NLS-1$
-
-		parentShell.getDisplay().syncExec(new Runnable() {
-			public void run() {
-				IInputValidator validator = new IInputValidator() {
-					public String isValid(String string) {
-						if (resource.getName().equals(string)) {
-							return IDEWorkbenchMessages.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 IDEWorkbenchMessages.getString("CopyFilesAndFoldersOperation.nameExists"); //$NON-NLS-1$
-						}
-						return null;
-					}
-				};
-
-				InputDialog dialog = new InputDialog(parentShell, IDEWorkbenchMessages.getString("CopyFilesAndFoldersOperation.inputDialogTitle"), //$NON-NLS-1$
-				IDEWorkbenchMessages.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 task title for this operation's progress dialog.
-	 *
-	 * @return the task title
-	 */
-	protected String getOperationTitle() {
-		return IDEWorkbenchMessages.getString("CopyFilesAndFoldersOperation.operationTitle"); //$NON-NLS-1$
-	}
-	/**
-	 * Returns the message for this operation's problems dialog.
-	 *
-	 * @return the problems message
-	 */
-	protected String getProblemsMessage() {
-		return IDEWorkbenchMessages.getString("CopyFilesAndFoldersOperation.problemMessage"); //$NON-NLS-1$
-	}
-	/**
-	 * Returns the title for this operation's problems dialog.
-	 *
-	 * @return the problems dialog title
-	 */
-	protected String getProblemsTitle() {
-		return IDEWorkbenchMessages.getString("CopyFilesAndFoldersOperation.copyFailedTitle"); //$NON-NLS-1$
-	}
-	/**
-	 * Returns whether the source file in a destination collision
-	 * will be validateEdited together with the collision itself.
-	 * Returns false. Should return true if the source file is to be
-	 * deleted after the operation.
-	 * 
-	 * @return boolean <code>true</code> if the source file in a 
-	 * 	destination collision should be validateEdited. 
-	 *	<code>false</code> if only the destination should be validated.  
-	 */
-	protected boolean getValidateConflictSource() {
-		return false;
-	}
-	/**
-	 * Returns whether the given resources are either both linked
-	 * or both unlinked.
-	 * 
-	 * @param source source resource
-	 * @param destination destination resource
-	 * @return boolean <code>true</code> if both resources are either 
-	 * 	linked or unlinked. <code>false</code> otherwise. 
-	 */
-	protected boolean homogenousResources(IResource source, IResource destination) {
-		boolean isSourceLinked = source.isLinked();
-		boolean isDestinationLinked = destination.isLinked();
-
-		return (isSourceLinked && isDestinationLinked || 
-				isSourceLinked == false && isDestinationLinked == false);									
-	}
-	/**
-	 * 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 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, IPath destination, IProgressMonitor monitor) {
-		try {
-			ContainerGenerator generator = new ContainerGenerator(destination);
-			generator.generateContainer(new SubProgressMonitor(monitor, 10));
-			IProgressMonitor subMonitor = new SubProgressMonitor(monitor, 75);
-			copy(resources, 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(getOperationTitle(), 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 {
-						source.copy(destinationPath, IResource.SHALLOW, 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 = IDEWorkbenchMessages.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, IDEWorkbenchMessages.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, IDEWorkbenchMessages.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(IDEWorkbenchMessages.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 IDEWorkbenchMessages.getString("CopyFilesAndFoldersOperation.destinationAccessError"); //$NON-NLS-1$
-		}
-		String destinationMessage = validateDestinationLocation(destination);
-		if (destinationMessage != null) {
-			return destinationMessage;
-		}
-		IContainer firstParent = null;
-		IPath destinationLocation = destination.getLocation();
-		for (int i = 0; i < sourceResources.length; i++) {
-			IResource sourceResource = sourceResources[i];
-			if (firstParent == null) {
-				firstParent = sourceResource.getParent();
-			} else if (firstParent.equals(sourceResource.getParent()) == false) {
-				// Resources must have common parent. Fixes bug 33398.
-				return IDEWorkbenchMessages.getString("CopyFilesAndFoldersOperation.parentNotEqual");	//$NON-NLS-1$					
-			}
-			
-			IPath sourceLocation = sourceResource.getLocation();
-			if (sourceLocation == null) {
-				if (sourceResource.isLinked()) {
-					// Don't allow copying linked resources with undefined path 
-					// variables. See bug 28754.
-					return IDEWorkbenchMessages.format(
-						"CopyFilesAndFoldersOperation.missingPathVariable",		//$NON-NLS-1$
-						new Object[] {sourceResource.getName()});				
-				} else {
-					return IDEWorkbenchMessages.format(
-						"CopyFilesAndFoldersOperation.resourceDeleted",		//$NON-NLS-1$
-						new Object[] {sourceResource.getName()});				
-				}
-			} else {
-				if (sourceLocation.equals(destinationLocation)) {
-					return IDEWorkbenchMessages.format(
-						"CopyFilesAndFoldersOperation.sameSourceAndDest", 	//$NON-NLS-1$
-						new Object[] {sourceResource.getName()});
-				}
-				// is the source a parent of the destination?
-				if (sourceLocation.isPrefixOf(destinationLocation)) {
-					return IDEWorkbenchMessages.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 IDEWorkbenchMessages.format(
-					"CopyFilesAndFoldersOperation.missingPathVariable",		//$NON-NLS-1$
-					new Object[] {destination.getName()});				
-			}
-			else {
-				return IDEWorkbenchMessages.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 <code>true</code> all files passed validation or there 
-	 * 	were no files to validate. <code>false</code> one or more files
-	 * 	did not pass validation. 
-	 */
-	private boolean validateEdit(IContainer destination, IResource[] sourceResources) {
-		ArrayList copyFiles = 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);
-			
-			canceled = status.isOK() == false;
-			return status.isOK();
-		}
-		return true;
-	}
-	/**
-	 * 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 IDEWorkbenchMessages.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 IDEWorkbenchMessages.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 IDEWorkbenchMessages.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 IDEWorkbenchMessages.format(
-							"CopyFilesAndFoldersOperation.sameSourceAndDest", //$NON-NLS-1$
-							new Object[] {source.getName()});
-					}
-				}
-			}
-			catch (CoreException exception) {
-				displayError(IDEWorkbenchMessages.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, 
-							IDEWorkbenchMessages.getString("CopyFilesAndFoldersOperation.overwriteProblemTitle"), //$NON-NLS-1$
-							IDEWorkbenchMessages.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 source = sourceResources[i];
-			final IPath destinationPath = destination.getFullPath().append(source.getName());
-	
-			IResource newResource = workspaceRoot.findMember(destinationPath);
-			if (newResource != null) {
-				if (overwrite != IDialogConstants.YES_TO_ALL_ID || 
-					(newResource.getType() == IResource.FOLDER && homogenousResources(source, destination) == false)) {
-					overwrite = checkOverwrite(parentShell, source, newResource);
-				}
-				if (overwrite == IDialogConstants.YES_ID || overwrite == IDialogConstants.YES_TO_ALL_ID) {
-					copyItems.add(source);
-				} else if (overwrite == IDialogConstants.CANCEL_ID) {
-					canceled = true;
-					return null;
-				}
-			} else {
-				copyItems.add(source);
-			}
-		}
-		return (IResource[]) copyItems.toArray(new IResource[copyItems.size()]);
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyProjectAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyProjectAction.java
deleted file mode 100644
index 0343d25..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyProjectAction.java
+++ /dev/null
@@ -1,260 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.List;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ProjectLocationSelectionDialog;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-import org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * 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 = IDEWorkbenchMessages.getString("CopyProjectAction.toolTip"); //$NON-NLS-1$
-	private static String COPY_TITLE = IDEWorkbenchMessages.getString("CopyProjectAction.title"); //$NON-NLS-1$
-	private static String COPY_PROGRESS_TITLE = IDEWorkbenchMessages.getString("CopyProjectAction.progressTitle"); //$NON-NLS-1$
-	private static String PROBLEMS_TITLE = IDEWorkbenchMessages.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
- */
-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 name 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);
-	if (shell == null) {
-		throw new IllegalArgumentException();
-	}
-	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 ProgressMonitorJobsDialog(shell).run(true, true, op);
-	} catch (InterruptedException e) {
-		return false;
-	} catch (InvocationTargetException e) {
-		displayError(IDEWorkbenchMessages.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 project  the project we are going to copy.
- */
-protected Object [] queryDestinationParameters(IProject project) {
-	ProjectLocationSelectionDialog dialog =
-		new ProjectLocationSelectionDialog(shell, project);
-	dialog.setTitle(IDEWorkbenchMessages.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.ide/extensions/org/eclipse/ui/actions/CopyProjectOperation.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyProjectOperation.java
deleted file mode 100644
index 3d2d318..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyProjectOperation.java
+++ /dev/null
@@ -1,205 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import java.lang.reflect.InvocationTargetException;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ProjectLocationSelectionDialog;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog;
-
-/**
- * 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(IDEWorkbenchMessages.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, 
-				IDEWorkbenchMessages.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(IDEWorkbenchMessages.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 ProgressMonitorJobsDialog(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,
-						IDEWorkbenchMessages.getString("CopyProjectOperation.copyFailedTitle"), //$NON-NLS-1$
-						IDEWorkbenchMessages.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, 
-				IDEWorkbenchMessages.getString("CopyProjectOperation.copyFailedMessage"), //$NON-NLS-1$
-				error);
-	
-		errorStatus.merge(error.getStatus());
-	}
-}
-
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyResourceAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyResourceAction.java
deleted file mode 100644
index 08c948d..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyResourceAction.java
+++ /dev/null
@@ -1,247 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-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.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-
-/**
- * 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;
-
-	/**
-	 * The operation to run.  This is created only during the life-cycle of the
-	 * run method.
-	 */
-	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, IDEWorkbenchMessages.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(IDEWorkbenchMessages.getString("CopyResourceAction.toolTip")); //$NON-NLS-1$
-		setId(CopyResourceAction.ID);
-		if (shell == null) {
-			throw new IllegalArgumentException();
-		}
-		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
-	 * @return The initial container; <code>null</code> if none.
-	 */
-	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.
-	 * 
-	 * @param resourceList The list of resources to converted into an array.
-	 * @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
-	 * @return The shell for parenting dialogs; never <code>null</code>.
-	 */
-	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 = IDEWorkbenchPlugin.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 newOperation = createOperation();
-			List sources = getSelectedResources();
-			IResource[] resources = (IResource[]) sources.toArray(new IResource[sources.size()]);
-			return newOperation.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, IDEWorkbenchMessages.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() {
-	    try {
-			operation = createOperation();
-	
-			// WARNING: do not query the selected resources more than once
-			// since the selection may change during the run, 
-			// e.g. due to window activation when the prompt dialog is dismissed.
-			// For more details, see Bug 60606 [Navigator] (data loss) Navigator deletes/moves the wrong file
-			List sources = getSelectedResources();
-	
-			IPath destination = queryDestinationResource();
-			if (destination == null)
-				return;
-	
-			IWorkspaceRoot root = IDEWorkbenchPlugin.getPluginWorkspace().getRoot();
-			IContainer container = (IContainer) root.findMember(destination);
-			if (container == null) {
-				return;
-			}
-	
-			runOperation(getResources(sources), container);
-	    }
-	    finally {
-	        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.exists()) {
-				return false;
-			}
-			if (currentResource.getType() == IResource.PROJECT) {
-				return false;
-			}
-			IContainer parent = currentResource.getParent();
-			if ((parent != null) && (!parent.equals(firstParent))) {
-				return false;
-			}
-		}
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CreateFileAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CreateFileAction.java
deleted file mode 100644
index aa974dd..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CreateFileAction.java
+++ /dev/null
@@ -1,95 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.ui.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-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(IDEWorkbenchMessages.getString("CreateFileAction.text")); //$NON-NLS-1$
-	if (shell == null) {
-		throw new IllegalArgumentException();
-	}
-	this.shell = shell;
-	setToolTipText(IDEWorkbenchMessages.getString("CreateFileAction.toolTip")); //$NON-NLS-1$
-	setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().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(IDEWorkbenchMessages.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.ide/extensions/org/eclipse/ui/actions/CreateFolderAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CreateFolderAction.java
deleted file mode 100644
index 8c7113c..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CreateFolderAction.java
+++ /dev/null
@@ -1,96 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-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.ide.IHelpContextIds;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-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(IDEWorkbenchMessages.getString("CreateFolderAction.text")); //$NON-NLS-1$
-	if (shell == null) {
-		throw new IllegalArgumentException();
-	}
-	this.shell = shell;
-	setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_OBJ_FOLDER));
-	setToolTipText(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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.ide/extensions/org/eclipse/ui/actions/CreateProjectAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CreateProjectAction.java
deleted file mode 100644
index cb3a723..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CreateProjectAction.java
+++ /dev/null
@@ -1,190 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.action.Action;
-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.ISharedImages;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.Category;
-import org.eclipse.ui.internal.ide.dialogs.MultiStepWizardDialog;
-import org.eclipse.ui.internal.ide.dialogs.NewProjectWizard;
-import org.eclipse.ui.internal.ide.registry.Capability;
-import org.eclipse.ui.internal.ide.registry.CapabilityRegistry;
-
-/**
- * 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 Category[] 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(IDEWorkbenchMessages.getString("CreateProjectAction.text")); //$NON-NLS-1$
-		if (window == null) {
-			throw new IllegalArgumentException();
-		}
-		this.window = window;
-		ISharedImages images = PlatformUI.getWorkbench().getSharedImages();
-		setImageDescriptor(images.getImageDescriptor(ISharedImages.IMG_TOOL_NEW_WIZARD));
-		setDisabledImageDescriptor(images.getImageDescriptor(ISharedImages.IMG_TOOL_NEW_WIZARD_DISABLED));
-		setToolTipText(IDEWorkbenchMessages.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 = IDEWorkbenchPlugin.getDefault().getCapabilityRegistry();
-			ArrayList results = new ArrayList(ids.length);
-			for (int i = 0; i < ids.length; i++) {
-				Category cat = reg.findCategory(ids[i]);
-				if (cat != null)
-					results.add(cat);
-			}
-			if (results.isEmpty())
-				initialSelectedCategories = null;
-			else {
-				initialSelectedCategories = new Category[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 = IDEWorkbenchPlugin.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.ide/extensions/org/eclipse/ui/actions/DeleteResourceAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/DeleteResourceAction.java
deleted file mode 100644
index 0ea69c5..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/DeleteResourceAction.java
+++ /dev/null
@@ -1,540 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import java.lang.reflect.InvocationTargetException;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceStatus;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-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.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.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-import org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog;
-
-/**
- * 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 IResource[] projects;
-		private boolean deleteContent = false;
-		private Button radio1;
-		private Button radio2;
-		
-		DeleteProjectDialog(Shell parentShell, IResource[] 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(IResource[] projects) {
-			if (projects.length == 1)
-				return IDEWorkbenchMessages.getString("DeleteResourceAction.titleProject1");  //$NON-NLS-1$
-			else
-				return IDEWorkbenchMessages.getString("DeleteResourceAction.titleProjectN");  //$NON-NLS-1$
-		}
-		
-		static String getMessage(IResource[] projects) {
-			if (projects.length == 1) {
-				IProject project = (IProject) projects[0];
-				return IDEWorkbenchMessages.format("DeleteResourceAction.confirmProject1", new Object[] { project.getName() });  //$NON-NLS-1$
-			}
-			else {
-				return IDEWorkbenchMessages.format("DeleteResourceAction.confirmProjectN", new Object[] { new Integer(projects.length) });  //$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.length == 1) {
-				IProject project = (IProject) projects[0];
-				if(project == null || project.getLocation() == null)
-					text1 = IDEWorkbenchMessages.getString("DeleteResourceAction.deleteContentsN");  //$NON-NLS-1$
-				else
-					text1 = IDEWorkbenchMessages.format("DeleteResourceAction.deleteContents1", new Object[] { project.getLocation().toOSString() });  //$NON-NLS-1$
-			} else {
-				text1 = IDEWorkbenchMessages.getString("DeleteResourceAction.deleteContentsN");  //$NON-NLS-1$
-			}
-			radio1.setText(text1);
-			radio1.setFont(parent.getFont());
-
-			radio2 = new Button(composite, SWT.RADIO);
-			radio2.addSelectionListener(selectionListener);
-			String text2 = IDEWorkbenchMessages.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(IDEWorkbenchMessages.getString("DeleteResourceAction.text")); //$NON-NLS-1$
-	setToolTipText(IDEWorkbenchMessages.getString("DeleteResourceAction.toolTip")); //$NON-NLS-1$
-	WorkbenchHelp.setHelp(this, IHelpContextIds.DELETE_RESOURCE_ACTION);
-	setId(ID);
-	if (shell == null) {
-		throw new IllegalArgumentException();
-	}
-	this.shell = shell;
-}
-/**
- * Returns whether delete can be performed on the current selection.
- *
- * @param resources the selected resources
- * @return <code>true</code> if the resources can be deleted, and 
- *  <code>false</code> if the selection contains non-resources or phantom
- *  resources
- */
-private boolean canDelete(IResource[] resources) {
-	// allow only projects or only non-projects to be selected; 
-	// note that the selection may contain multiple types of resource
-	if (!(containsOnlyProjects(resources) || containsOnlyNonProjects(resources))) {
-		return false;
-	}
-	
-	if (resources.length == 0) return false;	
-	// Return true if everything in the selection exists.
-	for (int i = 0; i < resources.length; i++) {
-	    IResource resource = resources[i];
-		if (resource.isPhantom()) {
-			return false;
-		}
-	}
-	return true;
-}
-/**
- * Returns whether the selection contains linked resources.
- *
- * @param resources the selected resources
- * @return <code>true</code> if the resources contain linked   
- *  resources, and <code>false</code> otherwise
- */
-private boolean containsLinkedResource(IResource[] resources) {
-    for (int i = 0; i < resources.length; i++) {
-        IResource resource = resources[i];
-		if (resource.isLinked()) return true;
-	}
-	return false;
-}
-/**
- * Returns whether the selection contains only non-projects.
- *
- * @param resources the selected resources
- * @return <code>true</code> if the resources contains only non-projects, and 
- *  <code>false</code> otherwise
- */
-private boolean containsOnlyNonProjects(IResource[] resources) {
-	int types = getSelectedResourceTypes(resources);
-	// 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.
- * 
- * @param resources the selected resources
- * @return <code>true</code> if the resources contains only projects, and 
- *  <code>false</code> otherwise
- */
-private boolean containsOnlyProjects(IResource[] resources) {
-	int types = getSelectedResourceTypes(resources);
-	// note that the selection may contain multiple types of resource
-	return types == IResource.PROJECT;
-}
-
-/**
- * Asks the user to confirm a delete operation.
- *
- * @param resources the selected resources
- * @return <code>true</code> if the user says to go ahead, and <code>false</code>
- *  if the deletion should be abandoned
- */
-private boolean confirmDelete(IResource[] resources) {
-	if (containsOnlyProjects(resources)) {
-		return confirmDeleteProjects(resources);
-	}
-	else {
-		return confirmDeleteNonProjects(resources);
-	}
-}
-/**
- * Asks the user to confirm a delete operation,
- * where the selection contains no projects.
- *
- * @param resources the selected resources
- * @return <code>true</code> if the user says to go ahead, and <code>false</code>
- *  if the deletion should be abandoned
- */
-private boolean confirmDeleteNonProjects(IResource[] resources) {
-	String title;
-	String msg;
-	if (resources.length == 1) {
-		title = IDEWorkbenchMessages.getString("DeleteResourceAction.title1");  //$NON-NLS-1$
- 		IResource resource = resources[0];
- 		if (resource.isLinked())
- 			msg = IDEWorkbenchMessages.format("DeleteResourceAction.confirmLinkedResource1", new Object[] { resource.getName() });  //$NON-NLS-1$
- 		else
-			msg = IDEWorkbenchMessages.format("DeleteResourceAction.confirm1", new Object[] { resource.getName() });  //$NON-NLS-1$
-	}
-	else {
-		title = IDEWorkbenchMessages.getString("DeleteResourceAction.titleN");  //$NON-NLS-1$
-		if (containsLinkedResource(resources))
-			msg = IDEWorkbenchMessages.format("DeleteResourceAction.confirmLinkedResourceN", new Object[] { new Integer(resources.length) });  //$NON-NLS-1$
-		else
-			msg = IDEWorkbenchMessages.format("DeleteResourceAction.confirmN", new Object[] { new Integer(resources.length) });  //$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.
- *
- * @param resources the selected resources
- * @return <code>true</code> if the user says to go ahead, and <code>false</code>
- *  if the deletion should be abandoned
- */
-private boolean confirmDeleteProjects(IResource[] resources) {
-	DeleteProjectDialog dialog = new DeleteProjectDialog(shell, resources);
-	int code = dialog.open();
-	deleteContent = dialog.getDeleteContent();
-	return code == 0;  // YES
-}
-/**
- * Deletes the given resources.
- */
-private void delete(IResource[] resourcesToDelete, IProgressMonitor monitor) throws CoreException {
-    final List exceptions = new ArrayList();
-	forceOutOfSyncDelete = false;
-	monitor.beginTask("", resourcesToDelete.length); //$NON-NLS-1$
-	for (int i = 0; i < resourcesToDelete.length; ++i) {
-		if (monitor.isCanceled()) {
-			throw new OperationCanceledException();
-		}
-		try {
-		    delete(resourcesToDelete[i], new SubProgressMonitor(monitor, 1, SubProgressMonitor.PREPEND_MAIN_LABEL_TO_SUBTASK));
-		} catch (CoreException e) {
-		    exceptions.add(e);
-		}
-	}
-	
-	// Check to see if any problems occurred during processing.
-	final int exceptionCount = exceptions.size();
-	if (exceptionCount == 1) {
-	    throw (CoreException) exceptions.get(0);
-	} else if (exceptionCount > 1) {
-	    final MultiStatus multi = new MultiStatus(IDEWorkbenchPlugin.IDE_WORKBENCH, 0, IDEWorkbenchMessages.getString("DeleteResourceAction.deletionExceptionMessage"), new Exception()); //$NON-NLS-1$
-	    for (int i = 0; i < exceptionCount; i++) {
-	        CoreException exception = (CoreException) exceptions.get(0);
-	        IStatus status = exception.getStatus();
-	        multi.add(new Status(status.getSeverity(), status.getPlugin(), status.getCode(), status.getMessage(), exception));
-	    }
-	    throw new CoreException(multi);
-	}
-	
-	// Signal that the job has completed successfully.
-	monitor.done();
-}
-/**
- * Deletes the given resource.
- */
-private 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 selected resources
- */
-private IResource[] getSelectedResourcesArray() {
-	List selection = getSelectedResources();
-	IResource[] resources = new IResource[selection.size()];
-	selection.toArray(resources);
-	return resources;
-}
-/**
- * Returns a bit-mask containing the types of resources in the selection.
- * 
- * @param resources the selected resources
- */
-private int getSelectedResourceTypes(IResource[] resources) {
-	int types = 0;
-	for (int i = 0; i < resources.length; i++) {
-		types |= resources[i].getType();
-	}
-	return types;
-}
-/* (non-Javadoc)
- * Method declared on IAction.
- */
-public void run() {
-	IResource[] resources = getSelectedResourcesArray();
-	// WARNING: do not query the selected resources more than once
-	// since the selection may change during the run, 
-	// e.g. due to window activation when the prompt dialog is dismissed.
-	// For more details, see Bug 60606 [Navigator] (data loss) Navigator deletes/moves the wrong file
-	if (!confirmDelete(resources))
-		return;
-	final IResource[] resourcesToDelete = getResourcesToDelete(resources);
-	
-	if (resourcesToDelete.length == 0)
-		return;
-	try {
-		WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-			protected void execute(IProgressMonitor monitor) throws CoreException {
-				delete(resourcesToDelete, monitor);
-			}
-		};
-		new ProgressMonitorJobsDialog(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;
-				}
-			}
-			IDEWorkbenchPlugin.log(MessageFormat.format("Exception in {0}.run: {1}", new Object[] {getClass().getName(), t}), status);//$NON-NLS-1$
-			if (outOfSyncError) {
-				ErrorDialog.openError(
-					shell, 
-					IDEWorkbenchMessages.getString("DeleteResourceAction.errorTitle"), 	//$NON-NLS-1$
-					IDEWorkbenchMessages.getString("DeleteResourceAction.outOfSyncError"),	//$NON-NLS-1$
-					status);
-			} 
-			else {
-				ErrorDialog.openError(
-					shell, 
-					IDEWorkbenchMessages.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.
-			IDEWorkbenchPlugin.log(MessageFormat.format("Exception in {0}.run: {1}", new Object[] {getClass().getName(), t}));//$NON-NLS-1$
-			MessageDialog.openError(
-				shell,
-				IDEWorkbenchMessages.getString("DeleteResourceAction.messageTitle"), //$NON-NLS-1$
-				IDEWorkbenchMessages.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.
- * 
- * @param resources the selected resources
- * @return the resources to delete
- */
-private IResource[] getResourcesToDelete(IResource[] resources) {
-
-	if (containsOnlyProjects(resources)  && !deleteContent) {
-		// We can just return the selection
-		return resources;
-	} 
-
-	ReadOnlyStateChecker checker =
-		new ReadOnlyStateChecker(
-			this.shell,
-			IDEWorkbenchMessages.getString("DeleteResourceAction.title1"), //$NON-NLS-1$
-			IDEWorkbenchMessages.getString("DeleteResourceAction.readOnlyQuestion")); //$NON-NLS-1$
-	
-	return checker.checkReadOnlyResources(resources);
-}
-/**
- * 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(getSelectedResourcesArray());
-}
-	
-/**
- * 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,
-			IDEWorkbenchMessages.getString("DeleteResourceAction.messageTitle"),	//$NON-NLS-1$		
-			null,
-			IDEWorkbenchMessages.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.ide/extensions/org/eclipse/ui/actions/GlobalBuildAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/GlobalBuildAction.java
deleted file mode 100644
index c826370..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/GlobalBuildAction.java
+++ /dev/null
@@ -1,317 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-import org.eclipse.core.internal.jobs.JobManager;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.ide.IDEInternalWorkbenchImages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-/**
- * 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
-		implements
-			ActionFactory.IWorkbenchAction {
-	/**
-	 * 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 window; or <code>null</code> if this action has been
-	 * <code>dispose</code>d.
-	 */
-	private IWorkbenchWindow workbenchWindow;
-	/**
-	 * 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) {
-		// always use active window; ignore shell
-		this(workbench.getActiveWorkbenchWindow(), type);
-		if (shell == null) {
-			throw new IllegalArgumentException();
-		}
-	}
-	/**
-	 * 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) {
-		if (window == null) {
-			throw new IllegalArgumentException();
-		}
-		this.workbenchWindow = 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(IDEWorkbenchMessages
-						.getString("GlobalBuildAction.text")); //$NON-NLS-1$
-				setToolTipText(IDEWorkbenchMessages
-						.getString("GlobalBuildAction.toolTip")); //$NON-NLS-1$
-				setId("build"); //$NON-NLS-1$
-				WorkbenchHelp.setHelp(this,
-						IHelpContextIds.GLOBAL_INCREMENTAL_BUILD_ACTION);
-				setImageDescriptor(IDEInternalWorkbenchImages
-						.getImageDescriptor(IDEInternalWorkbenchImages.IMG_ETOOL_BUILD_EXEC));
-				setDisabledImageDescriptor(IDEInternalWorkbenchImages
-						.getImageDescriptor(IDEInternalWorkbenchImages.IMG_ETOOL_BUILD_EXEC_DISABLED));
-				setActionDefinitionId("org.eclipse.ui.project.buildAll"); //$NON-NLS-1$
-				break;
-			case IncrementalProjectBuilder.FULL_BUILD :
-				setText(IDEWorkbenchMessages
-						.getString("GlobalBuildAction.rebuildText")); //$NON-NLS-1$
-				setToolTipText(IDEWorkbenchMessages
-						.getString("GlobalBuildAction.rebuildToolTip")); //$NON-NLS-1$
-				setId("rebuildAll"); //$NON-NLS-1$
-				WorkbenchHelp.setHelp(this,
-						IHelpContextIds.GLOBAL_FULL_BUILD_ACTION);
-				setActionDefinitionId("org.eclipse.ui.project.rebuildAll"); //$NON-NLS-1$
-				break;
-			default :
-				throw new IllegalArgumentException("Invalid build type"); //$NON-NLS-1$
-		}
-		this.buildType = type;
-	}
-	/**
-	 * Returns the shell to use.
-	 */
-	private Shell getShell() {
-		return workbenchWindow.getShell();
-	}
-	/**
-	 * Returns the operation name to use
-	 */
-	private String getOperationMessage() {
-		if (buildType == IncrementalProjectBuilder.INCREMENTAL_BUILD)
-			return IDEWorkbenchMessages
-					.getString("GlobalBuildAction.buildOperationTitle"); //$NON-NLS-1$
-		else
-			return IDEWorkbenchMessages
-					.getString("GlobalBuildAction.rebuildAllOperationTitle"); //$NON-NLS-1$
-	}
-	/**
-	 * 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() {
-		Job buildJob = new Job(IDEWorkbenchMessages
-				.getString("GlobalBuildAction.jobTitle")) { //$NON-NLS-1$
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
-			 */
-			protected IStatus run(IProgressMonitor monitor) {
-				final MultiStatus status = new MultiStatus(
-						PlatformUI.PLUGIN_ID, 0, IDEWorkbenchMessages
-								.getString("GlobalBuildAction.buildProblems"), //$NON-NLS-1$
-						null);
-				monitor.beginTask(getOperationMessage(), 100); //$NON-NLS-1$
-				try {
-					ResourcesPlugin.getWorkspace().build(buildType,
-							new SubProgressMonitor(monitor, 100));
-				} catch (CoreException e) {
-					status.add(e.getStatus());
-				} finally {
-					monitor.done();
-				}
-				return status;
-			}
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.core.runtime.jobs.Job#belongsTo(java.lang.Object)
-			 */
-			public boolean belongsTo(Object family) {
-				return ResourcesPlugin.FAMILY_MANUAL_BUILD == family;
-			}
-		};
-		buildJob.setRule(ResourcesPlugin.getWorkspace().getRuleFactory()
-				.buildRule());
-		buildJob.setUser(true);
-		buildJob.schedule();
-	}
-	/**
-	 * 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() {
-		if (workbenchWindow == null) {
-			// action has been disposed
-			return;
-		}
-		// 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;
-		if (!verifyNoManualRunning())
-			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 = PlatformUI.getWorkbench()
-				.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) {
-			IDEWorkbenchPlugin
-					.log("Exception in " + getClass().getName() + ".run: " + e);//$NON-NLS-2$//$NON-NLS-1$
-			ErrorDialog
-					.openError(
-							getShell(),
-							IDEWorkbenchMessages
-									.getString("GlobalBuildAction.buildProblems"), //$NON-NLS-1$
-							IDEWorkbenchMessages
-									.format(
-											"GlobalBuildAction.internalError", new Object[]{e.getMessage()}), //$NON-NLS-1$
-							e.getStatus());
-			return false;
-		}
-		return false;
-	}
-	/*
-	 * (non-Javadoc) Method declared on ActionFactory.IWorkbenchAction.
-	 * 
-	 * @since 3.0
-	 */
-	public void dispose() {
-		if (workbenchWindow == null) {
-			// action has already been disposed
-			return;
-		}
-		workbenchWindow = null;
-	}
-	/**
-	 * Verify that no manual build is running. If it is then give the use the
-	 * option to cancel. If they cancel, cancel the jobs and return true,
-	 * otherwise return false.
-	 * 
-	 * @return whether or not there is a manual build job running.
-	 */
-	private boolean verifyNoManualRunning() {
-		Job[] buildJobs = JobManager.getInstance().find(
-				ResourcesPlugin.FAMILY_MANUAL_BUILD);
-		if (buildJobs.length == 0)
-			return true;
-		boolean cancel = MessageDialog.openQuestion(workbenchWindow.getShell(),
-				IDEWorkbenchMessages
-						.getString("GlobalBuildAction.BuildRunningTitle"), //$NON-NLS-1$
-				IDEWorkbenchMessages
-						.getString("GlobalBuildAction.BuildRunningMessage")); //$NON-NLS-1$
-		if (cancel) {
-			for (int i = 0; i < buildJobs.length; i++) {
-				Job job = buildJobs[i];
-				job.cancel();
-			}
-		}
-		//If they cancelled get them to do it again.
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/MoveFilesAndFoldersOperation.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/MoveFilesAndFoldersOperation.java
deleted file mode 100644
index a6a20bf..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/MoveFilesAndFoldersOperation.java
+++ /dev/null
@@ -1,195 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-
-/**
- * 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 destination destination to which resources will be moved
-	 * @param subMonitor a progress monitor for showing progress and for cancelation
-	 */
-	protected void copy(IResource[] resources, 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();
-			IResource existing = workspaceRoot.findMember(destinationPath);
-			if (source.getType() == IResource.FOLDER && existing != null) {
-				// the resource is a folder and it exists in the destination, move the
-				// children of the folder.
-				if (homogenousResources(source, existing)) {									
-					IResource[] children = ((IContainer) source).members();
-					copy(children, destinationPath, subMonitor);
-					delete(source, subMonitor);					
-				}
-				else {
-					// delete the destination folder, moving a linked folder
-					// over an unlinked one or vice versa. Fixes bug 28772. 
-					delete(existing, new SubProgressMonitor(subMonitor, 0));
-					source.move(destinationPath, IResource.SHALLOW | IResource.KEEP_HISTORY, new SubProgressMonitor(subMonitor, 0));					
-				}
-			} else {
-				// if we're merging folders, we could be overwriting an existing file				
-				if (existing != null) {
-					if (homogenousResources(source, existing))			
-						moveExisting(source, existing, subMonitor);
-					else  {
-						// Moving a linked resource over unlinked or vice versa.
-						// Can't use setContents here. Fixes bug 28772.
-						delete(existing, new SubProgressMonitor(subMonitor, 0));
-						source.move(destinationPath, IResource.SHALLOW | IResource.KEEP_HISTORY, new SubProgressMonitor(subMonitor, 0));
-					}
-				} else {
-					source.move(destinationPath, IResource.SHALLOW | IResource.KEEP_HISTORY, 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 IDEWorkbenchMessages.format(
-			"CopyFilesAndFoldersOperation.deepMoveQuestion", //$NON-NLS-1$
-			new Object[] {source.getFullPath().makeRelative()});
-	}
-	/**
-	 * Returns the task title for this operation's progress dialog.
-	 *
-	 * @return the task title
-	 */
-	protected String getOperationTitle() {
-		return IDEWorkbenchMessages.getString("MoveFilesAndFoldersOperation.operationTitle"); //$NON-NLS-1$
-	}
-	/**
-	 * Returns the message for this operation's problems dialog.
-	 *
-	 * @return the problems message
-	 */
-	protected String getProblemsMessage() {
-		return IDEWorkbenchMessages.getString("MoveFilesAndFoldersOperation.problemMessage"); //$NON-NLS-1$
-	}
-	/**
-	 * Returns the title for this operation's problems dialog.
-	 *
-	 * @return the problems dialog title
-	 */
-	protected String getProblemsTitle() {
-		return IDEWorkbenchMessages.getString("MoveFilesAndFoldersOperation.moveFailedTitle"); //$NON-NLS-1$
-	}
-	/**
-	 * Returns whether the source file in a destination collision
-	 * will be validateEdited together with the collision itself.
-	 * Returns true.
-	 * 
-	 * @return boolean <code>true</code>, the source file in a  
-	 * 	destination collision should be validateEdited.  
-	 */
-	protected boolean getValidateConflictSource() {
-		return true;
-	}
-	/**
-	 * 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
-	 * @throws CoreException setContents failed
-	 */
-	private void moveExisting(IResource source, IResource existing, IProgressMonitor subMonitor) throws CoreException {
-		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);
-			}
-		}
-	}
-	/* (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 IDEWorkbenchMessages.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 IDEWorkbenchMessages.format(
-						"MoveFilesAndFoldersOperation.sameSourceAndDest", //$NON-NLS-1$
-						new Object[] {sourceResource.getName()});
-				}
-			}
-		}
-		return super.validateDestination(destination, sourceResources);
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/MoveProjectAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/MoveProjectAction.java
deleted file mode 100644
index 1f6bd77..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/MoveProjectAction.java
+++ /dev/null
@@ -1,160 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
- 
-import java.lang.reflect.InvocationTargetException;
-import java.text.MessageFormat;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResource;
-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.Path;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ProjectLocationMoveDialog;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-import org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog;
-/**
- * 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 = IDEWorkbenchMessages.getString("MoveProjectAction.toolTip"); //$NON-NLS-1$
-	private static String MOVE_TITLE = IDEWorkbenchMessages.getString("MoveProjectAction.text"); //$NON-NLS-1$
-	private static String PROBLEMS_TITLE = IDEWorkbenchMessages.getString("MoveProjectAction.dialogTitle"); //$NON-NLS-1$
-	private static String MOVE_PROGRESS_TITLE = IDEWorkbenchMessages.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 ProgressMonitorJobsDialog(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.
-		IDEWorkbenchPlugin.log(
-			MessageFormat.format("Exception in {0}.performMove(): {1}", new Object[] {getClass().getName(),e.getTargetException()}));//$NON-NLS-1$
-		displayError(IDEWorkbenchMessages.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 project  the project we are going to move.
- */
-protected Object[] queryDestinationParameters(IProject project) {
-	ProjectLocationMoveDialog dialog =
-		new ProjectLocationMoveDialog(shell, project);
-	dialog.setTitle(IDEWorkbenchMessages.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.ide/extensions/org/eclipse/ui/actions/MoveResourceAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/MoveResourceAction.java
deleted file mode 100644
index 4fedcbc..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/MoveResourceAction.java
+++ /dev/null
@@ -1,92 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-
-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.ide.IHelpContextIds;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-
-/**
- * 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, IDEWorkbenchMessages.getString("MoveResourceAction.text")); //$NON-NLS-1$
-		setToolTipText(IDEWorkbenchMessages.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(), 
-			IDEWorkbenchMessages.getString("MoveResourceAction.title"),			//$NON-NLS-1$
-			IDEWorkbenchMessages.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()));
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/NewExampleAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/NewExampleAction.java
deleted file mode 100644
index 51afdd7..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/NewExampleAction.java
+++ /dev/null
@@ -1,122 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-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.swt.widgets.Shell;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.dialogs.NewWizard;
-import org.eclipse.ui.internal.registry.NewWizardsRegistryReader;
-
-/**
- * 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 NewExampleAction 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 NewExampleAction() {
-		this(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 NewExampleAction(IWorkbenchWindow window) {
-		super(IDEWorkbenchMessages.getString("NewExampleAction.text")); //$NON-NLS-1$
-		if (window == null) {
-			throw new IllegalArgumentException();
-		}
-		this.window = window;
-		ISharedImages images = PlatformUI.getWorkbench().getSharedImages();
-		setImageDescriptor(
-			images.getImageDescriptor(ISharedImages.IMG_TOOL_NEW_WIZARD));
-		setDisabledImageDescriptor(
-			images.getImageDescriptor(ISharedImages.IMG_TOOL_NEW_WIZARD_DISABLED));
-		setToolTipText(IDEWorkbenchMessages.getString("NewExampleAction.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.setCategoryId(
-			NewWizardsRegistryReader.FULL_EXAMPLES_WIZARD_CATEGORY);
-
-		ISelection selection = window.getSelectionService().getSelection();
-		IStructuredSelection selectionToPass = StructuredSelection.EMPTY;
-		if (selection instanceof IStructuredSelection)
-			selectionToPass = (IStructuredSelection) selection;
-		wizard.init(workbench, selectionToPass);
-		IDialogSettings workbenchSettings =
-			IDEWorkbenchPlugin.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();
-		wizard.setWindowTitle(IDEWorkbenchMessages.getString("NewExample.title")); //$NON-NLS-1$
-		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.ide/extensions/org/eclipse/ui/actions/NewProjectAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/NewProjectAction.java
deleted file mode 100644
index 7cda1fe..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/NewProjectAction.java
+++ /dev/null
@@ -1,113 +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 Corporation - initial API and implementation
- *******************************************************************************/
-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.ISharedImages;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.dialogs.NewWizard;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-
-/**
- * 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(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(IDEWorkbenchMessages.getString("NewProjectAction.text")); //$NON-NLS-1$
-	if (window == null) {
-		throw new IllegalArgumentException();
-	}
-	this.window = window;
-	ISharedImages images = PlatformUI.getWorkbench().getSharedImages();
-	setImageDescriptor(
-		images.getImageDescriptor(ISharedImages.IMG_TOOL_NEW_WIZARD));
-	setDisabledImageDescriptor(
-		images.getImageDescriptor(ISharedImages.IMG_TOOL_NEW_WIZARD_DISABLED));
-	setToolTipText(IDEWorkbenchMessages.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 = IDEWorkbenchPlugin.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.ide/extensions/org/eclipse/ui/actions/NewWizardMenu.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/NewWizardMenu.java
deleted file mode 100644
index bc252a0..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/NewWizardMenu.java
+++ /dev/null
@@ -1,224 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.swt.widgets.Menu;
-
-import org.eclipse.jface.action.ContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.IContributionManager;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.activities.WorkbenchActivityHelper;
-import org.eclipse.ui.internal.WorkbenchPage;
-import org.eclipse.ui.internal.dialogs.WizardCollectionElement;
-import org.eclipse.ui.internal.dialogs.WorkbenchWizardElement;
-import org.eclipse.ui.internal.ide.NewWizardShortcutAction;
-import org.eclipse.ui.internal.registry.NewWizardsRegistryReader;
-
-/**
- * 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 IAction showDlgAction;
-	private IAction newProjectAction;
-	private IAction newExampleAction;
-	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);
-		fillMenu(innerMgr);
-		// Must be done after constructor to ensure field initialization.
-	}
-
-	public NewWizardMenu(IWorkbenchWindow window) {
-		super();
-		this.window = window;
-		showDlgAction = ActionFactory.NEW.create(window);
-		newProjectAction = new NewProjectAction(window);
-		newExampleAction = new NewExampleAction(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);
-
-			// Get visible actions.
-			List actions = null;
-			IWorkbenchPage page = window.getActivePage();
-			if (page != null) 
-				actions = ((WorkbenchPage) page).getNewWizardActionIds();
-			
-			if (actions != null) {				
-				if(actions.size() > 0)
-					innerMgr.add(new Separator());
-				for (Iterator i = actions.iterator(); i.hasNext();) {
-					String id = (String) i.next();
-					IAction action = getAction(id);
-					if (action != null) {
-                        if (WorkbenchActivityHelper.filterItem(action))
-                            continue;                        
-						innerMgr.add(action);
-                    }
-				}
-			}
-
-			if (hasExamples()) {
-				//Add examples ..
-				innerMgr.add(new Separator());
-				innerMgr.add(newExampleAction);
-			}
-
-			// 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, 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;
-	}
-
-	/**
-	 * Return whether or not any examples are in the current
-	 * install.
-	 * @return boolean
-	 */
-	private boolean hasExamples() {
-		NewWizardsRegistryReader rdr = new NewWizardsRegistryReader(false);
-
-		Object[] children = rdr.getWizardElements().getChildren(null);
-		for (int i = 0; i < children.length; i++) {
-			WizardCollectionElement currentChild =
-				(WizardCollectionElement) children[i];
-			if (currentChild
-				.getId()
-				.equals(NewWizardsRegistryReader.FULL_EXAMPLES_WIZARD_CATEGORY))
-				return true;
-		}
-		return false;
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenFileAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenFileAction.java
deleted file mode 100644
index a47878f..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenFileAction.java
+++ /dev/null
@@ -1,111 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.util.OpenStrategy;
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.internal.ide.DialogUtil;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-import org.eclipse.ui.part.FileEditorInput;
-
-/**
- * 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 ? IDEWorkbenchMessages.getString("OpenFileAction.text") : descriptor.getLabel()); //$NON-NLS-1$
-	WorkbenchHelp.setHelp(this, IHelpContextIds.OPEN_FILE_ACTION);
-	setToolTipText(IDEWorkbenchMessages.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) {
-	try {
-		boolean activate = OpenStrategy.activateOnOpen();
-		if (editorDescriptor == null) {
-			IDE.openEditor(getWorkbenchPage(), file, activate);
-		} else {
-			if (ensureFileLocal(file)) {
-				getWorkbenchPage().openEditor(new FileEditorInput(file), editorDescriptor.getId(), activate);
-			}
-		}
-	} catch (PartInitException e) {
-		DialogUtil.openError(
-			getWorkbenchPage().getWorkbenchWindow().getShell(),
-			IDEWorkbenchMessages.getString("OpenFileAction.openFileShellTitle"), //$NON-NLS-1$
-			e.getMessage(),
-			e);
-	}
-}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenResourceAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenResourceAction.java
deleted file mode 100644
index 5e61d9c..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenResourceAction.java
+++ /dev/null
@@ -1,132 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-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.ide.IHelpContextIds;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-
-/**
- * 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, IDEWorkbenchMessages.getString("OpenResourceAction.text")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(this, IHelpContextIds.OPEN_RESOURCE_ACTION);
-		setToolTipText(IDEWorkbenchMessages.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 IDEWorkbenchMessages.getString("OpenResourceAction.problemMessage"); //$NON-NLS-1$
-	}
-	/* (non-Javadoc)
-	 * Method declared on WorkspaceAction.
-	 */
-	String getProblemsTitle() {
-		return IDEWorkbenchMessages.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;
-						}
-					}
-				}
-			}
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenSystemEditorAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenSystemEditorAction.java
deleted file mode 100644
index 4e5d335..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenSystemEditorAction.java
+++ /dev/null
@@ -1,105 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IEditorRegistry;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.ide.DialogUtil;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-import org.eclipse.ui.part.FileEditorInput;
-
-/**
- * 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(IDEWorkbenchMessages.getString("OpenSystemEditorAction.text")); //$NON-NLS-1$
-	setToolTipText(IDEWorkbenchMessages.getString("OpenSystemEditorAction.toolTip")); //$NON-NLS-1$
-	setId(ID);
-	WorkbenchHelp.setHelp(this, IHelpContextIds.OPEN_SYSTEM_EDITOR_ACTION);
-	if (page == null) {
-		throw new IllegalArgumentException();
-	}
-	this.workbenchPage = page;
-}
-/**
- * Return the workbench page to open the editor in.
- *
- * @return the workbench page to open the editor in
- */
-/* package */ final IWorkbenchPage getWorkbenchPage() {
-	return workbenchPage;
-}
-/**
- * Opens a system editor on the given file resource.
- *
- * @param file the file resource
- */
-/* package */ void openFile(IFile file) {
-	try {
-		getWorkbenchPage().openEditor(new FileEditorInput(file), IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID);
-	} catch (PartInitException e) {
-		DialogUtil.openError(
-			getWorkbenchPage().getWorkbenchWindow().getShell(),
-			IDEWorkbenchMessages.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.ide/extensions/org/eclipse/ui/actions/OpenWithMenu.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenWithMenu.java
deleted file mode 100644
index 4a811ba..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenWithMenu.java
+++ /dev/null
@@ -1,305 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import java.text.Collator;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Comparator;
-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.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IEditorRegistry;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.internal.ide.DialogUtil;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.part.FileEditorInput;
-
-/**
- * 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 IEditorRegistry registry = 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$
-
-	/*
-	 * Compares the labels from two IEditorDescriptor objects 
-	 */
-	private static final Comparator comparer = new Comparator() {
-		private Collator collator = Collator.getInstance();
-
-		public int compare(Object arg0, Object arg1) {
-			String s1 = ((IEditorDescriptor)arg0).getLabel();
-			String s2 = ((IEditorDescriptor)arg1).getLabel();
-			return collator.compare(s1, s2);
-		}
-	}; 
-
-/**
- * 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 page the page where the editor is opened 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().getName());
-	}
-	else {
-		imageDesc = editorDesc.getImageDescriptor();
-	}
-	if (imageDesc == null) {
-		if (editorDesc.getId().equals(IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID))
-			imageDesc = registry.getSystemExternalEditorImageDescriptor(getFileResource().getName());
-	}
-	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.findEditor(IDEWorkbenchPlugin.DEFAULT_TEXT_EDITOR_ID); // may be null
-	IEditorDescriptor preferredEditor = IDE.getDefaultEditor(file); // may be null
-	
-	Object[] editors = registry.getEditors(file.getName());
-	Collections.sort(Arrays.asList(editors), comparer);
-
-	boolean defaultFound = false;
-	
-	//Check that we don't add it twice. This is possible
-	//if the same editor goes to two mappings.
-	ArrayList alreadyMapped= new ArrayList();
-
-	for (int i = 0; i < editors.length; i++) {
-		IEditorDescriptor editor = (IEditorDescriptor) editors[i];
-		if(!alreadyMapped.contains(editor)){
-			createMenuItem(menu, editor, preferredEditor);
-			if (defaultEditor != null && editor.getId().equals(defaultEditor.getId()))
-				defaultFound = true;
-			alreadyMapped.add(editor);
-		}		
-	}
-
-	// 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 (should never be null)
-	IEditorDescriptor descriptor = registry.findEditor(IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID);
-	createMenuItem(menu, descriptor, preferredEditor);
-	
-	// Add system in-place editor (can be null)
-	descriptor = registry.findEditor(IEditorRegistry.SYSTEM_INPLACE_EDITOR_ID);
-	if (descriptor != null) {
-		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();
-	if (file == null) {
-		return;
-	}
-	try {
-		String editorId = editor == null ? IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID : editor.getId();
-		page.openEditor(new FileEditorInput(file), editorId);
-		// only remember the default editor if the open succeeds
-		IDE.setDefaultEditor(file, editorId);
-	} catch (PartInitException e) {
-		DialogUtil.openError(
-			page.getWorkbenchWindow().getShell(),
-			IDEWorkbenchMessages.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(IDE.getDefaultEditor(file) == null);
-	menuItem.setText(IDEWorkbenchMessages.getString("DefaultEditorDescription.name")); //$NON-NLS-1$
-	
-	Listener listener = new Listener() {
-		public void handleEvent(Event event) {
-			switch (event.type) {
-				case SWT.Selection:
-					if(menuItem.getSelection()) {
-						IDE.setDefaultEditor(file, null);
-						try{
-							IDE.openEditor(page, file, true);
-						} catch (PartInitException e) {
-							DialogUtil.openError(
-								page.getWorkbenchWindow().getShell(),
-								IDEWorkbenchMessages.getString("OpenWithMenu.dialogTitle"), //$NON-NLS-1$
-								e.getMessage(),
-								e);
-						}
-					}
-					break;
-			}
-		}
-	};
-	
-	menuItem.addListener(SWT.Selection, listener);
-}
-}
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/QuickStartAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/QuickStartAction.java
deleted file mode 100644
index 43342ec..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/QuickStartAction.java
+++ /dev/null
@@ -1,256 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import java.net.URL;
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.IProduct;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.window.Window;
-
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.ProductProperties;
-import org.eclipse.ui.internal.ide.AboutInfo;
-import org.eclipse.ui.internal.ide.FeatureSelectionDialog;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-import org.eclipse.ui.internal.ide.dialogs.WelcomeEditorInput;
-
-/**
- * The quick start (Welcome...) action.
- * 
- * @deprecated the IDE now uses the new intro mechanism
- */
-public class QuickStartAction
-		extends Action 
-		implements ActionFactory.IWorkbenchAction {
-
-	private static final String EDITOR_ID = "org.eclipse.ui.internal.ide.dialogs.WelcomeEditor"; //$NON-NLS-1$
-
-	/**
-	 * The workbench window; or <code>null</code> if this
-	 * action has been <code>dispose</code>d.
-	 */
-	private IWorkbenchWindow workbenchWindow;
-	
-	/**
-	 * 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().getActiveWorkbenchWindow());
-	}
-
-	/**
-	 * Creates an instance of this action, for use in the given window.
-	 */
-	public QuickStartAction(IWorkbenchWindow window) {
-		super(IDEWorkbenchMessages.getString("QuickStart.text")); //$NON-NLS-1$
-		if (window == null) {
-			throw new IllegalArgumentException();
-		}
-		this.workbenchWindow = window;
-		setToolTipText(IDEWorkbenchMessages.getString("QuickStart.toolTip")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(this, IHelpContextIds.QUICK_START_ACTION);
-		setActionDefinitionId("org.eclipse.ui.help.quickStartAction"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * The user has invoked this action.  Prompts for a feature with a welcome page, 
-	 * then opens the corresponding welcome page.
-	 */
-	public void run() {
-		if (workbenchWindow == null) {
-			// action has been disposed
-			return;
-		}
-		try {
-			AboutInfo feature = promptForFeature();
-			if (feature != null) {
-				openWelcomePage(feature);
-			}
-		} catch (WorkbenchException e) {
-			ErrorDialog.openError(
-				workbenchWindow.getShell(), 
-				IDEWorkbenchMessages.getString("QuickStartAction.errorDialogTitle"),  //$NON-NLS-1$
-				IDEWorkbenchMessages.getString("QuickStartAction.infoReadError"),  //$NON-NLS-1$
-				e.getStatus());
-		}
-	}
-	
-	/**
-	 * Prompts the user for a feature that has a welcome page.
-	 * 
-	 * @return the chosen feature, or <code>null</code> if none was chosen
-	 */
-	private AboutInfo promptForFeature() throws WorkbenchException {
-		// Ask the user to select a feature
-		ArrayList welcomeFeatures = new ArrayList();
-		
-		URL productUrl = null;
-		IProduct product = Platform.getProduct();
-		if (product != null) {
-		    productUrl = ProductProperties.getWelcomePageUrl(product);
-		    welcomeFeatures.add(new AboutInfo(product));
-		}
-
-		AboutInfo[] features = IDEWorkbenchPlugin.getDefault().getFeatureInfos();
-		for (int i = 0; i < features.length; i++) {
-		    URL url = features[i].getWelcomePageURL();
-			if (url != null && ! url.equals(productUrl))
-				welcomeFeatures.add(features[i]);
-		}
-
-		Shell shell = workbenchWindow.getShell();
-
-		if (welcomeFeatures.size() == 0) {
-			MessageDialog.openInformation(
-				shell, 
-				IDEWorkbenchMessages.getString("QuickStartMessageDialog.title"), //$NON-NLS-1$
-				IDEWorkbenchMessages.getString("QuickStartMessageDialog.message")); //$NON-NLS-1$
-			return null;
-		}
-
-		features = new AboutInfo[welcomeFeatures.size()];
-		welcomeFeatures.toArray(features);
-
-		FeatureSelectionDialog d = new FeatureSelectionDialog(
-			shell,
-			features,
-			product == null ? null : product.getId(),
-			IDEWorkbenchMessages.getString("WelcomePageSelectionDialog.title"),  //$NON-NLS-1$
-			IDEWorkbenchMessages.getString("WelcomePageSelectionDialog.message"), //$NON-NLS-1$
-			IHelpContextIds.WELCOME_PAGE_SELECTION_DIALOG);
-		if (d.open() != Window.OK || d.getResult().length != 1)
-			return null;
-		return (AboutInfo) d.getResult()[0];
-	}
-	
-	/**
-	 * Opens the welcome page for the given feature.
-	 * 
-	 * @param featureId the about info for the feature
-	 * @return <code>true</code> if successful, <code>false</code> otherwise
-	 */	
-	public boolean openWelcomePage(String featureId) throws WorkbenchException {
-		AboutInfo feature = findFeature(featureId);
-		if (feature == null || feature.getWelcomePageURL() == null) {
-			return false;
-		}
-		return openWelcomePage(feature);
-	}
-
-	/**
-	 * Returns the about info for the feature with the given id, or <code>null</code>
-	 * if there is no such feature.
-	 * 
-	 * @return the about info for the feature with the given id, or <code>null</code>
-	 *   if there is no such feature.
-	 */
-	private AboutInfo findFeature(String featureId) throws WorkbenchException {
-		AboutInfo[] features = IDEWorkbenchPlugin.getDefault().getFeatureInfos();
-		for (int i = 0; i < features.length; i++) {
-			AboutInfo info = features[i];
-			if (info.getFeatureId().equals(featureId)) {
-				return info;
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Opens the welcome page for a feature.
-	 * 
-	 * @param feature the about info for the feature
-	 * @return <code>true</code> if successful, <code>false</code> otherwise
-	 */	
-	private boolean openWelcomePage(AboutInfo feature) {
-		IWorkbenchPage page = null;
-
-		// See if the feature wants a specific perspective
-		String perspectiveId = feature.getWelcomePerspectiveId();
-
-		if (perspectiveId == null) {
-			// Just use the current perspective unless one is not open 
-			// in which case use the default
-			page = workbenchWindow.getActivePage();
-
-			if (page == null || page.getPerspective() == null) {
-				perspectiveId = PlatformUI.getWorkbench().getPerspectiveRegistry().getDefaultPerspective();
-			}
-		}
-
-		if (perspectiveId != null) {
-			try {
-				page = PlatformUI.getWorkbench().showPerspective(perspectiveId, workbenchWindow);
-			} catch (WorkbenchException e) {
-				IDEWorkbenchPlugin.log("Error opening perspective: " + perspectiveId, e.getStatus()); //$NON-NLS-1$
-				return false;
-			}
-		}
-
-		page.setEditorAreaVisible(true);
-
-		// create input
-		WelcomeEditorInput input = new WelcomeEditorInput(feature);
-
-		// see if we already have a welcome editorz
-		IEditorPart editor = page.findEditor(input);
-		if (editor != null) {
-			page.activate(editor);
-			return true;
-		}
-
-		try {
-			page.openEditor(input, EDITOR_ID);
-		} catch (PartInitException e) {
-			IDEWorkbenchPlugin.log("Error opening welcome editor for feature: " + feature.getFeatureId()); //$NON-NLS-1$
-			IStatus status = new Status(IStatus.ERROR, IDEWorkbenchPlugin.IDE_WORKBENCH, 1, IDEWorkbenchMessages.getString("QuickStartAction.openEditorException"), e); //$NON-NLS-1$
-			ErrorDialog.openError(
-			workbenchWindow.getShell(),
-				IDEWorkbenchMessages.getString("Workbench.openEditorErrorDialogTitle"),  //$NON-NLS-1$
-				IDEWorkbenchMessages.getString("Workbench.openEditorErrorDialogMessage"), //$NON-NLS-1$
-				status);
-			return false;
-		}
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on ActionFactory.IWorkbenchAction.
-	 * @since 3.0
-	 */
-	public void dispose() {
-		if (workbenchWindow == null) {
-			// action has already been disposed
-			return;
-		}
-		workbenchWindow = null;
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/ReadOnlyStateChecker.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/ReadOnlyStateChecker.java
deleted file mode 100644
index adeb348..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/ReadOnlyStateChecker.java
+++ /dev/null
@@ -1,211 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-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 = IDEWorkbenchMessages.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.ide/extensions/org/eclipse/ui/actions/RefreshAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/RefreshAction.java
deleted file mode 100644
index 144d3b8..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/RefreshAction.java
+++ /dev/null
@@ -1,164 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-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.ide.IHelpContextIds;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-
-/**
- * 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, IDEWorkbenchMessages.getString("RefreshAction.text")); //$NON-NLS-1$
-	setToolTipText(IDEWorkbenchMessages.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 = IDEWorkbenchMessages.format("RefreshAction.locationDeletedMessage", new Object[] {project.getName(),location.getAbsolutePath()});//$NON-NLS-1$
-		
-		final MessageDialog dialog = new MessageDialog(
-			getShell(),
-			IDEWorkbenchMessages.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 IDEWorkbenchMessages.getString("RefreshAction.progressMessage"); //$NON-NLS-1$
-}
-/* (non-Javadoc)
- * Method declared on WorkspaceAction.
- */
-String getProblemsMessage() {
-	return IDEWorkbenchMessages.getString("RefreshAction.problemMessage"); //$NON-NLS-1$
-}
-/* (non-Javadoc)
- * Method declared on WorkspaceAction.
- */
-String getProblemsTitle() {
-	return IDEWorkbenchMessages.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 {
-	// Check if project's location has been deleted, 
-	// as per 1G83UCE: ITPUI:WINNT - Refresh from local doesn't detect new or deleted projects
-	// and also for bug report #18283
-	if (resource.getType() == IResource.PROJECT) {
-		checkLocationDeleted((IProject) resource);
-	} else if (resource.getType() == IResource.ROOT) {
-		IProject[] projects = ((IWorkspaceRoot)resource).getProjects();
-		for (int i = 0; i < projects.length; i++) {
-			checkLocationDeleted(projects[i]);
-		}
-	}
-	resource.refreshLocal(IResource.DEPTH_INFINITE,monitor);
-}
-/**
- * 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.ide/extensions/org/eclipse/ui/actions/RenameResourceAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/RenameResourceAction.java
deleted file mode 100644
index 27c5a9c..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/RenameResourceAction.java
+++ /dev/null
@@ -1,521 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-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.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.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-
-
-/**
- * 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;
-	
-	private boolean saving = false;
-	/**
-	 * 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 = IDEWorkbenchMessages.getString("RenameResourceAction.checkTitle"); //$NON-NLS-1$
-
-	private static final String CHECK_RENAME_MESSAGE =
-		IDEWorkbenchMessages.getString("RenameResourceAction.readOnlyCheck"); //$NON-NLS-1$
-	private static String RESOURCE_EXISTS_TITLE = IDEWorkbenchMessages.getString("RenameResourceAction.resourceExists"); //$NON-NLS-1$
-	private static String RESOURCE_EXISTS_MESSAGE = IDEWorkbenchMessages.getString("RenameResourceAction.overwriteQuestion"); //$NON-NLS-1$
-	private static String RENAMING_MESSAGE = IDEWorkbenchMessages.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, IDEWorkbenchMessages.getString("RenameResourceAction.text")); //$NON-NLS-1$
-	setToolTipText(IDEWorkbenchMessages.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;
-}
-/**
- * On Mac the text widget already provides a border when it has focus, so there is no need to draw another one.
- * The value of returned by this method is usd to control the inset we apply to the text field bound's in order to get space for drawing a border.
- * A value of 1 means a one-pixel wide border around the text field. A negative value supresses the border.
- * However, in M9 the system property "org.eclipse.swt.internal.carbon.noFocusRing" has been introduced
- * as a temporary workaround for bug #28842. The existence of the property turns the native focus ring off
- * if the widget is contained in a main window (not dialog).
- * The check for the property should be removed after a final fix for #28842 has been provided.
- */
-private static int getCellEditorInset(Control c) {
-    if ("carbon".equals(SWT.getPlatform())) {	// special case for MacOS X //$NON-NLS-1$
-        if (System.getProperty("org.eclipse.swt.internal.carbon.noFocusRing") == null || c.getShell().getParent() != null) //$NON-NLS-1$
-            return -2;	// native border
-    }
-    return 1;	//  one pixel wide black border
-}
-/**
- * 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);
-	final int inset = getCellEditorInset(textEditorParent);
-	if (inset > 0)	// only register for paint events if we have a border
-		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);
-	textEditor.setFont(navigatorTree.getFont());
-	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, inset, Math.min(textSize.x, parentSize.x - 4), parentSize.y -2*inset);
-			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);
-	}
-}
-/**
- * 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;
-}
-/* (non-Javadoc)
- * Method declared on WorkspaceAction.
- */
-String getOperationMessage() {
-	return IDEWorkbenchMessages.getString("RenameResourceAction.progress"); //$NON-NLS-1$
-}
-/* (non-Javadoc)
- * Method declared on WorkspaceAction.
- */
-String getProblemsMessage() {
-	return IDEWorkbenchMessages.getString("RenameResourceAction.problemMessage"); //$NON-NLS-1$
-}
-/* (non-Javadoc)
- * Method declared on WorkspaceAction.
- */
-String getProblemsTitle() {
-	return IDEWorkbenchMessages.getString("RenameResourceAction.problemTitle"); //$NON-NLS-1$
-}
-/**
- * Get the Tree being edited.
- * @returnTree
- */
-private Tree getTree() {
-	return this.navigatorTree;
-}
-/* (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)) {
-			if (resource.getType() == IResource.FILE && newResource.getType() == IResource.FILE) {
-				IFile file = (IFile) resource;
-				IFile newFile = (IFile) newResource;
-				if (validateEdit(file, newFile, getShell())) {
-					IProgressMonitor subMonitor = new SubProgressMonitor(monitor, 50);
-					newFile.setContents(file.getContents(), IResource.KEEP_HISTORY, subMonitor);
-					file.delete(IResource.KEEP_HISTORY, subMonitor); 
-				}
-	  			monitor.worked(100);
-				return;
-			} else
-				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 resource the resource to query status on
- */
-protected String queryNewResourceName(final IResource resource) {
-	final IWorkspace workspace = IDEWorkbenchPlugin.getPluginWorkspace();
-	final IPath prefix = resource.getFullPath().removeLastSegments(1);
-	IInputValidator validator = new IInputValidator() {
-		public String isValid(String string) {
-			if (resource.getName().equals(string)) {
-				return IDEWorkbenchMessages.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 IDEWorkbenchMessages.getString("RenameResourceAction.nameExists"); //$NON-NLS-1$
-			}
-			return null;
-		}
-	};
-		
-	InputDialog dialog = new InputDialog(
-		getShell(),
-		IDEWorkbenchMessages.getString("RenameResourceAction.inputDialogTitle"),  //$NON-NLS-1$
-		IDEWorkbenchMessages.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();
-	int inset = getCellEditorInset(textEditorParent);
-	textEditor.setBounds(2, inset, Math.min(textSize.x, parentSize.x - 4), parentSize.y - 2*inset);
-	textEditorParent.redraw();
-	textEditor.selectAll ();
-	textEditor.setFocus ();
-}
-/* (non-Javadoc)
- * Method declared on IAction; overrides method on WorkspaceAction.
- */
-public void run() {
-
-	if (this.navigatorTree == null) {
-		List resources = getSelectedResources();
-		if (resources.size() == 0) return;
-		IResource currentResource = (IResource) resources.get(0);
-		if (!currentResource.exists()) return;
-		//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) {
-    if (saving == true)
-        return;
-    
-    saving = true;
-	// 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() {
-		    try {
-				if (!newName.equals(inlinedResource.getName())) {
-					IWorkspace workspace = IDEWorkbenchPlugin.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;
-				//Dispose the text widget regardless
-				disposeTextWidget();
-				// Ensure the Navigator tree has focus, which it may not if the
-				// text widget previously had focus.
-				if (navigatorTree != null && !navigatorTree.isDisposed()) {
-				    navigatorTree.setFocus();
-				}
-		    }
-		    finally {
-		        saving = false;
-		    }
-		}
-	};
-	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;
-
-	IResource currentResource = (IResource) resources.get(0);
-	if (!currentResource.exists()) 
-		return false;
-	
-	return true;
-}
-public void setTextActionHandler(TextActionHandler actionHandler){
-	textActionHandler = actionHandler;
-}
-/**
- * Validates the destination file if it is read-only and additionally 
- * the source file if both are read-only.
- * Returns true if both files could be made writeable.
- * 
- * @param source source file
- * @param destination destination file
- * @param shell ui context for the validation
- * @return boolean <code>true</code> both files could be made writeable.
- * 	<code>false</code> either one or both files were not made writeable  
- */
-boolean validateEdit(IFile source, IFile destination, Shell shell) {
-	if (destination.isReadOnly()) {
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		IStatus status;
-		if (source.isReadOnly())
-			status = workspace.validateEdit(new IFile[] {source, destination}, shell);
-		else
-			status = workspace.validateEdit(new IFile[] {destination}, shell);	
-		return status.isOK();
-	}
-	return true;
-}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/ScrubLocalAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/ScrubLocalAction.java
deleted file mode 100644
index 23fc09c..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/ScrubLocalAction.java
+++ /dev/null
@@ -1,79 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.ide.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, IDEWorkbenchMessages.getString("ScrubLocalAction.text")); //$NON-NLS-1$
-	setToolTipText(IDEWorkbenchMessages.getString("ScrubLocalAction.toolTip")); //$NON-NLS-1$
-	setId(ID);
-	WorkbenchHelp.setHelp(this, IHelpContextIds.SCRUB_LOCAL_ACTION);
-}
-/* (non-Javadoc)
- * Method declared on WorkspaceAction.
- */
-String getOperationMessage() {
-	return IDEWorkbenchMessages.getString("ScrubLocalAction.progress"); //$NON-NLS-1$
-}
-/* (non-Javadoc)
- * Method declared on WorkspaceAction.
- */
-String getProblemsMessage() {
-	return IDEWorkbenchMessages.getString("ScrubLocalAction.problemsMessage"); //$NON-NLS-1$
-}
-/* (non-Javadoc)
- * Method declared on WorkspaceAction.
- */
-String getProblemsTitle() {
-	return IDEWorkbenchMessages.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.ide/extensions/org/eclipse/ui/actions/SelectionListenerAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/SelectionListenerAction.java
deleted file mode 100644
index 42d25ba..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/SelectionListenerAction.java
+++ /dev/null
@@ -1,215 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.actions;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * The abstract superclass for resource-based 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 BaseSelectionListenerAction {
-	/**
-	 * Empty list that is immutable.
-	 */
-	private static final List EMPTY_LIST = Arrays.asList(new Object[0]);
-
-	/**
-	 * 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);
-	}
-
-	/**
-	 * The <code>SelectionListenerAction</code> implementation of this 
-	 * <code>BaseSelectionListenerAction</code> method clears the cached
-	 * resources and non-resources. 
-	 */
-	protected void clearCache() {
-		selectionDirty = true;
-		// clear out the lists in case computeResources does not get called immediately
-		resources = null;
-		nonResources = null;
-	}
-
-	/**
-	 * 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 = getStructuredSelection().iterator(); e.hasNext();) {
-			Object next = e.next();
-			if (next instanceof IResource) {
-				if (resources == null) {
-					// assume selection contains mostly resources most times
-					resources = new ArrayList(getStructuredSelection().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(getStructuredSelection().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 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;
-	}
-
-	/**
-	 * 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;
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/TextActionHandler.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/TextActionHandler.java
deleted file mode 100644
index 754d3e8..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/TextActionHandler.java
+++ /dev/null
@@ -1,444 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-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.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-
-/**
- * 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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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(ActionFactory.CUT.getId(), textCutAction);
-	actionBar.setGlobalActionHandler(ActionFactory.COPY.getId(), textCopyAction);
-	actionBar.setGlobalActionHandler(ActionFactory.PASTE.getId(), textPasteAction);
-	actionBar.setGlobalActionHandler(ActionFactory.SELECT_ALL.getId(), textSelectAllAction);
-	actionBar.setGlobalActionHandler(ActionFactory.DELETE.getId(), 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.ide/extensions/org/eclipse/ui/actions/WorkspaceAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/WorkspaceAction.java
deleted file mode 100644
index dbf5aef..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/WorkspaceAction.java
+++ /dev/null
@@ -1,393 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.StatusUtil;
-import org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog;
-/**
- * The abstract superclass for actions which invoke commands 
- * implemented in org.eclipse.core.* on a set of selected resources.
- * 
- * 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);
-		if (shell == null) {
-			throw new IllegalArgumentException();
-		}
-		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 = IDEWorkbenchMessages.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("", resources.size() * 1000); //$NON-NLS-1$
-		// Fix for bug 31768 - Don't provide a task name in beginTask
-		// as it will be appended to each subTask message. Need to
-		// call setTaskName as its the only was to assure the task name is
-		// set in the monitor (see bug 31824)
-		monitor.setTaskName(getOperationMessage());
-		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 IDEWorkbenchMessages.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 IDEWorkbenchMessages.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(IDEWorkbenchPlugin.IDE_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 ProgressMonitorJobsDialog(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 = IDEWorkbenchMessages.format("WorkspaceAction.logTitle", new Object[]{//$NON-NLS-1$
-					getClass().getName(), e.getTargetException()}); 
-			IDEWorkbenchPlugin.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();
-	}
-	
-	/**
-	 * Run the action in the background rather than with the
-	 * progress dialog.
-	 * @param rule The rule to apply to the background job or
-	 * <code>null</code> if there isn't one.
-	 */
-	public void runInBackground(ISchedulingRule rule){
-		
-		Job backgroundJob = new Job(removeMnemonics(getText())){ 
-			/* (non-Javadoc)
-			 * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
-			 */
-			protected IStatus run(IProgressMonitor monitor) {
-				
-				monitor.beginTask("", 1); //$NON-NLS-1$
-				// Fix for bug 31768 - Don't provide a task name in beginTask
-				// as it will be appended to each subTask message. Need to
-				// call setTaskName as its the only was to assure the task name is
-				// set in the monitor (see bug 31824)
-				monitor.setTaskName(getOperationMessage());
-				WorkspaceAction.this.execute(monitor);
-				monitor.done();
-				
-				IStatus returnStatus = Status.OK_STATUS;
-				
-				//If errors occurred, open an Error dialog & build a multi status error for it
-				if (errorStatus != null) {
-					returnStatus = errorStatus;
-					errorStatus = null;
-				}
-				return returnStatus;
-			}
-			
-			
-		};
-		
-		if(rule != null)
-			backgroundJob.setRule(rule);
-		backgroundJob.setUser(true);
-		backgroundJob.schedule();
-		
-
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/WorkspaceModifyDelegatingOperation.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/WorkspaceModifyDelegatingOperation.java
deleted file mode 100644
index 76c9b2b..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/WorkspaceModifyDelegatingOperation.java
+++ /dev/null
@@ -1,78 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-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 using the provided scheduling rule.
-	 * 
-	 * @param content
-	 *            the runnable to delegate to when this operation is executed
-	 * @param rule
-	 *            The ISchedulingRule to use or <code>null</code>.
-	 */
-	public WorkspaceModifyDelegatingOperation(
-		IRunnableWithProgress content,
-		ISchedulingRule rule) {
-		super(rule);
-		this.content = content;
-	}
-
-	/**
-	 * Creates a new operation which will delegate its work to the given
-	 * runnable. Schedule using the supplied s
-	 * 
-	 * @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.ide/extensions/org/eclipse/ui/actions/WorkspaceModifyOperation.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/WorkspaceModifyOperation.java
deleted file mode 100644
index 246ba3c..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/WorkspaceModifyOperation.java
+++ /dev/null
@@ -1,117 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-
-/**
- * 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>
- * If a scheduling rule is provided, the operation will obtain that scheduling
- * rule for the duration of its <code>execute</code> method.  If no scheduling
- * rule is provided, the operation will obtain a scheduling rule that locks
- * the entire workspace for the duration of the operation.
- * </p>
- * <p>
- * Subclasses must implement <code>execute</code> to do the work of the
- * operation.
- * </p>
- * @see ISchedulingRule
- * @see org.eclipse.core.resources.IWorkspace#run(IWorkspaceRunnable, IProgressMonitor)
- *  */
-public abstract class WorkspaceModifyOperation implements IRunnableWithProgress {
-	private ISchedulingRule rule;
-/**
- * Creates a new operation.
- */
-protected WorkspaceModifyOperation() {
-	this(IDEWorkbenchPlugin.getPluginWorkspace().getRoot());
-}
-/**
- * Creates a new operation that will run using the provided
- * scheduling rule.
- * @param rule  The ISchedulingRule to use or <code>null</code>.
- * @since 3.0
- */
-protected WorkspaceModifyOperation(ISchedulingRule rule) {
-	this.rule = rule;
-}
-/**
- * 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
-			}
-		};
-		IDEWorkbenchPlugin.getPluginWorkspace().run(workspaceRunnable, rule, IResource.NONE, 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.ide/extensions/org/eclipse/ui/dialogs/ContainerGenerator.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ContainerGenerator.java
deleted file mode 100644
index 85d2539..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ContainerGenerator.java
+++ /dev/null
@@ -1,183 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.dialogs;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-
-/**
- * For creating folder resources that currently do not exist, 
- * 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 {
-	IDEWorkbenchPlugin.getPluginWorkspace().run(new IWorkspaceRunnable() {
-		public void run(IProgressMonitor monitor) throws CoreException {
-			monitor.beginTask(IDEWorkbenchMessages.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 IDEWorkbenchPlugin.getPluginWorkspace().getRoot();
-}
-}
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ContainerSelectionDialog.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ContainerSelectionDialog.java
deleted file mode 100644
index f01f51b..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ContainerSelectionDialog.java
+++ /dev/null
@@ -1,175 +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 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.dialogs;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.runtime.IPath;
-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.ide.IHelpContextIds;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.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;
-	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
-	Label statusMessage;
-
-	//for validating the selection
-	ISelectionValidator validator;
-
-	// show closed projects by default
-	private boolean showClosedProjects = true;
-	/**
-	 * 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(IDEWorkbenchMessages.getString("ContainerSelectionDialog.title")); //$NON-NLS-1$
-		this.initialSelection = initialRoot;
-		this.allowNewContainerName = allowNewContainerName;
-		if (message != null)
-			setMessage(message);
-		else
-			setMessage(IDEWorkbenchMessages.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 area = (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(
-				area,
-				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();
-		IPath returnValue = group.getContainerFullPath();
-		if (returnValue != null)
-			chosenContainerPathList.add(returnValue);
-		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.ide/extensions/org/eclipse/ui/dialogs/FileSelectionDialog.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/FileSelectionDialog.java
deleted file mode 100644
index 2e4fbc7..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/FileSelectionDialog.java
+++ /dev/null
@@ -1,264 +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 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.dialogs;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-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.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.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-import org.eclipse.ui.internal.ide.misc.CheckboxTreeAndListGroup;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.model.WorkbenchViewerSorter;
-
-/**
- * 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
-	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(IDEWorkbenchMessages.getString("FileSelectionDialog.title")); //$NON-NLS-1$
-	root = fileSystemElement;
-	if (message != null)
-		setMessage(message);
-	else
-		setMessage(IDEWorkbenchMessages.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) {
-	
-	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.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.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.
- *
- * @param expandAll true to expand all on dialog open, false otherwise.
- */
-public void setExpandAllOnOpen(boolean expandAll) {
-	expandAllOnOpen = expandAll;
-}
-}
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/MarkerResolutionSelectionDialog.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/MarkerResolutionSelectionDialog.java
deleted file mode 100644
index 67c84c1..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/MarkerResolutionSelectionDialog.java
+++ /dev/null
@@ -1,139 +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 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.dialogs;
-
-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.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-import org.eclipse.ui.internal.ide.dialogs.SimpleListContentProvider;
-
-/**
- * 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);
-		if (markerResolutions == null || markerResolutions.length == 0) {
-			throw new IllegalArgumentException();
-		}
-		resolutions = markerResolutions;
-		setTitle(IDEWorkbenchMessages.getString("MarkerResolutionSelectionDialog.title"));	//$NON-NLS-1$
-		setMessage(IDEWorkbenchMessages.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.ide/extensions/org/eclipse/ui/dialogs/NewFolderDialog.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/NewFolderDialog.java
deleted file mode 100644
index efa09a3..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/NewFolderDialog.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 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.dialogs;
-
-import java.lang.reflect.InvocationTargetException;
-import java.text.MessageFormat;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectNatureDescriptor;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-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.graphics.Point;
-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.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-import org.eclipse.ui.internal.ide.dialogs.CreateLinkedResourceGroup;
-import org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog;
-
-/**
- * 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 Button advancedButton;
-	private CreateLinkedResourceGroup linkedResourceGroup;
-
-	private IContainer container;
-	private boolean firstLinkCheck = true;
-	/**
-	 * Parent composite of the advanced widget group for creating 
-	 * linked resources.
-	 */
-	private Composite linkedResourceParent;
-	/**
-	 * Linked resources widget group. Null if advanced section is not visible.
-	 */	
-	private Composite linkedResourceComposite;
-	/**
-	 * Height of the dialog without the "advanced" linked resource group. 
-	 * Set when the advanced group is first made visible. 
-	 */
-	private int basicShellHeight = -1;
-	
-/**
- * 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;
-	setTitle(IDEWorkbenchMessages.getString("NewFolderDialog.title")); //$NON-NLS-1$
-	setShellStyle(getShellStyle() | SWT.RESIZE);
-	setStatusLineAboveButtons(true);
-}
-/**
- * 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});
-}
-/* (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);
-}
-/**
- * Creates the widget for advanced options.
- *  
- * @param parent the parent composite
- */
-protected void createAdvancedControls(Composite parent) {
-	Preferences preferences = ResourcesPlugin.getPlugin().getPluginPreferences();
-	
-	if (preferences.getBoolean(ResourcesPlugin.PREF_DISABLE_LINKING) == false && 
-		isValidContainer()) {
-		linkedResourceParent = new Composite(parent, SWT.NONE);
-		linkedResourceParent.setFont(parent.getFont());
-		linkedResourceParent.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		linkedResourceParent.setLayout(layout);
-
-		advancedButton = new Button(linkedResourceParent, SWT.PUSH);
-		advancedButton.setFont(linkedResourceParent.getFont());
-		advancedButton.setText(IDEWorkbenchMessages.getString("showAdvanced")); //$NON-NLS-1$
-		setButtonLayoutData(advancedButton);
-		GridData data = (GridData) advancedButton.getLayoutData();
-		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) {
-				validateLinkedResource();
-				firstLinkCheck = false;
-			}
-		});
-}
-/* (non-Javadoc)
- * Method declared on Dialog.
- */
-protected Control createDialogArea(Composite parent) {
-	Composite composite = (Composite) super.createDialogArea(parent);
-	composite.setLayout(new GridLayout());
-	composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-	createFolderNameGroup(composite);
-	createAdvancedControls(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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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 ProgressMonitorJobsDialog(getShell()).run(true, true, operation);
-	} catch (InterruptedException exception) {
-		return null;
-	} catch (InvocationTargetException exception) {
-		if (exception.getTargetException() instanceof CoreException) {
-			ErrorDialog.openError(
-				getShell(),
-				IDEWorkbenchMessages.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.
-			IDEWorkbenchPlugin.log(MessageFormat.format(
-				"Exception in {0}.createNewFolder(): {1}", 					//$NON-NLS-1$
-				new Object[] {getClass().getName(), exception.getTargetException()}));
-			MessageDialog.openError(
-				getShell(), 
-				IDEWorkbenchMessages.getString("NewFolderDialog.errorTitle"), 	//$NON-NLS-1$
-				IDEWorkbenchMessages.format("NewFolderDialog.internalError", 	//$NON-NLS-1$
-				new Object[] {exception.getTargetException().getMessage()}));
-		}
-		return null;
-	}
-	return folderHandle;
-}
-/**
- * Shows/hides the advanced option widgets. 
- */
-protected void handleAdvancedButtonSelect() {
-	Shell shell = getShell();
-	Point shellSize = shell.getSize();
-	Composite composite = (Composite) getDialogArea();
-						
-	if (linkedResourceComposite != null) {
-		linkedResourceComposite.dispose();
-		linkedResourceComposite = null;
-		composite.layout();
-		shell.setSize(shellSize.x, basicShellHeight);
-		advancedButton.setText(IDEWorkbenchMessages.getString("showAdvanced")); //$NON-NLS-1$
-	} else {
-		if (basicShellHeight == -1) {
-			basicShellHeight = shell.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).y;
-		}
-		linkedResourceComposite = linkedResourceGroup.createContents(linkedResourceParent);
-		shellSize = shell.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
-		shell.setSize(shellSize);
-		composite.layout();
-		advancedButton.setText(IDEWorkbenchMessages.getString("hideAdvanced")); //$NON-NLS-1$
-	}				
-}
-/**
- * Returns whether the container specified in the constructor is
- * a valid parent for creating linked resources.
- * 
- * @return boolean <code>true</code> if the container specified in 
- * 	the constructor is a valid parent for creating linked resources.
- * 	<code>false</code> if no linked resources may be created with the
- * 	specified container as a parent. 
- */
-private boolean isValidContainer() {
-	if (container.getType() != IResource.PROJECT)
-		return false;
-		
-	try {
-		IWorkspace workspace = IDEWorkbenchPlugin.getPluginWorkspace();
-		IProject project = (IProject) container;
-		String[] natureIds = project.getDescription().getNatureIds();
-		
-		for (int i = 0; i < natureIds.length; i++) {
-			IProjectNatureDescriptor descriptor = workspace.getNatureDescriptor(natureIds[i]);
-			if (descriptor != null && descriptor.isLinkingAllowed() == false)
-				return false;
-		}
-	} catch (CoreException exception) {
-		// project does not exist or is closed
-		return false;
-	}
-	return true;
-}
-/**
- * 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,
-			IDEWorkbenchPlugin.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);
-	}
-	else
-		getOkButton().setEnabled(false);
-}
-/**
- * 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)) { //$NON-NLS-1$
-		updateStatus(IStatus.ERROR, IDEWorkbenchMessages.getString("NewFolderDialog.folderNameEmpty"));	//$NON-NLS-1$
-		return false;
-	}
-	if (nameStatus.isOK() == false) {
-		updateStatus(nameStatus);
-		return false;
-	}
-	IPath path = new Path(name);
-	if (container.getFolder(path).exists() || container.getFile(path).exists()) {
-		updateStatus(IStatus.ERROR, IDEWorkbenchMessages.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.ide/extensions/org/eclipse/ui/dialogs/ProjectLocationMoveDialog.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ProjectLocationMoveDialog.java
deleted file mode 100644
index 9832c17..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ProjectLocationMoveDialog.java
+++ /dev/null
@@ -1,325 +0,0 @@
-package org.eclipse.ui.dialogs;
-
-/******************************************************************************* 
- * 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 Corporation - initial API and implementation 
- *    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.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-
-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 = IDEWorkbenchMessages.getString("ProjectLocationSelectionDialog.locationLabel"); //$NON-NLS-1$
-	private static String BROWSE_LABEL = IDEWorkbenchMessages.getString("ProjectLocationSelectionDialog.browseLabel"); //$NON-NLS-1$
-	private static String DIRECTORY_DIALOG_LABEL = IDEWorkbenchMessages.getString("ProjectLocationSelectionDialog.directoryLabel"); //$NON-NLS-1$
-	private static String INVALID_LOCATION_MESSAGE = IDEWorkbenchMessages.getString("ProjectLocationSelectionDialog.locationError"); //$NON-NLS-1$
-	private static String PROJECT_LOCATION_SELECTION_TITLE = IDEWorkbenchMessages.getString("ProjectLocationSelectionDialog.selectionTitle"); //$NON-NLS-1$
-
-	// constants
-	private static final int SIZING_TEXT_FIELD_WIDTH = 250;
-
-	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(IDEWorkbenchMessages.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 "); //$NON-NLS-1$
-
-	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(IDEWorkbenchMessages.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.ide/extensions/org/eclipse/ui/dialogs/ProjectLocationSelectionDialog.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ProjectLocationSelectionDialog.java
deleted file mode 100644
index 04d5423..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ProjectLocationSelectionDialog.java
+++ /dev/null
@@ -1,417 +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 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.dialogs;
-
-import java.io.File;
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-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.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-
-/**
- * The ProjectLocationSelectionDialog is the dialog used to select the name
- * and location of a project for copying.
- */
-public class ProjectLocationSelectionDialog extends SelectionStatusDialog {
-	// widgets
-	private Text projectNameField;
-	private Text locationPathField;
-	private Label locationLabel;
-	private IProject project;
-	private Button browseButton;
-
-	private static String PROJECT_NAME_LABEL = IDEWorkbenchMessages.getString("ProjectLocationSelectionDialog.nameLabel"); //$NON-NLS-1$
-	private static String LOCATION_LABEL = IDEWorkbenchMessages.getString("ProjectLocationSelectionDialog.locationLabel"); //$NON-NLS-1$
-	private static String BROWSE_LABEL = IDEWorkbenchMessages.getString("ProjectLocationSelectionDialog.browseLabel"); //$NON-NLS-1$
-	private static String DIRECTORY_DIALOG_LABEL = IDEWorkbenchMessages.getString("ProjectLocationSelectionDialog.directoryLabel"); //$NON-NLS-1$
-	private static String INVALID_LOCATION_MESSAGE = IDEWorkbenchMessages.getString("ProjectLocationSelectionDialog.locationError"); //$NON-NLS-1$
-	private static String PROJECT_LOCATION_SELECTION_TITLE = IDEWorkbenchMessages.getString("ProjectLocationSelectionDialog.selectionTitle"); //$NON-NLS-1$
-
-	// constants
-	private static final int SIZING_TEXT_FIELD_WIDTH = 250;
-
-	private boolean useDefaults = true;
-	private boolean firstLocationCheck;
-
-/**
- * Create a ProjectLocationSelectionDialog on the supplied project parented by the parentShell.
- * @param parentShell
- * @param existingProject
- */
-public ProjectLocationSelectionDialog(
-	Shell parentShell,
-	IProject existingProject) {
-	super(parentShell);
-	setShellStyle(getShellStyle() | SWT.RESIZE);
-	setTitle(PROJECT_LOCATION_SELECTION_TITLE);
-	setStatusLineAboveButtons(true);
-	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) {
-	int code;
-	boolean allowFinish = false;
-	
-	if (errorMsg == null) {
-		code = IStatus.OK;
-		errorMsg = "";	//$NON-NLS-1$
-		allowFinish = true;
-	} else if (firstLocationCheck)
-		code = IStatus.OK;
-	else
-		code = IStatus.ERROR;
-
-	updateStatus(
-		new Status(
-			code,
-			IDEWorkbenchPlugin.getDefault().getDescriptor().getUniqueIdentifier(),
-			code,
-			errorMsg,
-			null));
-	getOkButton().setEnabled(allowFinish);			
-}
-/**
- * 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(IDEWorkbenchMessages.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 IDEWorkbenchMessages.format("CopyProjectAction.alreadyExists", new Object[] { name }); //$NON-NLS-1$
-	}
-
-	return null;
-}
-/**
- * The <code>ProjectLocationSelectionDialog</code> implementation of this 
- * <code>SelectionStatusDialog</code> method builds a two element list - 
- * the first element is the project name and the second one is the location.
- */
-protected void computeResult() {
-	
-	ArrayList list = new ArrayList();
-	list.add(this.projectNameField.getText());
-	if(useDefaults)
-		list.add(Platform.getLocation().toString());
-	else
-		list.add(this.locationPathField.getText());
-	setResult(list);
-}
-/* (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);
-
-	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) {
-			firstLocationCheck = false;
-			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(IDEWorkbenchMessages.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) {
-				firstLocationCheck = true;
-				applyValidationResult(checkValid());
-			}
-		}
-	};
-	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 = IDEWorkbenchMessages.format("CopyProjectAction.copyNameTwoArgs", new Object[] {new Integer(counter), projectName}); //$NON-NLS-1$
-		}
-		else {
-			nameSegment = IDEWorkbenchMessages.format("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);
-}
-/**
- * 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.ide/extensions/org/eclipse/ui/dialogs/ResourceListSelectionDialog.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ResourceListSelectionDialog.java
deleted file mode 100644
index da4f4ca..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ResourceListSelectionDialog.java
+++ /dev/null
@@ -1,785 +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 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.dialogs;
-
-import java.text.Collator;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Comparator;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceProxy;
-import org.eclipse.core.resources.IResourceProxyVisitor;
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Text;
-
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.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>
- * 
- * @since 2.1
- */
-public class ResourceListSelectionDialog extends SelectionDialog {
-	Text pattern;
-	Table resourceNames;
-	Table folderNames;
-	String patternString;
-	IContainer container;
-	int typeMask;
-	static Collator collator = Collator.getInstance();
-
-	boolean gatherResourcesDynamically = true;	
-	StringMatcher stringMatcher;
-	
-	UpdateFilterThread updateFilterThread;
-	UpdateGatherThread updateGatherThread;
-	ResourceDescriptor[] descriptors;
-	int descriptorsSize;
-	
-	WorkbenchLabelProvider labelProvider = new WorkbenchLabelProvider();
-	static class ResourceDescriptor implements Comparable {
-		String label;
-		ArrayList resources = new ArrayList();
-		boolean resourcesSorted = true;
-		public int compareTo(Object o) {
-			return collator.compare(label,((ResourceDescriptor)o).label);
-		}
-	}
-	
-	class UpdateFilterThread 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("*")) &&  //$NON-NLS-1$
-				(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();
-			 		}
-				}
-			});
-		}
-	};
-	class UpdateGatherThread extends Thread {
-		boolean stop = false;
-		int lastMatch = -1;
-		int firstMatch = 0;
-		boolean refilter = false;
-		
-		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;
-			}
-				 
-			if (!refilter) {
-				for (int i = 0; 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 {
-				// we're filtering the previous list
-				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)) {
-						display.syncExec(new Runnable() {
-							public void run() {
-								if(stop || resourceNames.isDisposed()) return;
-								updateItem(index,itemIndex[0],itemCount[0]);
-								itemIndex[0]++;
-							}
-						});
-					}
-				}
-			}
-				
-			if(disposed[0]) {
-				return;
-			}
-				
-			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);
-	gatherResourcesDynamically = false;
-	initDescriptors(resources);
-}
-/**
- * Creates a new instance of the class.  When this constructor is used to
- * create the dialog, resources will be gathered dynamically as the pattern
- * string is specified.  Only resources of the given types that match the 
- * pattern string will be listed.  To further filter the matching resources,
- * @see #select(IResource).
- * 
- * @param parentShell shell to parent the dialog on
- * @param container container to get resources from
- * @param typeMask mask containing IResource types to be considered
- */
-public ResourceListSelectionDialog(Shell parentShell, IContainer container, int typeMask) {
-	super(parentShell);
-	this.container = container;
-	this.typeMask = typeMask;
-	setShellStyle(getShellStyle() | SWT.RESIZE);
-}
-/**
- * Adjust the pattern string for matching.
- */
-protected String adjustPattern() {
-	String text = pattern.getText().trim();
-	if (!text.equals("") &&  //$NON-NLS-1$
-		text.indexOf('*') == -1 && 
-		text.indexOf('?') == -1 &&
-		text.indexOf('<') == -1) {
-			text = text + "*";	//$NON-NLS-1$
-			return text;
-	}
-	if (text.endsWith("<")) {	//$NON-NLS-1$
-		// the < character indicates an exact match search
-		return text.substring(0, text.length() - 1);
-	}
-	return text;
-}
-
-/**
- * @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(IDEWorkbenchMessages.getString("ResourceSelectionDialog.label")); //$NON-NLS-1$
-	GridData data = new GridData(GridData.FILL_HORIZONTAL);
-	l.setLayoutData(data);
-	
-	l = new Label(dialogArea,SWT.NONE);
-	l.setText(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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);
-	
-	if (gatherResourcesDynamically) {
-		updateGatherThread = new UpdateGatherThread();
-	} else {
-		updateFilterThread = new UpdateFilterThread();
-	}
-	
-	pattern.addKeyListener(new KeyAdapter(){
-		public void keyReleased(KeyEvent e) {
-			if (e.keyCode == SWT.ARROW_DOWN) resourceNames.setFocus();
-		}
-	});
-    
-    pattern.addModifyListener(new ModifyListener() {
-        public void modifyText(ModifyEvent e) {
-            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();
-		}
-	});
-	
-	
-	applyDialogFont(dialogArea);
-	return dialogArea;
-}
-/**
- */
-private void filterResources() {
-	String oldPattern = patternString;
-	patternString = adjustPattern();
-	if(patternString.equals(oldPattern))
-		return;
-
-	updateFilterThread.stop = true;
-	stringMatcher = new StringMatcher(patternString,true,false);
-	UpdateFilterThread oldThread = updateFilterThread;
-	updateFilterThread = new UpdateFilterThread();
-	if (patternString.equals("")) { //$NON-NLS-1$
-		updateFilterThread.firstMatch = 0;
-		updateFilterThread.lastMatch = -1;
-		updateFilterThread.start();
-		return;
-	} 
-	
-	if (oldPattern != null && (oldPattern.length() != 0) && 
-	   	oldPattern.endsWith("*") && patternString.endsWith("*")) { //$NON-NLS-1$ //$NON-NLS-2$
-		int matchLength = oldPattern.length() - 1;
-	  	if (patternString.regionMatches(0, oldPattern, 0, matchLength)) {
-			// filter the previous list of items, this is done when the 
-			// new pattern is a derivative of the old pattern
-			updateFilterThread.firstMatch = oldThread.firstMatch;
-			updateFilterThread.lastMatch = oldThread.lastMatch;
-			updateFilterThread.start();
-			return;
-	  	}
-	} 
-	
-	// filter the entire list
-	updateFilterThread.firstMatch = 0;
-	updateFilterThread.lastMatch = descriptorsSize - 1; 
-	updateFilterThread.start();
-}
-/**
- * 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;
-}
-/**
- */
-private void gatherResources() {
-	String oldPattern = patternString;
-	patternString = adjustPattern();
-	if(patternString.equals(oldPattern))
-		return;
-	
-	updateGatherThread.stop = true;
-	updateGatherThread = new UpdateGatherThread();
-
-	if (patternString.equals("")) { //$NON-NLS-1$
-		updateGatherThread.start();
-		return;
-	} 
-	stringMatcher = new StringMatcher(patternString,true,false);
-	
-	if (oldPattern != null && (oldPattern.length() != 0) && 
-	   oldPattern.endsWith("*") && patternString.endsWith("*")) { //$NON-NLS-1$ //$NON-NLS-2$
-		// see if the new pattern is a derivative of the old pattern
-		int matchLength = oldPattern.length() - 1;
-	  	if (patternString.regionMatches(0, oldPattern, 0, matchLength)) {
-			updateGatherThread.refilter = true;
-			updateGatherThread.firstMatch = 0;
-			updateGatherThread.lastMatch = descriptorsSize - 1;
-			updateGatherThread.start();
-			return;
-	  	}
-	} 
-	
-	final ArrayList resources = new ArrayList();
-	BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() {
-		public void run() {
-			getMatchingResources(resources);
-			IResource resourcesArray[] = new IResource[resources.size()];
-			resources.toArray(resourcesArray);
-			initDescriptors(resourcesArray);
-		}
-	});
-	
-	updateGatherThread.firstMatch = 0;
-	updateGatherThread.lastMatch = descriptorsSize - 1;
-	updateGatherThread.start();
-}
-/**
- * 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;
-}
-/**
- * Gather the resources of the specified type that match the current
- * pattern string.  Gather the resources using the proxy visitor since
- * this is quicker than getting the entire resource.
- * 
- * @param resources resources that match
- */
-private void getMatchingResources(final ArrayList resources) {
-	try {
-		container.accept(new IResourceProxyVisitor() {
-			public boolean visit(IResourceProxy proxy) {
-				int type = proxy.getType();
-				if ((typeMask & type) != 0) {
-					if(match(proxy.getName())) {
-						IResource res = proxy.requestResource();
-						if (select(res)) {
-							resources.add(res);
-							return true;
-						} else {
-							return false;
-						}
-					} 
-				}
-				if (type == IResource.FILE) return false;
-				return true;
-			}
-		}, IResource.NONE);
-	} catch (CoreException e) {
-	}
-}
-private Image getParentImage(IResource resource) {
-	IResource parent = resource.getParent();
-	return labelProvider.getImage(parent);
-}
-private String getParentLabel(IResource resource) {
-	IResource parent = resource.getParent();
-	String text;
-	if (parent.getType() == IResource.ROOT) {
-		// Get readable name for workspace root ("Workspace"), without duplicating language-specific string here.
-		text = labelProvider.getText(parent);
-	} else {
-		text = parent.getFullPath().makeRelative().toString();
-	}
-	return text;
-}
-/**
- * Creates a ResourceDescriptor for each IResource,
- * sorts them and removes the duplicated ones.
- * 
- * @param resources resources to create resource descriptors for
- */
-private void initDescriptors(final IResource resources[]) {
-	BusyIndicator.showWhile(null, new Runnable() {
-		public void run() {
-			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(nextResource.getType() == currentResource.getType() && next.label.equals(current.label)) {
-					current.resources.add(nextResource);
-				} else {
-					if (current.resources.size() > 1) {
-						current.resourcesSorted = false;
-					} 
-					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();
-}
-/**
- * Use this method to further filter resources.  As resources are gathered,
- * if a resource matches the current pattern string, this method will be called.
- * If this method answers false, the resource will not be included in the list
- * of matches and the resource's children will NOT be considered for matching.
- */
-protected boolean select(IResource resource) {
-	return true;
-}
-/**
- * The text in the pattern text entry has changed.
- * Create a new string matcher and start a new update tread.
- */
-private void textChanged() {
-	if (gatherResourcesDynamically) {
-		gatherResources();
-	} else {
-		filterResources();
-	}	
-}
-/**
- * A new resource has been selected. Change the contents
- * of the folder names list.
- * 
- * @desc resource descriptor of the selected resource
- */
-private void updateFolders(final ResourceDescriptor desc) {
-	BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() {
-		public void run() {
-			if (!desc.resourcesSorted) {
-				// sort the folder names
-				Collections.sort(desc.resources , new Comparator() {
-					public int compare(Object o1, Object o2) {
-						String s1 = getParentLabel((IResource)o1);
-						String s2 = getParentLabel((IResource)o2);
-						return collator.compare(s1, s2);
-					}
-				});
-				desc.resourcesSorted = true;
-			}
-			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);
-				newItem.setText(getParentLabel(r));
-				newItem.setImage(getParentImage(r));
-				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.ide/extensions/org/eclipse/ui/dialogs/ResourceSelectionDialog.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ResourceSelectionDialog.java
deleted file mode 100644
index fe1b49b..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ResourceSelectionDialog.java
+++ /dev/null
@@ -1,212 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.dialogs;
-
-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.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-import org.eclipse.ui.internal.ide.misc.CheckboxTreeAndListGroup;
-import org.eclipse.ui.help.*;
-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(IDEWorkbenchMessages.getString("ResourceSelectionDialog.title")); //$NON-NLS-1$
-	root = rootElement;
-	if (message != null)
-		setMessage(message);
-	else
-		setMessage(IDEWorkbenchMessages.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),
-			WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider(),
-			getResourceProvider(IResource.FILE),
-			WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider(),
-			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.ide/extensions/org/eclipse/ui/dialogs/SaveAsDialog.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/SaveAsDialog.java
deleted file mode 100644
index ea4564b..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/SaveAsDialog.java
+++ /dev/null
@@ -1,257 +0,0 @@
-package org.eclipse.ui.dialogs;
-
-/******************************************************************************* 
- * 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 Corporation - initial API and implementation 
- *    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.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.ide.IDEInternalWorkbenchImages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-import org.eclipse.ui.internal.ide.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 org.eclipse.ui.dialogs.ContainerGenerator
- */
-public class SaveAsDialog extends TitleAreaDialog {
-	private IFile originalFile = null;
-	private String originalName = null;
-	private IPath result;
-
-	// widgets
-	private ResourceAndContainerGroup resourceGroup;
-	private Button okButton;
-
-	/**
-	 * 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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.getString("SaveAsDialog.title")); //$NON-NLS-1$
-	dlgTitleImage = IDEInternalWorkbenchImages.getImageDescriptor(IDEInternalWorkbenchImages.IMG_DLGBAN_SAVEAS_DLG).createImage();
-	setTitleImage(dlgTitleImage);
-	setMessage(IDEWorkbenchMessages.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);
-	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, IDEWorkbenchMessages.getString("SaveAsDialog.fileLabel"), IDEWorkbenchMessages.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 = IDEWorkbenchMessages.format("SaveAsDialog.overwriteQuestion", //$NON-NLS-1$
-			new Object[] { path.toOSString() } );
-		MessageDialog d= new MessageDialog(
-			getShell(),
-			IDEWorkbenchMessages.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.ide/extensions/org/eclipse/ui/dialogs/WizardDataTransferPage.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardDataTransferPage.java
deleted file mode 100644
index a87da4a..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardDataTransferPage.java
+++ /dev/null
@@ -1,438 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.dialogs;
-
-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.ide.IDEWorkbenchMessages;
-
-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 optionsGroup 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) {
-			return queryForContainer(
-				initialSelection,
-				msg,
-				null);
-	}
-		
-	/**
-	 * 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,
-		String title) {
-		ContainerSelectionDialog dialog =
-			new ContainerSelectionDialog(
-				getControl().getShell(),
-				initialSelection,
-				allowNewContainerName(),
-				msg);
-		if(title != null)
-			dialog.setTitle(title);
-		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 =
-				IDEWorkbenchMessages.format(
-					"WizardDataTransfer.existsQuestion", //$NON-NLS-1$
-					new String[] { pathString });
-
-		else
-			messageString =
-				IDEWorkbenchMessages.format(
-					"WizardDataTransfer.overwriteNameAndPathQuestion", //$NON-NLS-1$
-					new String[] {
-						path.lastSegment(),
-						path.removeLastSegments(1).toOSString()});
-
-			final MessageDialog dialog = new MessageDialog(getContainer().getShell(), IDEWorkbenchMessages.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(), IDEWorkbenchMessages.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(IDEWorkbenchMessages.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 =
-				IDEWorkbenchMessages.format(
-					"WizardDataTransfer.exceptionMessage", //$NON-NLS-1$
-					new String[] { exception.toString()});
-		displayErrorDialog(message);
-	}
-
-	/**
-	 * Get the title for an error dialog. Subclasses should
-	 * override.
-	 */
-	protected String getErrorDialogTitle() {
-		return IDEWorkbenchMessages.getString(
-			"WizardExportPage.internalErrorTitle"); //$NON-NLS-1$
-	}
-
-	
-}
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardExportPage.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardExportPage.java
deleted file mode 100644
index 03476f3..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardExportPage.java
+++ /dev/null
@@ -1,837 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.dialogs;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.IFileEditorMapping;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-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, IDEWorkbenchMessages.getString("WizardExportPage.whatLabel")); //$NON-NLS-1$
-	createSourceGroup(composite);
-
-	createSpacer(composite);
-	
-	createBoldLabel(composite, IDEWorkbenchMessages.getString("WizardExportPage.whereLabel")); //$NON-NLS-1$
-	createDestinationGroup(composite);
-
-	createSpacer(composite);
-	
-	createBoldLabel(composite, IDEWorkbenchMessages.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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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(),IDEWorkbenchMessages.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(IDEWorkbenchMessages.getString("WizardExportPage.oneResourceSelected")); //$NON-NLS-1$
-	else
-		resourceDetailsDescription.setText(IDEWorkbenchMessages.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 = IDEWorkbenchPlugin.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, IDEWorkbenchMessages.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.
- * 
- * @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
- */
-protected Object[] queryIndividualResourcesToExport(IAdaptable rootResource) {
-	ResourceSelectionDialog dialog =
-		new ResourceSelectionDialog(getContainer().getShell(), rootResource,IDEWorkbenchMessages.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[] =
-		PlatformUI.getWorkbench().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,
-			IDEWorkbenchMessages.getString("WizardExportPage.selectionDialogMessage")); //$NON-NLS-1$
-
-	
-	dialog.setTitle(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.getString("WizardExportPage.mustExistMessage")); //$NON-NLS-1$
-		return false;
-	}
-
-	if (!resource.isAccessible()) {
-		setErrorMessage(IDEWorkbenchMessages.getString("WizardExportPage.mustBeAccessibleMessage")); //$NON-NLS-1$
-		return false;
-	}
-
-	return true;
-}
-}
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardExportResourcesPage.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardExportResourcesPage.java
deleted file mode 100644
index 41723aa..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardExportResourcesPage.java
+++ /dev/null
@@ -1,597 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.dialogs;
-
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.*;
-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.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.Shell;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.DialogUtil;
-import org.eclipse.ui.internal.ide.dialogs.ResourceTreeAndListGroup;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-/**
- * 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>
- */
-public abstract class WizardExportResourcesPage
-	extends WizardDataTransferPage {
-	private IStructuredSelection initialResourceSelection;
-	private List selectedTypes = new ArrayList();
-
-	// widgets
-	private ResourceTreeAndListGroup resourceGroup;
-
-	private final static String SELECT_TYPES_TITLE = IDEWorkbenchMessages.getString("WizardTransferPage.selectTypes"); //$NON-NLS-1$
-	private final static String SELECT_ALL_TITLE = IDEWorkbenchMessages.getString("WizardTransferPage.selectAll"); //$NON-NLS-1$
-	private final static String DESELECT_ALL_TITLE = IDEWorkbenchMessages.getString("WizardTransferPage.deselectAll"); //$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 WizardExportResourcesPage(
-		String pageName,
-		IStructuredSelection selection) {
-		super(pageName);
-		this.initialResourceSelection = selection;
-	}
-	/**
-	 * The <code>addToHierarchyToCheckedStore</code> implementation of this 
-	 * <code>WizardDataTransferPage</code> method returns <code>false</code>. 
-	 * Subclasses may override this method.
-	 */
-	protected boolean allowNewContainerName() {
-		return false;
-	}
-	/**
-	 * 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);
-
-		GridData buttonData = new GridData(GridData.FILL_HORIZONTAL);
-		button.setLayoutData(buttonData);
-
-		button.setData(new Integer(id));
-		button.setText(label);
-		button.setFont(parent.getFont());
-
-		if (defaultButton) {
-			Shell shell = parent.getShell();
-			if (shell != null) {
-				shell.setDefaultButton(button);
-			}
-			button.setFocus();
-		}
-		button.setFont(parent.getFont());
-		setButtonLayoutData(button);
-		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) {
-
-		Font font = parent.getFont();
-
-		// top level group
-		Composite buttonComposite = new Composite(parent, SWT.NONE);
-		buttonComposite.setFont(parent.getFont());
-
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		layout.makeColumnsEqualWidth = true;
-		buttonComposite.setLayout(layout);
-		buttonComposite.setLayoutData(
-			new GridData(
-				GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL));
-
-		// types edit button
-		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);
-		selectTypesButton.setFont(font);
-		setButtonLayoutData(selectTypesButton);
-
-		Button selectButton =
-			createButton(
-				buttonComposite,
-				IDialogConstants.SELECT_ALL_ID,
-				SELECT_ALL_TITLE,
-				false);
-
-		listener = new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				resourceGroup.setAllSelections(true);
-			}
-		};
-		selectButton.addSelectionListener(listener);
-		selectButton.setFont(font);
-		setButtonLayoutData(selectButton);
-
-		Button deselectButton =
-			createButton(
-				buttonComposite,
-				IDialogConstants.DESELECT_ALL_ID,
-				DESELECT_ALL_TITLE,
-				false);
-
-		listener = new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				resourceGroup.setAllSelections(false);
-			}
-		};
-		deselectButton.addSelectionListener(listener);
-		deselectButton.setFont(font);
-		setButtonLayoutData(deselectButton);
-
-	}
-	/** (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.setFont(parent.getFont());
-
-		createResourcesGroup(composite);
-		createButtonsGroup(composite);
-
-		createDestinationGroup(composite);
-
-		createOptionsGroup(composite);
-
-		restoreResourceSpecificationWidgetValues(); // ie.- local
-		restoreWidgetValues(); // ie.- subclass hook
-		if (initialResourceSelection != 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 checkbox tree and list for selecting resources.
-	 *
-	 * @param parent the parent control
-	 */
-	protected final void createResourcesGroup(Composite parent) {
-
-		//create the input element, which has the root resource
-		//as its only child
-		List input = new ArrayList();
-		IProject[] projects =
-			ResourcesPlugin.getWorkspace().getRoot().getProjects();
-		for (int i = 0; i < projects.length; i++) {
-			if (projects[i].isOpen())
-				input.add(projects[i]);
-		}
-
-		this.resourceGroup =
-			new ResourceTreeAndListGroup(
-				parent,
-				input,
-				getResourceProvider(IResource.FOLDER | IResource.PROJECT),
-				WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider(),
-				getResourceProvider(IResource.FILE),
-				WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider(),
-				SWT.NONE,
-				DialogUtil.inRegularFontMode(parent));
-
-	}
-	/*
-	 * @see WizardDataTransferPage.getErrorDialogTitle()
-	 */
-	protected String getErrorDialogTitle() {
-		return IDEWorkbenchMessages.getString("WizardExportPage.errorDialogTitle"); //$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.
-	 *
-	 * @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 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];
-					}
-				}
-			}
-		};
-	}
-	/**
-	 * Returns this page's collection of currently-specified resources to be 
-	 * exported. This is the primary resource selection facility accessor for 
-	 * subclasses.
-	 *
-	 * @return a collection of resources currently selected 
-	 * for export (element type: <code>IResource</code>)
-	 */
-	protected List getSelectedResources() {
-		Iterator resourcesToExportIterator =
-			this.getSelectedResourcesIterator();
-		List resourcesToExport = new ArrayList();
-		while (resourcesToExportIterator.hasNext())
-			resourcesToExport.add(resourcesToExportIterator.next());
-		return resourcesToExport;
-	}
-	/**
-	 * Returns this page's collection of currently-specified resources to be 
-	 * exported. This is the primary resource selection facility accessor for 
-	 * subclasses.
-	 *
-	 * @return an iterator over the collection of resources currently selected 
-	 * for export (element type: <code>IResource</code>). This will include
-	 * white checked folders and individually checked files.
-	 */
-	protected Iterator getSelectedResourcesIterator() {
-		return this.resourceGroup.getAllCheckedListItems().iterator();
-	}
-	/**
-	 * 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() {
-
-		return selectedTypes;
-	}
-	/**
-	 * Returns this page's collection of currently-specified resources to be 
-	 * exported. This returns both folders and files - for just the files use
-	 * getSelectedResources.
-	 *
-	 * @return a collection of resources currently selected 
-	 * for export (element type: <code>IResource</code>)
-	 */
-	protected List getWhiteCheckedResources() {
-
-		return this.resourceGroup.getAllWhiteCheckedItems();
-	}
-	/**
-	 * Queries the user for the types of resources to be exported and selects
-	 * them in the checkbox group.
-	 */
-	protected void handleTypesEditButtonPressed() {
-		Object[] newSelectedTypes = queryResourceTypesToExport();
-
-		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();
-		}
-
-	}
-	/**
-	 * 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 resource types that are to be exported and returns
-	 * these types as an array.
-	 *
-	 * @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() {
-
-		TypeFilteringDialog dialog =
-			new TypeFilteringDialog(
-				getContainer().getShell(),
-				getTypesToExport());
-
-		dialog.open();
-
-		return dialog.getResult();
-	}
-	/**
-	 * 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() {
-	}
-	/**
-	 * 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() {
-
-		// allow subclasses to save values
-		internalSaveWidgetValues();
-
-	}
-	/**
-	 * Set the initial selections in the resource group.
-	 */
-	protected void setupBasedOnInitialSelections() {
-
-		Iterator enum = this.initialResourceSelection.iterator();
-		while (enum.hasNext()) {
-			IResource currentResource = (IResource) enum.next();
-			if (currentResource.getType() == IResource.FILE)
-				this.resourceGroup.initialCheckListItem(currentResource);
-			else
-				this.resourceGroup.initialCheckTreeItem(currentResource);
-		}
-	}
-	/**
-	 * Update the tree to only select those elements that match the selected types
-	 */
-	private void setupSelectionsBasedOnSelectedTypes() {
-
-		Runnable runnable = new Runnable() {
-			public void run() {
-				Map selectionMap = new Hashtable();
-				//Only get the white selected ones
-				Iterator resourceIterator =
-					resourceGroup.getAllWhiteCheckedItems().iterator();
-				while (resourceIterator.hasNext()) {
-					//handle the files here - white checked containers require recursion
-					IResource resource = (IResource) resourceIterator.next();
-					if (resource.getType() == IResource.FILE) {
-						if (hasExportableExtension(resource.getName())) {
-							List resourceList = new ArrayList();
-							IContainer parent = resource.getParent();
-							if (selectionMap.containsKey(parent))
-								resourceList = (List) selectionMap.get(parent);
-							resourceList.add(resource);
-							selectionMap.put(parent, resourceList);
-						}
-					} else
-						setupSelectionsBasedOnSelectedTypes(
-							selectionMap,
-							(IContainer) resource);
-				}
-				resourceGroup.updateSelections(selectionMap);
-			}
-		};
-
-		BusyIndicator.showWhile(getShell().getDisplay(), runnable);
-
-	}
-	/**
-	* Set up the selection values for the resources and put them in the selectionMap.
-	* If a resource is a file see if it matches one of the selected extensions. If not
-	* then check the children.
-	* @return a boolean if any children are selected
-	*/
-	private void setupSelectionsBasedOnSelectedTypes(
-		Map selectionMap,
-		IContainer parent) {
-
-		List selections = new ArrayList();
-		IResource[] resources;
-		boolean hasFiles = false;
-
-		try {
-			resources = parent.members();
-		} catch (CoreException exception) {
-			//Just return if we can't get any info
-			return;
-		}
-
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			if (resource.getType() == IResource.FILE) {
-				if (hasExportableExtension(resource.getName())) {
-					hasFiles = true;
-					selections.add(resource);
-				}
-			} else {
-				setupSelectionsBasedOnSelectedTypes(
-					selectionMap,
-					(IContainer) resource);
-			}
-		}
-
-		//Only add it to the list if there are files in this folder
-		if (hasFiles)
-			selectionMap.put(parent, selections);
-	}
-
-	/**
-	 * Save any editors that the user wants to save before export.
-	 * @return boolean if the save was successful.
-	 */
-	protected boolean saveDirtyEditors() {
-		return
-			IDEWorkbenchPlugin.getDefault().getWorkbench().saveAllEditors(true);
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardImportPage.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardImportPage.java
deleted file mode 100644
index 77b39a6..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardImportPage.java
+++ /dev/null
@@ -1,286 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.dialogs;
-
-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.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-
-/**
- * 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 name 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, IDEWorkbenchMessages.getString("WizardImportPage.destinationLabel"));	 //$NON-NLS-1$
-	createDestinationGroup(composite);
-
-	createSpacer(composite);
-
-	createBoldLabel(composite, IDEWorkbenchMessages.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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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(),IDEWorkbenchMessages.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 = IDEWorkbenchPlugin.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 = IDEWorkbenchPlugin.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(), IDEWorkbenchMessages.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(IDEWorkbenchMessages.getString("WizardImportPage.folderMustExist")); //$NON-NLS-1$
-			return false;
-		}
-	}
-
-	return true;
-
-}
-}
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewFileCreationPage.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewFileCreationPage.java
deleted file mode 100644
index 690270d..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewFileCreationPage.java
+++ /dev/null
@@ -1,503 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.dialogs;
-
-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.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceStatus;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.core.runtime.SubProgressMonitor;
-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.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-import org.eclipse.ui.internal.ide.dialogs.CreateLinkedResourceGroup;
-import org.eclipse.ui.internal.ide.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;
-	private Composite linkedResourceParent;
-	private Composite linkedResourceComposite;
-		
-	// initial value stores
-	private String initialFileName;
-	private IPath initialContainerFullPath;
-	/**
-	 * 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) {
-	Preferences preferences = ResourcesPlugin.getPlugin().getPluginPreferences();
-	
-	if (preferences.getBoolean(ResourcesPlugin.PREF_DISABLE_LINKING) == false) {
-		linkedResourceParent = new Composite(parent, SWT.NONE);
-		linkedResourceParent.setFont(parent.getFont());
-		linkedResourceParent.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		linkedResourceParent.setLayout(layout);
-
-		advancedButton = new Button(linkedResourceParent, SWT.PUSH);
-		advancedButton.setFont(linkedResourceParent.getFont());
-		advancedButton.setText(IDEWorkbenchMessages.getString("showAdvanced")); //$NON-NLS-1$
-		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(), IDEWorkbenchMessages.getString("WizardNewFileCreationPage.file"), false, SIZING_CONTAINER_GROUP_HEIGHT); //$NON-NLS-1$
-	resourceGroup.setAllowExistingResources(false);
-	initialPopulateContainerNameField();
-	createAdvancedControls(topLevel);
-	if (initialFileName != null)
-		resourceGroup.setResource(initialFileName);
-	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 IDEWorkbenchPlugin.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(null) {
-		protected void execute(IProgressMonitor monitor) throws CoreException,
-			InterruptedException
-		{
-			try {
-				monitor.beginTask(IDEWorkbenchMessages.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()
-				IDEWorkbenchMessages.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.
-			IDEWorkbenchPlugin.log(MessageFormat.format("Exception in {0}.getNewFile(): {1}", new Object[] {getClass().getName(), e.getTargetException()}));//$NON-NLS-1$
-			MessageDialog.openError(getContainer().getShell(), IDEWorkbenchMessages.getString("WizardNewFileCreationPage.internalErrorTitle"), IDEWorkbenchMessages.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 IDEWorkbenchMessages.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 (linkedResourceComposite != null) {
-		linkedResourceComposite.dispose();
-		linkedResourceComposite = null;
-		composite.layout();
-		shell.setSize(shellSize.x, shellSize.y - linkedResourceGroupHeight);
-		advancedButton.setText(IDEWorkbenchMessages.getString("showAdvanced")); //$NON-NLS-1$
-	} else {
-		linkedResourceComposite = linkedResourceGroup.createContents(linkedResourceParent);
-		if (linkedResourceGroupHeight == -1) {
-			Point groupSize = linkedResourceComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);		
-			linkedResourceGroupHeight = groupSize.y;
-		}
-		shell.setSize(shellSize.x, shellSize.y + linkedResourceGroupHeight);
-		composite.layout();
-		advancedButton.setText(IDEWorkbenchMessages.getString("hideAdvanced")); //$NON-NLS-1$
-	}
-}
-/**
- * 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.ide/extensions/org/eclipse/ui/dialogs/WizardNewFolderMainPage.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewFolderMainPage.java
deleted file mode 100644
index 426d102..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewFolderMainPage.java
+++ /dev/null
@@ -1,428 +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 Corporation - initial API and implementation 
- *   Leon J. Breedt: Added multiple folder creation support
- *******************************************************************************/
-package org.eclipse.ui.dialogs;
-
-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.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-import org.eclipse.ui.internal.ide.dialogs.CreateLinkedResourceGroup;
-import org.eclipse.ui.internal.ide.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 IFolder newFolder;
-	// link target location
-	private IPath linkTargetPath;
-	
-	// widgets
-	private ResourceAndContainerGroup resourceGroup;
-	private Button advancedButton;
-	private CreateLinkedResourceGroup linkedResourceGroup;
-	private Composite linkedResourceParent;
-	private Composite linkedResourceComposite;
-
-	/**
-	 * 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(IDEWorkbenchMessages.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) {
-	Preferences preferences = ResourcesPlugin.getPlugin().getPluginPreferences();
-	
-	if (preferences.getBoolean(ResourcesPlugin.PREF_DISABLE_LINKING) == false) {
-		linkedResourceParent = new Composite(parent, SWT.NONE);
-		linkedResourceParent.setFont(parent.getFont());
-		linkedResourceParent.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		linkedResourceParent.setLayout(layout);
-
-		advancedButton = new Button(linkedResourceParent, SWT.PUSH);
-		advancedButton.setFont(linkedResourceParent.getFont());
-		advancedButton.setText(IDEWorkbenchMessages.getString("showAdvanced")); //$NON-NLS-1$
-		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,IDEWorkbenchMessages.getString("WizardNewFolderMainPage.folderName"), IDEWorkbenchMessages.getString("WizardNewFolderMainPage.folderLabel"), false, SIZING_CONTAINER_GROUP_HEIGHT); //$NON-NLS-2$ //$NON-NLS-1$
-	resourceGroup.setAllowExistingResources(false);
-	createAdvancedControls(composite);
-	initializePage();
-	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 IDEWorkbenchPlugin.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(null) {
-		public void execute(IProgressMonitor monitor) throws CoreException {
-			try {
-				monitor.beginTask(IDEWorkbenchMessages.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()
-				IDEWorkbenchMessages.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.
-			
-			IDEWorkbenchPlugin.log(MessageFormat.format("Exception in {0}.getNewFolder(): {1}", new Object[] {getClass().getName(),e.getTargetException()}));//$NON-NLS-1$
-			MessageDialog.openError(getContainer().getShell(), IDEWorkbenchMessages.getString("WizardNewFolderCreationPage.internalErrorTitle"), IDEWorkbenchMessages.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 (linkedResourceComposite != null) {
-		linkedResourceComposite.dispose();
-		linkedResourceComposite = null;
-		composite.layout();
-		shell.setSize(shellSize.x, shellSize.y - linkedResourceGroupHeight);
-		advancedButton.setText(IDEWorkbenchMessages.getString("showAdvanced")); //$NON-NLS-1$
-	} else {
-		linkedResourceComposite = linkedResourceGroup.createContents(linkedResourceParent);
-		if (linkedResourceGroupHeight == -1) {
-			Point groupSize = linkedResourceComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);		
-			linkedResourceGroupHeight = groupSize.y;
-		}
-		shell.setSize(shellSize.x, shellSize.y + linkedResourceGroupHeight);
-		composite.layout();
-		advancedButton.setText(IDEWorkbenchMessages.getString("hideAdvanced")); //$NON-NLS-1$
-	}
-}
-/**
- * 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 = IDEWorkbenchPlugin.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.ide/extensions/org/eclipse/ui/dialogs/WizardNewLinkPage.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewLinkPage.java
deleted file mode 100644
index a51e7ca..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewLinkPage.java
+++ /dev/null
@@ -1,353 +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 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.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.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-import org.eclipse.ui.internal.ide.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 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(IDEWorkbenchMessages.getString("WizardNewLinkPage.linkFileButton")); //$NON-NLS-1$
-	else
-		createLinkButton.setText(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.getString("WizardNewLinkPage.linkTargetNotFile")); //$NON-NLS-1$
-		valid = false;
-	}
-	else
-	if (type == IResource.FOLDER && linkTargetFile.isDirectory() == false) {
-		setErrorMessage(IDEWorkbenchMessages.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(IDEWorkbenchMessages.getString("WizardNewLinkPage.linkTargetEmpty")); //$NON-NLS-1$
-		valid = false;
-	}
-	else {
-		IPath path = new Path("");//$NON-NLS-1$
-		if (path.isValidPath(linkTargetName) == false) {
-			setErrorMessage(IDEWorkbenchMessages.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 = IDEWorkbenchPlugin.getPluginWorkspace();
-	
-	if (createLink) {
-		String linkTargetName = linkTargetField.getText();
-
-		valid = validateLinkTargetName(linkTargetName); 
-		if (valid) {
-			File linkTargetFile = new Path(linkTargetName).toFile();
-			if (linkTargetFile.exists() == false) {
-				setErrorMessage(IDEWorkbenchMessages.getString("WizardNewLinkPage.linkTargetNonExistent")); //$NON-NLS-1$
-				valid = false;
-			}
-			else {
-				IStatus locationStatus = workspace.validateLinkLocation(
-					container,
-					new Path(linkTargetName));
-
-				if (locationStatus.isOK() == false) {
-					setErrorMessage(IDEWorkbenchMessages.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.ide/extensions/org/eclipse/ui/dialogs/WizardNewProjectCreationPage.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewProjectCreationPage.java
deleted file mode 100644
index 4f7a7bc..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewProjectCreationPage.java
+++ /dev/null
@@ -1,440 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.dialogs;
-
-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.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-
-/**
- * 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 {
-
-	boolean useDefaults = true;
-
-	// initial value stores
-	private String initialProjectFieldValue;
-	private String initialLocationFieldValue;
-
-	// the value the user has entered
-	String customLocationFieldValue;
-
-	// widgets
-	Text projectNameField;
-	Text locationPathField;
-	Label locationLabel;
-	Button browseButton;
-
-	private Listener nameModifyListener = new Listener() {
-		public void handleEvent(Event e) {
-			boolean valid = validatePage();
-			setPageComplete(valid);
-			if(valid)
-				setLocationForSelection();
-		}
-	};
-
-	private Listener locationModifyListener = new Listener() {
-		public void handleEvent(Event e) {
-			setPageComplete(validatePage());
-		}
-	};
-
-	// constants
-	private static final int SIZING_TEXT_FIELD_WIDTH = 250;
-	/**
-	 * Creates a new project creation wizard page.
-	 *
-	 * @param pageName the name of this page
-	 */
-	public WizardNewProjectCreationPage(String pageName) {
-		super(pageName);
-		setPageComplete(false);
-		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(IDEWorkbenchMessages.getString("WizardNewProjectCreationPage.projectContentsGroupLabel")); //$NON-NLS-1$
-
-		final Button useDefaultsButton =
-			new Button(projectGroup, SWT.CHECK | SWT.RIGHT);
-		useDefaultsButton.setText(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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.
-		if (initialLocationFieldValue == null)
-			locationPathField.setText(Platform.getLocation().toOSString());
-		else
-			locationPathField.setText(initialLocationFieldValue);
-		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 Platform.getLocation();
-
-		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
-	 */
-	void handleLocationBrowseButtonPressed() {
-		DirectoryDialog dialog =
-			new DirectoryDialog(locationPathField.getShell());
-		dialog.setMessage(IDEWorkbenchMessages.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 =
-				getDefaultLocationForName(initialProjectFieldValue);
-		}
-	}
-	/**
-	 * Set the location to the default location if we are set to useDefaults.
-	 */
-	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 = IDEWorkbenchPlugin.getPluginWorkspace();
-
-		String projectFieldContents = getProjectNameFieldValue();
-		if (projectFieldContents.equals("")) { //$NON-NLS-1$
-			setErrorMessage(null);
-			setMessage(IDEWorkbenchMessages.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(IDEWorkbenchMessages.getString("WizardNewProjectCreationPage.projectLocationEmpty")); //$NON-NLS-1$
-			return false;
-		}
-
-		IPath path = new Path(""); //$NON-NLS-1$
-		if (!path.isValidPath(locationFieldContents)) {
-			setErrorMessage(IDEWorkbenchMessages.getString("WizardNewProjectCreationPage.locationError")); //$NON-NLS-1$
-			return false;
-		}
-
-		IPath projectPath = new Path(locationFieldContents);
-		if (!useDefaults && Platform.getLocation().isPrefixOf(projectPath)) {
-			setErrorMessage(IDEWorkbenchMessages.getString("WizardNewProjectCreationPage.defaultLocationError")); //$NON-NLS-1$
-			return false;
-		}
-
-		IProject handle = getProjectHandle();
-		if (handle.exists()) {
-			setErrorMessage(IDEWorkbenchMessages.getString("WizardNewProjectCreationPage.projectExistsMessage")); //$NON-NLS-1$
-			return false;
-		}
-
-		/*
-		 * If not using the default value validate the location.
-		 */
-		if(!useDefaults()){
-			IStatus locationStatus =
-				workspace.validateProjectLocation(handle, projectPath);
-			if (!locationStatus.isOK()) {
-				setErrorMessage(locationStatus.getMessage()); //$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.ide/extensions/org/eclipse/ui/dialogs/WizardNewProjectReferencePage.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewProjectReferencePage.java
deleted file mode 100644
index 15a1371..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewProjectReferencePage.java
+++ /dev/null
@@ -1,137 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.dialogs;
-
-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.ide.IHelpContextIds;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-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 = IDEWorkbenchMessages.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(WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider());
-	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.ide/extensions/org/eclipse/ui/dialogs/WizardResourceImportPage.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardResourceImportPage.java
deleted file mode 100644
index b25e66e..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardResourceImportPage.java
+++ /dev/null
@@ -1,525 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.dialogs;
-
-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.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.DialogUtil;
-import org.eclipse.ui.internal.ide.dialogs.IElementFilter;
-import org.eclipse.ui.internal.ide.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;
-
-	//messages
-	private static final String EMPTY_FOLDER_MESSAGE = IDEWorkbenchMessages.getString("WizardImportPage.specifyFolder"); //$NON-NLS-1$
-	private static final String INACCESSABLE_FOLDER_MESSAGE = IDEWorkbenchMessages.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 name 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);
-
-	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(IDEWorkbenchMessages.getString("WizardImportPage.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(IDEWorkbenchMessages.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,
-			DialogUtil.inRegularFontMode(parent));
-
-	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 IDEWorkbenchMessages.getString("WizardImportPage.errorDialogTitle"); //$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 = IDEWorkbenchPlugin.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 = IDEWorkbenchPlugin.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(), 
-			IDEWorkbenchMessages.getString("WizardImportPage.selectFolderLabel"), //$NON-NLS-1$
-			IDEWorkbenchMessages.getString("WizardImportPage.selectFolderTitle")); //$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.
- */
-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 = IDEWorkbenchPlugin.getPluginWorkspace();
-		IPath projectPath =
-			containerPath.removeLastSegments(containerPath.segmentCount() - 1);
-
-		if (workspace.getRoot().exists(projectPath))
-			return true;
-		else {
-			setErrorMessage(IDEWorkbenchMessages.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(IDEWorkbenchMessages.getString("WizardImportPage.undefinedPathVariable")); //$NON-NLS-1$	
-			}
-			else {
-				setErrorMessage(IDEWorkbenchMessages.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(
-		IDEWorkbenchMessages.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(IDEWorkbenchMessages.getString("WizardImportPage.noOpenProjects")); //$NON-NLS-1$
-		return false;
-	}
-	return super.determinePageCompletion();
-}	
-
-/**
- * Returns whether or not the passed workspace has any 
- * open projects
- * @return boolean
- */
-private boolean noOpenProjects(){
-	IProject[] projects = IDEWorkbenchPlugin.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.ide/extensions/org/eclipse/ui/model/WorkbenchContentProvider.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/model/WorkbenchContentProvider.java
deleted file mode 100644
index 6251458..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/model/WorkbenchContentProvider.java
+++ /dev/null
@@ -1,213 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.model;
-
-import org.eclipse.core.resources.IContainer;
-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.IWorkspace;
-import org.eclipse.jface.viewers.AbstractTreeViewer;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.model.BaseWorkbenchContentProvider;
-
-/**
- * Tree content provider for resource objects that can be adapted to the interface
- * {@link org.eclipse.ui.model.IWorkbenchAdapter IWorkbenchAdapter}. This provider
- * will listen for resource changes within the workspace and update the viewer
- * as necessary.
- * <p>
- * This class may be instantiated, or subclassed by clients.
- * </p>
- */
-public class WorkbenchContentProvider extends BaseWorkbenchContentProvider implements IResourceChangeListener {
-	private Viewer viewer;
-
-	/**
-	 * Creates the resource content provider.
-	 */
-	public WorkbenchContentProvider() {
-		super();
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IContentProvider.
-	 */
-	public void dispose() {
-		if (viewer != null) {
-			IWorkspace workspace = null;
-			Object obj = viewer.getInput();
-			if (obj instanceof IWorkspace) {
-				workspace = (IWorkspace) obj;
-			} else if (obj instanceof IContainer) {
-				workspace = ((IContainer) obj).getWorkspace();
-			}
-			if (workspace != null) {
-				workspace.removeResourceChangeListener(this);
-			}
-		}
-		
-		super.dispose();
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IContentProvider.
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		super.inputChanged(viewer, oldInput, 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);
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IResourceChangeListener.
-	 */
-	public final 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);
-				}
-			});
-		}
-	}
-
-	/**
-	 * 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);
-		}
-		// Replacing a resource may affect its label and its children
-		if ((changeFlags & IResourceDelta.REPLACED) != 0) {
-			((StructuredViewer) viewer).refresh(resource, true);
-			return;
-		}
-
-		// Handle changed children .
-		for (int i = 0; i < affectedChildren.length; i++) {
-			processDelta(affectedChildren[i]);
-		}
-
-		// @issue several problems here:
-		//  - should process removals before additions, to avoid multiple equal elements in viewer
-        //   - Kim: processing removals before additions was the indirect cause of 44081 and its varients
-		//   - Nick: no delta should have an add and a remove on the same element, so processing adds first is probably OK
-		//  - using setRedraw will cause extra flashiness
-		//  - setRedraw is used even for simple changes
-		//  - to avoid seeing a rename in two stages, should turn redraw on/off around combined removal and addition
-        //   - Kim: done, and only in the case of a rename (both remove and add changes in one delta).
-        
-        boolean addedAndRemoved = false;
-		try {
-            IResourceDelta [] addedChildren = delta.getAffectedChildren(IResourceDelta.ADDED);
-            IResourceDelta [] removedChildren = delta.getAffectedChildren(IResourceDelta.REMOVED);
-            addedAndRemoved = addedChildren.length > 0 & removedChildren.length > 0;
-            
-			// Disable redraw until the operation is finished so we don't get a flash of both the new and old item (in the case of rename)
-            // Only do this if we're both adding and removing files (the rename case)
-            if (addedAndRemoved) 
-            	viewer.getControl().setRedraw(false);
-			
-			// Process additions before removals as to not cause selection preservation prior to new objects being added    
-			// Handle added children. Issue one update for all insertions.
-			if (addedChildren.length > 0) {
-				Object[] affected = new Object[addedChildren.length];
-				for (int i = 0; i < addedChildren.length; i++)
-					affected[i] = addedChildren[i].getResource();
-				if (viewer instanceof AbstractTreeViewer) {
-					((AbstractTreeViewer) viewer).add(resource, affected);
-				}
-				else {
-					((StructuredViewer) viewer).refresh(resource);
-				}
-			}        
-		
-    		// Handle removed children. Issue one update for all removals.
-    		if (removedChildren.length > 0) {
-    			Object[] affected = new Object[removedChildren.length];
-    			for (int i = 0; i < removedChildren.length; i++)
-    				affected[i] = removedChildren[i].getResource();
-    			if (viewer instanceof AbstractTreeViewer) {
-    				((AbstractTreeViewer) viewer).remove(affected);
-    			} else {
-    				((StructuredViewer) viewer).refresh(resource);
-    			}
-    		}        
-        }
-        finally {
-            if (addedAndRemoved) 
-            	viewer.getControl().setRedraw(true);
-        }
-        
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/FileEditorInput.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/FileEditorInput.java
deleted file mode 100644
index 29203d7..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/FileEditorInput.java
+++ /dev/null
@@ -1,148 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.part;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IPathEditorInput;
-import org.eclipse.ui.IPersistableElement;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * 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, IPathEditorInput, IPersistableElement {
-	private IFile file;
-	
-	/**
-	 * Creates an editor input based of the given file resource.
-	 *
-	 * @param file the file resource
-	 */
-	public FileEditorInput(IFile file) {
-		if (file == null) {
-			throw new IllegalArgumentException();
-		}
-		this.file = file;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on Object.
-	 */
-	public int hashCode() {
-		return file.hashCode();
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on Object.
-	 *
-	 * 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);
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on IEditorInput.
-	 */
-	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)
-	 * Method declared on IEditorInput.
-	 */
-	public ImageDescriptor getImageDescriptor() {
-		return PlatformUI.getWorkbench().getEditorRegistry().getImageDescriptor(file.getName());
-	}
-	
-	/* (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 IPersistableElement.
-	 */
-	public void saveState(IMemento memento) {
-		FileEditorInputFactory.saveState(memento, this);
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on IPathEditorInput
-	 * @since 3.0
-	 * @issue consider using an internal adapter for IPathEditorInput rather than adding this as API
-	 */
-	public IPath getPath() {
-		return file.getLocation();
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/FileEditorInputFactory.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/FileEditorInputFactory.java
deleted file mode 100644
index a982326..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/FileEditorInputFactory.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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.part;
-
-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;
-
-		// Get a handle to the IFile...which can be a handle
-		// to a resource that does not exist in workspace
-		IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(fileName));
-		if (file != null)
-			return new FileEditorInput(file);
-		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.ide/extensions/org/eclipse/ui/part/FileInPlaceEditorInput.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/FileInPlaceEditorInput.java
deleted file mode 100644
index ac9230b..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/FileInPlaceEditorInput.java
+++ /dev/null
@@ -1,119 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.part;
-
-import org.eclipse.core.resources.IFile;
-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.ui.IInPlaceEditor;
-import org.eclipse.ui.IInPlaceEditorInput;
-
-/**
- * Adapter for making a file resource a suitable input for an in-place editor.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * 
- * @since 3.0
- */
-public class FileInPlaceEditorInput extends FileEditorInput implements IInPlaceEditorInput {
-	IInPlaceEditor embeddedEditor;
-
-	/**
-	 * A resource listener to update the input and in-place
-	 * editor if the input's file resource changes.
-	 */
-	private IResourceChangeListener resourceListener = new IResourceChangeListener() {
-		public void resourceChanged(IResourceChangeEvent event) {
-			IResourceDelta mainDelta = event.getDelta();
-			if (mainDelta != null && embeddedEditor != null) {
-				IResourceDelta affectedElement = mainDelta.findMember(getFile().getFullPath());
-				if (affectedElement != null) {
-					try {
-						processDelta(affectedElement);
-					} catch (CoreException exception) {
-						// Failed so close the receiver
-						if (embeddedEditor != null) {
-							embeddedEditor.getSite().getPage().closeEditor(embeddedEditor, true);
-						}
-					}
-				}
-			}
-		}
-
-		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 && embeddedEditor != null) {
-									embeddedEditor.sourceChanged(new FileInPlaceEditorInput(newFile));
-								}
-							}
-						};
-					} else {
-						changeRunnable = new Runnable() {
-							public void run() {
-								if (embeddedEditor != null) {
-									embeddedEditor.sourceDeleted();
-									embeddedEditor.getSite().getPage().closeEditor(embeddedEditor, true);
-								}
-							}
-						};
-
-					}
-
-					break;
-			}
-
-			if (changeRunnable != null && embeddedEditor != null) {
-				embeddedEditor.getSite().getShell().getDisplay().asyncExec(changeRunnable);
-			}
-
-			return true; // because we are sitting on files anyway
-		}
-	};
-
-	/**
-	 * Creates an in-place editor input based on a file resource.
-	 *
-	 * @param file the file resource
-	 */
-	public FileInPlaceEditorInput(IFile file) {
-		super(file);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IInPlaceEditorInput#setInPlaceEditor(org.eclipse.ui.IInPlaceEditor)
-	 */
-	public void setInPlaceEditor(IInPlaceEditor editor) {
-		if (embeddedEditor != editor) {
-			if (embeddedEditor != null) {
-				getFile().getWorkspace().removeResourceChangeListener(resourceListener);
-			}
-			
-			embeddedEditor = editor;
-			
-			if (embeddedEditor != null) {
-				getFile().getWorkspace().addResourceChangeListener(resourceListener);
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/MarkerTransfer.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/MarkerTransfer.java
deleted file mode 100644
index 733ba60..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/MarkerTransfer.java
+++ /dev/null
@@ -1,207 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.part;
-
-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 org.eclipse.jface.viewers.StructuredViewer
- * @see org.eclipse.swt.dnd.DropTarget
- * @see org.eclipse.swt.dnd.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 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.ide/extensions/org/eclipse/ui/part/ResourceTransfer.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/ResourceTransfer.java
deleted file mode 100644
index 5f6a18b..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/ResourceTransfer.java
+++ /dev/null
@@ -1,187 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.part;
-
-import java.io.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.Path;
-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 org.eclipse.jface.viewers.StructuredViewer
- * @see org.eclipse.swt.dnd.DropTarget
- * @see org.eclipse.swt.dnd.DragSource
- */
-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);
-	}
-	throw new IllegalArgumentException("Unknown resource type in ResourceTransfer.readResource"); //$NON-NLS-1$
-}
-/**
- * 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.ide/icons/full/dlcl16/addtsk_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/dlcl16/addtsk_tsk.gif
deleted file mode 100644
index f7e6cc0..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/addtsk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/collapseall.gif b/bundles/org.eclipse.ui.ide/icons/full/dlcl16/collapseall.gif
deleted file mode 100644
index 7dc0de5..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/collapseall.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/configs.gif b/bundles/org.eclipse.ui.ide/icons/full/dlcl16/configs.gif
deleted file mode 100644
index 4539ebd..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/configs.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/filter_ps.gif b/bundles/org.eclipse.ui.ide/icons/full/dlcl16/filter_ps.gif
deleted file mode 100644
index ba6d891..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/filter_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/gotoobj_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/dlcl16/gotoobj_tsk.gif
deleted file mode 100644
index 4957126..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/gotoobj_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/refresh_nav.gif b/bundles/org.eclipse.ui.ide/icons/full/dlcl16/refresh_nav.gif
deleted file mode 100644
index c5c70e1..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/refresh_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/selected_mode.gif b/bundles/org.eclipse.ui.ide/icons/full/dlcl16/selected_mode.gif
deleted file mode 100644
index e2ab9b0..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/selected_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/showchild_mode.gif b/bundles/org.eclipse.ui.ide/icons/full/dlcl16/showchild_mode.gif
deleted file mode 100644
index 8c92e4a..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/showchild_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/showerr_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/dlcl16/showerr_tsk.gif
deleted file mode 100644
index 8a23317..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/showerr_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/showtsk_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/dlcl16/showtsk_tsk.gif
deleted file mode 100644
index fff68f9..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/showtsk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/showwarn_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/dlcl16/showwarn_tsk.gif
deleted file mode 100644
index f707e71..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/showwarn_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/step_current.gif b/bundles/org.eclipse.ui.ide/icons/full/dlcl16/step_current.gif
deleted file mode 100644
index 319fe8d..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/step_current.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/step_done.gif b/bundles/org.eclipse.ui.ide/icons/full/dlcl16/step_done.gif
deleted file mode 100644
index 0e83deb..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/step_done.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/synced.gif b/bundles/org.eclipse.ui.ide/icons/full/dlcl16/synced.gif
deleted file mode 100644
index 4f6e43a..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/synced.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/usearch_obj.gif b/bundles/org.eclipse.ui.ide/icons/full/dlcl16/usearch_obj.gif
deleted file mode 100644
index 31fa365..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/usearch_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dtool16/build_exec.gif b/bundles/org.eclipse.ui.ide/icons/full/dtool16/build_exec.gif
deleted file mode 100644
index 264b1c4..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dtool16/build_exec.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dtool16/export_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/dtool16/export_wiz.gif
deleted file mode 100644
index 3f89cd9..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dtool16/export_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dtool16/exportdir_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/dtool16/exportdir_wiz.gif
deleted file mode 100644
index 33d8df7..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dtool16/exportdir_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dtool16/exportzip_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/dtool16/exportzip_wiz.gif
deleted file mode 100644
index b285d84..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dtool16/exportzip_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dtool16/import_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/dtool16/import_wiz.gif
deleted file mode 100644
index cd44741..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dtool16/import_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dtool16/importdir_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/dtool16/importdir_wiz.gif
deleted file mode 100644
index e25b90a..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dtool16/importdir_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dtool16/importzip_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/dtool16/importzip_wiz.gif
deleted file mode 100644
index 3a00d8e..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dtool16/importzip_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dtool16/new_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/dtool16/new_wiz.gif
deleted file mode 100644
index f656481..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dtool16/new_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dtool16/newfile_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/dtool16/newfile_wiz.gif
deleted file mode 100644
index 8c682c0..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dtool16/newfile_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dtool16/newfolder_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/dtool16/newfolder_wiz.gif
deleted file mode 100644
index 2821f3e..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dtool16/newfolder_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dtool16/newprj_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/dtool16/newprj_wiz.gif
deleted file mode 100644
index 5b4b24c..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dtool16/newprj_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dtool16/next_nav.gif b/bundles/org.eclipse.ui.ide/icons/full/dtool16/next_nav.gif
deleted file mode 100644
index 954a83c..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dtool16/next_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dtool16/prev_nav.gif b/bundles/org.eclipse.ui.ide/icons/full/dtool16/prev_nav.gif
deleted file mode 100644
index a572efb..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dtool16/prev_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dtool16/search_src.gif b/bundles/org.eclipse.ui.ide/icons/full/dtool16/search_src.gif
deleted file mode 100644
index c8f8871..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dtool16/search_src.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/elcl16/addtsk_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/elcl16/addtsk_tsk.gif
deleted file mode 100644
index a5ac28d..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/elcl16/addtsk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/elcl16/collapseall.gif b/bundles/org.eclipse.ui.ide/icons/full/elcl16/collapseall.gif
deleted file mode 100644
index a2d80a9..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/elcl16/collapseall.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/elcl16/configs.gif b/bundles/org.eclipse.ui.ide/icons/full/elcl16/configs.gif
deleted file mode 100644
index c984fba..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/elcl16/configs.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/elcl16/filter_ps.gif b/bundles/org.eclipse.ui.ide/icons/full/elcl16/filter_ps.gif
deleted file mode 100644
index 6fe6f0e..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/elcl16/filter_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/elcl16/gotoobj_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/elcl16/gotoobj_tsk.gif
deleted file mode 100644
index cf62b63..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/elcl16/gotoobj_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/elcl16/refresh_nav.gif b/bundles/org.eclipse.ui.ide/icons/full/elcl16/refresh_nav.gif
deleted file mode 100644
index 049cac6..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/elcl16/refresh_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/elcl16/selected_mode.gif b/bundles/org.eclipse.ui.ide/icons/full/elcl16/selected_mode.gif
deleted file mode 100644
index 3d4241b..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/elcl16/selected_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/elcl16/showchild_mode.gif b/bundles/org.eclipse.ui.ide/icons/full/elcl16/showchild_mode.gif
deleted file mode 100644
index 6514f7b..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/elcl16/showchild_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/elcl16/showerr_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/elcl16/showerr_tsk.gif
deleted file mode 100644
index 2ff6678..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/elcl16/showerr_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/elcl16/showtsk_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/elcl16/showtsk_tsk.gif
deleted file mode 100644
index 96028b3..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/elcl16/showtsk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/elcl16/showwarn_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/elcl16/showwarn_tsk.gif
deleted file mode 100644
index 6c6bd58..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/elcl16/showwarn_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/elcl16/step_current.gif b/bundles/org.eclipse.ui.ide/icons/full/elcl16/step_current.gif
deleted file mode 100644
index e3a7cc7..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/elcl16/step_current.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/elcl16/step_done.gif b/bundles/org.eclipse.ui.ide/icons/full/elcl16/step_done.gif
deleted file mode 100644
index 9cacb96..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/elcl16/step_done.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/elcl16/synced.gif b/bundles/org.eclipse.ui.ide/icons/full/elcl16/synced.gif
deleted file mode 100644
index 870934b..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/elcl16/synced.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/elcl16/usearch_obj.gif b/bundles/org.eclipse.ui.ide/icons/full/elcl16/usearch_obj.gif
deleted file mode 100644
index 5080599..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/elcl16/usearch_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/etool16/build_exec.gif b/bundles/org.eclipse.ui.ide/icons/full/etool16/build_exec.gif
deleted file mode 100644
index 39ee592..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/etool16/build_exec.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/etool16/export_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/etool16/export_wiz.gif
deleted file mode 100644
index 5a0837d..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/etool16/export_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/etool16/exportdir_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/etool16/exportdir_wiz.gif
deleted file mode 100644
index 7c3b2ba..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/etool16/exportdir_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/etool16/exportzip_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/etool16/exportzip_wiz.gif
deleted file mode 100644
index b7a493c..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/etool16/exportzip_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/etool16/import_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/etool16/import_wiz.gif
deleted file mode 100644
index d38085a..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/etool16/import_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/etool16/importdir_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/etool16/importdir_wiz.gif
deleted file mode 100644
index 27d5648..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/etool16/importdir_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/etool16/importzip_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/etool16/importzip_wiz.gif
deleted file mode 100644
index a159667..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/etool16/importzip_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/etool16/new_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/etool16/new_wiz.gif
deleted file mode 100644
index 7aea894..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/etool16/new_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/etool16/newfile_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/etool16/newfile_wiz.gif
deleted file mode 100644
index 9d05088..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/etool16/newfile_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/etool16/newfolder_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/etool16/newfolder_wiz.gif
deleted file mode 100644
index 310eb18..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/etool16/newfolder_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/etool16/newprj_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/etool16/newprj_wiz.gif
deleted file mode 100644
index fbbac0f..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/etool16/newprj_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/etool16/next_nav.gif b/bundles/org.eclipse.ui.ide/icons/full/etool16/next_nav.gif
deleted file mode 100644
index ce1e02f..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/etool16/next_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/etool16/prev_nav.gif b/bundles/org.eclipse.ui.ide/icons/full/etool16/prev_nav.gif
deleted file mode 100644
index 88d173f..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/etool16/prev_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/etool16/search_src.gif b/bundles/org.eclipse.ui.ide/icons/full/etool16/search_src.gif
deleted file mode 100644
index d540a01..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/etool16/search_src.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/eview16/bkmrk_nav.gif b/bundles/org.eclipse.ui.ide/icons/full/eview16/bkmrk_nav.gif
deleted file mode 100644
index 8eefad3..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/eview16/bkmrk_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/eview16/filenav_nav.gif b/bundles/org.eclipse.ui.ide/icons/full/eview16/filenav_nav.gif
deleted file mode 100644
index 4b98a62..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/eview16/filenav_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/eview16/problems_view.gif b/bundles/org.eclipse.ui.ide/icons/full/eview16/problems_view.gif
deleted file mode 100644
index 807b28a..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/eview16/problems_view.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/eview16/resource_persp.gif b/bundles/org.eclipse.ui.ide/icons/full/eview16/resource_persp.gif
deleted file mode 100644
index 1b8fe00..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/eview16/resource_persp.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/eview16/tasks_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/eview16/tasks_tsk.gif
deleted file mode 100644
index d3d10f5..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/eview16/tasks_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/obj16/bkmrk_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/obj16/bkmrk_tsk.gif
deleted file mode 100644
index 82c7fbd..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/obj16/bkmrk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/obj16/complete_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/obj16/complete_tsk.gif
deleted file mode 100644
index 9cacb96..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/obj16/complete_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/obj16/cprj_obj.gif b/bundles/org.eclipse.ui.ide/icons/full/obj16/cprj_obj.gif
deleted file mode 100644
index 6052a86..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/obj16/cprj_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/obj16/error_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/obj16/error_tsk.gif
deleted file mode 100644
index 9b048d6..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/obj16/error_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/obj16/header_complete.gif b/bundles/org.eclipse.ui.ide/icons/full/obj16/header_complete.gif
deleted file mode 100644
index d6344db..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/obj16/header_complete.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/obj16/header_priority.gif b/bundles/org.eclipse.ui.ide/icons/full/obj16/header_priority.gif
deleted file mode 100644
index 33cc76e..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/obj16/header_priority.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/obj16/hprio_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/obj16/hprio_tsk.gif
deleted file mode 100644
index 609dbb7..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/obj16/hprio_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/obj16/incomplete_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/obj16/incomplete_tsk.gif
deleted file mode 100644
index f6b9f8a..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/obj16/incomplete_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/obj16/info_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/obj16/info_tsk.gif
deleted file mode 100644
index 2da001e..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/obj16/info_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/obj16/lprio_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/obj16/lprio_tsk.gif
deleted file mode 100644
index a6815bc..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/obj16/lprio_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/obj16/prj_obj.gif b/bundles/org.eclipse.ui.ide/icons/full/obj16/prj_obj.gif
deleted file mode 100644
index a4ea580..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/obj16/prj_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/obj16/taskmrk_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/obj16/taskmrk_tsk.gif
deleted file mode 100644
index c73e332..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/obj16/taskmrk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/obj16/warn_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/obj16/warn_tsk.gif
deleted file mode 100644
index 14009e9..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/obj16/warn_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/obj16/warning.gif b/bundles/org.eclipse.ui.ide/icons/full/obj16/warning.gif
deleted file mode 100644
index 2f1c5a8..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/obj16/warning.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/obj16/welcome_banner.gif b/bundles/org.eclipse.ui.ide/icons/full/obj16/welcome_banner.gif
deleted file mode 100644
index 672442f..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/obj16/welcome_banner.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/obj16/welcome_editor.gif b/bundles/org.eclipse.ui.ide/icons/full/obj16/welcome_editor.gif
deleted file mode 100644
index b226e41..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/obj16/welcome_editor.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/obj16/welcome_item.gif b/bundles/org.eclipse.ui.ide/icons/full/obj16/welcome_item.gif
deleted file mode 100644
index a16ac83..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/obj16/welcome_item.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/obj16/workset.gif b/bundles/org.eclipse.ui.ide/icons/full/obj16/workset.gif
deleted file mode 100644
index 2e4de3d..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/obj16/workset.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/ovr16/link_ovr.gif b/bundles/org.eclipse.ui.ide/icons/full/ovr16/link_ovr.gif
deleted file mode 100644
index 4f1440e..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/ovr16/link_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/ovr16/linkwarn_ovr.gif b/bundles/org.eclipse.ui.ide/icons/full/ovr16/linkwarn_ovr.gif
deleted file mode 100644
index 27c0cfb..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/ovr16/linkwarn_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/progress/pview.gif b/bundles/org.eclipse.ui.ide/icons/full/progress/pview.gif
deleted file mode 100644
index 4aa54a6..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/progress/pview.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/wizban/export_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/wizban/export_wiz.gif
deleted file mode 100644
index 42bb23b..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/wizban/export_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/wizban/exportdir_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/wizban/exportdir_wiz.gif
deleted file mode 100644
index 1581898..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/wizban/exportdir_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/wizban/exportzip_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/wizban/exportzip_wiz.gif
deleted file mode 100644
index 0cbc9bd..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/wizban/exportzip_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/wizban/import_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/wizban/import_wiz.gif
deleted file mode 100644
index 3a62eb2..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/wizban/import_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/wizban/importdir_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/wizban/importdir_wiz.gif
deleted file mode 100644
index e2045ed..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/wizban/importdir_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/wizban/importzip_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/wizban/importzip_wiz.gif
deleted file mode 100644
index db114c8..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/wizban/importzip_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/wizban/new_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/wizban/new_wiz.gif
deleted file mode 100644
index ecd75f4..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/wizban/new_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/wizban/newfile_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/wizban/newfile_wiz.gif
deleted file mode 100644
index 136e94c..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/wizban/newfile_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/wizban/newfolder_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/wizban/newfolder_wiz.gif
deleted file mode 100644
index f988dc6..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/wizban/newfolder_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/wizban/newprj_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/wizban/newprj_wiz.gif
deleted file mode 100644
index dc7d3a7..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/wizban/newprj_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/wizban/workset_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/wizban/workset_wiz.gif
deleted file mode 100644
index b2beab0..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/wizban/workset_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/plugin.properties b/bundles/org.eclipse.ui.ide/plugin.properties
deleted file mode 100644
index 9493a52..0000000
--- a/bundles/org.eclipse.ui.ide/plugin.properties
+++ /dev/null
@@ -1,122 +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 Corporation - initial API and implementation
-###############################################################################
-Plugin.name = Eclipse IDE UI
-Plugin.providerName = Eclipse.org
-
-Win32Fragment.fragmentName=Win32 fragment
-
-ExtPoint.markerHelp = Marker Help
-ExtPoint.markerImageProviders = Marker Image Providers
-ExtPoint.markerResolution = Marker Resolution
-ExtPoint.projectNatureImages = Project Nature Images
-ExtPoint.resourceFilters = Resource Filters
-
-Editors.WelcomeEditor = Welcome
-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
-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.
-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
-Perspective.resourcePerspective = Resource
-PreferencePages.Workbench = Workbench
-PreferencePages.Editors = Editors
-PreferencePages.LinkedResources = Linked Resources
-PreferencePages.FileEditors = File Associations
-PreferencePages.FileStates = Local History
-PreferencePages.Perspectives = Perspectives
-PreferencePages.Views = Appearance
-PreferencePages.BuildOrder = Build Order
-PreferencePages.ColorsAndFonts = Colors and Fonts
-PreferencePages.Decorators = Label Decorations
-PreferencePages.Startup = Startup and Shutdown
-PreferencePages.Keys = Keys
-PreferencePages.Activities = Capabilities
-PropertyPages.project.reference = Project References
-PropertyPages.info.file = Info
-
-Views.ResourceNavigator = Navigator
-Views.Bookmark = Bookmarks
-Views.Task = Tasks
-Views.Problem = Problems
-Views.Progress = Progress
-
-WorkingSets.resource = Resource
-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...
-
-About.updateSummaryTitle = Update Manager Log
-
-category.project.name=Project
-category.project.description=
-category.view.name=Views
-category.view.description=
-
-command.addTask.description = Add a task
-command.addTask.name = Add Task
-command.buildAll.description = Build all projects
-command.buildAll.name = Build All
-command.buildClean.description = Discard old built state
-command.buildClean.name = Build Clean
-command.buildLast.description = Repeat the last working set build
-command.buildLast.name = Repeat Working Set Build
-command.buildProject.description = Build the selected project
-command.buildProject.name = Build Project
-command.closeProject.description = Close the selected project
-command.closeProject.name = Close Project
-command.goToResource.description = Go to a particular resource in the active view
-command.goToResource.name = Go to Resource
-command.openProject.description = Open a project
-command.openProject.name = Open Project
-command.openResource.description = Open an editor on a particular resource
-command.openResource.name = Open Resource
-command.openWorkspace.description = Open the workspace selection dialog
-command.openWorkspace.name = Open Workspace
-command.projectProperties.description = Display the properties of the selected item's project 
-command.projectProperties.name = Properties
-command.rebuildAll.description = Rebuild all projects
-command.rebuildAll.name = Rebuild All
-command.rebuildProject.description = Rebuild the selected projects
-command.rebuildProject.name = Rebuild Project
-command.showProblemsView.description = Show the Problems view
-command.showResourceNavigator.description = Show the Navigator view
-command.showProgressView.description = Show the Progress view
-command.showBookmarkView.description = Show the Bookmarks view
-command.showTaskView.description = Show the Tasks view
-
-command.showInQuickMenu.name= Show In menu
-command.showInQuickMenu.description = Open the Show In menu
-
-command.newQuickMenu.name= New menu
-command.newQuickMenu.description= Open the New menu
-
-UpdateActionSet.label = Software Updates
-UpdateActionSet.menu.label = &Software Updates
-UpdateActionSet.updates.label = &Find and Install...
-UpdateActionSet.configManager.label = &Manage Configuration...
-
diff --git a/bundles/org.eclipse.ui.ide/plugin.xml b/bundles/org.eclipse.ui.ide/plugin.xml
deleted file mode 100644
index a402040..0000000
--- a/bundles/org.eclipse.ui.ide/plugin.xml
+++ /dev/null
@@ -1,669 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui.ide"
-   name="%Plugin.name"
-   version="3.0.0"
-   provider-name="%Plugin.providerName"
-   class="org.eclipse.ui.internal.ide.IDEWorkbenchPlugin">
-
-   <runtime>
-      <library name="ide.jar">
-         <export name="*"/>
-         <packages prefixes="org.eclipse.ui"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.core.runtime.compatibility"/>
-      <import plugin="org.eclipse.help"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.ui.views"/>
-      <import plugin="org.eclipse.update.core"/>
-      <import plugin="org.eclipse.update.ui"/>
-   </requires>
-
-
-<!-- IDE extension points -->
-   <extension-point id="markerHelp" name="%ExtPoint.markerHelp" schema="schema/markerHelp.exsd"/>
-   <extension-point id="markerImageProviders" name="%ExtPoint.markerImageProviders" schema="schema/markerImageProviders.exsd"/>
-   <extension-point id="markerResolution" name="%ExtPoint.markerResolution" schema="schema/markerResolution.exsd"/>
-   <extension-point id="projectNatureImages" name="%ExtPoint.projectNatureImages" schema="schema/projectNatureImages.exsd"/>
-   <extension-point id="resourceFilters" name="%ExtPoint.resourceFilters" schema="schema/resourceFilters.exsd"/>
-
-   <extension
-         id="workbench"
-         point="org.eclipse.core.runtime.applications">
-      <application>
-         <run
-               class="org.eclipse.ui.internal.ide.IDEApplication">
-         </run>
-      </application>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectives">
-      <perspective
-            name="%Perspective.resourcePerspective"
-            icon="icons/full/eview16/resource_persp.gif"
-            class="org.eclipse.ui.internal.ide.ResourcePerspective"
-            id="org.eclipse.ui.resourcePerspective">
-      </perspective>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectiveExtensions">
-      <perspectiveExtension
-            targetID="org.eclipse.ui.resourcePerspective">
-         <showInPart
-               id="org.eclipse.ui.views.ResourceNavigator">
-         </showInPart>
-      </perspectiveExtension>
-   </extension>
-   <extension
-         point="org.eclipse.ui.importWizards">
-      <wizard
-            name="%ImportWizards.FileSystem"
-            icon="icons/full/etool16/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/etool16/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/etool16/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/etool16/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/etool16/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.ide.markerImageProviders">
-      <imageprovider
-            markertype="org.eclipse.core.resources.taskmarker"
-            icon="icons/full/eview16/tasks_tsk.gif"
-            id="org.eclipse.ui.taskMarkerProvider">
-      </imageprovider>
-      <imageprovider
-            markertype="org.eclipse.core.resources.problemmarker"
-            class="org.eclipse.ui.internal.ide.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/etool16/newprj_wiz.gif"
-            category="org.eclipse.ui.Basic"
-            class="org.eclipse.ui.wizards.newresource.BasicNewProjectResourceWizard"
-            project="true"
-            id="org.eclipse.ui.wizards.new.project">
-         <description>
-            %NewWizards.project.description
-         </description>
-      </wizard>
-      <wizard
-            name="%NewWizards.folder"
-            icon="icons/full/etool16/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/etool16/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.editors">
-      <editor
-            name="%Editors.WelcomeEditor"
-            icon="icons/full/obj16/welcome_editor.gif"
-            class="org.eclipse.ui.internal.ide.dialogs.WelcomeEditor"
-            contributorClass="org.eclipse.ui.internal.ide.dialogs.WelcomeEditorActionContributor"
-            id="org.eclipse.ui.internal.ide.dialogs.WelcomeEditor">
-      </editor>
-   </extension>
-   <extension
-         point="org.eclipse.ui.elementFactories">
-      <factory
-            class="org.eclipse.ui.internal.ide.model.ResourceFactory"
-            id="org.eclipse.ui.internal.model.ResourceFactory">
-      </factory>
-      <factory
-            class="org.eclipse.ui.internal.ide.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.ide.dialogs.WelcomeEditorInputFactory"
-            id="org.eclipse.ui.internal.dialogs.WelcomeEditorInputFactory">
-      </factory>
-   </extension>
-   <extension
-         point="org.eclipse.ui.workingSets">
-      <workingSet
-            name="%WorkingSets.resource"
-            pageClass="org.eclipse.ui.internal.ide.dialogs.ResourceWorkingSetPage"
-            icon="icons/full/obj16/workset.gif"
-            id="org.eclipse.ui.resourceWorkingSetPage">
-      </workingSet>
-   </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"
-               icon="icons/full/elcl16/gotoobj_tsk.gif"
-               menubarPath="navigate/goTo/"
-               retarget="true"
-               id="goToResource">
-         </action>
-         <action
-               definitionId="org.eclipse.ui.navigate.openResource"
-               label="%OpenWorkspaceFileAction.label"
-               helpContextId="org.eclipse.ui.open_workspace_file_action_context"
-               class="org.eclipse.ui.internal.ide.actions.OpenWorkspaceFileAction"
-               menubarPath="navigate/open.ext2"
-               id="org.eclipse.ui.OpenWorkspaceFile">
-         </action>
-      </actionSet>
-   </extension>
-   <extension
-         point="org.eclipse.ui.decorators">
-      <decorator
-            lightweight="true"
-            adaptable="true"
-            location="BOTTOM_RIGHT"
-            label="%DecoratorLinkedResource.label"
-            class="org.eclipse.ui.internal.ide.LinkedResourceDecorator"
-            state="true"
-            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.preferencePages">
-      <page
-            name="%PreferencePages.Workbench"
-            class="org.eclipse.ui.internal.ide.dialogs.IDEWorkbenchPreferencePage"
-            id="org.eclipse.ui.preferencePages.Workbench">
-      </page>
-      <page
-            name="%PreferencePages.Editors"
-            category="org.eclipse.ui.preferencePages.Workbench"
-            class="org.eclipse.ui.internal.ide.dialogs.IDEEditorsPreferencePage"
-            id="org.eclipse.ui.preferencePages.Editors">
-      </page>
-      <page
-            name="%PreferencePages.Perspectives"
-            category="org.eclipse.ui.preferencePages.Workbench"
-            class="org.eclipse.ui.internal.ide.dialogs.IDEPerspectivesPreferencePage"
-            id="org.eclipse.ui.preferencePages.Perspectives">
-      </page>
-      <page
-            name="%PreferencePages.LinkedResources"
-            category="org.eclipse.ui.preferencePages.Workbench"
-            class="org.eclipse.ui.internal.ide.dialogs.LinkedResourcesPreferencePage"
-            id="org.eclipse.ui.preferencePages.LinkedResources">
-      </page>
-      <page
-            name="%PreferencePages.FileStates"
-            category="org.eclipse.ui.preferencePages.Workbench"
-            class="org.eclipse.ui.internal.ide.dialogs.FileStatesPage"
-            id="org.eclipse.ui.preferencePages.FileStates">
-      </page>
-      <page
-            name="%PreferencePages.BuildOrder"
-            class="org.eclipse.ui.internal.ide.dialogs.BuildOrderPreferencePage"
-            id="org.eclipse.ui.preferencePages.BuildOrder">
-      </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.Views"
-            category="org.eclipse.ui.preferencePages.Workbench"
-            class="org.eclipse.ui.internal.dialogs.ViewsPreferencePage"
-            id="org.eclipse.ui.preferencePages.Views">
-      </page>
-      <page
-            name="%PreferencePages.ColorsAndFonts"
-            category="org.eclipse.ui.preferencePages.Workbench"
-            class="org.eclipse.ui.internal.themes.ColorsAndFontsPreferencePage"
-            id="org.eclipse.ui.preferencePages.ColorsAndFonts">
-      </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.ide.dialogs.IDEStartupPreferencePage"
-            id="org.eclipse.ui.preferencePages.Startup">
-      </page>
-      <page
-            name="%PreferencePages.Keys"
-            category="org.eclipse.ui.preferencePages.Workbench"
-            class="org.eclipse.ui.internal.commands.KeysPreferencePage"
-            id="org.eclipse.ui.preferencePages.Keys">
-      </page>
-      <page
-            class="org.eclipse.ui.internal.dialogs.ActivitiesPreferencePage"
-            category="org.eclipse.ui.preferencePages.Workbench"
-            name="%PreferencePages.Activities"
-            id="org.eclipse.ui.ide.page1"/>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views">
-      <view
-            name="%Views.Progress"
-            icon="icons/full/progress/pview.gif"
-            category="org.eclipse.ui"
-            class="org.eclipse.ui.internal.progress.JobView"
-            id="org.eclipse.ui.views.ProgressView">
-      </view>
-      <view
-            name="%Views.ResourceNavigator"
-            icon="icons/full/eview16/filenav_nav.gif"
-            category="org.eclipse.ui"
-            class="org.eclipse.ui.views.navigator.ResourceNavigator"
-            id="org.eclipse.ui.views.ResourceNavigator">
-      </view>
-      <view
-            name="%Views.Bookmark"
-            icon="icons/full/eview16/bkmrk_nav.gif"
-            category="org.eclipse.ui"
-            class="org.eclipse.ui.views.markers.internal.BookmarkView"
-            id="org.eclipse.ui.views.BookmarkView">
-      </view>
-      <view
-            name="%Views.Task"
-            icon="icons/full/eview16/tasks_tsk.gif"
-            category="org.eclipse.ui"
-            class="org.eclipse.ui.views.markers.internal.TaskView"
-            id="org.eclipse.ui.views.TaskList">
-      </view>
-      <view
-            name="%Views.Problem"
-            icon="icons/full/eview16/problems_view.gif"
-            category="org.eclipse.ui"
-            class="org.eclipse.ui.views.markers.internal.ProblemView"
-            id="org.eclipse.ui.views.ProblemView">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.ui.ide.resourceFilters">
-      <filter
-            selected="false"
-            pattern=".*">
-      </filter>
-   </extension>
-   <extension
-         point="org.eclipse.ui.propertyPages">
-      <page
-            adaptable="true"
-            objectClass="org.eclipse.core.resources.IProject"
-            name="%PropertyPages.project.reference"
-            class="org.eclipse.ui.internal.ide.dialogs.ProjectReferencePage"
-            id="org.eclipse.ui.propertypages.project.reference">
-      </page>
-      <page
-            adaptable="true"
-            objectClass="org.eclipse.core.resources.IResource"
-            name="%PropertyPages.info.file"
-            class="org.eclipse.ui.internal.ide.dialogs.ResourceInfoPage"
-            id="org.eclipse.ui.propertypages.info.file">
-      </page>
-   </extension>
-   <extension
-         point="org.eclipse.ui.commands">
-      <category
-            name="%category.view.name"
-            description="%category.view.description"
-            id="org.eclipse.ui.category.views">
-      </category>
-      <category
-            name="%category.project.name"
-            description="%category.project.description"
-            id="org.eclipse.ui.category.project">
-      </category>
-      <command
-            name="%Views.Problem"
-            description="%command.showProblemsView.description"
-            category="org.eclipse.ui.category.views"
-            id="org.eclipse.ui.views.ProblemView">
-      </command>
-      <command
-            name="%Views.ResourceNavigator"
-            description="%command.showResourceNavigator.description"
-            category="org.eclipse.ui.category.views"
-            id="org.eclipse.ui.views.ResourceNavigator">
-      </command>  
-      <command
-            name="%Views.Progress"
-            description="%command.showProgressView.description"
-            category="org.eclipse.ui.category.views"
-            id="org.eclipse.ui.views.ProgressView">
-      </command>
-      <command
-            name="%Views.Bookmark"
-            description="%command.showBookmarkView.description"
-            category="org.eclipse.ui.category.views"
-            id="org.eclipse.ui.views.BookmarkView">
-      </command>
-      <command
-            name="%Views.Task"
-            description="%command.showTaskView.description"
-            category="org.eclipse.ui.category.views"
-            id="org.eclipse.ui.views.TaskList">
-      </command>
-      <command
-            name="%command.openWorkspace.name"
-            description="%command.openWorkspace.description"
-            categoryId="org.eclipse.ui.category.file"
-            id="org.eclipse.ui.file.openWorkspace">
-      </command>
-      <command
-            name="%command.newQuickMenu.name"
-            description="%command.newQuickMenu.description"
-            categoryId="org.eclipse.ui.category.file"
-            id="org.eclipse.ui.file.newQuickMenu">
-      </command>
-       <command
-            name="%command.showInQuickMenu.name"
-            description="%command.showInQuickMenu.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.ui.navigate.showInQuickMenu">
-      </command>
-      <command
-            name="%command.goToResource.name"
-            description="%command.goToResource.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.ui.navigate.goToResource">
-      </command>
-      
-      <command
-            name="%command.openResource.name"
-            description="%command.openResource.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.ui.navigate.openResource">
-      </command>
-      <command
-            name="%command.openProject.name"
-            description="%command.openProject.description"
-            categoryId="org.eclipse.ui.category.project"
-            id="org.eclipse.ui.project.openProject">
-      </command>
-      <command
-            name="%command.closeProject.name"
-            description="%command.closeProject.description"
-            categoryId="org.eclipse.ui.category.project"
-            id="org.eclipse.ui.project.closeProject">
-      </command>
-      <command
-            name="%command.buildProject.name"
-            description="%command.buildProject.description"
-            categoryId="org.eclipse.ui.category.project"
-            id="org.eclipse.ui.project.buildProject">
-      </command>
-      <command
-            name="%command.rebuildProject.name"
-            description="%command.rebuildProject.description"
-            categoryId="org.eclipse.ui.category.project"
-            id="org.eclipse.ui.project.rebuildProject">
-      </command>
-      <command
-            name="%command.buildAll.name"
-            description="%command.buildAll.description"
-            categoryId="org.eclipse.ui.category.project"
-            id="org.eclipse.ui.project.buildAll">
-      </command>
-      <command
-            name="%command.rebuildAll.name"
-            description="%command.rebuildAll.description"
-            categoryId="org.eclipse.ui.category.project"
-            id="org.eclipse.ui.project.rebuildAll">
-      </command>
-      <command
-            name="%command.buildLast.name"
-            description="%command.buildLast.description"
-            categoryId="org.eclipse.ui.category.project"
-            id="org.eclipse.ui.project.buildLast">
-      </command>
-      <command
-            name="%command.buildClean.name"
-            description="%command.buildClean.description"
-            categoryId="org.eclipse.ui.category.project"
-            id="org.eclipse.ui.project.cleanAction">
-      </command>
-      <command
-            name="%command.projectProperties.name"
-            description="%command.projectProperties.description"
-            categoryId="org.eclipse.ui.category.project"
-            id="org.eclipse.ui.project.properties">
-      </command>
-      <command
-            name="%command.addTask.name"
-            description="%command.addTask.description"
-            categoryId="org.eclipse.ui.category.edit"
-            id="org.eclipse.ui.edit.addTask">
-      </command>
-      <keyBinding
-            commandId="org.eclipse.ui.navigate.openResource"
-            keySequence="Ctrl+Shift+R"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.project.buildAll"
-            keySequence="Ctrl+B"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.navigate.openResource"
-            platform="carbon"
-            keySequence="Command+Shift+R"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.project.buildAll"
-            platform="carbon"
-            keySequence="Command+B"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.navigate.showInQuickMenu"
-            scope="org.eclipse.ui.globalScope"
-            keySequence="Alt+Shift+W"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            commandId=""
-            scope="org.eclipse.ui.globalScope"
-            keySequence="Alt+Shift+W"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            commandId="org.eclipse.ui.navigate.showInQuickMenu"
-            scope="org.eclipse.ui.globalScope"
-            keySequence="Command+Alt+W"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.newQuickMenu"
-            scope="org.eclipse.ui.globalScope"
-            keySequence="Alt+Shift+N"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            commandId=""
-            scope="org.eclipse.ui.globalScope"
-            keySequence="Alt+Shift+N"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            commandId="org.eclipse.ui.file.newQuickMenu"
-            scope="org.eclipse.ui.globalScope"
-            keySequence="Command+Alt+N"
-             keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            string="Alt+Shift+Q X"
-            scope="org.eclipse.ui.globalScope"
-            command="org.eclipse.ui.views.ProblemView"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            string="Alt+Shift+Q X"
-            scope="org.eclipse.ui.globalScope"
-            command=""
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            string="Command+Alt+Q X"
-            scope="org.eclipse.ui.globalScope"
-            command="org.eclipse.ui.views.ProblemView"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-   </extension>
-   <extension
-         point="org.eclipse.ui.systemSummarySections">
-      <section
-      		id="15.UpdateSection"
-            sectionTitle="%About.updateSummaryTitle"
-            class="org.eclipse.ui.internal.ide.dialogs.ConfigurationLogUpdateSection">
-      </section>
-   </extension>
-<!-- Update Actions -->
-   <extension
-         point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="%UpdateActionSet.label"
-            visible="true"
-            id="org.eclipse.update.ui.softwareUpdates">
-         <menu
-               label="%UpdateActionSet.menu.label"
-               path="help/helpEnd"
-               id="org.eclipse.update.ui.updateMenu">
-            <separator
-                  name="group0">
-            </separator>
-            <separator
-                  name="group1">
-            </separator>
-         </menu>
-         <action
-               label="%UpdateActionSet.configManager.label"
-               icon="icons/full/elcl16/configs.gif"
-               helpContextId="org.eclipse.update.ui.newUpdates"
-               class="org.eclipse.ui.internal.ide.update.ConfigurationManagerAction"
-               menubarPath="help/org.eclipse.update.ui.updateMenu/group0"
-               id="org.eclipse.update.ui.configManager">
-         </action>
-         <action
-               label="%UpdateActionSet.updates.label"
-               icon="icons/full/elcl16/usearch_obj.gif"
-               helpContextId="org.eclipse.update.ui.newUpdates"
-               class="org.eclipse.ui.internal.ide.update.InstallWizardAction"
-               menubarPath="help/org.eclipse.update.ui.updateMenu/group0"
-               id="org.eclipse.update.ui.newUpdates">
-         </action>
-      </actionSet>
-   </extension>
-<!-- End Update -->
-</plugin>
diff --git a/bundles/org.eclipse.ui.ide/schema/capabilities.mxsd b/bundles/org.eclipse.ui.ide/schema/capabilities.mxsd
deleted file mode 100644
index 07fec66..0000000
--- a/bundles/org.eclipse.ui.ide/schema/capabilities.mxsd
+++ /dev/null
@@ -1,312 +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&apos;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 &quot;Java&quot; capability that allows the project&apos;s *.java files to be compiled using a Java compiler.
-If the role of the project changes over time, the project&apos;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 &quot;C++&quot; 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 &quot;Web&quot; capability needs the &quot;Java&quot; capability to compile servlets, but may want to present a much more simpler page to configure the &quot;Java&quot; capability
-or maybe not even present any pages about the &quot;Java&quot; 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 &quot;Web&quot; capability handles the user interface for the &quot;Java&quot; capability it requires. The &quot;Web&quot; 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 &quot;name&quot; in the extension element of the org.eclipse.core.resources.natures extension point.
-&lt;p&gt;
-&lt;b&gt;NOTE:&lt;/b&gt; This is experimental API, which may be changed or removed at any point
-in time. This API should not be called, overridden or otherwise used in production code.
-      </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 &quot;Other&quot; 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&apos;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&apos;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&apos;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=&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;
-&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>
-         Copyright (c) 2002, 2003 IBM Corporation and others.&lt;br&gt;
-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 
-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui.ide/schema/markerHelp.exsd b/bundles/org.eclipse.ui.ide/schema/markerHelp.exsd
deleted file mode 100644
index 7531edc..0000000
--- a/bundles/org.eclipse.ui.ide/schema/markerHelp.exsd
+++ /dev/null
@@ -1,155 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui.ide">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.ui.ide" id="markerHelp" name="Marker Help"/>

-      </appInfo>

-      <documentation>

-         This extension point is used to associate a help context id with a specific &quot;kind&quot; 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>

-         3.0 (originally added in release 2.0 as org.eclipse.ui.markerHelp)

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         The following is an example of a marker help extension (note the sub-element and the way attributes are used):

-

-&lt;p&gt;

-&lt;pre&gt;

- &lt;extension point=&quot;org.eclipse.ui.ide.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;

-&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 &quot;most specific&quot; 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>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         Copyright (c) 2002, 2003 IBM Corporation and others.&lt;br&gt;

-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 

-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui.ide/schema/markerImageProviders.exsd b/bundles/org.eclipse.ui.ide/schema/markerImageProviders.exsd
deleted file mode 100644
index 6a005c4..0000000
--- a/bundles/org.eclipse.ui.ide/schema/markerImageProviders.exsd
+++ /dev/null
@@ -1,145 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui.ide">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.ui.ide" id="markerImageProviders" name="Marker Image Providers"/>

-      </appInfo>

-      <documentation>

-         The markerImageProvider extension point is the point for specifying the images for marker types in the defining plug-in.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="imageprovider" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="imageprovider">

-      <complexType>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique name that can be used to identify this markerImageProvider.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="markertype" type="string" use="required">

-            <annotation>

-               <documentation>

-                  The markertype is the id of the type defined in &lt;code&gt;org.eclipse.core.resources.IMarker&lt;/code&gt; that this definition is applied to.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="icon" type="string">

-            <annotation>

-               <documentation>

-                  If there is no class defined the icon attribute is used to define the icon that will be applied to this type of marker.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="class" type="string">

-            <annotation>

-               <documentation>

-                  The class is the fully qualifed name of the class that will be used to look up an image. This class must implement &lt;code&gt;IMarkerImageProvider&lt;/code&gt;.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="since"/>

-      </appInfo>

-      <documentation>

-         3.0 (originally added in release 2.1 as org.eclipse.ui.markerImageProviders)

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         The following an example of the two forms of marker image providers. The first one is one where the image does not change and is declared directly. For the second one the image must be determined by an instance of IMarkerImageProvider.
- 
-&lt;p&gt;
-&lt;pre&gt;
-  &lt;extension
-         point=&quot;org.eclipse.ui.ide.markerImageProviders&quot;&gt;
-      &lt;imageprovider
-        markertype=&quot;org.eclipse.core.resources.taskmarker&quot;
-            icon=&quot;taskicon.gif&quot;
-            id=&quot;myPlugin.declarativeMarkerProvider&quot;&gt;
-      &lt;/imageprovider&gt;
-      &lt;imageprovider
-            markertype=&quot;org.eclipse.core.resources.problemmarker&quot;
-            class=&quot;myPlugin.MyIMarkerImageProvider&quot;
-            id=&quot;myPlugin.implementedMarkerProvider&quot;&gt;
-      &lt;/imageprovider&gt;
-   &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         [Enter API information here.]

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         [Enter information about supplied implementation of this extension point.]

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         Copyright (c) 2002, 2003 IBM Corporation and others.&lt;br&gt;
-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 
-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui.ide/schema/markerResolution.exsd b/bundles/org.eclipse.ui.ide/schema/markerResolution.exsd
deleted file mode 100644
index f197d65..0000000
--- a/bundles/org.eclipse.ui.ide/schema/markerResolution.exsd
+++ /dev/null
@@ -1,156 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui.ide">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.ui.ide" id="markerResolution" name="Marker Resolutions"/>

-      </appInfo>

-      <documentation>

-         This extension point is used to associate a marker resolution generator with a specific &quot;kind&quot; of marker.

-(a marker of a certain type or having certain attribute values).

-      </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="since"/>

-      </appInfo>

-      <documentation>

-         3.0 (originally added in release 2.0 as org.eclipse.ui.markerResolution)

-      </documentation>

-   </annotation>

-

-   <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=&quot;org.eclipse.ui.ide.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;

-&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.&lt;br&gt;

-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 

-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui.ide/schema/projectNatureImages.exsd b/bundles/org.eclipse.ui.ide/schema/projectNatureImages.exsd
deleted file mode 100644
index df0f50d..0000000
--- a/bundles/org.eclipse.ui.ide/schema/projectNatureImages.exsd
+++ /dev/null
@@ -1,145 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui.ide">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.ui.ide" 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="since"/>

-      </appInfo>

-      <documentation>

-         3.0 (originally added in release 1.0 as org.eclipse.ui.projectNatureImages)

-      </documentation>

-   </annotation>

-

-   <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=&quot;org.eclipse.ui.ide.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;

-&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.&lt;br&gt;

-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 

-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui.ide/schema/resourceFilters.exsd b/bundles/org.eclipse.ui.ide/schema/resourceFilters.exsd
deleted file mode 100644
index 969faf0..0000000
--- a/bundles/org.eclipse.ui.ide/schema/resourceFilters.exsd
+++ /dev/null
@@ -1,130 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui.ide">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.ui.ide" 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&apos;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>

-                  &quot;true&quot; if the pattern should be selected by default, &quot;false&quot; 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="since"/>

-      </appInfo>

-      <documentation>

-         3.0 (originally added in release 1.0 as org.eclipse.ui.resourceFilters)

-      </documentation>

-   </annotation>

-

-   <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=&quot;org.eclipse.ui.ide.resourceFilters&quot;&gt;

-  &lt;filter pattern=&quot;*.class&quot; selected=&quot;true&quot;/&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.&lt;br&gt;

-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 

-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IDE.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IDE.java
deleted file mode 100644
index 4b7f790..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IDE.java
+++ /dev/null
@@ -1,687 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.ide;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorRegistry;
-import org.eclipse.ui.IMarkerHelpRegistry;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.EditorManager;
-import org.eclipse.ui.internal.Workbench;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.registry.MarkerHelpRegistry;
-import org.eclipse.ui.internal.ide.registry.MarkerHelpRegistryReader;
-import org.eclipse.ui.part.FileEditorInput;
-
-/**
- * Collection of IDE-specific APIs factored out of existing workbench.
- * This class cannot be instantiated; all functionality is provided by 
- * static methods and fields.
- * 
- * @since 3.0
- */
-public final class IDE {
-	/**
-	 * The persistent property key used on IFile resources to contain
-	 * the preferred editor ID to use.
-	 * <p>
-	 * Example of retrieving the persisted editor id:
-	 * <pre><code>
-	 * IFile file = ...
-	 * IEditorDescriptor editorDesc = null;
-	 * try {
-	 * 	String editorID = file.getPersistentProperty(EDITOR_KEY);
-	 * 	if (editorID != null) {
-	 * 		editorDesc = editorReg.findEditor(editorID);
-	 * 	}
-	 * } catch (CoreException e) {
-	 * 	// handle problem accessing persistent property here
-	 * }
-	 * </code></pre>
-	 * </p><p>
-	 * Example of persisting the editor id:
-	 * <pre><code>
-	 * IFile file = ...
-	 * try {
-	 * 	file.setPersistentProperty(EDITOR_KEY, editorDesc.getId());
-	 * } catch (CoreException e) {
-	 * 	// handle problem setting persistent property here
-	 * }
-	 * </code></pre>
-	 * </p>
-	 */
-	public static final QualifiedName EDITOR_KEY = new QualifiedName("org.eclipse.ui.internal.registry.ResourceEditorRegistry","EditorProperty");//$NON-NLS-2$//$NON-NLS-1$
-
-	/**
-	 * An optional attribute within a workspace marker (<code>IMarker</code>) which
-	 * identifies the preferred editor type to be opened.
-	 */	
-	public static final String EDITOR_ID_ATTR = "org.eclipse.ui.editorID"; //$NON-NLS-1$
-	
-	/**
-	 * The resource based perspective identifier.
-	 */
-	public static final String RESOURCE_PERSPECTIVE_ID = "org.eclipse.ui.resourcePerspective"; //$NON-NLS-1$
-
-	/**
-	 * Marker help registry mapping markers to help context ids and resolutions;
-	 * lazily initialized on fist access.
-	 */
-	private static MarkerHelpRegistry markerHelpRegistry = null;
-
-	/**
-	 * An empty unmodifiable list. Used to avoid garbage creation.
-	 */
-	private static final List emptyUnmodifiableList = Collections.unmodifiableList(new ArrayList(0));
-	
-	/**
-	 * Standard shared images defined by the IDE. These are over and above the
-	 * standard workbench images declared in {@link org.eclipse.ui.ISharedImages
-	 * ISharedImages}.
-	 * <p>
-	 * This interface is not intended to be implemented by clients.
-	 * </p>
-	 * 
-	 * @see org.eclipse.ui.ISharedImages
-	 */
-	public interface SharedImages {
-		/**
-		 * 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 the image used for "open marker".
-		 */
-		public final static String IMG_OPEN_MARKER = "IMG_OPEN_MARKER"; //$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$
-	}
-	
-	/**
-	 * Preferences defined by the IDE workbench.
-	 * <p>
-	 * This interface is not intended to be implemented by clients.
-	 * </p>
-	 */
-	public interface Preferences {
-		/**
-		 * 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 the constants <code>OPEN_PERSPECTIVE_WINDOW, OPEN_PERSPECTIVE_PAGE, 
-		 * OPEN_PERSPECTIVE_REPLACE, and NO_NEW_PERSPECTIVE</code>.
-		 * </p>
-		 * 
-		 * @see org.eclipse.ui.IWorkbenchPreferenceConstants#OPEN_PERSPECTIVE_WINDOW
-		 * @see org.eclipse.ui.IWorkbenchPreferenceConstants#OPEN_PERSPECTIVE_PAGE
-		 * @see org.eclipse.ui.IWorkbenchPreferenceConstants#OPEN_PERSPECTIVE_REPLACE
-		 * @see org.eclipse.ui.IWorkbenchPreferenceConstants#NO_NEW_PERSPECTIVE
-		 */
-		public static final String PROJECT_OPEN_NEW_PERSPECTIVE =
-			"PROJECT_OPEN_NEW_PERSPECTIVE"; //$NON-NLS-1$
-	}
-	
-	/**
-	 * Block instantiation.
-	 */
-	private IDE() {
-		// do nothing
-	}
-	
-	/**
-	 * Returns the marker help registry for the workbench.
-	 * 
-	 * @return the marker help registry
-	 */
-	public static IMarkerHelpRegistry getMarkerHelpRegistry() {
-		if (markerHelpRegistry == null) {
-			markerHelpRegistry = new MarkerHelpRegistry();
-			new MarkerHelpRegistryReader().addHelp(markerHelpRegistry);
-		}
-		return markerHelpRegistry;
-	}
-	
-	
-	/**
-	 * Sets the cursor and selection state for the given editor to 
-	 * reveal the position of the given marker.
-	 * This is done on a best effort basis.  If the editor does not
-	 * provide an <code>IGotoMarker</code> interface (either directly
-     * or via <code>IAdaptable.getAdapter</code>), this has no effect.
-	 * 
-	 * @param editor the editor
-	 * @param marker the marker
-	 */
-	public static void gotoMarker(IEditorPart editor, IMarker marker) {
-		IGotoMarker gotoMarker = null;
-		if (editor instanceof IGotoMarker) {
-			gotoMarker = (IGotoMarker) editor;
-		} else {
-			gotoMarker = (IGotoMarker) editor.getAdapter(IGotoMarker.class);
-		}
-		if (gotoMarker != null) {
-			gotoMarker.gotoMarker(marker);
-		} 
-	}
-
-	/**
-     * Opens an editor on the given object.
-     * <p>
-     * If the page already has an editor open on the target object then that
-     * editor is brought to front; otherwise, a new editor is opened.
-     * <p>
-     * 
-     * @param page
-     *            the page in which the editor will be opened
-     * @param input
-     *            the editor input
-     * @param editorId
-     *            the id of the editor extension to use
-     * @return an open editor or <code>null</code> if an external editor was
-     *         opened
-     * @exception PartInitException
-     *                if the editor could not be initialized
-     * @see org.eclipse.ui.IWorkbenchPage.openEditor(org.eclipse.ui.IEditorInput,
-     *      String)
-     */
-    public static IEditorPart openEditor(IWorkbenchPage page,
-            IEditorInput input, String editorId) throws PartInitException {
-        //sanity checks
-        if (page == null)
-            throw new IllegalArgumentException();
-
-        // open the editor on the file
-        return page.openEditor(input, editorId);
-    }
-
-	/**
-     * Opens an editor on the given object.
-     * <p>
-     * If the page already has an editor open on the target object then that
-     * editor is brought to front; otherwise, a new editor is opened. If
-     * <code>activate == true</code> the editor will be activated.
-     * <p>
-     * @param page
-     *            the page in which the editor will be opened
-     * @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 or <code>null</code> if an external editor was
-     *         opened
-     * @exception PartInitException
-     *                if the editor could not be initialized
-     * @see org.eclipse.ui.IWorkbenchPage.openEditor(org.eclipse.ui.IEditorInput,
-     *      String, boolean)
-     */
-    public static IEditorPart openEditor(IWorkbenchPage page,
-            IEditorInput input, String editorId, boolean activate)
-            throws PartInitException {
-        //sanity checks
-        if (page == null)
-            throw new IllegalArgumentException();
-
-        // open the editor on the file
-        return page.openEditor(input, editorId, activate);
-    }
-
-	/**
-     * Opens an editor on the given file resource.
-     * <p>
-     * If the page already has an editor open on the target object then that
-     * editor is brought to front; otherwise, a new editor is opened. If
-     * <code>activate == true</code> the editor will be activated.
-     * <p>
-     * @param page
-     *            the page in which the editor will be opened
-     * @param input
-     *            the editor input
-     * @param activate
-     * 			  if <code>true</code> the editor will be activated
-     * @return an open editor or <code>null</code> if an external editor was
-     *         opened
-     * @exception PartInitException
-     *                if the editor could not be initialized
-     * @see org.eclipse.ui.IWorkbenchPage.openEditor(org.eclipse.ui.IEditorInput,
-     *      String, boolean)
-     */
-    public static IEditorPart openEditor(IWorkbenchPage page, IFile input,
-            boolean activate) throws PartInitException {
-        //sanity checks
-        if (page == null) 
-            throw new IllegalArgumentException();
-
-        // open the editor on the file
-        IEditorDescriptor editorDesc = getEditorDescriptor(input);
-        return page.openEditor(new FileEditorInput(input), editorDesc.getId(),
-                activate);
-    }
-
-	/**
-     * Opens an editor on the given file resource.
-     * <p>
-     * If the page already has an editor open on the target object then that
-     * editor is brought to front; otherwise, a new editor is opened.
-     * <p>
-     * @param page
-     *            the page in which the editor will be opened
-     * @param input
-     *            the editor input
-     * @return an open editor or <code>null</code> if an external editor was
-     *         opened
-     * @exception PartInitException
-     *                if the editor could not be initialized
-     * @see org.eclipse.ui.IWorkbenchPage.openEditor(org.eclipse.ui.IEditorInput,
-     *      String)
-     */
-    public static IEditorPart openEditor(IWorkbenchPage page, IFile input)
-            throws PartInitException {
-        //sanity checks
-        if (page == null)
-            throw new IllegalArgumentException();
-
-        // open the editor on the file
-        IEditorDescriptor editorDesc = getEditorDescriptor(input);
-        return page.openEditor(new FileEditorInput(input), editorDesc.getId());
-    }
-
-	/**
-     * Opens an editor on the given file resource.
-     * <p>
-     * If the page already has an editor open on the target object then that
-     * editor is brought to front; otherwise, a new editor is opened.
-     * <p>
-     * @param page
-     *            the page in which the editor will be opened
-     * @param input
-     *            the editor input
-     * @param editorId
-     *            the id of the editor extension to use
-     * @return an open editor or <code>null</code> if an external editor was
-     *         opened
-     * @exception PartInitException
-     *                if the editor could not be initialized
-     * @see org.eclipse.ui.IWorkbenchPage.openEditor(org.eclipse.ui.IEditorInput,
-     *      String)
-     */
-    public static IEditorPart openEditor(IWorkbenchPage page, IFile input,
-            String editorId) throws PartInitException {
-        //sanity checks
-        if (page == null)
-            throw new IllegalArgumentException();
-
-        // open the editor on the file
-        return page.openEditor(new FileEditorInput(input), editorId);
-    }
-
-	/**
-     * Opens an editor on the given file resource.
-     * <p>
-     * If the page already has an editor open on the target object then that
-     * editor is brought to front; otherwise, a new editor is opened. If
-     * <code>activate == true</code> the editor will be activated.
-     * <p>
-     * @param page
-     *            the page in which the editor will be opened
-     * @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 or <code>null</code> if an external editor was
-     *         opened
-     * @exception PartInitException
-     *                if the editor could not be initialized
-     * @see org.eclipse.ui.IWorkbenchPage.openEditor(org.eclipse.ui.IEditorInput,
-     *      String, boolean)
-     */
-    public static IEditorPart openEditor(IWorkbenchPage page, IFile input,
-            String editorId, boolean activate) throws PartInitException {
-        //sanity checks
-        if (page == null)
-            throw new IllegalArgumentException();
-
-        // open the editor on the file
-        return page.openEditor(new FileEditorInput(input), editorId, activate);
-    }
-
-	/**
-	 * Returns an editor descriptor appropriate for opening the given file resource.
-	 * <p>
-	 * The editor descriptor is determined using a multistep process.
-	 * </p>
-	 * <ol>
-	 *   <li>The file is consulted for a persistent property named
-	 *       <code>IDE.EDITOR_KEY</code> containing the preferred editor id
-	 *       to be used.</li>
-	 *   <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(String)</code>.</li>
-	 *   <li>The operating system is consulted to determine if an in-place
-	 *       component editor is available (e.g. OLE editor on Win32 platforms).</li>
-	 *   <li>The operating system is consulted to determine if an external
-	 * 		editor is available.</li>
-	 * </ol>
-	 * </p>
-	 * @param file the file
-	 * @return an editor descriptor, appropriate for opening the file
-	 * @throws PartInitException if no editor can be found
-	 */
-	public static IEditorDescriptor getEditorDescriptor(IFile file) throws PartInitException {
-		
-		if (file == null) {
-			throw new IllegalArgumentException();
-		}	
-		IEditorRegistry editorReg = PlatformUI.getWorkbench().getEditorRegistry();
-		
-		// check for a default editor
-		IEditorDescriptor editorDesc = getDefaultEditor(file);
-		
-		// next check the OS for in-place editor (OLE on Win32)
-		if (editorDesc == null && editorReg.isSystemInPlaceEditorAvailable(file.getName())) {
-			editorDesc = editorReg.findEditor(IEditorRegistry.SYSTEM_INPLACE_EDITOR_ID);
-		}
-		
-		// next check with the OS for an external editor
-		if (editorDesc == null && editorReg.isSystemExternalEditorAvailable(file.getName())) {
-			editorDesc = editorReg.findEditor(IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID);
-		}
-		
-		// next lookup the default text editor
-		if (editorDesc == null) {
-			editorDesc = editorReg.findEditor(IDEWorkbenchPlugin.DEFAULT_TEXT_EDITOR_ID);
-		}
-		
-		// if no valid editor found, bail out
-		if (editorDesc == null) {
-			throw new PartInitException(IDEWorkbenchMessages.getString("IDE.noFileEditorFound")); //$NON-NLS-1$
-		}
-		return editorDesc;
-	}
-
-	/**
-     * Opens an editor on the file resource of the given marker.
-     * <p>
-     * If this page already has an editor open on the marker resource file that
-     * editor is brought to front; otherwise, a new editor is opened.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 file will be used.
-     * </p>
-     * 
-     * @param page
-     *            the workbench page to open the editor in
-     * @param marker
-     *            the marker to open
-     * @return an open editor or <code>null</code> not possible
-     * @exception PartInitException
-     *                if the editor could not be initialized
-     * @see #openEditor(org.eclipse.ui.IWorkbenchPage,
-     *      org.eclipse.core.resources.IMarker, boolean)
-     */
-	public static IEditorPart openEditor(IWorkbenchPage page, IMarker marker) throws PartInitException {
-	    return openEditor(page, marker, true);
-	}
-
-	/**
-	 * Opens an editor on the file resource of the given marker. 
-	 * <p>
-	 * If this page already has an editor open on the marker resource file 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 file will be used. 
-	 * </p>
-	 *
-	 * @param page the workbench page to open the editor in
-	 * @param marker the marker to open
-	 * @param activate if <code>true</code> the editor will be activated
-	 * @return an open editor or <code>null</code> not possible
-	 * @exception PartInitException if the editor could not be initialized
-	 */
-	public static IEditorPart openEditor(IWorkbenchPage page, IMarker marker, boolean activate) throws PartInitException {
-		// sanity checks
-		if (page == null || marker == null) {
-			throw new IllegalArgumentException();
-		}
-		
-		// get the marker resource file
-		if (!(marker.getResource() instanceof IFile)) {
-			IDEWorkbenchPlugin.log("Open editor on marker failed; marker resource not an IFile"); //$NON-NLS-1$
-			return null;
-		}
-		IFile file = (IFile) marker.getResource();
-
-		// get the preferred editor id from the marker
-		IEditorRegistry editorReg = PlatformUI.getWorkbench().getEditorRegistry();
-		IEditorDescriptor editorDesc = null;
-		try {
-			String editorID = (String) marker.getAttribute(EDITOR_ID_ATTR);
-			if (editorID != null) {
-				editorDesc = editorReg.findEditor(editorID);
-			}
-		}
-		catch (CoreException e) {
-			// ignore this
-		}
-
-		// open the editor on the marker resource file
-		IEditorPart editor = null;
-		if (editorDesc == null) {
-			editor = openEditor(page, file, activate);
-		} else {
-			editor = page.openEditor(new FileEditorInput(file), editorDesc.getId(), activate);
-		}
-		
-		// get the editor to update its position based on the marker
-		if (editor != null) {
-			gotoMarker(editor, marker);
-		}
-		
-		return editor;
-	}
-	
-	/**
-	 * Save all dirty editors in the workbench whose editor input is  
-	 * a child resource of one of the <code>IResource</code>'s provided.
-	 * Opens a dialog to prompt the user if <code>confirm</code> is true. 
-	 * Return true if successful. Return false if the user has cancelled 
-	 * the command.
-	 * 
-	 * @since 3.0
-	 * 
-	 * @param resourceRoots
-	 *            the resource roots under which editor input should be saved,
-	 *            other will be left dirty
-	 * @param confirm
-	 *            prompt the user if true
-	 * @return boolean false if the operation was cancelled.
-	 */
-	public static boolean saveAllEditors(IResource[] resourceRoots, boolean confirm) {
-		final IResource[] finalResources = resourceRoots;
-		final boolean finalConfirm = confirm;
-		final boolean[] result = new boolean[1];
-		result[0] = true;
-
-		if (resourceRoots.length == 0) 
-			return result[0];
-		
-		Platform.run(new SafeRunnable(WorkbenchMessages.getString("ErrorClosing")) { //$NON-NLS-1$
-			public void run() {
-				//Collect dirtyEditors
-				ArrayList dirtyEditors = new ArrayList();
-				
-			    IWorkbenchWindow[] windows = PlatformUI.getWorkbench().getWorkbenchWindows();
-			    for (int i = 0; i < windows.length; i++) {
-		            IWorkbenchWindow window = windows[i];
-		            IWorkbenchPage[] pages = window.getPages();
-		            for (int j = 0; j < pages.length; j++) {
-		                IWorkbenchPage page = pages[j];
-		                IEditorPart[] dirty = page.getDirtyEditors();
-		                for (int k = 0; k < dirty.length; k++) {
-		                    IEditorPart part = dirty[k];
-		                    IFile file = (IFile) part.getEditorInput().getAdapter(IFile.class);
-		                    if (file != null) {
-		                    	for (int l = 0; l < finalResources.length; l++) {
-		                    		IResource resource = finalResources[l];
-		                    		if (resource.getFullPath().isPrefixOf(file.getFullPath())) {
-		                    			dirtyEditors.add(part);
-		                    			break;
-		                    		}
-		                    }
-		                }
-		            }
-		        }
-
-				}
-				if (dirtyEditors.size() > 0) {
-					IWorkbenchWindow w = Workbench.getInstance().getActiveWorkbenchWindow();
-					if (w == null)
-						w = windows[0];
-					result[0] = EditorManager.saveAll(dirtyEditors, finalConfirm, w);
-				}
-			}
-		});
-		return result[0];
-	}
-
-	
-	
-	/**
-	 * 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 static void setDefaultEditor(IFile file, String editorID) {
-		try {
-			file.setPersistentProperty(EDITOR_KEY,editorID);
-		} catch (CoreException e) {
-			// do nothing
-		}
-	}
-	
-	/**
-	 * 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 name for the 
-	 * file and obtaining the default editor for that name.
-	 * </p>
-	 *
-	 * @param file the file
-	 * @return the descriptor of the default editor, or <code>null</code> if not
-	 *   found
-	 */
-	public static IEditorDescriptor getDefaultEditor(IFile file) {
-		// Try file specific editor.
-		IEditorRegistry editorReg = PlatformUI.getWorkbench().getEditorRegistry();
-		try {
-			String editorID = file.getPersistentProperty(EDITOR_KEY);
-			if (editorID != null) {
-				IEditorDescriptor desc = editorReg.findEditor(editorID);
-				if (desc != null)
-					return desc;
-			}
-		} catch (CoreException e) {
-			// do nothing
-		}
-		
-		// Try lookup with filename
-		return editorReg.getDefaultEditor(file.getName());
-	}
-
-	/**
-	 * Extracts and returns the <code>IResource</code>s in the given
-	 * selection or the resource objects they adapts to.
-	 * 
-	 * @param originalSelection the original selection, possibly empty
-	 * @return list of resources (element type: <code>IResource</code>), 
-	 *    possibly empty
-	 */
-	public static List computeSelectedResources(IStructuredSelection originalSelection) {
-		List resources = null;
-		for (Iterator e = originalSelection.iterator(); e.hasNext();) {
-			Object next = e.next();
-			Object resource = null;
-			if (next instanceof IResource) {
-				resource = next;
-			} else if (next instanceof IAdaptable) {
-				resource = ((IAdaptable) next).getAdapter(IResource.class);
-			}
-			if (resource != null) {
-				if (resources == null) {
-					// lazy init to avoid creating empty lists
-					// assume selection contains mostly resources most times
-					resources = new ArrayList(originalSelection.size());
-				}
-				resources.add(resource);
-			}
-		}
-		if (resources == null ) {
-			return emptyUnmodifiableList;
-		} else {
-			return resources;
-		}
-	}
-	
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IDEActionFactory.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IDEActionFactory.java
deleted file mode 100644
index 1d5de84..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IDEActionFactory.java
+++ /dev/null
@@ -1,308 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.ide;
-
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.GlobalBuildAction;
-import org.eclipse.ui.actions.QuickStartAction;
-import org.eclipse.ui.actions.RetargetAction;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.NewWizardDropDownAction;
-import org.eclipse.ui.internal.ide.TipsAndTricksAction;
-import org.eclipse.ui.internal.ide.actions.BuildCleanAction;
-import org.eclipse.ui.internal.ide.actions.OpenWorkspaceAction;
-import org.eclipse.ui.internal.ide.actions.ProjectPropertyDialogAction;
-import org.eclipse.ui.internal.ide.actions.ToggleAutoBuildAction;
-
-/**
- * Access to standard actions provided by the IDE workbench (including
- * those of the generic workbench).
- * <p>
- * The functionality of this class is provided by static fields.
- * Example usage:
- * <pre>
- * MenuManager menu = ...;
- * ActionFactory.IWorkbenchAction closeProjectAction
- * 	  = IDEActionFactory.CLOSE_PROJECT.create(window);
- * menu.add(closeProjectAction);
- * </pre>
- * </p>
- * 
- * @since 3.0
- */
-public final class IDEActionFactory {
-
-	/**
-	 * Prevents instantiation.
-	 */
-	private IDEActionFactory() {
-		// do nothing
-	}
-
-	/**
-	 * IDE-specific workbench action: Add task.
-	 * This action is a {@link RetargetAction} with 
-	 * id "addTask". This action maintains its enablement state.
-	 */
-	public static final ActionFactory ADD_TASK = new ActionFactory("addTask") { //$NON-NLS-1$
-		/* (non-javadoc) method declared on ActionFactory */
-		public IWorkbenchAction create(IWorkbenchWindow window) {
-			if (window == null) {
-				throw new IllegalArgumentException();
-			}
-			RetargetAction action = new RetargetAction(getId(), IDEWorkbenchMessages.getString("Workbench.addTask")); //$NON-NLS-1$ //$NON-NLS-2$
-			action.setToolTipText(IDEWorkbenchMessages.getString("Workbench.addTaskToolTip")); //$NON-NLS-1$
-			window.getPartService().addPartListener(action);
-			action.setActionDefinitionId("org.eclipse.ui.edit.addTask"); //$NON-NLS-1$
-			return action;
-		}
-	};
-		
-	/**
-	 * IDE-specific workbench action: Add bookmark.
-	 * This action is a {@link RetargetAction} with 
-	 * id "bookmark". This action maintains its enablement state.
-	 */
-	public static final ActionFactory BOOKMARK = new ActionFactory("bookmark") { //$NON-NLS-1$
-		/* (non-javadoc) method declared on ActionFactory */
-		public IWorkbenchAction create(IWorkbenchWindow window) {
-			if (window == null) {
-				throw new IllegalArgumentException();
-			}
-			RetargetAction action = new RetargetAction(getId(), IDEWorkbenchMessages.getString("Workbench.addBookmark")); //$NON-NLS-1$ //$NON-NLS-2$
-			action.setToolTipText(IDEWorkbenchMessages.getString("Workbench.addBookmarkToolTip")); //$NON-NLS-1$
-			window.getPartService().addPartListener(action);
-			action.setActionDefinitionId("org.eclipse.ui.edit.addBookmark"); //$NON-NLS-1$
-			return action;
-		}
-	};
-
-	/**
-	 * IDE-specific workbench action: Incremental build.
-	 * This action maintains its enablement state.
-	 */
-	public static final ActionFactory BUILD = new ActionFactory("build") { //$NON-NLS-1$
-		/* (non-javadoc) method declared on ActionFactory */
-		public IWorkbenchAction create(IWorkbenchWindow window) {
-			if (window == null) {
-				throw new IllegalArgumentException();
-			}
-			return new GlobalBuildAction(window, IncrementalProjectBuilder.INCREMENTAL_BUILD);
-		}
-	};
-
-	/**
-	 * IDE-specific workbench action: Build clean
-	 * This action maintains its enablement state.
-	 */
-	public static final ActionFactory BUILD_CLEAN = new ActionFactory("buildClean") { //$NON-NLS-1$
-		/* (non-javadoc) method declared on ActionFactory */
-		public IWorkbenchAction create(IWorkbenchWindow window) {
-			if (window == null) {
-				throw new IllegalArgumentException();
-			}
-			return new BuildCleanAction(window);
-		}
-	};
-
-	/**
-	 * IDE-specific workbench action: Build automaticaly
-	 * This action maintains its enablement state.
-	 */
-	public static final ActionFactory BUILD_AUTOMATICALLY = new ActionFactory("buildAutomatically") { //$NON-NLS-1$
-		/* (non-javadoc) method declared on ActionFactory */
-		public IWorkbenchAction create(IWorkbenchWindow window) {
-			if (window == null) {
-				throw new IllegalArgumentException();
-			}
-			return new ToggleAutoBuildAction(window);
-		}
-	};
-
-	/**
-	 * IDE-specific workbench action: Incremental build.
-	 * This action is a {@link RetargetAction} with 
-	 * id "buildProject". This action maintains its enablement state.
-	 */
-	public static final ActionFactory BUILD_PROJECT = new ActionFactory("buildProject") { //$NON-NLS-1$
-		/* (non-javadoc) method declared on ActionFactory */
-		public IWorkbenchAction create(IWorkbenchWindow window) {
-			if (window == null) {
-				throw new IllegalArgumentException();
-			}
-			RetargetAction action = new RetargetAction(getId(), IDEWorkbenchMessages.getString("Workbench.buildProject")); //$NON-NLS-1$
-			action.setToolTipText(IDEWorkbenchMessages.getString("Workbench.buildProjectToolTip")); //$NON-NLS-1$
-			window.getPartService().addPartListener(action);
-			action.setActionDefinitionId("org.eclipse.ui.project.buildProject"); //$NON-NLS-1$
-			return action;
-		}
-	};
-	
-	/**
-	 * IDE-specific workbench action: Close project.
-	 * This action is a {@link RetargetAction} with 
-	 * id "closeProject". This action maintains its enablement state.
-	 */
-	public static final ActionFactory CLOSE_PROJECT = new ActionFactory("closeProject") { //$NON-NLS-1$
-		/* (non-javadoc) method declared on ActionFactory */
-		public IWorkbenchAction create(IWorkbenchWindow window) {
-			if (window == null) {
-				throw new IllegalArgumentException();
-			}
-			RetargetAction action = new RetargetAction(getId(), IDEWorkbenchMessages.getString("Workbench.closeProject")); //$NON-NLS-1$ //$NON-NLS-2$
-			action.setToolTipText(IDEWorkbenchMessages.getString("Workbench.closeProjectToolTip")); //$NON-NLS-1$
-			window.getPartService().addPartListener(action);
-			action.setActionDefinitionId("org.eclipse.ui.project.closeProject"); //$NON-NLS-1$
-			return action;
-		}
-	};
-	
-	/**
-	 * IDE-specific workbench action: Opens the "new" wizard drop down.
-	 * This action maintains its enablement state.
-	 */
-	public static final ActionFactory NEW_WIZARD_DROP_DOWN = new ActionFactory("newWizardDropDown") { //$NON-NLS-1$
-		/* (non-javadoc) method declared on ActionFactory */
-		public IWorkbenchAction create(IWorkbenchWindow window) {
-			if (window == null) {
-				throw new IllegalArgumentException();
-			}
-			// @issue we are creating a NEW action just to pass to NewWizardDropDownAction
-			IWorkbenchAction innerAction = ActionFactory.NEW.create(window);
-			IWorkbenchAction action = new NewWizardDropDownAction(window, innerAction);
-			action.setId(getId());
-			return action;
-		}
-	};
-
-	/**
-	 * IDE-specific workbench action: Open project.
-	 * This action is a {@link RetargetAction} with 
-	 * id "openProject". This action maintains its enablement state.
-	 */
-	public static final ActionFactory OPEN_PROJECT = new ActionFactory("openProject") { //$NON-NLS-1$
-		/* (non-javadoc) method declared on ActionFactory */
-		public IWorkbenchAction create(IWorkbenchWindow window) {
-			if (window == null) {
-				throw new IllegalArgumentException();
-			}
-			RetargetAction action = new RetargetAction(getId(), IDEWorkbenchMessages.getString("Workbench.openProject")); //$NON-NLS-1$ //$NON-NLS-2$
-			action.setToolTipText(IDEWorkbenchMessages.getString("Workbench.openProjectToolTip")); //$NON-NLS-1$
-			window.getPartService().addPartListener(action);
-			action.setActionDefinitionId("org.eclipse.ui.project.openProject"); //$NON-NLS-1$
-			return action;
-		}
-	};
-
-	/**
-	 * IDE-specific workbench action: Open workspace.
-	 * This action maintains its enablement state.
-	 */
-	public static final ActionFactory OPEN_WORKSPACE = new ActionFactory("openWorkspace") { //$NON-NLS-1$
-		/* (non-javadoc) method declared on ActionFactory */
-		public IWorkbenchAction create(IWorkbenchWindow window) {
-			if (window == null) {
-				throw new IllegalArgumentException();
-			}
-			IWorkbenchAction action = new OpenWorkspaceAction(window);
-			action.setId(getId());
-			return action;
-		}
-	};
-
-	/**
-	 * IDE-specific workbench action: Open project properties.
-	 * This action maintains its enablement state.
-	 */
-	public static final ActionFactory OPEN_PROJECT_PROPERTIES = new ActionFactory("projectProperties") { //$NON-NLS-1$
-		/* (non-javadoc) method declared on ActionFactory */
-		public IWorkbenchAction create(IWorkbenchWindow window) {
-			if (window == null) {
-				throw new IllegalArgumentException();
-			}
-			IWorkbenchAction action = new ProjectPropertyDialogAction(window);
-			action.setId(getId());
-			return action;
-		}
-	};
-	
-	/**
-	 * IDE-specific workbench action: Quick start.
-	 * This action maintains its enablement state.
-     * 
-     * @deprecated the IDE now uses the new intro mechanism
-	 */
-	public static final ActionFactory QUICK_START = new ActionFactory("quickStart") { //$NON-NLS-1$
-		/* (non-javadoc) method declared on ActionFactory */
-		public IWorkbenchAction create(IWorkbenchWindow window) {
-			if (window == null) {
-				throw new IllegalArgumentException();
-			}
-			IWorkbenchAction action = new QuickStartAction(window);
-			action.setId(getId());
-			return action;
-		}
-	};
-	
-	/**
-	 * IDE-specific workbench action: Full build.
-	 * This action maintains its enablement state.
-	 */
-	public static final ActionFactory REBUILD_ALL = new ActionFactory("rebuildAll") { //$NON-NLS-1$
-		/* (non-javadoc) method declared on ActionFactory */
-		public IWorkbenchAction create(IWorkbenchWindow window) {
-			if (window == null) {
-				throw new IllegalArgumentException();
-			}
-			IWorkbenchAction action = new GlobalBuildAction(window, IncrementalProjectBuilder.FULL_BUILD);
-			action.setId(getId());
-			return action;
-		}
-	};
-
-	/**
-	 * IDE-specific workbench action: Rebuild project.
-	 * This action is a {@link RetargetAction} with 
-	 * id "rebuildProject". This action maintains its enablement state.
-	 */
-	public static final ActionFactory REBUILD_PROJECT = new ActionFactory("rebuildProject") { //$NON-NLS-1$
-		/* (non-javadoc) method declared on ActionFactory */
-		public IWorkbenchAction create(IWorkbenchWindow window) {
-			if (window == null) {
-				throw new IllegalArgumentException();
-			}
-			RetargetAction action = new RetargetAction(getId(), IDEWorkbenchMessages.getString("Workbench.rebuildProject")); //$NON-NLS-1$ //$NON-NLS-2$
-			action.setToolTipText(IDEWorkbenchMessages.getString("Workbench.rebuildProjectToolTip")); //$NON-NLS-1$
-			window.getPartService().addPartListener(action);
-			action.setActionDefinitionId("org.eclipse.ui.project.rebuildProject"); //$NON-NLS-1$
-			return action;
-		}
-	};
-	
-	/**
-	 * IDE-specific workbench action: Tips and tricks.
-	 * This action maintains its enablement state.
-	 */
-	public static final ActionFactory TIPS_AND_TRICKS = new ActionFactory("tipsAndTricks") { //$NON-NLS-1$
-		/* (non-javadoc) method declared on ActionFactory */
-		public IWorkbenchAction create(IWorkbenchWindow window) {
-			if (window == null) {
-				throw new IllegalArgumentException();
-			}
-			IWorkbenchAction action = new TipsAndTricksAction(window);
-			action.setId(getId());
-			return action;
-		}
-	};
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IGotoMarker.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IGotoMarker.java
deleted file mode 100644
index 5b53329..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IGotoMarker.java
+++ /dev/null
@@ -1,29 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.ide;
-
-import org.eclipse.core.resources.IMarker;
-
-/**
- * An adapter interface for editors, which allows the editor
- * to reveal the position of a given marker.
- * 
- * @since 3.0
- */
-public interface IGotoMarker {
-	/**
-     * Sets the cursor and selection state for an editor to 
-	 * reveal the position of the given marker.
-	 *  
-	 * @param marker the marker
-	 */
-	public void gotoMarker(IMarker marker);
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IIDEActionConstants.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IIDEActionConstants.java
deleted file mode 100644
index 320e6fa..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IIDEActionConstants.java
+++ /dev/null
@@ -1,277 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.ide;
-
-/**
- * Identifiers for IDE menus, toolbars and groups.
- * <p>
- * This interface contains constants only; it is not intended to be implemented
- * or extended.
- * </p>
- * 
- * @issue want to move IDE-specific stuff out of IWorkbenchActionConstants.
- *   There's still some cleanup to be done here (and there).
- * 
- * @since 3.0
- */
-public interface IIDEActionConstants {
-
-	/**
-	 * Name of standard File menu (value <code>"file"</code>).
-	 */
-	public static final String M_FILE = "file"; //$NON-NLS-1$
-
-	/**
-	 * Name of standard Edit menu (value <code>"edit"</code>).
-	 */
-	public static final String M_EDIT = "edit"; //$NON-NLS-1$
-
-	/**
-	 * Name of standard Navigate menu (value <code>"navigate"</code>).
-	 */
-	public static final String M_NAVIGATE = "navigate"; //$NON-NLS-1$
-
-	/**
-	 * Name of standard Project menu (value <code>"project"</code>).
-	 */
-	public static final String M_PROJECT = "project"; //$NON-NLS-1$
-
-	/**
-	 * Name of standard Window menu (value <code>"window"</code>).
-	 */
-	public static final String M_WINDOW = "window"; //$NON-NLS-1$
-
-	/**
-	 * Name of standard Help menu (value <code>"help"</code>).
-	 */
-	public static final String M_HELP = "help"; //$NON-NLS-1$
-	
-	/**
-	 * File menu: name of group for start of menu (value <code>"fileStart"</code>).
-	 */
-	public static final String FILE_START = "fileStart";	//$NON-NLS-1$
-	
-	/**
-	 * File menu: name of group for end of menu (value <code>"fileEnd"</code>).
-	 */
-	public static final String FILE_END = "fileEnd";		//$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";			//$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";		//$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";		//$NON-NLS-1$
-
-	/**
-	 * File menu: name of group for extra Print-like actions (value <code>"print.ext"</code>).
-	 */
-	public static final String PRINT_EXT = "print.ext";		//$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";	//$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$
-	
-	/**
-	 * Edit menu: name of group for start of menu (value <code>"editStart"</code>).
-	 */
-	public static final String EDIT_START = "editStart";	//$NON-NLS-1$
-	
-	/**
-	 * Edit menu: name of group for end of menu (value <code>"editEnd"</code>).
-	 */
-	public static final String EDIT_END = "editEnd";		//$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";		//$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";			//$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";			//$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";			//$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";		//$NON-NLS-1$
-	
-	/**
-	 * Workbench toolbar id for file toolbar group.
-	 * 
-	 * @since 2.1
-	 */
-	public static final String TOOLBAR_FILE = "org.eclipse.ui.workbench.file"; //$NON-NLS-1$
-
-	/**
-	 * Workbench toolbar id for navigate toolbar group.
-	 * 
-	 * @since 2.1
-	 */
-	public static final String TOOLBAR_NAVIGATE = "org.eclipse.ui.workbench.navigate"; //$NON-NLS-1$
-
-// Workbench toolbar group ids.  To add an item at the beginning of the group, 
-// use the GROUP id.  To add an item at the end of the group, use the EXT id.
-
-	/**
-	 * Group id for pin toolbar group.
-	 * 
-	 * @since 2.1
-	 */
-	public static final String PIN_GROUP = "pin.group"; //$NON-NLS-1$
-	
-	/**
-	 * Group ids for history toolbar group.
-	 * 
-	 * @since 2.1
-	 */
-	public static final String HISTORY_GROUP = "history.group"; //$NON-NLS-1$
-	
-	/**
-	 * Group ids for new toolbar group.
-	 * 
-	 * @since 2.1
-	 */
-	public static final String NEW_GROUP = "new.group"; //$NON-NLS-1$
-	
-	/**
-	 * Group ids for save toolbar group.
-	 * 
-	 * @since 2.1
-	 */
-	public static final String SAVE_GROUP = "save.group"; //$NON-NLS-1$
-	
-	/**
-	 * Group ids for build toolbar group.
-	 * 
-	 * @since 2.1
-	 */
-	public static final String BUILD_GROUP = "build.group"; //$NON-NLS-1$
-
-// Pop-up menu groups:
-	/**
-	 * 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 and cool bar: name of group for File actions (value <code>"group.file"</code>).
-	 */
-	public static final String GROUP_FILE = "group.file"; //$NON-NLS-1$
-	/**
-	 * Coolbar: name of group for Navigate actions (value <code>"group.nav"</code>).
-	 */
-	public static final String GROUP_NAV = "group.nav"; //$NON-NLS-1$
-
-	/**
-	 * Pop-up menu: name of group for Show In actions (value <code>"group.showIn"</code>).
-	 * 
-	 * @since 2.1
-	 */
-	public static final String GROUP_SHOW_IN = "group.showIn"; //$NON-NLS-1$
-	
-	/**
-	 * Navigate menu: name of group for start of menu
-	 * (value <code>"navStart"</code>).
-	 */
-	public static final String NAV_START = "navStart";	//$NON-NLS-1$
-
-	/**
-	 * Navigate menu: name of group for end of menu
-	 * (value <code>"navEnd"</code>).
-	 */
-	public static final String NAV_END = "navEnd";		//$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";		//$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";		//$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>).
-	 * 
-	 * @issue should be in an action factory
-	 */
-	public static final String GO_TO_RESOURCE = "goToResource";	// 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";	//$NON-NLS-1$
-
-	/**
-	 * Project menu: name of group for start of menu
-	 * (value <code>"projEnd"</code>).
-	 */
-	public static final String PROJ_END = "projEnd";	//$NON-NLS-1$
-
-	/**
-	 * Help menu: name of group for start of menu
-	 * (value <code>"helpStart"</code>).
-	 */
-	public static final String HELP_START = "helpStart";	//$NON-NLS-1$
-	
-	/**
-	 * Help menu: name of group for end of menu
-	 * (value <code>"helpEnd"</code>).
-	 */
-	public static final String HELP_END = "helpEnd";		//$NON-NLS-1$
-
-}
-
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/package.html b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/package.html
deleted file mode 100644
index f447e63..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/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="Microsoft FrontPage 4.0">
-<meta name="ProgId" content="FrontPage.Editor.Document">
-<title>Package-level Javadoc</title>
-</head>
-
-<body>
-
-APIs for the IDE-specific portion of the Eclipse Platform User Interface.
-<h2>Package Specification</h2>
-This package contains APIs for the Eclipse Platform User Interface that are IDE
-specific.
-
-</body>
-
-</html>
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/AboutInfo.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/AboutInfo.java
deleted file mode 100644
index cd97482..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/AboutInfo.java
+++ /dev/null
@@ -1,308 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.zip.CRC32;
-import java.util.zip.CheckedInputStream;
-
-import org.eclipse.core.runtime.IBundleGroup;
-import org.eclipse.core.runtime.IBundleGroupProvider;
-import org.eclipse.core.runtime.IProduct;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.ui.internal.BundleGroupProperties;
-import org.eclipse.ui.internal.ProductProperties;
-
-/**
- * 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>
- * This class is not intended to be instantiated or subclassed by clients.
- * </p>
- */
-public final class AboutInfo {
-	private ProductProperties productProperties;
-	private BundleGroupProperties bundleGroupProperties;
-
-	private Long featureImageCRC;
-	private boolean calculatedImageCRC = false;
-
-	/**
-	 * The information contained in this info will apply to only the argument product.
-	 */
-	public AboutInfo(IProduct product) {
-	    this.productProperties = new ProductProperties(product);
-	}
-
-	/**
-	 * This info object will apply to the argument bundle group.
-	 */
-	public AboutInfo(IBundleGroup bundleGroup) {
-	    this.bundleGroupProperties = new BundleGroupProperties(bundleGroup);
-	}
-
-	/**
-     * Returns the configuration information for the feature with the given id.
-     * 
-     * @param featureId
-     *            the feature id
-     * @param versionId
-     *            the version id (of the feature)
-     * @return the configuration information for the feature
-     */
-	public static AboutInfo readFeatureInfo(String featureId, String versionId) {
-		Assert.isNotNull(featureId);
-		Assert.isNotNull(versionId);
-
-		// first see if the id matches the product
-		IProduct product = Platform.getProduct();
-		if (product != null && featureId.equals(ProductProperties.getProductId(product)))
-		    return new AboutInfo(product);
-
-		// then check the bundle groups
-		IBundleGroup bundleGroup = getBundleGroup(featureId, versionId);
-		if (bundleGroup != null)
-		    return new AboutInfo(bundleGroup);
-
-		return null;
-	}
-
-	private static IBundleGroup getBundleGroup(String id, String versionId) {
-	    if(id == null || versionId == null)
-	        return null;
-
-	    IBundleGroupProvider[] providers = Platform.getBundleGroupProviders();
-	    for(int p = 0; p < providers.length; ++p) {
-	        IBundleGroup[] groups = providers[p].getBundleGroups();
-	        for(int g = 0; g < groups.length; ++g)
-	            if(id.equals(groups[g].getIdentifier()) && versionId.equals(groups[g].getVersion()))
-	                return groups[g];
-	    }
-
-	    return null;
-	}
-	
-	/**
-	 * 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 productProperties == null ? null : productProperties.getAboutImage();
-	}
-
-	/**
-	 * 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 bundleGroupProperties == null ? null : bundleGroupProperties.getFeatureImage();
-	}
-
-	/**
-	 * Returns the simple name of the feature image file.
-	 * 
-	 * @return the simple name of the feature image file,
-	 * or <code>null</code> if none
-	 */
-	public String getFeatureImageName() {
-	    if (bundleGroupProperties == null)
-	        return null;
-
-	    URL url = bundleGroupProperties.getFeatureImageUrl();
-	    return url == null ? null : new Path(url.getPath()).lastSegment();
-	}
-
-	/**
-	 * 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 (bundleGroupProperties == null)
-	        return null;
-
-	    if (!calculatedImageCRC) {
-            featureImageCRC = calculateImageCRC(bundleGroupProperties.getFeatureImageUrl());
-            calculatedImageCRC = featureImageCRC != null;
-        }
-
-	    return featureImageCRC;
-	}
-
-	/**
-	 * Calculate a CRC for the feature image
-	 */
-	private static Long calculateImageCRC(URL url) {
-	    if (url == null)
-			return null;
-			
-		InputStream in = null;
-		try {
-		    CRC32 checksum = new CRC32();
-		    in = new CheckedInputStream(url.openStream(), checksum);
-
-		    // the contents don't matter, the read just needs a place to go
-		    byte[] sink = new byte[2048];
-		    while(true)
-		        if(in.read(sink) <= 0)
-		            break;
-
-			return new Long(checksum.getValue());
-		} catch (IOException e) {
-			return null;
-		} finally {
-			if (in != null)
-				try {
-					in.close();
-				} catch (IOException e) {
-					// do nothing
-				}
-		}
-	}	
-		
-	/**
-	 * Returns a label for the feature plugn, or <code>null</code>.
-	 */
-	public String getFeatureLabel() {
-	    if (productProperties != null)
-	        return productProperties.getProductName();
-	    if (bundleGroupProperties != null)
-	        return bundleGroupProperties.getFeatureLabel();
-	    return null;
-	}
-
-	/**
-	 * Returns the id for this feature.
-	 * 
-	 * @return the feature id
-	 */
-	public String getFeatureId() {
-	    String id = null;
-	    if (productProperties != null)
-	        id = productProperties.getProductId();
-	    else if (bundleGroupProperties != null)
-	        id = bundleGroupProperties.getFeatureId();
-	    return id != null ? id : ""; //$NON-NLS-1$ 
-	}
-
-	/**
-	 * 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 productProperties == null ? null : productProperties.getAboutText();
-	}
-
-	/**
-	 * Returns the application 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 application name, or <code>null</code>
-	 * 
-	 * @see org.eclipse.swt.widgets.Display#setAppName
-	 */
-	public String getAppName() {
-	    return productProperties == null ? null : productProperties.getAppName();
-	}
-
-	/**
-	 * 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() {
-	    return productProperties == null ? null : productProperties.getProductName();
-	}
-
-	/**
-	 * Returns the provider name or <code>null</code>.
-	 *
-	 * @return the provider name, or <code>null</code>
-	 */
-	public String getProviderName() {
-	    return bundleGroupProperties == null ? null : bundleGroupProperties.getProviderName();
-	}
-
-	/**
-	 * Returns the feature version id.
-	 *
-	 * @return the version id of the feature
-	 */
-	public String getVersionId() {
-	    return bundleGroupProperties == null ? "" : bundleGroupProperties.getFeatureVersion(); //$NON-NLS-1$
-	}
-
-	/**
-	 * 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() {
-	    if (productProperties != null)
-	        return productProperties.getWelcomePageUrl();
-	    if (bundleGroupProperties != null)
-	        return bundleGroupProperties.getWelcomePageUrl();
-	    return null;
-	}
-
-	/**
-	 * 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 getWelcomePerspectiveId() {
-	    return bundleGroupProperties == null ? null : bundleGroupProperties.getWelcomePerspective();
-	}
-
-	/**
-	 * Returns a <code>String</code> for the tips and trick href.
-	 * 
-	 * @return the tips and tricks href, or <code>null</code> if none
-	 */
-	public String getTipsAndTricksHref() {
-	    return bundleGroupProperties == null ? null : bundleGroupProperties.getTipsAndTricksHref();
-	}
-
-	/**
-	 * Return an array of image descriptors for the window images to use for
-	 * this product. The expectations is that the elements will be the same
-	 * image rendered at different sizes. Products designed to run "headless"
-	 * typically would not have such images.
-	 * 
-	 * @return an array of the image descriptors for the window images, or
-	 *         <code>null</code> if none
-	 * @since 3.0
-	 */
-	public ImageDescriptor[] getWindowImages() {
-	    return productProperties == null ? null : productProperties.getWindowImages();
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/Category.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/Category.java
deleted file mode 100644
index 7e809c6..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/Category.java
+++ /dev/null
@@ -1,189 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-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.PlatformUI;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.model.WorkbenchAdapter;
-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>
- */
-public class Category extends WorkbenchAdapter {
-	/**
-	 * Name of the miscellaneous category
-	 */
-	public final static String MISC_NAME = IDEWorkbenchMessages.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$
-	
-	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 PlatformUI.getWorkbench().getSharedImages().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.ide/src/org/eclipse/ui/internal/ide/ChooseWorkspaceData.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/ChooseWorkspaceData.java
deleted file mode 100644
index b16fcb9..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/ChooseWorkspaceData.java
+++ /dev/null
@@ -1,382 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-import java.io.File;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.Reader;
-import java.io.Writer;
-import java.net.URL;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.osgi.service.datalocation.Location;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.XMLMemento;
-
-/**
- * This class stores the information behind the "Launch Workspace" dialog. The
- * class is able to read and write itself to a well known configuration file.
- */
-public class ChooseWorkspaceData {
-	/**
-	 * The default max length of the recent workspace mru list.  The values
-	 * stored in xml (both the max-length parameter and actual size of the
-	 * list) will supersede this value. 
-	 */
-	private static final int RECENT_MAX_LENGTH = 5;
-
-	/**
-	 * The directory within the config area that will be used for the
-	 * receiver's persisted data.
-	 */
-	private static final String PERS_FOLDER = "org.eclipse.ui.ide"; //$NON-NLS-1$
-	
-	/**
-	 * The name of the file within the config area that will be used for
-	 * the recever's persisted data.
-	 * @see PERS_FOLDER
-	 */
-	private static final String PERS_FILENAME = "recentWorkspaces.xml"; //$NON-NLS-1$
-	private static final int PERS_ENCODING_VERSION = 1;
-
-	private boolean showDialog = true;
-	private String initialDefault;
-	private String selection;
-	private String[] recentWorkspaces;
-
-	// xml tags
-	private static interface XML {
-		public static final String PROTOCOL = "protocol"; //$NON-NLS-1$
-		public static final String VERSION = "version"; //$NON-NLS-1$
-		public static final String ALWAYS_ASK = "alwaysAsk"; //$NON-NLS-1$
-		public static final String SHOW_DIALOG = "showDialog"; //$NON-NLS-1$
-		public static final String WORKSPACE = "workspace"; //$NON-NLS-1$
-		public static final String RECENT_WORKSPACES = "recentWorkspaces"; //$NON-NLS-1$
-		public static final String MAX_LENGTH = "maxLength"; //$NON-NLS-1$
-		public static final String PATH = "path"; //$NON-NLS-1$
-	}	
-
-	/**
-	 * Creates a new instance, loading persistent data if its found.
-	 */
-	public ChooseWorkspaceData(String initialDefault) {
-		readPersistedData();
-		setInitialDefault(initialDefault);
-	}
-
-	/**
-	 * Creates a new instance, loading persistent data if its found.
-	 */
-	public ChooseWorkspaceData(URL instanceUrl) {
-		readPersistedData();
-		if (instanceUrl != null)
-		    setInitialDefault(new File(instanceUrl.getFile()).toString());
-	}
-
-	/**
-	 * Return the folder to be used as a default if no other information
-	 * exists. Does not return null.
-	 */
-	public String getInitialDefault() {
-		if (initialDefault == null)
-                setInitialDefault(System.getProperty("user.dir") //$NON-NLS-1$
-                        + File.separator + "workspace"); //$NON-NLS-1$
-		return initialDefault;
-	}
-
-	/**
-     * Set this data's initialDefault parameter to a properly formatted version
-     * of the argument directory string. The proper format is to the platform
-     * appropriate separator character without meaningless leading or trailing
-     * separator characters.
-     */
-	private void setInitialDefault(String dir) {
-	    if (dir == null || dir.length() <= 0) {
-	        initialDefault = null;
-	        return;
-	    }
-
-	    dir = new Path(dir).toOSString();
-	    while (dir.charAt(dir.length() - 1) == File.separatorChar)
-            dir = dir.substring(0, dir.length() - 1);
-        initialDefault = dir;
-	}
-	
-	/**
-	 * Return the currently selected workspace or null if nothing is selected.
-	 */
-	public String getSelection() {
-		return selection;
-	}
-
-	/**
-	 * Return the currently selected workspace or null if nothing is selected.
-	 */
-	public boolean getShowDialog() {
-		return showDialog;
-	}
-
-	/**
-	 * Return an array of recent workspaces sorted with the most recently used at
-	 * the start.
-	 */
-	public String[] getRecentWorkspaces() {
-		return recentWorkspaces;
-	}
-
-	/**
-	 * The argument workspace has been selected, update the receiver.  Does not
-	 * persist the new values.
-	 */
-	public void workspaceSelected(String dir) {
-		// this just stores the selection, it is not inserted and persisted
-		// until the workspace is actually selected
-		selection = dir;
-	}
-
-	/**
-	 * Toggle value of the showDialog persistent setting.
-	 */
-	public void toggleShowDialog() {
-		showDialog = !showDialog;
-	}
-
-	/**
-	 * Update the persistent store.  Call this function after the currently selected
-	 * value has been found to be ok.
-	 */
-	public void writePersistedData() {
-		Location configLoc = Platform.getConfigurationLocation();
-		if (configLoc == null || configLoc.isReadOnly())
-			return;
-
-		URL persUrl = getPersistenceUrl(configLoc.getURL(), true);
-		if (persUrl == null)
-			return;
-
-		// move the new selection to the front of the list
-		if(selection != null) {
-			String oldEntry = recentWorkspaces[0];
-			recentWorkspaces[0] = selection;
-			for (int i = 1; i < recentWorkspaces.length && oldEntry != null; ++i) {
-				if (selection.equals(oldEntry))
-					break;
-				String tmp = recentWorkspaces[i];
-				recentWorkspaces[i] = oldEntry;
-				oldEntry = tmp;
-			}
-		}
-
-		Writer writer = null;
-		try {
-			writer = new FileWriter(persUrl.getFile());
-
-			// E.g.,
-			//	<launchWorkspaceData>
-			//		<protocol version="1"/>
-			//      <alwaysAsk showDialog="1"/>
-			// 		<recentWorkspaces maxLength="5">
-			//			<workspace path="C:\eclipse\workspace0"/>
-			//			<workspace path="C:\eclipse\workspace1"/>
-			//		</recentWorkspaces>
-			//	</launchWorkspaceData>
-
-			XMLMemento memento = XMLMemento.createWriteRoot("launchWorkspaceData"); //$NON-NLS-1$
-
-			memento.createChild(XML.PROTOCOL)
-				   .putInteger(XML.VERSION, PERS_ENCODING_VERSION);
-
-			memento.createChild(XML.ALWAYS_ASK)
-					.putInteger(XML.SHOW_DIALOG, showDialog ? 1 : 0);
-
-			IMemento recentMemento = memento.createChild(XML.RECENT_WORKSPACES);
-			recentMemento.putInteger(XML.MAX_LENGTH, recentWorkspaces.length);
-			for(int i = 0; i < recentWorkspaces.length; ++i) {
-				if(recentWorkspaces[i] == null)
-					break;
-				recentMemento.createChild(XML.WORKSPACE).putString(XML.PATH, recentWorkspaces[i]);
-			}
-			memento.save(writer);
-		} catch (IOException e) {
-			IDEWorkbenchPlugin.log(
-					"Unable to write recent workspace data",  //$NON-NLS-1$
-					StatusUtil.newStatus(
-						IStatus.ERROR,
-						e.getMessage() == null ? "" : e.getMessage(), //$NON-NLS-1$
-						e));
-		}
-		finally {
-			if(writer != null)
-				try {
-					writer.close();
-				} catch (IOException e1) {
-					// do nothing
-				}
-		}
-	}
-
-	/**
-	 * Look for and read data that might have been persisted from some previous
-	 * run. Leave the receiver in a default state if no persistent data is
-	 * found.
-	 * @return true if a file was successfully read and false otherwise
-	 */
-	private boolean readPersistedData() {
-		URL persUrl = null;
-
-		Location configLoc = Platform.getConfigurationLocation();
-		if(configLoc != null)
-			persUrl = getPersistenceUrl(configLoc.getURL(), false);
-
-		try {
-			// inside try to get the safe default creation in the finally
-			// clause
-			if (persUrl == null)
-				return false;
-
-			// E.g.,
-			//	<launchWorkspaceData>
-			//		<protocol version="1"/>
-			//      <alwaysAsk showDialog="1"/>
-			// 		<recentWorkspaces maxLength="5">
-			//			<workspace path="C:\eclipse\workspace0"/>
-			//			<workspace path="C:\eclipse\workspace1"/>
-			//		</recentWorkspaces>
-			//	</launchWorkspaceData>
-
-			Reader reader = new FileReader(persUrl.getFile());
-			XMLMemento memento = XMLMemento.createReadRoot(reader);
-			if (memento == null || !compatibleProtocol(memento))
-				return false;
-
-			IMemento alwaysAskTag = memento.getChild(XML.ALWAYS_ASK);
-			showDialog = alwaysAskTag == null ? true : alwaysAskTag.getInteger(
-					XML.SHOW_DIALOG).intValue() == 1;
-
-			IMemento recent = memento.getChild(XML.RECENT_WORKSPACES);
-			if(recent == null)
-				return false;
-
-			Integer maxLength = recent.getInteger(XML.MAX_LENGTH);
-			int max = RECENT_MAX_LENGTH;
-			if(maxLength != null)
-				max = maxLength.intValue();
-
-			IMemento indices[] = recent.getChildren(XML.WORKSPACE);
-			if(indices == null || indices.length <= 0)
-				return false;
-
-			// if a user has edited maxLength to be shorter than the listed
-			// indices, accept the list (its tougher for them to retype a long
-			// list of paths than to update a max number)
-			max = Math.max(max, indices.length);
-
-			recentWorkspaces = new String[max];
-			for(int i = 0; i < indices.length; ++i) {
-				String path = indices[i].getString(XML.PATH);
-				if(path == null)
-					break;
-				recentWorkspaces[i] = path; 
-			}
-		} catch (IOException e) {
-			// cannot log because instance area has not been set
-			return false;
-		} catch (WorkbenchException e) {
-			// cannot log because instance area has not been set
-			return false;
-		}
-		finally {
-			// create safe default if needed
-			if (recentWorkspaces == null)
-				recentWorkspaces = new String[RECENT_MAX_LENGTH];
-		}
-
-		return true;
-	}
-
-	/**
-	 * Return the current (persisted) value of the "showDialog on startup"
-	 * preference. Return the global default if the file cannot be accessed.
-	 */
-	public static boolean getShowDialogValue() {
-		ChooseWorkspaceData data = new ChooseWorkspaceData(""); //$NON-NLS-1$
-
-		// return either the value in the file or true, which is the global
-		// default
-		return data.readPersistedData() ? data.showDialog : true;
-	}
-
-	/**
-	 * Return the current (persisted) value of the "showDialog on startup"
-	 * preference. Return the global default if the file cannot be accessed.
-	 */
-	public static void setShowDialogValue(boolean showDialog) {
-		ChooseWorkspaceData data = new ChooseWorkspaceData(""); //$NON-NLS-1$
-
-		// if the file didn't exist, then don't create a new one
-		if (!data.readPersistedData())
-			return;
-
-		// update the value and write the new settings
-		data.showDialog = showDialog;
-		data.writePersistedData();
-	}
-
-	/**
-	 * Return true if the protocol used to encode the argument memento is compatible
-	 * with the receiver's implementation and false otherwise.
-	 */
-	private static boolean compatibleProtocol(IMemento memento) {
-		IMemento protocolMemento = memento.getChild(XML.PROTOCOL);
-		if(protocolMemento == null)
-			return false;
-
-		Integer version = protocolMemento.getInteger(XML.VERSION);
-		return version != null && version.intValue() == PERS_ENCODING_VERSION;
-	}
-
-	/**
-	 * The workspace data is stored in the well known file pointed to by the result
-	 * of this method.
-	 * @param create If the directory and file does not exist this parameter
-	 *               controls whether it will be created.
-	 * @return An url to the file and null if it does not exist or could not
-	 *         be created.
-	 */
-	private static URL getPersistenceUrl(URL baseUrl, boolean create) {
-		if(baseUrl == null)
-			return null;
-
-		try {
-			// make sure the directory exists
-			URL url = new URL(baseUrl, PERS_FOLDER);
-			File dir = new File(url.getFile());
-			if (!dir.exists() && (!create || !dir.mkdir()))
-				return null;
-
-			// make sure the file exists
-			url = new URL(dir.toURL(), PERS_FILENAME);
-			File persFile = new File(url.getFile());
-			if (!persFile.exists() && (!create || !persFile.createNewFile()))
-				return null;
-
-			return persFile.toURL();
-		} catch (IOException e) {
-			// cannot log because instance area has not been set
-			return null;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/ChooseWorkspaceDialog.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/ChooseWorkspaceDialog.java
deleted file mode 100644
index 9c19012..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/ChooseWorkspaceDialog.java
+++ /dev/null
@@ -1,240 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-import org.eclipse.core.runtime.IProduct;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.TitleAreaDialog;
-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.DirectoryDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * A dialog that prompts for a directory to use as a workspace.
- */
-public class ChooseWorkspaceDialog extends TitleAreaDialog {
-	private ChooseWorkspaceData launchData;
-	private Combo text;
-	private boolean suppressAskAgain = false;
-
-	/**
-     * Create a modal dialog on the arugment shell, using and updating the
-     * argument data object.
-     * 
-     * @param suppressAskAgain
-     *            true means the dialog will not have a "don't ask again" button
-     */
-	public ChooseWorkspaceDialog(Shell parentShell, ChooseWorkspaceData launchData, boolean suppressAskAgain) {
-		super(parentShell);
-		this.launchData = launchData;
-		this.suppressAskAgain = suppressAskAgain;
-	}
-
-	/**
-	 * Show the dialog to the user (if needed). When this method finishes,
-	 * #getSelection will return the workspace that should be used (whether it
-	 * was just selected by the user or some previous default has been used.
-	 * The parameter can be used to override the users preference.  For example,
-	 * this is important in cases where the default selection is already in use
-	 * and the user is forced to choose a different one.
-	 * 
-	 * @param force
-	 *            true if the dialog should be opened regardless of the value of
-	 *            the show dialog checkbox
-	 */
-	public void prompt(boolean force) {
-		if (force || launchData.getShowDialog()) {
-			open();
-			return;
-		}
-
-		String[] recent = launchData.getRecentWorkspaces();
-		launchData.workspaceSelected(recent != null && recent.length > 0
-				? recent[0]
-				: launchData.getInitialDefault());
-	}
-
-	/**
-	 * Creates and returns the contents of the upper part of this dialog (above
-	 * the button bar).
-	 * <p>
-	 * The <code>Dialog</code> implementation of this framework method creates
-	 * and returns a new <code>Composite</code> with no margins and spacing.
-	 * </p>
-	 *
-	 * @param parent the parent composite to contain the dialog area
-	 * @return the dialog area control
-	 */
-	protected Control createDialogArea(Composite parent) {
-		String productName = null;
-		IProduct product = Platform.getProduct();
-		if (product != null) {
-			productName = product.getName();
-		}
-		if (productName == null) {
-		    productName = IDEWorkbenchMessages.getString("ChooseWorkspaceDialog.defaultProductName"); //$NON-NLS-1$
-		}
-
-		Composite composite = (Composite) super.createDialogArea(parent);
-        setTitle(IDEWorkbenchMessages
-                .getString("ChooseWorkspaceDialog.dialogTitle")); //$NON-NLS-1$
-        setMessage(IDEWorkbenchMessages.format(
-                "ChooseWorkspaceDialog.dialogMessage", //$NON-NLS-1$
-                new Object[] { productName }));
-
-		// bug 59934: load title image for sizing, but set it non-visible so the
-		//            white background is displayed
-		if (getTitleImageLabel() != null)
-		    getTitleImageLabel().setVisible(false);
-
-		createWorkspaceBrowseRow(composite);
-		if (!suppressAskAgain)
-			createShowDialogButton(composite);
-		return composite;
-	}
-
-	/**
-	 * Configures the given shell in preparation for opening this window
-	 * in it.
-	 * <p>
-	 * The default implementation of this framework method
-	 * sets the shell's image and gives it a grid layout. 
-	 * Subclasses may extend or reimplement.
-	 * </p>
-	 * 
-	 * @param shell the shell
-	 */
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		shell.setText(IDEWorkbenchMessages
-				.getString("ChooseWorkspaceDialog.dialogName")); //$NON-NLS-1$
-	}
-
-	/**
-	 * Notifies that the ok 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>Window.OK</code>
-	 * and closes the dialog. Subclasses may override.
-	 * </p>
-	 */
-	protected void okPressed() {
-		launchData.workspaceSelected(text.getText());
-		super.okPressed();
-	}
-
-	/**
-	 * Notifies that the cancel 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>Window.CANCEL</code>
-	 * and closes the dialog. Subclasses may override if desired.
-	 * </p>
-	 */
-	protected void cancelPressed() {
-		launchData.workspaceSelected(null);
-		super.cancelPressed();
-	}
-
-	/**
-	 * The main area of the dialog is just a row with the current selection
-	 * information and a drop-down of the most recently used workspaces.
-	 */
-	private void createWorkspaceBrowseRow(Composite parent) {
-		Composite panel = new Composite(parent, SWT.NONE);
-
-		GridLayout layout = new GridLayout(3, false);
-		layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-		layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		panel.setLayout(layout);
-		panel.setLayoutData(new GridData(GridData.FILL_BOTH));
-		panel.setFont(parent.getFont());
-
-		Label label = new Label(panel, SWT.NONE);
-		label.setText(IDEWorkbenchMessages
-				.getString("ChooseWorkspaceDialog.workspaceEntryLabel")); //$NON-NLS-1$
-
-		text = new Combo(panel, SWT.BORDER | SWT.LEAD
-				| SWT.DROP_DOWN);
-		text.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL
-				| GridData.FILL_HORIZONTAL));
-		setInitialTextValues(text);
-		
-		Button browseButton = new Button(panel, SWT.PUSH);
-		browseButton.setText(IDEWorkbenchMessages
-				.getString("ChooseWorkspaceDialog.browseLabel")); //$NON-NLS-1$
-		setButtonLayoutData(browseButton);
-		GridData data = (GridData) browseButton.getLayoutData();
-		data.horizontalAlignment = GridData.HORIZONTAL_ALIGN_END;
-		browseButton.setLayoutData(data);
-		browseButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				DirectoryDialog dialog = new DirectoryDialog(getShell());
-				dialog.setText(IDEWorkbenchMessages
-								.getString("ChooseWorkspaceDialog.directoryBrowserTitle")); //$NON-NLS-1$
-				dialog.setMessage(IDEWorkbenchMessages
-								.getString("ChooseWorkspaceDialog.directoryBrowserMessage")); //$NON-NLS-1$
-				dialog.setFilterPath(text.getText());
-				String dir = dialog.open();
-				if (dir != null)
-					text.setText(dir);
-			}
-		});
-	}
-
-	/**
-	 * The show dialog button allows the user to choose to neven be nagged again.
-	 */
-	private void createShowDialogButton(Composite parent) {
-		Composite panel = new Composite(parent, SWT.NONE);
-		panel.setFont(parent.getFont());
-
-		GridLayout layout = new GridLayout(1, false);
-		layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-		panel.setLayout(layout);
-
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.verticalAlignment = GridData.END;
-		panel.setLayoutData(data);
-
-		Button button = new Button(panel, SWT.CHECK);
-		button.setText(IDEWorkbenchMessages
-				.getString("ChooseWorkspaceDialog.useDefaultMessage")); //$NON-NLS-1$
-		button.setSelection(!launchData.getShowDialog());
-		button.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				launchData.toggleShowDialog();
-			}
-		});
-	}
-
-	private void setInitialTextValues(Combo text) {
-		String[] recentWorkspaces = launchData.getRecentWorkspaces();
-		for(int i = 0; i < recentWorkspaces.length; ++i)
-			if(recentWorkspaces[i] != null)
-				text.add(recentWorkspaces[i]);
-
-		text.setText(text.getItemCount() > 0 ? text.getItem(0) : launchData
-				.getInitialDefault());
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/DefaultContributorResourceAdapter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/DefaultContributorResourceAdapter.java
deleted file mode 100644
index 5c0d2c0..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/DefaultContributorResourceAdapter.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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-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.ide/src/org/eclipse/ui/internal/ide/DialogUtil.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/DialogUtil.java
deleted file mode 100644
index 79768d7..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/DialogUtil.java
+++ /dev/null
@@ -1,120 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PartInitException;
-
-/**
- * Utility class to help with dialogs.
- * <p>
- * Note that a copy of this class exists in the
- * org.eclipse.ui.internal package.
- * </p>
- */
-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-NLS-1$
-		//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;
-	}
-
-	/**
-	 * Return the number of rows available in the current display using the
-	 * current font.
-	 * @param parent The Composite whose Font will be queried.
-	 * @return int The result of the display size divided by the font size.
-	 */
-	public static int availableRows(Composite parent) {
-
-		int fontHeight = (parent.getFont().getFontData())[0].getHeight();
-		int displayHeight = parent.getDisplay().getClientArea().height;
-
-		return displayHeight / fontHeight;
-	}
-
-	/**
-	 * Return whether or not the font in the parent is the size of a regular
-	 * font.  Typically used to know if a font is smaller than the High Contrast 
-	 * Font. This method is used to make layout decisions based on screen space.
-	 * 
-	 * @param parent The Composite whose Font will be queried.
-	 * @return boolean. True if there are more than 50 lines of possible
-	 * text in the display.
-	 */
-	public static boolean inRegularFontMode(Composite parent) {
-
-		return availableRows(parent) > 50;
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/EditorAreaDropAdapter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/EditorAreaDropAdapter.java
deleted file mode 100644
index af96938..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/EditorAreaDropAdapter.java
+++ /dev/null
@@ -1,256 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.ide;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DropTargetAdapter;
-import org.eclipse.swt.dnd.DropTargetEvent;
-import org.eclipse.swt.widgets.Display;
-
-import org.eclipse.jface.util.Assert;
-
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorRegistry;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.part.EditorInputTransfer;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.part.MarkerTransfer;
-import org.eclipse.ui.part.ResourceTransfer;
-
-/**
- * An editor area drop adapter to handle transfer types
- * <code>EditorInputTransfer</code>, <code>MarkerTransfer</code>,
- * and <code>ResourceTransfer</code>.
- */
-public class EditorAreaDropAdapter extends DropTargetAdapter {
-	private IWorkbenchWindow window;
-	
-	/**
-	 * Constructs a new EditorAreaDropAdapter.
-	 * @param window the workbench window
-	 */
-	public EditorAreaDropAdapter(IWorkbenchWindow window) {
-		this.window = window;
-	}
-
-	public void dragEnter(DropTargetEvent event) {				
-		// always indicate a copy
-		event.detail = DND.DROP_COPY;
-	}
-
-	public void dragOperationChanged(DropTargetEvent event) {				
-		// always indicate a copy
-		event.detail = DND.DROP_COPY;
-	}
-
-	public void drop(final DropTargetEvent event) {
-		Display d = window.getShell().getDisplay();
-		final IWorkbenchPage page = window.getActivePage();
-		if (page != null) {
-			d.asyncExec(new Runnable() {
-				public void run() {
-					asyncDrop(event, page);
-				}
-			});
-		}
-	}
-
-	private void asyncDrop(DropTargetEvent event, IWorkbenchPage page) {
-
-		/* 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;
-			for (int i = 0; i < editorInputs.length; i++) {
-				IEditorInput editorInput = editorInputs[i].input;
-				String editorId = editorInputs[i].editorId;
-				openNonExternalEditor(page, editorInput, editorId);
-			}
-		}
-			
-		/* 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;
-			for (int i = 0; i < markers.length; i++) {
-				openNonExternalEditor(page, markers[i]);
-			}
-		}
-
-		/* Open Editor for resource */
-		else if (ResourceTransfer.getInstance().isSupportedType(event.currentDataType)) {
-			Assert.isTrue(event.data instanceof IResource[]);
-			IResource[] files = (IResource[]) event.data;
-			for (int i = 0; i < files.length; i++) {
-				if (files[i] instanceof IFile) {
-					IFile file = (IFile) files[i];
-					openNonExternalEditor(page, file);
-				}
-			}
-		}
-			
-	}
-	
-	/**
-	 * Opens an editor for the given file on the given workbench page in response
-	 * to a drop on the workbench editor area. In contrast to other ways of opening
-	 * an editor, we never open an external editor in this case (since external
-	 * editors appear in their own window and not in the editor area).
-	 * The operation fails silently if there is no suitable editor to open.
-	 * 
-	 * @param page the workbench page
-	 * @param file the file to open
-	 * @return the editor part that was opened, or <code>null</code> if no editor
-	 * was opened
-	 */
-	private IEditorPart openNonExternalEditor(IWorkbenchPage page, IFile file) {
-		IEditorPart result;
-		try {
-			// find out which editor we would normal open
-			IEditorDescriptor defaultEditorDesc = IDE.getDefaultEditor(file);
-			if (defaultEditorDesc != null && !defaultEditorDesc.isOpenExternal()) {
-				// open an internal or in-place editor
-				result = IDE.openEditor(page, file, true);
-			} else {
-				// never open an external editor in response to a drop
-				// check the OS for in-place editor (OLE on Win32)
-				IEditorRegistry editorReg =
-					PlatformUI.getWorkbench().getEditorRegistry();
-				IEditorDescriptor editorDesc = null;
-				if (editorReg.isSystemInPlaceEditorAvailable(file.getName())) {
-					editorDesc =
-						editorReg.findEditor(
-							IEditorRegistry.SYSTEM_INPLACE_EDITOR_ID);
-				}
-
-				// next lookup the default text editor
-				if (editorDesc == null) {
-					editorDesc =
-						editorReg.findEditor(
-							IDEWorkbenchPlugin.DEFAULT_TEXT_EDITOR_ID);
-				}
-
-				// if no valid editor found, bail out
-				if (editorDesc == null) {
-					throw new PartInitException(IDEWorkbenchMessages.getString("IDE.noFileEditorFound")); //$NON-NLS-1$
-				}
-
-				// open the editor on the file
-				result = page.openEditor(
-					new FileEditorInput(file),
-					editorDesc.getId(),
-					true);
-			}
-		} catch (PartInitException e) {
-			// silently ignore problems opening the editor
-			result = null;
-		}
-		return result;
-	}
-
-	/**
-	 * Opens an editor for the given marker on the given workbench page in response
-	 * to a drop on the workbench editor area. In contrast to other ways of opening
-	 * an editor, we never open an external editor in this case (since external
-	 * editors appear in their own window and not in the editor area).
-	 * The operation fails silently if there is no suitable editor to open.
-	 * 
-	 * @param page the workbench page
-	 * @param marker the marker to open
-	 * @return the editor part that was opened, or <code>null</code> if no editor
-	 * was opened
-	 */
-	private IEditorPart openNonExternalEditor(IWorkbenchPage page, IMarker marker) {
-		IEditorPart result;
-		try {
-			// get the marker resource file
-			if (!(marker.getResource() instanceof IFile)) {
-				return null;
-			}
-			IFile file = (IFile) marker.getResource();
-
-			// get the preferred editor id from the marker
-			IEditorDescriptor editorDesc = null;
-			try {
-				String editorID = (String) marker.getAttribute(IDE.EDITOR_ID_ATTR);
-				if (editorID != null) {
-					IEditorRegistry editorReg = PlatformUI.getWorkbench().getEditorRegistry();
-					editorDesc = editorReg.findEditor(editorID);
-				}
-			} catch (CoreException e) {
-				// ignore problems with getting the marker
-			}
-
-			// open the editor on the marker resource file
-			if (editorDesc != null && !editorDesc.isOpenExternal()) {
-				result = page.openEditor(new FileEditorInput(file), editorDesc.getId(), true);
-			} else {
-				result = openNonExternalEditor(page, file);
-			}
-			
-			// get the editor to update its position based on the marker
-			if (result != null) {
-				IDE.gotoMarker(result, marker);
-			}
-			
-		} catch (PartInitException e) {
-			// silently ignore problems opening the editor
-			result = null;
-		}
-		return result;
-	}
-
-	/**
-	 * Opens an editor for the given editor input and editor id combination on the
-	 * given workbench page in response to a drop on the workbench editor area.
-	 * In contrast to other ways of opening an editor, we never open an external
-	 * editor in this case (since external editors appear in their own window and
-	 * not in the editor area). The operation fails silently if the editor
-	 * cannot be opened.
-	 * 
-	 * @param page the workbench page
-	 * @param editorInput the editor input
-	 * @param editorId the editor id
-	 * @return the editor part that was opened, or <code>null</code> if no editor
-	 * was opened
-	 */
-	private IEditorPart openNonExternalEditor(IWorkbenchPage page, IEditorInput editorInput, String editorId) {
-		IEditorPart result;
-		try {
-			IEditorRegistry editorReg = PlatformUI.getWorkbench().getEditorRegistry();
-			IEditorDescriptor editorDesc = editorReg.findEditor(editorId);
-			if (editorDesc != null && !editorDesc.isOpenExternal()) {
-				result = page.openEditor(editorInput, editorId);
-			} else {
-				result = null;
-			}
-		} catch (PartInitException e) {
-			// silently ignore problems opening the editor
-			result = null;
-		}
-		return result;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/FeatureSelectionDialog.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/FeatureSelectionDialog.java
deleted file mode 100644
index c36641f..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/FeatureSelectionDialog.java
+++ /dev/null
@@ -1,195 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.ide;
-
-import java.text.Collator;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.Locale;
-
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.ListViewer;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-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.ui.dialogs.SelectionDialog;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.ide.dialogs.SimpleListContentProvider;
-
-/**
- * Dialog to allow the user to select a feature from a list.
- */
-public class FeatureSelectionDialog 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;
-	/**
-	 * The help context id
-	 */
-	private String helpContextId;
-
-	/**
-	 * 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 features  the features to display
-	 * @param primaryFeatureId  the id of the primary feature or null if none
-	 * @param shellTitle  shell title
-	 * @param shellMessage  shell message
-	 * @param helpContextId  help context id
-	 */
-	public FeatureSelectionDialog(
-		Shell shell,
-		AboutInfo[] features,
-		String primaryFeatureId,
-		String shellTitle,
-		String shellMessage,
-		String helpContextId) {
-			
-		super(shell);
-		if (features == null || features.length == 0) {
-			throw new IllegalArgumentException();
-		}
-		this.features = features;
-		this.helpContextId = helpContextId;
-		setTitle(shellTitle);
-		setMessage(shellMessage);
-			
-		// 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 = ""; //$NON-NLS-1$
-					if (name2 == null)
-						name2 = ""; //$NON-NLS-1$
-					return coll.compare(name1, name2);
-				}
-			});
-
-		// Find primary feature
-		for (int i = 0; i < features.length; i++) {
-			if (features[i].getFeatureId().equals(primaryFeatureId)) {
-				setInitialSelections(new Object[] { features[i] });
-				return;
-			}
-		}
-
-		// set a safe default		
-		setInitialSelections(new Object[0]);
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on Window.
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		WorkbenchHelp.setHelp(newShell, helpContextId);
-	}
-
-	/* (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.ide/src/org/eclipse/ui/internal/ide/IDEApplication.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEApplication.java
deleted file mode 100644
index 1bbf80e..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEApplication.java
+++ /dev/null
@@ -1,489 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Properties;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.IPlatformRunnable;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExecutableExtension;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.osgi.service.datalocation.Location;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * The "main program" for the Eclipse IDE.
- * 
- * @since 3.0
- */
-public class IDEApplication implements IPlatformRunnable, IExecutableExtension {
-
-	private static final String METADATA_FOLDER = ".metadata"; //$NON-NLS-1$
-	private static final String VERSION_FILENAME = "version.ini"; //$NON-NLS-1$
-	private static final String WORKSPACE_VERSION_KEY = "org.eclipse.core.runtime"; //$NON-NLS-1$
-	private static final String WORKSPACE_VERSION_VALUE = "1"; //$NON-NLS-1$
-	private static final String PROP_EXIT_CODE = "eclipse.exitcode"; //$NON-NLS-1$
-
-	/**
-	 * A special return code that will be recognized by the launcher and used to
-	 * restart the workbench.
-	 */
-	private static final Integer EXIT_RELAUNCH = new Integer(24);
-
-	private static final int MIN_JVM_VERSION_MAJOR = 1;
-	private static final int MIN_JVM_VERSION_MINOR = 4;
-	private static final int MIN_JVM_VERSION_SERVICE = 1;
-
-	/**
-	 * Creates a new IDE application.
-	 */
-	public IDEApplication() {
-		// There is nothing to do for IDEApplication
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.boot.IPlatformRunnable#run(java.lang.Object)
-	 */
-	public Object run(Object args) throws Exception {
-		Display display = createDisplay();
-
-		try {
-			Shell shell = new Shell(display, SWT.ON_TOP);
-
-			if (!checkJavaRuntimeVersion(shell)) {
-				Platform.endSplash();
-				return EXIT_OK;
-			}
-
-			try {
-				if (!checkInstanceLocation(shell)) {
-					Platform.endSplash();
-					return EXIT_OK;
-				}
-			} finally {
-				if (shell != null)
-					shell.dispose();
-			}
-
-			// create the workbench with this advisor and run it until it exits
-			// N.B. createWorkbench remembers the advisor, and also registers
-			// the workbench globally so that all UI plug-ins can find it using
-			// PlatformUI.getWorkbench() or AbstractUIPlugin.getWorkbench()
-			int returnCode = PlatformUI.createAndRunWorkbench(display,
-					new IDEWorkbenchAdvisor());
-
-			// the workbench doesn't support relaunch yet (bug 61809) so
-            // for now restart is used, and exit data properties are checked
-            // here to substitute in the relaunch return code if needed
-            if (returnCode != PlatformUI.RETURN_RESTART)
-                return EXIT_OK;
-
-            // if the exit code property has been set to the relaunch code, then
-            // return that code now, otherwise this is a normal restart
-            return EXIT_RELAUNCH.equals(Integer.getInteger(PROP_EXIT_CODE))
-            		? EXIT_RELAUNCH
-                    : EXIT_RESTART; 
-		} finally {
-			if (display != null)
-				display.dispose();
-		}
-	}
-
-	/**
-	 * Creates the display used by the application.
-	 * 
-	 * @return the display used by the application
-	 */
-	protected Display createDisplay() {
-		return PlatformUI.createDisplay();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IExecutableExtension#setInitializationData(org.eclipse.core.runtime.IConfigurationElement, java.lang.String, java.lang.Object)
-	 */
-	public void setInitializationData(IConfigurationElement config, String propertyName, Object data) throws CoreException {
-		// There is nothing to do for IDEApplication
-	}
-
-	/**
-	 * Return a boolean value indicating whether or not the version of the Java runtime
-	 * ("java.version" system property) is deemed to be compatible with Eclipse.  
-	 * The current implementation compares only the version (and not things like vendor name), 
-	 * which matches the implementation that used to be in the runtime.
-	 */
-	private boolean checkJavaRuntimeVersion(Shell shell) {
-		try {
-			if (isCompatibleVersion(System.getProperty("java.version"))) //$NON-NLS-1$
-				return true;
-
-			// build the requirement into a version string
-			String reqVersion = Integer.toString(MIN_JVM_VERSION_MAJOR) + '.'
-					+ MIN_JVM_VERSION_MINOR + '.' + MIN_JVM_VERSION_SERVICE;
-
-			MessageDialog.openError(shell, IDEWorkbenchMessages
-					.getString("IDEApplication.incompatibleJVMTitle"), //$NON-NLS-1$
-					IDEWorkbenchMessages.format(
-							"IDEApplication.incompatibleJVMMessage", //$NON-NLS-1$
-							new Object[]{reqVersion}));
-			return false;
-		} catch (SecurityException e) {
-			// If the security manager won't allow us to get the system
-			// property, continue for now and let things fail later on
-			// their own if necessary.
-			return true;
-		} catch (NumberFormatException e) {
-			// If the version string was in a format that we don't understand,
-			// continue and let things fail later on their own if necessary.
-			return true;
-		}
-	}
-
-	/**
-	 * Return true if a valid workspace path has been set and false otherwise.
-	 * Prompt for and set the path if possible and required.
-	 * 
-	 * @return true if a valid instance location has been set and false
-	 *         otherwise
-	 */
-	private boolean checkInstanceLocation(Shell shell) {
-		// -data @none was specified but an ide requires workspace
-		Location instanceLoc = Platform.getInstanceLocation();
-		if (instanceLoc == null) {
-			MessageDialog
-					.openError(
-							shell,
-							IDEWorkbenchMessages
-									.getString("IDEApplication.workspaceMandatoryTitle"), //$NON-NLS-1$
-							IDEWorkbenchMessages
-									.getString("IDEApplication.workspaceMandatoryMessage")); //$NON-NLS-1$
-			return false;
-		}
-
-		// -data "/valid/path", workspace already set
-		if (instanceLoc.isSet()) {
-			// make sure the meta data version is compatible (or the user has
-			// chosen to overwrite it).
-			if (!checkValidWorkspace(shell, instanceLoc.getURL()))
-				return false;
-
-			// at this point its valid, so try to lock it and update the
-			// metadata version information if successful
-			try {
-				if (instanceLoc.lock()) {
-					writeWorkspaceVersion();
-					return true;
-				}
-			} catch (IOException e) {
-				// do nothing
-			}
-
-			MessageDialog
-					.openError(
-							shell,
-							IDEWorkbenchMessages
-									.getString("IDEApplication.workspaceCannotLockTitle"), //$NON-NLS-1$
-							IDEWorkbenchMessages
-									.getString("IDEApplication.workspaceCannotLockMessage")); //$NON-NLS-1$
-			return false;
-		}
-
-		// -data @noDefault or -data not specified, prompt and set
-        ChooseWorkspaceData launchData = new ChooseWorkspaceData(instanceLoc.getDefault());
-
-		boolean force = false;
-		while (true) {
-			URL workspaceUrl = promptForWorkspace(shell, launchData, force);
-			if (workspaceUrl == null)
-				return false;
-
-			// if there is an error with the first selection, then force the
-			// dialog to open to give the user a chance to correct
-			force = true;
-			
-			try {
-				// the operation will fail if the url is not a valid
-				// instance data area, so other checking is unneeded
-				if (instanceLoc.setURL(workspaceUrl, true)) {
-					launchData.writePersistedData();
-					writeWorkspaceVersion();
-					return true;
-				}
-			} catch (IllegalStateException e) {
-				MessageDialog
-						.openError(
-								shell,
-								IDEWorkbenchMessages
-										.getString("IDEApplication.workspaceCannotBeSetTitle"), //$NON-NLS-1$
-								IDEWorkbenchMessages
-										.getString("IDEApplication.workspaceCannotBeSetMessage")); //$NON-NLS-1$
-				return false;
-			}
-
-			// by this point it has been determined that the workspace is
-			// already in use -- force the user to choose again
-			MessageDialog.openError(shell, IDEWorkbenchMessages
-					.getString("IDEApplication.workspaceInUseTitle"), //$NON-NLS-1$
-					IDEWorkbenchMessages
-							.getString("IDEApplication.workspaceInUseMessage")); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Return true if the argument version is >= the product's requirement and
-	 * false otherwise. This algorithm (including behaviour in error cases) was
-	 * copied from the old code in the runtime.
-	 */
-	private static boolean isCompatibleVersion(String vmVersion) {
-		if (vmVersion == null)
-			return false;
-
-		StringTokenizer tokenizer = new StringTokenizer(vmVersion, " ._"); //$NON-NLS-1$
-		try {
-			// make sure the running vm's major is >= the requirement
-			if (!tokenizer.hasMoreTokens())
-				return true;
-			int major = Integer.parseInt(tokenizer.nextToken());
-			if (major != MIN_JVM_VERSION_MAJOR)
-				return major > MIN_JVM_VERSION_MINOR;
-
-			// make sure the running vm's minor is >= the requirement
-			if (!tokenizer.hasMoreTokens())
-				return true;
-			int minor = Integer.parseInt(tokenizer.nextToken());
-			if (minor != MIN_JVM_VERSION_MINOR)
-				return minor > MIN_JVM_VERSION_MINOR;
-
-			// make sure the running vm's service is >= the requirement
-			if (!tokenizer.hasMoreTokens())
-				return true;
-			int service = Integer.parseInt(tokenizer.nextToken());
-			return service >= MIN_JVM_VERSION_SERVICE;
-		} catch (SecurityException e) {
-			// If the security manager won't allow us to get the system
-			// property, continue for now and let things fail later on
-			// their own if necessary.
-			return true;
-		} catch (NumberFormatException e) {
-			// If the version string was in a format that we don't understand,
-			// continue and let things fail later on their own if necessary.
-			return true;
-		}
-	}
-
-	/**
-	 * Open a workspace selection dialog on the argument shell, populating the
-	 * argument data with the user's selection. Perform first level validation
-	 * on the selection by comparing the version information. This method does
-	 * not examine the runtime state (e.g., is the workspace already locked?).
-	 * 
-	 * @param shell
-	 * @param launchData
-	 * @param force
-	 *            setting to true makes the dialog open regardless of the
-	 *            showDialog value
-	 * @return An URL storing the selected workspace or null if the user has
-	 *         canceled the launch operation.
-	 */
-	private URL promptForWorkspace(Shell shell, ChooseWorkspaceData launchData, boolean force) {
-		URL url = null;
-		do {
-			new ChooseWorkspaceDialog(shell, launchData, false).prompt(force);
-			String instancePath = launchData.getSelection();
-			if (instancePath == null)
-				return null;
-
-			// the dialog is not forced on the first iteration, but is on every
-			// subsequent one -- if there was an error then the user needs to be
-			// allowed to 
-			force = true;
-
-			// create the workspace if it does not already exist
-			File workspace = new File(instancePath);
-			if(!workspace.exists())
-				workspace.mkdir();
-
-			try {
-			    // Don't use File.toURL() since it adds a leading slash that Platform does not
-			    // handle properly.  See bug 54081 for more details.  
-			    String path = workspace.getAbsolutePath().replace(File.separatorChar, '/');
-				url = new URL("file", null, path); //$NON-NLS-1$
-			} catch (MalformedURLException e) {
-				MessageDialog
-					.openError(
-						shell,
-						IDEWorkbenchMessages
-							.getString("IDEApplication.workspaceInvalidTitle"), //$NON-NLS-1$
-						IDEWorkbenchMessages
-							.getString("IDEApplication.workspaceInvalidMessage")); //$NON-NLS-1$
-				continue;
-			}
-		} while (!checkValidWorkspace(shell, url));
-
-		return url;
-	}
-
-	/**
-	 * Return true if the argument directory is ok to use as a workspace and
-	 * false otherwise. A version check will be performed, and a confirmation
-	 * box may be displayed on the argument shell if an older version is
-	 * detected.
-	 * 
-	 * @return true if the argument URL is ok to use as a workspace and false
-	 *         otherwise.
-	 */
-	private boolean checkValidWorkspace(Shell shell, URL url) {
-		String version = readWorkspaceVersion(url);
-
-		// if the version could not be read, then there is not any existing
-		// workspace data to trample, e.g., perhaps its a new directory that
-		// is just starting to be used as a workspace
-		if (version == null)
-			return true;
-
-		final int ide_version = Integer.parseInt(WORKSPACE_VERSION_VALUE);
-		int workspace_version = Integer.parseInt(version);
-
-		// equality test is required since any version difference (newer
-		// or older) may result in data being trampled
-		if (workspace_version == ide_version)
-			return true;
-
-		// At this point workspace has been detected to be from a version
-		// other than the current ide version -- find out if the user wants
-		// to use it anyhow.
-		String title = IDEWorkbenchMessages
-				.getString("IDEApplication.versionTitle"); //$NON-NLS-1$
-		String message = IDEWorkbenchMessages.format(
-				"IDEApplication.versionMessage", //$NON-NLS-1$
-				new Object[]{url.getFile()});
-
-		MessageBox mbox = new MessageBox(shell, SWT.OK | SWT.CANCEL
-				| SWT.ICON_WARNING | SWT.APPLICATION_MODAL);
-		mbox.setText(title);
-		mbox.setMessage(message);
-		return mbox.open() == SWT.OK;
-	}
-
-	/**
-	 * Look at the argument URL for the workspace's version information. Return
-	 * that version if found and null otherwise.
-	 */
-	private static String readWorkspaceVersion(URL workspace) {
-		File versionFile = getVersionFile(workspace, false);
-		if (versionFile == null || !versionFile.exists())
-			return null;
-
-		try {
-			// Although the version file is not spec'ed to be a Java properties
-			// file, it happens to follow the same format currently, so using
-			// Properties to read it is convenient.
-			Properties props = new Properties();
-			FileInputStream is = new FileInputStream(versionFile);
-			try {
-				props.load(is);
-			} finally {
-				is.close();
-			}
-
-			return props.getProperty(WORKSPACE_VERSION_KEY);
-		} catch (IOException e) {
-			IDEWorkbenchPlugin.log("Could not read version file", new Status( //$NON-NLS-1$
-					IStatus.ERROR, IDEWorkbenchPlugin.IDE_WORKBENCH,
-					IStatus.ERROR, 
-					e.getMessage() == null ? "" : e.getMessage(), //$NON-NLS-1$, 
-					e));
-			return null;
-		}
-	}
-
-	/**
-	 * Write the version of the metadata into a known file overwriting any
-	 * existing file contents. Writing the version file isn't really crucial,
-	 * so the function is silent about failure
-	 */
-	private static void writeWorkspaceVersion() {
-		Location instanceLoc = Platform.getInstanceLocation();
-		if (instanceLoc == null || instanceLoc.isReadOnly())
-			return;
-
-		File versionFile = getVersionFile(instanceLoc.getURL(), true);
-		if (versionFile == null)
-			return;
-
-		OutputStream output = null;
-		try {
-			String versionLine = WORKSPACE_VERSION_KEY + '=' + WORKSPACE_VERSION_VALUE;
-
-			output = new FileOutputStream(versionFile);
-			output.write(versionLine.getBytes("UTF-8")); //$NON-NLS-1$
-		} catch (IOException e) {
-			IDEWorkbenchPlugin.log("Could not write version file", //$NON-NLS-1$
-					StatusUtil.newStatus(IStatus.ERROR, e.getMessage(), e));
-		} finally {
-			try {
-				if (output != null)
-					output.close();
-			} catch (IOException e) {
-				// do nothing
-			}
-		}
-	}
-
-	/**
-	 * The version file is stored in the metadata area of the workspace. This
-	 * method returns an URL to the file or null if the directory or file does
-	 * not exist (and the create parameter is false).
-	 * 
-	 * @param create
-	 *            If the directory and file does not exist this parameter
-	 *            controls whether it will be created.
-	 * @return An url to the file or null if the version file does not exist or
-	 *         could not be created.
-	 */
-	private static File getVersionFile(URL workspaceUrl, boolean create) {
-		if (workspaceUrl == null)
-			return null;
-
-		try {
-			// make sure the directory exists
-			File metaDir = new File(workspaceUrl.getPath(), METADATA_FOLDER);
-			if (!metaDir.exists() && (!create || !metaDir.mkdir()))
-				return null;
-
-			// make sure the file exists
-			File versionFile = new File(metaDir, VERSION_FILENAME);
-			if (!versionFile.exists()
-					&& (!create || !versionFile.createNewFile()))
-				return null;
-
-			return versionFile;
-		} catch (IOException e) {
-			// cannot log because instance area has not been set
-			return null;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEExceptionHandler.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEExceptionHandler.java
deleted file mode 100644
index a43786f..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEExceptionHandler.java
+++ /dev/null
@@ -1,189 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-import java.text.MessageFormat;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.SWTError;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-
-import org.eclipse.ui.application.IWorkbenchConfigurer;
-
-import org.eclipse.ui.internal.ide.dialogs.InternalErrorDialog;
-
-/**
- * Handles exception while running the event loop.
- * <p>
- * 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 if the workbench should 
- * be terminated.
- * </p>
- */
-public final class IDEExceptionHandler {
-
-	private int exceptionCount = 0;
-	private InternalErrorDialog dialog;
-	private Shell defaultParent = new Shell();
-	private boolean closing = false;
-	private IWorkbenchConfigurer workbenchConfigurer;
-
-	//Pre-load all Strings trying to run as light as possible in case of fatal errors.
-	private static String MSG_OutOfMemoryError = IDEWorkbenchMessages.getString("FatalError_OutOfMemoryError"); //$NON-NLS-1$
-	private static String MSG_StackOverflowError = IDEWorkbenchMessages.getString("FatalError_StackOverflowError"); //$NON-NLS-1$
-	private static String MSG_VirtualMachineError = IDEWorkbenchMessages.getString("FatalError_VirtualMachineError"); //$NON-NLS-1$
-	private static String MSG_SWTError = IDEWorkbenchMessages.getString("FatalError_SWTError"); //$NON-NLS-1$
-	private static String MSG_FATAL_ERROR = IDEWorkbenchMessages.getString("FatalError"); //$NON-NLS-1$
-	private static String MSG_FATAL_ERROR_Recursive = IDEWorkbenchMessages.getString("FatalError_RecursiveError"); //$NON-NLS-1$
-	private static String MSG_FATAL_ERROR_RecursiveTitle = IDEWorkbenchMessages.getString("Internal_error"); //$NON-NLS-1$
-
-	/**
-	 * Creates the exception handle for the IDE application
-	 */
-	public IDEExceptionHandler(IWorkbenchConfigurer configurer) {
-		super();
-		workbenchConfigurer = configurer;
-	}
-	
-	/**
-	 * Handles an event loop exception
-	 */
-	public void handleException(Throwable t) {
-		try {
-			exceptionCount++;
-			if (exceptionCount > 1) {
-				if (closing) {
-					return;
-				}
-				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(MessageFormat.format(MSG_FATAL_ERROR, new Object[] {MSG_FATAL_ERROR_Recursive}));
-				int result = box.open();
-				if (result == SWT.YES) {
-					closeWorkbench();
-				}
-			} else {
-				if (openQuestionDialog(t)) {
-					closeWorkbench();
-				}
-			}
-		} finally {
-			exceptionCount--;
-		}
-	}
-	
-	/**
-	 * Close the workbench and make sure all exceptions are handled.
-	 */
-	private void closeWorkbench() {
-		if (closing) {
-			return;
-		}
-		
-		try {
-			closing = true;
-			if (dialog != null && dialog.getShell() != null && !dialog.getShell().isDisposed())
-				dialog.close();
-			workbenchConfigurer.emergencyClose();
-		} catch (RuntimeException re) {
-			// Workbench may be in such bad shape (no OS handles left, out of memory, etc)
-			// that is cannot even close. Just bail out now.
-			System.err.println("Fatal runtime error happened during workbench emergency close."); //$NON-NLS-1$
-			re.printStackTrace();
-			throw re;
-		} catch (Error e) {
-			// Workbench may be in such bad shape (no OS handles left, out of memory, etc)
-			// that is cannot even close. Just bail out now.
-			System.err.println("Fatal error happened during workbench emergency close."); //$NON-NLS-1$
-			e.printStackTrace();
-			throw e;
-		}
-	}
-	
-	/**
-	 * Inform the user about a fatal error. Return true if the user decide to 
-	 * exit workbench or if another fatal 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 = IDEWorkbenchMessages.getString("InternalErrorNoArg"); //$NON-NLS-1$
-				} else {
-					msg = IDEWorkbenchMessages.format("InternalErrorOneArg", new Object[] { internalError.getMessage()}); //$NON-NLS-1$
-				}
-				if (Policy.DEBUG_OPEN_ERROR_DIALOG)
-					return openQuestion(null, IDEWorkbenchMessages.getString("Internal_error"), msg, internalError, 1); //$NON-NLS-1$
-				else
-					return false;
-			}
-			// Always open the dialog in case of major error but do not show the
-			// detail button if not in debug mode.
-			Throwable detail = internalError;
-			if (!Policy.DEBUG_OPEN_ERROR_DIALOG)
-				detail = null;
-			return InternalErrorDialog.openQuestion(
-					null, IDEWorkbenchMessages.getString("Internal_error"),//$NON-NLS-1$
-					MessageFormat.format(MSG_FATAL_ERROR, new Object[] {msg}), 
-					detail, 1); 
-		} catch (Throwable th) {
-			// Workbench may be in such bad shape (no OS handles left, out of memory, etc)
-			// that is cannot show a message to the user. Just bail out now.
-			System.err.println("Error while informing user about event loop exception:"); //$NON-NLS-1$
-			internalError.printStackTrace();
-			System.err.println("Dialog open 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, 
-				message,
-				detail, 
-				MessageDialog.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.ide/src/org/eclipse/ui/internal/ide/IDEInternalPreferences.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEInternalPreferences.java
deleted file mode 100644
index d16639d..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEInternalPreferences.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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.ide;
-
-import org.eclipse.jface.dialogs.MessageDialogWithToggle;
-
-/**
- * The IDEInternalPreferences are the internal constants used by the Workbench.
- */
-public interface IDEInternalPreferences {
-	// (boolean) Save all dirty editors before running a full or incremental build 
-	public static final String SAVE_ALL_BEFORE_BUILD = "SAVE_ALL_BEFORE_BUILD"; //$NON-NLS-1$
-
-	// (boolean) Refresh workspace on startup 
-	public static final String REFRESH_WORKSPACE_ON_STARTUP = "REFRESH_WORKSPACE_ON_STARTUP"; //$NON-NLS-1$
-	
-	// (int) Workspace save interval in minutes
-	// @issue we should drop this and have clients refer to the core preference instead. its not even kept up-to-date if client uses core api directly
-	public final static String SAVE_INTERVAL = "saveInterval"; //$NON-NLS-1$
-	public static final int MAX_SAVE_INTERVAL = 9999;
-	
-	// (boolean) Show Problems view to users when build contains errors
-	//public static final String SHOW_TASKS_ON_BUILD = "SHOW_TASKS_ON_BUILD"; //$NON-NLS-1$
-	
-	// (boolean) Prompt for exit confirmation when last window closed.
-	public static final String EXIT_PROMPT_ON_CLOSE_LAST_WINDOW = "EXIT_PROMPT_ON_CLOSE_LAST_WINDOW"; //$NON-NLS-1$
-
-	// Switch perspectives when creating a new project
-	public static final String PROJECT_SWITCH_PERSP_MODE = "SWITCH_PERSPECTIVE_ON_PROJECT_CREATION"; //$NON-NLS-1$
-	public static final String PSPM_PROMPT = MessageDialogWithToggle.PROMPT; //$NON-NLS-1$
-	public static final String PSPM_ALWAYS = MessageDialogWithToggle.ALWAYS; //$NON-NLS-1$
-	public static final String PSPM_NEVER = MessageDialogWithToggle.NEVER; //$NON-NLS-1$
-
-	// (boolean) Whether or not to display the Welcome dialog on startup.
-	public static final String WELCOME_DIALOG = "WELCOME_DIALOG"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEInternalWorkbenchImages.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEInternalWorkbenchImages.java
deleted file mode 100644
index c1baa4d..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEInternalWorkbenchImages.java
+++ /dev/null
@@ -1,187 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This class defines internal constants for images that intended to be 
- * available only within the IDE UI proper. Use 
- * <code>IDEInternalWorkbenchImages.getImageDescriptor} to retrieve image
- * descriptors for any of the images named in this class.
- * <p>
- * <b>Note:</b> The existence of these images is not made publically available
- * because such images are subject to change as the dialogs evolve through
- * successive releases.
- * </p>
- */
-public final class IDEInternalWorkbenchImages {
-	
-	/** Block instantiation. */
-	private IDEInternalWorkbenchImages() {}
-
-	/*** Constants for Images ***/
-
-	// other toolbar buttons
-	public final static String IMG_ETOOL_BUILD_EXEC = "IMG_ETOOL_BUILD_EXEC" ; //$NON-NLS-1$
-	public final static String IMG_ETOOL_BUILD_EXEC_HOVER = "IMG_ETOOL_BUILD_EXEC_HOVER" ; //$NON-NLS-1$
-	public final static String IMG_ETOOL_BUILD_EXEC_DISABLED = "IMG_ETOOL_BUILD_EXEC_DISABLED" ; //$NON-NLS-1$
-			
-	public final static String IMG_ETOOL_CLOSE_EDIT = "IMG_ETOOL_CLOSE_EDIT" ; //$NON-NLS-1$
-	public final static String IMG_ETOOL_CLOSE_EDIT_HOVER = "IMG_ETOOL_CLOSE_EDIT_HOVER" ; //$NON-NLS-1$
-	public final static String IMG_ETOOL_CLOSE_EDIT_DISABLED = "IMG_ETOOL_CLOSE_EDIT_DISABLED" ; //$NON-NLS-1$
-
-	public final static String IMG_ETOOL_SAVE_EDIT = "IMG_ETOOL_SAVE_EDIT" ; //$NON-NLS-1$
-	public final static String IMG_ETOOL_SAVE_EDIT_HOVER = "IMG_ETOOL_SAVE_EDIT_HOVER" ; //$NON-NLS-1$
-	public final static String IMG_ETOOL_SAVE_EDIT_DISABLED = "IMG_ETOOL_SAVE_EDIT_DISABLED" ; //$NON-NLS-1$
-
-	public final static String IMG_ETOOL_SAVEAS_EDIT = "IMG_ETOOL_SAVEAS_EDIT" ; //$NON-NLS-1$
-	public final static String IMG_ETOOL_SAVEAS_EDIT_HOVER = "IMG_ETOOL_SAVEAS_EDIT_HOVER" ; //$NON-NLS-1$
-	public final static String IMG_ETOOL_SAVEAS_EDIT_DISABLED = "IMG_ETOOL_SAVEAS_EDIT_DISABLED" ; //$NON-NLS-1$
-
-	public final static String IMG_ETOOL_SAVEALL_EDIT = "IMG_ETOOL_SAVEALL_EDIT" ; //$NON-NLS-1$
-	public final static String IMG_ETOOL_SAVEALL_EDIT_HOVER = "IMG_ETOOL_SAVEALL_EDIT_HOVER" ; //$NON-NLS-1$
-	public final static String IMG_ETOOL_SAVEALL_EDIT_DISABLED = "IMG_ETOOL_SAVEALL_EDIT_DISABLED" ; //$NON-NLS-1$
-	
-	public final static String IMG_ETOOL_PRINT_EDIT = "IMG_ETOOL_PRINT_EDIT" ; //$NON-NLS-1$
-	public final static String IMG_ETOOL_PRINT_EDIT_HOVER = "IMG_ETOOL_PRINT_EDIT_HOVER" ; //$NON-NLS-1$
-	public final static String IMG_ETOOL_PRINT_EDIT_DISABLED = "IMG_ETOOL_PRINT_EDIT_DISABLED" ; //$NON-NLS-1$
-
-	public final static String IMG_ETOOL_SEARCH_SRC = "IMG_ETOOL_SEARCH_SRC" ; //$NON-NLS-1$
-	public final static String IMG_ETOOL_SEARCH_SRC_HOVER = "IMG_ETOOL_SEARCH_SRC_HOVER" ; //$NON-NLS-1$
-	public final static String IMG_ETOOL_SEARCH_SRC_DISABLED = "IMG_ETOOL_SEARCH_SRC_DISABLED" ; //$NON-NLS-1$
-
-	public final static String IMG_ETOOL_REFRESH_NAV = "IMG_ETOOL_REFRESH_NAV"; //$NON-NLS-1$
-	public final static String IMG_ETOOL_REFRESH_NAV_HOVER = "IMG_ETOOL_REFRESH_NAV_HOVER"; //$NON-NLS-1$
-	public final static String IMG_ETOOL_REFRESH_NAV_DISABLED = "IMG_ETOOL_REFRESH_NAV_DISABLED"; //$NON-NLS-1$
-
-	public final static String IMG_ETOOL_STOP_NAV = "IMG_ETOOL_STOP_NAV"; //$NON-NLS-1$
-	public final static String IMG_ETOOL_STOP_NAV_HOVER = "IMG_ETOOL_STOP_NAV_HOVER"; //$NON-NLS-1$
-	public final static String IMG_ETOOL_STOP_NAV_DISABLED = "IMG_ETOOL_STOP_NAV_DISABLED"; //$NON-NLS-1$
-
-	public final static String IMG_ETOOL_NEXT_NAV = "IMG_ETOOL_NEXT_NAV"; //$NON-NLS-1$
-	public final static String IMG_ETOOL_PREVIOUS_NAV = "IMG_ETOOL_PREVIOUS_NAV"; //$NON-NLS-1$
-	
-	public final static String IMG_ETOOL_NEW_PAGE = "IMG_ETOOL_NEW_PAGE"; //$NON-NLS-1$
-	public final static String IMG_ETOOL_NEW_PAGE_HOVER = "IMG_ETOOL_NEW_PAGE_HOVER"; //$NON-NLS-1$
-	public final static String IMG_ETOOL_NEW_PAGE_DISABLED = "IMG_ETOOL_NEW_PAGE_DISABLED"; //$NON-NLS-1$
-
-	public final static String IMG_ETOOL_SET_PAGE = "IMG_ETOOL_SET_PAGE"; //$NON-NLS-1$
-	public final static String IMG_ETOOL_SET_PAGE_HOVER = "IMG_ETOOL_SET_PAGE_HOVER"; //$NON-NLS-1$
-	public final static String IMG_ETOOL_SET_PAGE_DISABLED = "IMG_ETOOL_SET_PAGE_DISABLED"; //$NON-NLS-1$
-
-	public final static String IMG_ETOOL_NEW_WND = "IMG_ETOOL_NEW_WND"; //$NON-NLS-1$
-	public final static String IMG_ETOOL_NEW_WND_HOVER = "IMG_ETOOL_NEW_WND_HOVER"; //$NON-NLS-1$
-	public final static String IMG_ETOOL_NEW_WND_DISABLED = "IMG_ETOOL_NEW_WND_DISABLED"; //$NON-NLS-1$
-
-	public final static String IMG_ETOOL_PIN_EDITOR = "IMG_ETOOL_PIN_EDITOR"; //$NON-NLS-1$
-	public final static String IMG_ETOOL_PIN_EDITOR_HOVER = "IMG_ETOOL_PIN_EDITOR_HOVER"; //$NON-NLS-1$
-	public final static String IMG_ETOOL_PIN_EDITOR_DISABLED = "IMG_ETOOL_PIN_EDITOR_DISABLED"; //$NON-NLS-1$
-		
-	public final static String IMG_ETOOL_DEF_PERSPECTIVE = "IMG_ETOOL_DEF_PERSPECTIVE"; //$NON-NLS-1$
-	public final static String IMG_ETOOL_DEF_PERSPECTIVE_HOVER = "IMG_ETOOL_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_CLOSE_VIEW_HOVER = "IMG_LCL_CLOSE_VIEW_HOVER"; //$NON-NLS-1$	
-	public final static String IMG_LCL_PIN_VIEW = "IMG_LCL_PIN_VIEW" ; //$NON-NLS-1$
-	public final static String IMG_LCL_PIN_VIEW_HOVER = "IMG_LCL_PIN_VIEW_HOVER"; //$NON-NLS-1$
-	public final static String IMG_LCL_MIN_VIEW = "IMG_LCL_MIN_VIEW" ; //$NON-NLS-1$
-	public final static String IMG_LCL_MIN_VIEW_HOVER = "IMG_LCL_MIN_VIEW_HOVER"; //$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_VIEW_MENU_HOVER = "IMG_LCL_VIEW_MENU_HOVER"; //$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_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_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_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$
-	
-	/**
-	 * Returns the image descriptor for the workbench image with the given
-	 * symbolic name. Use this method to retrieve image descriptors for any
-	 * of the images named in this class.
-	 *
-	 * @param symbolicName the symbolic name of the image
-	 * @return the image descriptor, or <code>null</code> if none
-	 */
-	public static ImageDescriptor getImageDescriptor(String symbolicName) {
-		return PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(symbolicName);
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchActivityHelper.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchActivityHelper.java
deleted file mode 100644
index 45768f4..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchActivityHelper.java
+++ /dev/null
@@ -1,205 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IRegistryChangeEvent;
-import org.eclipse.core.runtime.IRegistryChangeListener;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.ui.IPluginContribution;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.activities.IActivityManager;
-import org.eclipse.ui.activities.IIdentifier;
-import org.eclipse.ui.activities.IWorkbenchActivitySupport;
-import org.eclipse.ui.activities.WorkbenchActivityHelper;
-
-/**
- * Utility class that manages promotion of activites in response to workspace changes.
- * 
- * @since 3.0
- */
-public class IDEWorkbenchActivityHelper {
-
-    /**
-     * Resource listener that reacts to new projects (and associated natures) 
-     * coming into the workspace.
-     */
-    private IResourceChangeListener listener;
-    
-    /**
-     * Mapping from composite nature ID to IPluginContribution.  Used for proper
-     * activity mapping of natures.
-     */
-    private Map natureMap;
-
-    /**
-     * Singleton instance.
-     */
-    private static IDEWorkbenchActivityHelper singleton;
-    
-    /**
-     * Get the singleton instance of this class.
-     * @return the singleton instance of this class.
-     * @since 3.0
-     */
-    public static IDEWorkbenchActivityHelper getInstance() {
-        if (singleton == null) {
-            singleton = new IDEWorkbenchActivityHelper();            
-        }
-        return singleton;
-    }
-    
-    /**
-     * Create a new <code>IDEWorkbenchActivityHelper</code> which will listen 
-     * for workspace changes and promote activities accordingly.
-     */
-    private IDEWorkbenchActivityHelper() {
-        natureMap = new HashMap();
-        // for dynamic UI
-        Platform.getExtensionRegistry().addRegistryChangeListener(new IRegistryChangeListener() {
-            public void registryChanged(IRegistryChangeEvent event) {
-                if (event.getExtensionDeltas("org.eclipse.core.resources", "natures").length > 0) //$NON-NLS-1$ //$NON-NLS-2$
-                    loadNatures();
-            }}, "org.eclipse.core.resources"); //$NON-NLS-1$
-        loadNatures();
-        listener = getChangeListener();
-        ResourcesPlugin.getWorkspace().addResourceChangeListener(listener);
-        // crawl the initial projects to set up nature bindings
-        IProject [] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-        IWorkbenchActivitySupport workbenchActivitySupport = PlatformUI.getWorkbench().getActivitySupport();
-        for (int i = 0; i < projects.length; i++) {
-            try {
-                processProject(projects[i], workbenchActivitySupport);
-            } catch (CoreException e) {
-                // do nothing
-            }
-        }
-   }
-    
-   /**
-    * For dynamic UI.  Clears the cache of known natures and recreates it.
-    */
-   public void loadNatures() {
-       natureMap.clear();
-       IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint("org.eclipse.core.resources.natures"); //$NON-NLS-1$
-       IExtension [] extensions = point.getExtensions();
-       for (int i = 0; i < extensions.length; i++) {
-           IExtension extension = extensions[i];
-           final String localId = extension.getSimpleIdentifier();
-           final String pluginId = extension.getDeclaringPluginDescriptor().getUniqueIdentifier();
-           String natureId = extension.getUniqueIdentifier();
-           natureMap.put(natureId, new IPluginContribution() {
-               public String getLocalId() {
-                   return localId;
-               }
-
-               public String getPluginId() {
-                   return pluginId;
-               }});
-       }      
-   }
-    
-    /**
-     * Get a change listener for listening to resource changes.
-     * 
-     * @return
-     */
-    private IResourceChangeListener getChangeListener() {
-        return new IResourceChangeListener() {
-            /*
-             * (non-Javadoc) @see
-             * org.eclipse.core.resources.IResourceChangeListener#resourceChanged(org.eclipse.core.resources.IResourceChangeEvent)
-             */
-            public void resourceChanged(IResourceChangeEvent event) {
-                if (!WorkbenchActivityHelper.isFiltering())
-                    return;
-                IResourceDelta mainDelta = event.getDelta();
-
-                if (mainDelta == null)
-                    return;
-                //Has the root changed?
-                if (mainDelta.getKind() == IResourceDelta.CHANGED
-                    && mainDelta.getResource().getType() == IResource.ROOT) {
-
-                    try {
-                        IResourceDelta[] children = mainDelta.getAffectedChildren();
-                        IWorkbenchActivitySupport workbenchActivitySupport = PlatformUI.getWorkbench().getActivitySupport();
-                        for (int i = 0; i < children.length; i++) {
-                            IResourceDelta delta = children[i];
-                            if (delta.getResource().getType() == IResource.PROJECT) {
-                                IProject project = (IProject) delta.getResource();
-                                processProject(project, workbenchActivitySupport);
-                            }
-                        }
-                    } catch (CoreException exception) {
-                        //Do nothing if there is a CoreException
-                    }
-                }
-            }
-        };
-    }
-
-    /**
-     * Handle natures for the given project.
-     * 
-     * @param project the project
-     * @param workbenchActivitySupport the activity support
-     */
-    protected void processProject(IProject project, IWorkbenchActivitySupport workbenchActivitySupport) throws CoreException {
-        if (!project.isOpen())
-            return;
-        IActivityManager activityManager = workbenchActivitySupport.getActivityManager();
-        String[] ids = project.getDescription().getNatureIds();
-        if (ids.length == 0)
-            return;
-        Set activities = new HashSet(activityManager.getEnabledActivityIds());
-        boolean changed = false;
-        for (int j = 0; j < ids.length; j++) {                                                                    
-            IPluginContribution contribution = (IPluginContribution) natureMap.get(ids[j]);
-            if (contribution == null)
-                continue; //bad nature ID.
-            IIdentifier identifier = 
-                activityManager
-                	.getIdentifier(
-                	        WorkbenchActivityHelper.createUnifiedId(
-                	                contribution));
-            if (activities.addAll(identifier.getActivityIds())) {
-            	changed = true;
-            }
-        }
-        if (changed)
-            workbenchActivitySupport.setEnabledActivityIds(activities);
-    }
-
-    /**
-     * Unhooks the <code>IResourceChangeListener</code>.
-     */ 
-    public void shutdown() {
-        if (listener != null) {
-            ResourcesPlugin.getWorkspace().removeResourceChangeListener(listener);
-        }        
-    }
-
-    
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchAdvisor.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchAdvisor.java
deleted file mode 100644
index 03e9bce..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchAdvisor.java
+++ /dev/null
@@ -1,966 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-import java.lang.reflect.InvocationTargetException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.TreeMap;
-
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.boot.IPlatformConfiguration;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IBundleGroup;
-import org.eclipse.core.runtime.IBundleGroupProvider;
-import org.eclipse.core.runtime.IProduct;
-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.PluginVersionIdentifier;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.MessageDialogWithToggle;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IPageListener;
-import org.eclipse.ui.IPartListener2;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IPerspectiveListener;
-import org.eclipse.ui.IPerspectiveRegistry;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPartReference;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.internal.IWorkbenchGraphicConstants;
-import org.eclipse.ui.internal.ide.dialogs.WelcomeEditorInput;
-import org.eclipse.ui.internal.ide.model.WorkbenchAdapterBuilder;
-import org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog;
-import org.eclipse.ui.part.EditorInputTransfer;
-import org.eclipse.ui.part.MarkerTransfer;
-import org.eclipse.ui.part.ResourceTransfer;
-import org.eclipse.ui.progress.IProgressService;
-import org.eclipse.update.core.SiteManager;
-import org.osgi.framework.Bundle;
-
-/**
- * IDE-specified workbench advisor which configures the workbench for use as
- * an IDE.
- * <p>
- * Note: This class replaces <code>org.eclipse.ui.internal.Workbench</code>.
- * </p>
- * 
- * @since 3.0
- */
-public class IDEWorkbenchAdvisor extends WorkbenchAdvisor {
-	private static final String ACTION_BUILDER = "ActionBuilder"; //$NON-NLS-1$
-	private static final String WELCOME_EDITOR_ID = "org.eclipse.ui.internal.ide.dialogs.WelcomeEditor"; //$NON-NLS-1$
-	private static final String WORKBENCH_PREFERENCE_CATEGORY_ID = "org.eclipse.ui.preferencePages.Workbench"; //$NON-NLS-1$
-
-	/**
-	 * The dialog setting key to access the known installed features
-	 * since the last time the workbench was run.
-	 */
-	private static final String INSTALLED_FEATURES = "installedFeatures"; //$NON-NLS-1$
-	
-	private static IDEWorkbenchAdvisor workbenchAdvisor = null;
-
-	/**
-	 * Event loop exception handler for the advisor.
-	 */
-	private IDEExceptionHandler exceptionHandler = null;
-	
-	/**
-	 * Contains the workspace location if the -showlocation command line
-	 * argument is specified, or <code>null</code> if not specified.
-	 */
-	private String workspaceLocation = null;
-
-	/**
-     * Ordered map of versioned feature ids -> info that are new for this
-     * session; <code>null</code> if uninitialized. Key type:
-     * <code>String</code>, Value type: <code>AboutInfo</code>.
-     */
-	private Map newlyAddedBundleGroups;
-	
-	/**
-	 * List of <code>AboutInfo</code> for all new installed
-	 * features that specify a welcome perspective.
-	 */
-	private ArrayList welcomePerspectiveInfos = null;
-	
-	/**
-	 * Helper for managing activites in response to workspace changes.
-	 */
-	private IDEWorkbenchActivityHelper activityHelper = null;
-	
-	/**
-	 * Signals that the welcome editors and/or intros have been opened.
-	 */
-	private boolean editorsAndIntrosOpened = false;
-	
-	/**
-	 * Creates a new workbench advisor instance.
-	 */
-	protected IDEWorkbenchAdvisor() {
-		super();
-		if (workbenchAdvisor != null) {
-			throw new IllegalStateException();
-		}
-		workbenchAdvisor = this;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.application.WorkbenchAdvisor#initialize
-	 */
-	public void initialize(IWorkbenchConfigurer configurer) {
-
-	    // make sure we always save and restore workspace state
-	    configurer.setSaveAndRestore(true);
-
-		// setup the event loop exception handler
-		exceptionHandler = new IDEExceptionHandler(configurer);
-		
-		// register workspace adapters
-		WorkbenchAdapterBuilder.registerAdapters();
-
-		// get the command line arguments
-		String[] cmdLineArgs = Platform.getCommandLineArgs();
-
-		// include the workspace location in the title 
-		// if the command line option -showlocation is specified
-		for (int i = 0; i < cmdLineArgs.length; i++) {
-			if ("-showlocation".equalsIgnoreCase(cmdLineArgs[i])) { //$NON-NLS-1$
-				workspaceLocation = Platform.getLocation().toOSString();
-				break;
-			}
-		}
-
-		// register shared images
-		declareWorkbenchImages();
-		
-		// initialize the activity helper
-		activityHelper = IDEWorkbenchActivityHelper.getInstance();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.application.WorkbenchAdvisor#preStartup()
-	 */
-	public void preStartup() {	  
-		
-		//Suspend background jobs while we startup
-		Platform.getJobManager().suspend();
-
-		// support old welcome perspectives if intro plugin is not present
-		if (!hasIntro()) {
-		    Map m = getNewlyAddedBundleGroups();
-			welcomePerspectiveInfos = new ArrayList(m.size());
-			for (Iterator i = m.values().iterator(); i.hasNext(); ) {
-			    AboutInfo info = (AboutInfo)i.next();
-				if (info != null && info.getWelcomePerspectiveId() != null
-                        && info.getWelcomePageURL() != null)
-				    welcomePerspectiveInfos.add(info);
-			}
-		}
-		
-		//Register the build actions
-		IProgressService service = PlatformUI.getWorkbench()
-				.getProgressService();
-		ImageDescriptor newImage = IDEInternalWorkbenchImages
-				.getImageDescriptor(IDEInternalWorkbenchImages.IMG_ETOOL_BUILD_EXEC);
-		service.registerIconForFamily(newImage,
-				ResourcesPlugin.FAMILY_MANUAL_BUILD);
-		service.registerIconForFamily(newImage,
-				ResourcesPlugin.FAMILY_AUTO_BUILD);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.application.WorkbenchAdvisor#postStartup()
-	 */
-	public void postStartup() {
-		try{
-			refreshFromLocal();
-			checkUpdates();
-		}
-		finally{//Resume background jobs after we startup
-			Platform.getJobManager().resume();
-		}
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.application.WorkbenchAdvisor#postShutdown
-	 */
-	public void postShutdown() {
-		if (activityHelper != null) {
-			activityHelper.shutdown();
-			activityHelper = null;
-		}
-		if (IDEWorkbenchPlugin.getPluginWorkspace() != null) {
-			disconnectFromWorkspace();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.application.WorkbenchAdvisor#eventLoopException
-	 */
-	public void eventLoopException(Throwable exception) {
-		super.eventLoopException(exception);
-		if (exceptionHandler != null) {
-			exceptionHandler.handleException(exception);
-		} else {
-			if (getWorkbenchConfigurer() != null) {
-			    getWorkbenchConfigurer().emergencyClose();
-			}
-		}
-	}
-
-	/*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.application.WorkbenchAdvisor#preWindowShellClose
-     */
-    public boolean preWindowShellClose(
-            IWorkbenchWindowConfigurer windowConfigurer) {
-        if (getWorkbenchConfigurer().getWorkbench().getWorkbenchWindowCount() > 1) { return true; }
-        // the user has asked to close the last window, while will cause the
-        // workbench to close in due course - prompt the user for confirmation
-        IPreferenceStore store = IDEWorkbenchPlugin.getDefault()
-                .getPreferenceStore();
-        boolean promptOnExit = store
-                .getBoolean(IDEInternalPreferences.EXIT_PROMPT_ON_CLOSE_LAST_WINDOW);
-
-        if (promptOnExit) {
-            String message;
-            
-            String productName = null;
-            IProduct product = Platform.getProduct();
-            if (product != null) {
-                productName = product.getName();
-            }
-            if (productName == null) {
-                message = IDEWorkbenchMessages
-                        .getString("PromptOnExitDialog.message0"); //$NON-NLS-1$
-            } else {
-                message = IDEWorkbenchMessages
-                        .format(
-                                "PromptOnExitDialog.message1", new Object[] { productName }); //$NON-NLS-1$
-            }
-
-            MessageDialogWithToggle dlg = MessageDialogWithToggle
-                    .openOkCancelConfirm(
-                            windowConfigurer.getWindow().getShell(),
-                            IDEWorkbenchMessages
-                                    .getString("PromptOnExitDialog.shellTitle"), //$NON-NLS-1$,
-                            message,
-                            IDEWorkbenchMessages
-                                    .getString("PromptOnExitDialog.choice"), //$NON-NLS-1$,
-                            false,
-                            null,
-                            null);
-            if (dlg.getReturnCode() != IDialogConstants.OK_ID) {
-                return false;
-            }
-            if (dlg.getToggleState()) {
-                store.setValue(IDEInternalPreferences.EXIT_PROMPT_ON_CLOSE_LAST_WINDOW, false);
-                IDEWorkbenchPlugin.getDefault().savePluginPreferences();
-            }
-        }
-
-        return true;
-    }
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.application.WorkbenchAdvisor#preWindowOpen
-	 */
-	public void preWindowOpen(IWorkbenchWindowConfigurer windowConfigurer) {
-		
-	    // show the shortcut bar and progress indicator, which are hidden by default
-	    windowConfigurer.setShowPerspectiveBar(true);
-	    windowConfigurer.setShowFastViewBars(true);
-	    windowConfigurer.setShowProgressIndicator(true);
-	    
-		// add the drag and drop support for the editor area
-		windowConfigurer.addEditorAreaTransfer(EditorInputTransfer.getInstance());
-		windowConfigurer.addEditorAreaTransfer(ResourceTransfer.getInstance());
-		windowConfigurer.addEditorAreaTransfer(MarkerTransfer.getInstance());
-		windowConfigurer.configureEditorAreaDropListener(new EditorAreaDropAdapter(windowConfigurer.getWindow()));
-		
-		// hook up the listeners to update the window title
-		windowConfigurer.getWindow().addPageListener(new IPageListener () {
-			public void pageActivated(IWorkbenchPage page) {
-			    // do nothing
-			}
-			public void pageClosed(IWorkbenchPage page) {
-				updateTitle(page.getWorkbenchWindow());
-			}
-			public void pageOpened(IWorkbenchPage page) {
-			    // do nothing
-			}
-		});
-		windowConfigurer.getWindow().addPerspectiveListener(new IPerspectiveListener() {
-			public void perspectiveActivated(IWorkbenchPage page, IPerspectiveDescriptor perspective) {
-				updateTitle(page.getWorkbenchWindow());
-			}
-			public void perspectiveChanged(IWorkbenchPage page, IPerspectiveDescriptor perspective, String changeId) {
-			    // do nothing
-			}
-		});
-		windowConfigurer.getWindow().getPartService().addPartListener(new IPartListener2() {
-			public void partActivated(IWorkbenchPartReference ref) {
-				if (ref instanceof IEditorReference || ref.getPage().getActiveEditor() == null) {
-					updateTitle(ref.getPage().getWorkbenchWindow());
-				}
-			}
-			public void partBroughtToTop(IWorkbenchPartReference ref) {
-				if (ref instanceof IEditorReference || ref.getPage().getActiveEditor() == null) {
-					updateTitle(ref.getPage().getWorkbenchWindow());
-				}
-			}
-			public void partClosed(IWorkbenchPartReference ref) {
-			    // do nothing
-			}
-			public void partDeactivated(IWorkbenchPartReference ref) {
-			    // do nothing
-			}
-			public void partOpened(IWorkbenchPartReference ref) {
-			    // do nothing
-			}
-			public void partHidden(IWorkbenchPartReference ref) {
-			    // do nothing
-			}
-			public void partVisible(IWorkbenchPartReference ref) {
-			    // do nothing
-			}
-			public void partInputChanged(IWorkbenchPartReference ref) {
-			    // do nothing
-			}
-		});
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.application.WorkbenchAdvisor#postWindowRestore
-	 */
-	public void postWindowRestore(IWorkbenchWindowConfigurer windowConfigurer) throws WorkbenchException {
-		int index = PlatformUI.getWorkbench().getWorkbenchWindowCount() - 1;
-		
-		if (index >=0 && welcomePerspectiveInfos != null && index < welcomePerspectiveInfos.size()) {
-			// find a page that exist in the window
-			IWorkbenchPage page = windowConfigurer.getWindow().getActivePage();
-			if (page == null) {
-				IWorkbenchPage pages[] = windowConfigurer.getWindow().getPages();
-				if (pages != null && pages.length > 0)
-					page = pages[0];
-			}
-
-			// if the window does not contain a page, create one
-			String perspectiveId = ((AboutInfo) welcomePerspectiveInfos.get(index)).getWelcomePerspectiveId();
-			if (page == null) {
-				IAdaptable root = getDefaultPageInput();
-				page = windowConfigurer.getWindow().openPage(perspectiveId, root);
-			} else {
-				IPerspectiveRegistry reg = PlatformUI.getWorkbench().getPerspectiveRegistry();
-				IPerspectiveDescriptor desc = reg.findPerspectiveWithId(perspectiveId);
-				if (desc != null) {
-					page.setPerspective(desc);
-				}
-			}
-
-			// set the active page and open the welcome editor
-			windowConfigurer.getWindow().setActivePage(page);
-			page.openEditor(new WelcomeEditorInput((AboutInfo) welcomePerspectiveInfos.get(index)), WELCOME_EDITOR_ID, true);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.application.WorkbenchAdvisor#postWindowClose
-	 */
-	public void postWindowClose(IWorkbenchWindowConfigurer windowConfigurer) {
-		WorkbenchActionBuilder a = (WorkbenchActionBuilder) windowConfigurer.getData(ACTION_BUILDER);
-		if (a != null) {
-			windowConfigurer.setData(ACTION_BUILDER, null);
-			a.dispose();
-		}
-	}
-	
-	private void refreshFromLocal() {
-		String[] commandLineArgs = Platform.getCommandLineArgs();
-		IPreferenceStore store = IDEWorkbenchPlugin.getDefault().getPreferenceStore();
-		boolean refresh = store.getBoolean(IDEInternalPreferences.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")) //$NON-NLS-1$
-				return;
-				
-		IWorkbenchWindow window = getWorkbenchConfigurer().getWorkbench().getActiveWorkbenchWindow();
-		Shell shell = window == null ? null : window.getShell();
-		ProgressMonitorDialog dlg = new ProgressMonitorJobsDialog(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) {
-				ErrorDialog.openError(
-					shell, 
-					IDEWorkbenchMessages.getString("Workspace.problemsTitle"), //$NON-NLS-1$ 
-					IDEWorkbenchMessages.getString("Workspace.problemMessage"),  //$NON-NLS-1$
-					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$
-			IDEWorkbenchPlugin.log(msg, new Status(IStatus.ERROR, IDEWorkbenchPlugin.IDE_WORKBENCH, 0, msg, e.getTargetException()));
-		}
-	}
-
-	/**
-	 * Disconnect from the core workspace.
-	 */
-	private void disconnectFromWorkspace() {
-		// save the workspace
-		final MultiStatus status = new MultiStatus(IDEWorkbenchPlugin.IDE_WORKBENCH, 1, IDEWorkbenchMessages.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 ProgressMonitorJobsDialog(null).run(true, false, runnable);
-		} catch (InvocationTargetException e) {
-			status.merge(new Status(IStatus.ERROR, IDEWorkbenchPlugin.IDE_WORKBENCH, 1, IDEWorkbenchMessages.getString("InternalError"), e.getTargetException())); //$NON-NLS-1$
-		} catch (InterruptedException e) {
-			status.merge(new Status(IStatus.ERROR, IDEWorkbenchPlugin.IDE_WORKBENCH, 1, IDEWorkbenchMessages.getString("InternalError"), e)); //$NON-NLS-1$
-		}
-		ErrorDialog.openError(
-			null, 
-			IDEWorkbenchMessages.getString("ProblemsSavingWorkspace"), //$NON-NLS-1$
-			null, 
-			status, 
-			IStatus.ERROR | IStatus.WARNING);
-		if (!status.isOK()) {
-			IDEWorkbenchPlugin.log(IDEWorkbenchMessages.getString("ProblemsSavingWorkspace"), status); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Checks if the -newUpdates command line argument is present
-	 * and if so, opens the update manager.
-	 */
-	private void checkUpdates() {
-		boolean newUpdates = false;
-		String[] commandLineArgs = Platform.getCommandLineArgs();
-		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 e) {
-				IDEWorkbenchPlugin.log("Problem opening update manager", e.getStatus()); //$NON-NLS-1$
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.application.WorkbenchAdvisor#isApplicationMenu
-	 */
-	public boolean isApplicationMenu(IWorkbenchWindowConfigurer windowConfigurer, String menuID) {
-		WorkbenchActionBuilder a = (WorkbenchActionBuilder) windowConfigurer.getData(ACTION_BUILDER);
-		return a.isContainerMenu(menuID);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.application.WorkbenchAdvisor#getDefaultPageInput
-	 */
-	public IAdaptable getDefaultPageInput() {
-		return ResourcesPlugin.getWorkspace().getRoot();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.application.WorkbenchAdvisor
-	 */
-	public String getInitialWindowPerspectiveId() {
-		int index = PlatformUI.getWorkbench().getWorkbenchWindowCount() - 1;
-		
-		String perspectiveId = null;
-		if (index >=0 && welcomePerspectiveInfos != null && index < welcomePerspectiveInfos.size()) {
-			perspectiveId = ((AboutInfo) welcomePerspectiveInfos.get(index)).getWelcomePerspectiveId();
-		}
-		if (perspectiveId == null) {
-			perspectiveId = IDE.RESOURCE_PERSPECTIVE_ID;
-		}
-		return perspectiveId;
-	}
-
-	/*
-	 * Open the welcome editor for the primary feature and
-	 * for any newly installed features.
-	 */
-	private void openWelcomeEditors(IWorkbenchWindow window) {
-		if (IDEWorkbenchPlugin.getDefault().getPreferenceStore().getBoolean(IDEInternalPreferences.WELCOME_DIALOG)) {
-			// show the welcome page for the product the first time the workbench opens
-		    IProduct product = Platform.getProduct();
-		    if (product == null)
-		        return;
-
-		    AboutInfo productInfo = new AboutInfo(product);
-		    URL url = productInfo.getWelcomePageURL();
-		    if (url == null)
-		        return;
-
-			IDEWorkbenchPlugin.getDefault().getPreferenceStore().setValue(IDEInternalPreferences.WELCOME_DIALOG, false);
-			openWelcomeEditor(window, new WelcomeEditorInput(productInfo), null);
-		} else {
-			// Show the welcome page for any newly installed features
-			List welcomeFeatures = new ArrayList();
-			for (Iterator it = getNewlyAddedBundleGroups().entrySet().iterator(); it.hasNext(); ) {
-			    Map.Entry entry = (Map.Entry)it.next();
-			    String versionedId = (String)entry.getKey();
-				String featureId = versionedId.substring(0, versionedId.indexOf(':'));
-			    AboutInfo info = (AboutInfo)entry.getValue();
-
-				if (info != null && info.getWelcomePageURL() != null) {
-					welcomeFeatures.add(info);
-					// activate the feature plug-in so it can run some install code
-					IPlatformConfiguration platformConfiguration = BootLoader.getCurrentPlatformConfiguration();
-					IPlatformConfiguration.IFeatureEntry feature = platformConfiguration.findConfiguredFeatureEntry(featureId);
-					if (feature != null) {
-						String pi = feature.getFeaturePluginIdentifier();
-						if (pi != null) {
-							Platform.getPlugin(pi);
-						}
-					}
-				}
-			}
-	
-			int wCount = getWorkbenchConfigurer().getWorkbench().getWorkbenchWindowCount();
-			for (int i = 0; i < welcomeFeatures.size(); i++) {
-				AboutInfo newInfo = (AboutInfo) welcomeFeatures.get(i);
-				String id = newInfo.getWelcomePerspectiveId();
-				// Other editors were already opened in postWindowRestore(..)
-				if (id == null || i >= wCount) {
-					openWelcomeEditor(window, new WelcomeEditorInput(newInfo), id);
-				}
-			}
-		}
-	}
-	
-	/**
-     * Returns the map of versioned feature ids -> info object for all installed
-     * features. The format of the versioned feature id (the key of the map) is
-     * featureId + ":" + versionId.
-     * 
-     * @return map of versioned feature ids -> info object (key type:
-     *         <code>String</code>, value type: <code>AboutInfo</code>)
-     * @since 3.0
-     */
-	private Map computeBundleGroupMap() {
-	    // use tree map to get predicable order
-	    Map ids = new TreeMap();
-
-	    IBundleGroupProvider[] providers = Platform.getBundleGroupProviders();
-	    for (int i = 0; i < providers.length; ++i) {
-	        IBundleGroup[] groups = providers[i].getBundleGroups();
-	        for (int j = 0; j < groups.length; ++j) {
-	            IBundleGroup group = groups[j];
-	            AboutInfo info = new AboutInfo(group);
-
-	            String version = info.getVersionId();
-				version = version == null ? "0.0.0" //$NON-NLS-1$
-                        : new PluginVersionIdentifier(version).toString();
-				String versionedFeature = group.getIdentifier() + ":" + version; //$NON-NLS-1$
-
-				ids.put(versionedFeature, info);
-	        }
-	    }
-
-	    return ids;
-	}
-	
-	/**
-     * Returns the ordered map of versioned feature ids -> AboutInfo that are
-     * new for this session.
-     * 
-     * @return ordered map of versioned feature ids (key type:
-     *         <code>String</code>) -> infos (value type:
-     *         <code>AboutInfo</code>).
-     */
-	private Map getNewlyAddedBundleGroups() {
-	    if (newlyAddedBundleGroups == null)
-	        newlyAddedBundleGroups = createNewBundleGroupsMap();
-		return newlyAddedBundleGroups;
-	}
-
-	/**
-	 * Updates the old features setting and returns a map of new features.
-	 */
-	private Map createNewBundleGroupsMap() {
-		// retrieve list of installed bundle groups from last session	
-		IDialogSettings settings = IDEWorkbenchPlugin.getDefault().getDialogSettings();
-		String[] previousFeaturesArray = settings.getArray(INSTALLED_FEATURES);
-
-	    // get a map of currently installed bundle groups and store it for next session
-	    Map bundleGroups = computeBundleGroupMap();
-		String[] currentFeaturesArray = new String[bundleGroups.size()];
-		bundleGroups.keySet().toArray(currentFeaturesArray);
-		settings.put(INSTALLED_FEATURES, currentFeaturesArray);
-
-		// remove the previously known from the current set
-		if (previousFeaturesArray != null)
-			for (int i = 0; i < previousFeaturesArray.length; ++i)
-			    bundleGroups.remove(previousFeaturesArray[i]);
-
-		return bundleGroups;
-	}
-	
-	/*
-	 * Open a welcome editor for the given input
-	 */
-	private void openWelcomeEditor(IWorkbenchWindow window, WelcomeEditorInput input, String perspectiveId) {
-		if (getWorkbenchConfigurer().getWorkbench().getWorkbenchWindowCount() == 0) {
-			// Something is wrong, there should be at least
-			// one workbench window open by now.
-			return;
-		}
-	
-		IWorkbenchWindow win = window;
-		if (perspectiveId != null) {
-			try {
-				win = getWorkbenchConfigurer().getWorkbench().openWorkbenchWindow(perspectiveId, getDefaultPageInput());
-				if (win == null) {
-					win = window;
-				}
-			} catch (WorkbenchException e) {
-				IDEWorkbenchPlugin.log("Error opening window with welcome perspective.", e.getStatus()); //$NON-NLS-1$
-				return;
-			}
-		}
-	
-		if (win == null) {
-			win = getWorkbenchConfigurer().getWorkbench().getWorkbenchWindows()[0];
-		}
-			
-		IWorkbenchPage page = win.getActivePage();
-		String id = perspectiveId;
-		if (id == null) {
-			id = getWorkbenchConfigurer().getWorkbench().getPerspectiveRegistry().getDefaultPerspective();
-		}
-	
-		if (page == null) {
-			try {
-				page = win.openPage(id, getDefaultPageInput());
-			} catch (WorkbenchException e) {
-				ErrorDialog.openError(
-					win.getShell(), 
-					IDEWorkbenchMessages.getString("Problems_Opening_Page"), //$NON-NLS-1$
-					e.getMessage(),
-					e.getStatus());
-			}
-		}
-		if (page == null)
-			return;
-	
-		if (page.getPerspective() == null) {
-			try {
-				page = getWorkbenchConfigurer().getWorkbench().showPerspective(id, win);
-			} catch (WorkbenchException e) {
-				ErrorDialog.openError(
-					win.getShell(),
-					IDEWorkbenchMessages.getString("Workbench.openEditorErrorDialogTitle"),  //$NON-NLS-1$
-					IDEWorkbenchMessages.getString("Workbench.openEditorErrorDialogMessage"), //$NON-NLS-1$
-					e.getStatus());
-				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, WELCOME_EDITOR_ID);
-		} catch (PartInitException e) {
-			ErrorDialog.openError(
-				win.getShell(),
-				IDEWorkbenchMessages.getString("Workbench.openEditorErrorDialogTitle"),  //$NON-NLS-1$
-				IDEWorkbenchMessages.getString("Workbench.openEditorErrorDialogMessage"), //$NON-NLS-1$
-				e.getStatus());
-		}
-		return;
-	}
-	
-	/**
-	 * Updates the window title. Format will be:
-	 * [pageInput -] [currentPerspective -] [editorInput -] [workspaceLocation -] productName
-	 * @param window The window being updated.
-	 */
-	private void updateTitle(IWorkbenchWindow window) {
-		IWorkbenchWindowConfigurer windowConfigurer = getWorkbenchConfigurer().getWindowConfigurer(window);
-		
-		String title = null;
-		IProduct product = Platform.getProduct();
-		if (product != null) {
-			title = product.getName();
-		}
-		if (title == null) {
-			title = ""; //$NON-NLS-1$
-		}
-		
-		if (workspaceLocation != null) {
-			title = IDEWorkbenchMessages.format("WorkbenchWindow.shellTitle", new Object[] { workspaceLocation, title }); //$NON-NLS-1$
-		}
-
-		IWorkbenchPage currentPage = window.getActivePage();
-		if (currentPage != null) {
-			IEditorPart editor = currentPage.getActiveEditor();
-			if (editor != null) {
-				String editorTitle = editor.getTitle();
-				title = IDEWorkbenchMessages.format("WorkbenchWindow.shellTitle", new Object[] { editorTitle, title }); //$NON-NLS-1$
-			}
-			IPerspectiveDescriptor persp = currentPage.getPerspective();
-			String label = ""; //$NON-NLS-1$
-			if (persp != null)
-				label = persp.getLabel();
-			IAdaptable input = currentPage.getInput();
-			if (input != null && !input.equals(getDefaultPageInput())) {
-				label = currentPage.getLabel();
-			}
-			if (label != null && !label.equals("")) { //$NON-NLS-1$	
-				title = IDEWorkbenchMessages.format("WorkbenchWindow.shellTitle", new Object[] { label, title }); //$NON-NLS-1$
-			}
-		}
-		
-		windowConfigurer.setTitle(title);
-	}
-	
-	/**
-	 * Declares all IDE-specific workbench images. This includes both "shared"
-	 * images (named in {@link IDE.SharedImages}) and
-	 * internal images (named in
-	 * {@link org.eclipse.ui.internal.ide.IDEInternalWorkbenchImages}).
-	 * 
-	 * @see IWorkbenchConfigurer#declareImage
-	 */
-	private void declareWorkbenchImages() {
-
-		final String ICONS_PATH = "icons/full/";//$NON-NLS-1$
-		final String PATH_ELOCALTOOL = ICONS_PATH+"elcl16/"; //Enabled toolbar icons.//$NON-NLS-1$
-		final String PATH_ETOOL = ICONS_PATH+"etool16/"; //Enabled toolbar icons.//$NON-NLS-1$
-		final String PATH_DTOOL = ICONS_PATH+"dtool16/"; //Disabled toolbar icons.//$NON-NLS-1$
-		final String PATH_OBJECT = ICONS_PATH+"obj16/"; //Model object icons//$NON-NLS-1$
-		final String PATH_WIZBAN = ICONS_PATH+"wizban/"; //Wizard icons//$NON-NLS-1$
-	
-		Bundle ideBundle = Platform.getBundle(IDEWorkbenchPlugin.IDE_WORKBENCH);
-		declareWorkbenchImage(ideBundle, ISharedImages.IMG_TOOL_NEW_WIZARD, PATH_ETOOL+"new_wiz.gif", true); //$NON-NLS-1$
-		declareWorkbenchImage(ideBundle, ISharedImages.IMG_TOOL_NEW_WIZARD_HOVER, PATH_ETOOL+"new_wiz.gif", true); //$NON-NLS-1$
-		declareWorkbenchImage(ideBundle, ISharedImages.IMG_TOOL_NEW_WIZARD_DISABLED, PATH_DTOOL+"new_wiz.gif", true); //$NON-NLS-1$
-		
-		declareWorkbenchImage(ideBundle, IWorkbenchGraphicConstants.IMG_ETOOL_IMPORT_WIZ, PATH_ETOOL+"import_wiz.gif", false); //$NON-NLS-1$
-		
-		declareWorkbenchImage(ideBundle, IWorkbenchGraphicConstants.IMG_ETOOL_EXPORT_WIZ, PATH_ETOOL+"export_wiz.gif", false); //$NON-NLS-1$
-	
-		declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_ETOOL_BUILD_EXEC, PATH_ETOOL+"build_exec.gif", false); //$NON-NLS-1$
-		declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_ETOOL_BUILD_EXEC_HOVER, PATH_ETOOL+"build_exec.gif", false); //$NON-NLS-1$
-		declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_ETOOL_BUILD_EXEC_DISABLED, PATH_DTOOL+"build_exec.gif", false); //$NON-NLS-1$
-		
-		declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_ETOOL_SEARCH_SRC, PATH_ETOOL+"search_src.gif", false); //$NON-NLS-1$
-		declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_ETOOL_SEARCH_SRC_HOVER, PATH_ETOOL+"search_src.gif", false); //$NON-NLS-1$
-		declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_ETOOL_SEARCH_SRC_DISABLED, PATH_DTOOL+"search_src.gif", false); //$NON-NLS-1$
-		
-		declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_ETOOL_NEXT_NAV, PATH_ETOOL+"next_nav.gif", false); //$NON-NLS-1$
-
-		declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_ETOOL_PREVIOUS_NAV, PATH_ETOOL+"prev_nav.gif", false); //$NON-NLS-1$
-				
-		declareWorkbenchImage(ideBundle, IWorkbenchGraphicConstants.IMG_WIZBAN_NEW_WIZ, PATH_WIZBAN+"new_wiz.gif", false); //$NON-NLS-1$
-		declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_WIZBAN_NEWPRJ_WIZ, PATH_WIZBAN+"newprj_wiz.gif", false); //$NON-NLS-1$
-		declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_WIZBAN_NEWFOLDER_WIZ, PATH_WIZBAN+"newfolder_wiz.gif", false); //$NON-NLS-1$
-		declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_WIZBAN_NEWFILE_WIZ, PATH_WIZBAN+"newfile_wiz.gif", false); //$NON-NLS-1$
-	
-		declareWorkbenchImage(ideBundle, IWorkbenchGraphicConstants.IMG_WIZBAN_IMPORT_WIZ, PATH_WIZBAN+"import_wiz.gif", false); //$NON-NLS-1$
-		declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_WIZBAN_IMPORTDIR_WIZ, PATH_WIZBAN+"importdir_wiz.gif", false); //$NON-NLS-1$
-		declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_WIZBAN_IMPORTZIP_WIZ, PATH_WIZBAN+"importzip_wiz.gif", false); //$NON-NLS-1$
-	
-		declareWorkbenchImage(ideBundle, IWorkbenchGraphicConstants.IMG_WIZBAN_EXPORT_WIZ, PATH_WIZBAN+"export_wiz.gif", false); //$NON-NLS-1$
-		declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_WIZBAN_EXPORTDIR_WIZ, PATH_WIZBAN+"exportdir_wiz.gif", false); //$NON-NLS-1$
-		declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_WIZBAN_EXPORTZIP_WIZ, PATH_WIZBAN+"exportzip_wiz.gif", false); //$NON-NLS-1$
-	
-		declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_WIZBAN_RESOURCEWORKINGSET_WIZ, PATH_WIZBAN+"workset_wiz.gif", false); //$NON-NLS-1$
-	
-		declareWorkbenchImage(ideBundle, IDE.SharedImages.IMG_OBJ_PROJECT, PATH_OBJECT+"prj_obj.gif", true); //$NON-NLS-1$
-		declareWorkbenchImage(ideBundle, IDE.SharedImages.IMG_OBJ_PROJECT_CLOSED, PATH_OBJECT+"cprj_obj.gif", true); //$NON-NLS-1$
-		declareWorkbenchImage(ideBundle, IDE.SharedImages.IMG_OPEN_MARKER, PATH_ELOCALTOOL+"gotoobj_tsk.gif", true); //$NON-NLS-1$
-			
-		// task objects
-		//declareRegistryImage(IDEInternalWorkbenchImages.IMG_OBJS_HPRIO_TSK, PATH_OBJECT+"hprio_tsk.gif");
-		//declareRegistryImage(IDEInternalWorkbenchImages.IMG_OBJS_MPRIO_TSK, PATH_OBJECT+"mprio_tsk.gif");
-		//declareRegistryImage(IDEInternalWorkbenchImages.IMG_OBJS_LPRIO_TSK, PATH_OBJECT+"lprio_tsk.gif");
-	
-		declareWorkbenchImage(ideBundle, IDE.SharedImages.IMG_OBJS_TASK_TSK, PATH_OBJECT+"taskmrk_tsk.gif", true); //$NON-NLS-1$
-		declareWorkbenchImage(ideBundle, IDE.SharedImages.IMG_OBJS_BKMRK_TSK, PATH_OBJECT+"bkmrk_tsk.gif", true); //$NON-NLS-1$
-	
-		declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_OBJS_COMPLETE_TSK, PATH_OBJECT+"complete_tsk.gif", true); //$NON-NLS-1$
-		declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_OBJS_INCOMPLETE_TSK, PATH_OBJECT+"incomplete_tsk.gif", true); //$NON-NLS-1$
-		declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_OBJS_WELCOME_ITEM, PATH_OBJECT+"welcome_item.gif", true); //$NON-NLS-1$
-		declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_OBJS_WELCOME_BANNER, PATH_OBJECT+"welcome_banner.gif", true); //$NON-NLS-1$
-	
-		// synchronization indicator objects
-		//declareRegistryImage(IDEInternalWorkbenchImages.IMG_OBJS_WBET_STAT, PATH_OVERLAY+"wbet_stat.gif");
-		//declareRegistryImage(IDEInternalWorkbenchImages.IMG_OBJS_SBET_STAT, PATH_OVERLAY+"sbet_stat.gif");
-		//declareRegistryImage(IDEInternalWorkbenchImages.IMG_OBJS_CONFLICT_STAT, PATH_OVERLAY+"conflict_stat.gif");
-	
-		// content locality indicator objects
-		//declareRegistryImage(IDEInternalWorkbenchImages.IMG_OBJS_NOTLOCAL_STAT, PATH_STAT+"notlocal_stat.gif");
-		//declareRegistryImage(IDEInternalWorkbenchImages.IMG_OBJS_LOCAL_STAT, PATH_STAT+"local_stat.gif");
-		//declareRegistryImage(IDEInternalWorkbenchImages.IMG_OBJS_FILLLOCAL_STAT, PATH_STAT+"filllocal_stat.gif");
-	}
-
-	/**
-	 * Declares an IDE-specific workbench image.
-	 * 
-	 * @param symbolicName the symbolic name of the image
-	 * @param path the path of the image file; this path is relative to the base
-	 * of the IDE plug-in
-	 * @param shared <code>true</code> if this is a shared image, and
-	 * <code>false</code> if this is not a shared image
-	 * @see IWorkbenchConfigurer#declareImage
-	 */
-	private void declareWorkbenchImage(Bundle ideBundle, String symbolicName, String path, boolean shared) {
-		URL url = ideBundle.getEntry(path);
-		ImageDescriptor desc = ImageDescriptor.createFromURL(url);
-		getWorkbenchConfigurer().declareImage(symbolicName, desc, shared);
-	}	
-	
-	public void fillActionBars(IWorkbenchWindow window, IActionBarConfigurer actionConfigurer, int flags) {
-		
-		// setup the action builder to populate the toolbar and menubar in the configurer
-		WorkbenchActionBuilder actionBuilder = null;
-		IWorkbenchWindowConfigurer windowConfigurer = getWorkbenchConfigurer().getWindowConfigurer(window);
-		
-		// For proxy calls to this method it is important that we use the same object
-		// associated with the windowConfigurer
-		actionBuilder = (WorkbenchActionBuilder) windowConfigurer.getData(ACTION_BUILDER);
-		if (actionBuilder == null) {
-			actionBuilder = new WorkbenchActionBuilder(window);
-		}
-		
-		if ((flags & FILL_PROXY) != 0) {
-			// Filling in fake actionbars
-			if ((flags & FILL_MENU_BAR) != 0) {
-				actionBuilder.populateMenuBar(actionConfigurer);
-			}
-			if ((flags & FILL_COOL_BAR) != 0) {
-				actionBuilder.populateCoolBar(actionConfigurer);
-			}
-		} else {
-			// make, fill, and hook listeners to action builder
-			// reference to IWorkbenchConfigurer is need for the ABOUT action
-			windowConfigurer.setData(ACTION_BUILDER,actionBuilder);
-			actionBuilder.makeAndPopulateActions(getWorkbenchConfigurer(), actionConfigurer);
-		}
-		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.application.WorkbenchAdvisor#getMainPreferencePageId
-	 */
-	public String getMainPreferencePageId() {
-		// indicate that we want the Workench preference page to be prominent
-		return WORKBENCH_PREFERENCE_CATEGORY_ID;
-	}
-
-    /**
-     * Tries to open the intro,if one exists and otherwise will open the legacy 
-     * Welcome pages.
-     * 
-     * @see org.eclipse.ui.application.WorkbenchAdvisor#openIntro(org.eclipse.ui.application.IWorkbenchWindowConfigurer)
-     */
-    public void openIntro(IWorkbenchWindowConfigurer windowConfigurer) {
-        if (editorsAndIntrosOpened) 
-            return;
-
-        editorsAndIntrosOpened = true;
-        
-        // don't try to open the welcome editors if there is an intro
-        if (hasIntro())
-            super.openIntro(windowConfigurer);
-        else {        
-			openWelcomeEditors(windowConfigurer.getWindow());			
-			// save any preferences changes caused by the above actions
-			IDEWorkbenchPlugin.getDefault().savePluginPreferences();
-        }
-    }
-
-    /**
-     * Return true if the intro plugin is present and false otherwise.
-     */
-    private boolean hasIntro() {
-        IWorkbenchConfigurer wc = getWorkbenchConfigurer();
-        return wc == null ? false : wc.getWorkbench().getIntroManager().hasIntro();
-    }
-
-    /**
-     * Returns the workbench action builder for the given window 
-     * @param window
-     * @return WorkbenchActionBuilder
-     */
-    static WorkbenchActionBuilder getActionBuilder(IWorkbenchWindow window) {
-        IWorkbenchWindowConfigurer configurer = workbenchAdvisor.getWorkbenchConfigurer().getWindowConfigurer(window);
-		return (WorkbenchActionBuilder) configurer.getData("ActionBuilder"); //$NON-NLS-1$
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchMessages.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchMessages.java
deleted file mode 100644
index 49c98fa..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchMessages.java
+++ /dev/null
@@ -1,69 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Utility class which helps managing messages
- */
-public class IDEWorkbenchMessages {
-	private static final String RESOURCE_BUNDLE= "org.eclipse.ui.internal.ide.messages";//$NON-NLS-1$
-	private static ResourceBundle bundle = ResourceBundle.getBundle(RESOURCE_BUNDLE);
-	
-private IDEWorkbenchMessages(){
-	// 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.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchPlugin.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchPlugin.java
deleted file mode 100644
index a95ac89..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchPlugin.java
+++ /dev/null
@@ -1,315 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.ide;
-
-import java.util.ArrayList;
-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.IBundleGroup;
-import org.eclipse.core.runtime.IBundleGroupProvider;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.IProduct;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.ui.IWorkbenchPreferenceConstants;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.internal.ide.registry.CapabilityRegistry;
-import org.eclipse.ui.internal.ide.registry.MarkerImageProviderRegistry;
-import org.eclipse.ui.internal.ide.registry.ProjectImageRegistry;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * This internal class represents the top of the IDE workbench.
- *
- * This class is responsible for tracking various registries
- * font, preference, graphics, dialog store.
- *
- * This class is explicitly referenced by the 
- * IDE workbench plug-in's  "plugin.xml"
- * 
- * @since 3.0
- */
-public class IDEWorkbenchPlugin extends AbstractUIPlugin {
-	// Default instance of the receiver
-	private static IDEWorkbenchPlugin inst;
-
-	// 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 IDE workbench plugin ID.
-	 */
-	public static final String IDE_WORKBENCH = "org.eclipse.ui.ide"; //$NON-NLS-1$
-
-	/**
-	 * The ID of the default text editor.
-	 * This must correspond to EditorsUI.DEFAULT_TEXT_EDITOR_ID.
-	 */
-	public static final String DEFAULT_TEXT_EDITOR_ID = "org.eclipse.ui.DefaultTextEditor"; //$NON-NLS-1$
-
-	// IDE workbench extension point names
-	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_CAPABILITIES = "capabilities"; //$NON-NLS-1$
-	public static final String PL_PROJECT_NATURE_IMAGES ="projectNatureImages"; //$NON-NLS-1$
-	
-	/**
-	 * Project image registry; lazily initialized.
-	 */	
-	private ProjectImageRegistry projectImageRegistry = null;
-
-	/**
-	 * Marker image registry; lazily initialized.
-	 */	
-	private MarkerImageProviderRegistry markerImageProviderRegistry = null;
-
-	/**
-	 * Capability registry; lazily initialized.
-	 */	
-	private CapabilityRegistry capabilityRegistry;
-
-	/**
-	 * Create an instance of the IDEWorkbenchPlugin.
-	 * The workbench plugin is effectively the "application" for the workbench UI.
-	 * The entire UI operates as a good plugin citizen.
-	 */
-	public IDEWorkbenchPlugin(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 Object 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];
-		}
-	}
-	
-	/* Return the default instance of the receiver. This represents the runtime plugin.
-	 *
-	 * @see AbstractPlugin for the typical implementation pattern for plugin classes.
-	 */
-	public static IDEWorkbenchPlugin getDefault() {
-		return inst;
-	}
-
-	/**
-	 * 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();
-	}
-	
-	/**
-	 * 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(IStatus.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
-	}
-
-	/* (non-javadoc)
-	 * Method declared on AbstractUIPlugin
-	 */
-	protected void refreshPluginActions() {
-		// do nothing
-	}
-	
-	/** 
-	 * 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(IDEInternalPreferences.SAVE_ALL_BEFORE_BUILD, false);
-		store.setDefault(IDEInternalPreferences.SAVE_INTERVAL, 5); //5 minutes
-		store.setDefault(IDEInternalPreferences.WELCOME_DIALOG, true);
-		store.setDefault(IDEInternalPreferences.REFRESH_WORKSPACE_ON_STARTUP, false);
-		store.setDefault(IDEInternalPreferences.EXIT_PROMPT_ON_CLOSE_LAST_WINDOW, true);
-		store.setDefault(IDEInternalPreferences.PROJECT_SWITCH_PERSP_MODE, IDEInternalPreferences.PSPM_PROMPT);
-		store.setDefault(IDE.Preferences.PROJECT_OPEN_NEW_PERSPECTIVE, IWorkbenchPreferenceConstants.OPEN_PERSPECTIVE_REPLACE);
-	}
-
-	/**
-	 * Return the manager that maps project nature ids to images.
-	 */
-	public ProjectImageRegistry getProjectImageRegistry() {
-		if (projectImageRegistry == null) {
-			projectImageRegistry = new ProjectImageRegistry();
-			projectImageRegistry.load();
-		}
-		return projectImageRegistry;
-	}
-
-	/**
-	 * 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;
-	}
-
-	/**
-	 * 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 about information of all known features,
-	 * omitting any features which are missing this information.
-	 * 
-	 * @return a possibly empty list of about infos
-	 */
-	public AboutInfo[] getFeatureInfos() {
-	    // cannot be cached since bundle groups come and go
-        List infos = new ArrayList();
-
-        // add an entry for each bundle group
-        IBundleGroupProvider[] providers = Platform.getBundleGroupProviders();
-        if (providers != null)
-		    for (int i = 0; i < providers.length; ++i) {
-	            IBundleGroup[] bundleGroups = providers[i].getBundleGroups();
-	            for (int j = 0; j < bundleGroups.length; ++j)
-	                infos.add(new AboutInfo(bundleGroups[j]));
-		    }
-
-	    return (AboutInfo[])infos.toArray(new AboutInfo[infos.size()]);
-	}
-
-	/**
-	 * Returns the about information of the primary feature.
-	 * 
-	 * @return info about the primary feature, or <code>null</code> if there 
-	 * is no primary feature or if this information is unavailable
-	 */
-	public AboutInfo getPrimaryInfo() {
-	    IProduct product = Platform.getProduct();
-	    return product == null ? null : new AboutInfo(product);
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IHelpContextIds.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IHelpContextIds.java
deleted file mode 100644
index 594f7b8..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IHelpContextIds.java
+++ /dev/null
@@ -1,202 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.ide;
-
-/**
- * Help context ids for the workbench.
- * <p>
- * This interface contains constants only; it is not intended to be implemented
- * or extended.
- * </p>
- * 
- * @issue pare down entries to just the IDE-specific ones
- */
-public interface IHelpContextIds {
-	public static final String PREFIX = IDEWorkbenchPlugin.IDE_WORKBENCH + "."; //$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 PROJECT_PROPERTY_DIALOG_ACTION = PREFIX + "project_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 TIPS_AND_TRICKS_ACTION = PREFIX + "tips_and_tricks_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 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 SHOW_VIEW_OTHER_ACTION = PREFIX + "show_view_other_action_context"; //$NON-NLS-1$
-	public static final String OPEN_PERSPECTIVE_ACTION = PREFIX + "open_perspective_action_context"; //$NON-NLS-1$
-	public static final String OPEN_PERSPECTIVE_OTHER_ACTION = PREFIX + "open_perspective_other_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 MAXIMIZE_PART_ACTION = PREFIX + "maximize_part_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$
-	public static final String NAVIGATION_HISTORY_FORWARD = PREFIX + "navigation_history_forward"; //$NON-NLS-1$
-	public static final String NAVIGATION_HISTORY_BACKWARD = PREFIX + "navigation_history_backward"; //$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_PLUGINS_DIALOG = PREFIX + "about_features_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 TIPS_AND_TRICKS_PAGE_SELECTION_DIALOG = PREFIX + "tips_and_tricks_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$
-	public static final String EXIT_PROMPT_ON_CLOSE_LAST_WINDOW = PREFIX + "exit_prompt_on_close_last_window"; //$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$
-	public static final String LINKED_RESOURCE_PREFERENCE_PAGE = PREFIX + "linked_resource_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.ide/src/org/eclipse/ui/internal/ide/IMarkerImageProvider.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IMarkerImageProvider.java
deleted file mode 100644
index e27eb96..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IMarkerImageProvider.java
+++ /dev/null
@@ -1,51 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-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.ide/src/org/eclipse/ui/internal/ide/LinkedResourceDecorator.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/LinkedResourceDecorator.java
deleted file mode 100644
index 4d48a91..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/LinkedResourceDecorator.java
+++ /dev/null
@@ -1,95 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IDecoration;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ILightweightLabelDecorator;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * A LinkedResourceDecorator decorates an element's image with a linked 
- * resource overlay. 
- * 
- * @since 2.1
- */
-public class LinkedResourceDecorator implements ILightweightLabelDecorator {
-	private static final ImageDescriptor LINK;
-	private static final ImageDescriptor LINK_WARNING;	
-
-	static {
-		LINK = AbstractUIPlugin.imageDescriptorFromPlugin(
-			IDEWorkbenchPlugin.IDE_WORKBENCH,
-			"icons/full/ovr16/link_ovr.gif");  //$NON-NLS-1$
-		LINK_WARNING = AbstractUIPlugin.imageDescriptorFromPlugin(
-			IDEWorkbenchPlugin.IDE_WORKBENCH,
-			"icons/full/ovr16/linkwarn_ovr.gif");  //$NON-NLS-1$
-	}
-
-	/**
-	 * Creates a new <code>LinkedResourceDecorator</code>.
-	 */
-	public LinkedResourceDecorator() {
-	}
-	/**
-	 * @see org.eclipse.jface.viewers.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 org.eclipse.jface.viewers.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#decorate(Object, IDecoration)
-	 */
-	public void decorate(Object element, IDecoration decoration) {
-
-		if (element instanceof IResource == false)
-			return;
-		IResource resource = (IResource) element;
-		if (resource.isLinked()) {
-			IPath location = resource.getLocation();
-
-			if (location != null && location.toFile().exists())
-				decoration.addOverlay(LINK);
-			else
-				decoration.addOverlay(LINK_WARNING);
-		}
-
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/NewWizardDropDownAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/NewWizardDropDownAction.java
deleted file mode 100644
index b873f3a..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/NewWizardDropDownAction.java
+++ /dev/null
@@ -1,140 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.ide;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.IMenuCreator;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowPulldownDelegate2;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.ActionFactory;
-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 ActionFactory.IWorkbenchAction,
-			IMenuCreator,
-			IWorkbenchWindowPulldownDelegate2 {
-
-	/**
-	 * The workbench window; or <code>null</code> if this
-	 * action has been <code>dispose</code>d.
-	 */
-	private IWorkbenchWindow workbenchWindow;
-
-	private IAction newWizardAction;
-	
-	private MenuManager dropDownMenuMgr;
-	/**
-	 *	Create a new instance of this class
-	 */
-	public NewWizardDropDownAction(IWorkbenchWindow window, IAction newWizardAction) {
-		super(IDEWorkbenchMessages.getString("NewWizardDropDown.text")); //$NON-NLS-1$
-		if (window == null) {
-			throw new IllegalArgumentException();
-		}
-		this.workbenchWindow = window;
-		this.newWizardAction = newWizardAction;
-		setToolTipText(newWizardAction.getToolTipText());
-
-		// @issues should be IDE-specific images
-		ISharedImages sharedImages = PlatformUI.getWorkbench().getSharedImages();
-		setImageDescriptor(
-			sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_NEW_WIZARD));
-		setDisabledImageDescriptor(
-			sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_NEW_WIZARD_DISABLED));
-
-		setMenuCreator(this);
-	}
-	/**
-	 * create the menu manager for the drop down menu.
-	 */
-	protected void createDropDownMenuMgr() {
-		if (dropDownMenuMgr == null) {
-			dropDownMenuMgr = new MenuManager();
-			dropDownMenuMgr.add(new NewWizardMenu(workbenchWindow));
-		}
-	}
-	/**
-	 * dispose method comment.
-	 */
-	public void dispose() {
-		if (workbenchWindow == null) {
-			// action has already been disposed
-			return;
-		}
-		if (dropDownMenuMgr != null) {
-			dropDownMenuMgr.dispose();
-			dropDownMenuMgr = null;
-		}
-		workbenchWindow = 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 org.eclipse.ui.IWorkbenchWindowActionDelegate#init(IWorkbenchWindow)
-	 */
-	public void init(IWorkbenchWindow window) {
-	}
-	public void run() {
-		if (workbenchWindow == null) {
-			// action has been disposed
-			return;
-		}
-		newWizardAction.run();
-	}
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action) {
-	}
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(IAction, ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/NewWizardShortcutAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/NewWizardShortcutAction.java
deleted file mode 100644
index 0d441a7..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/NewWizardShortcutAction.java
+++ /dev/null
@@ -1,113 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.ErrorDialog;
-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.swt.widgets.Shell;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IPluginContribution;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.help.WorkbenchHelp;
-//@issue illegal reference to org.eclipse.ui.internal.dialogs.WorkbenchWizardElement
-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 implements IPluginContribution {
-	private WorkbenchWizardElement wizardElement;
-	private IWorkbenchWindow window;
-	/**
-	 *	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(IWorkbenchWindow window, WorkbenchWizardElement element) {
-		super(element.getLabel(element));
-		setToolTipText(element.getDescription());
-		setImageDescriptor(element.getImageDescriptor());
-		setId(ActionFactory.NEW.getId());
-		wizardElement = element;
-		this.window = window;
-	}
-	/**
-	 *	This action has been invoked by the user
-	 */
-	public void run() {
-		// create instance of target wizard
-
-		INewWizard wizard;
-		try {
-			wizard = (INewWizard) wizardElement.createExecutableExtension();
-		} catch (CoreException e) {
-			ErrorDialog.openError(
-				window.getShell(),
-				IDEWorkbenchMessages.getString("NewWizardShortcutAction.errorTitle"), //$NON-NLS-1$
-				IDEWorkbenchMessages.getString("NewWizardShortcutAction.errorMessage"), //$NON-NLS-1$
-				e.getStatus());
-			return;
-		}
-
-		ISelection selection = window.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 = window.getPartService().getActivePart();
-			if (part instanceof IEditorPart) {
-				IEditorInput input = ((IEditorPart) part).getEditorInput();
-				if (input instanceof IFileEditorInput) {
-					selectionToPass = new StructuredSelection(((IFileEditorInput) input).getFile());
-				}
-			}
-		}
-
-		wizard.init(window.getWorkbench(), selectionToPass);
-
-		Shell parent = window.getShell();
-		WizardDialog dialog = new WizardDialog(parent, wizard);
-		dialog.create();
-		WorkbenchHelp.setHelp(dialog.getShell(), IHelpContextIds.NEW_WIZARD_SHORTCUT);
-		dialog.open();
-	}
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPluginContribution#getLocalId()
-	 */
-	public String getLocalId() {
-		return wizardElement.getLocalId();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPluginContribution#getPluginId()
-	 */
-	public String getPluginId() {		
-		return wizardElement.getPluginId();
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/Policy.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/Policy.java
deleted file mode 100644
index 2152b55..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/Policy.java
+++ /dev/null
@@ -1,29 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-import org.eclipse.core.runtime.Platform;
-
-public class Policy {
-	public static final boolean DEFAULT = false;
-	
-	public static boolean DEBUG_OPEN_ERROR_DIALOG = DEFAULT;
-
-	static {
-		if (getDebugOption("/debug")) { //$NON-NLS-1$
-			DEBUG_OPEN_ERROR_DIALOG = getDebugOption("/debug/internalerror/openDialog"); //$NON-NLS-1$
-		}
-	}
-	
-	private static boolean getDebugOption(String option) {
-		return "true".equalsIgnoreCase(Platform.getDebugOption(IDEWorkbenchPlugin.IDE_WORKBENCH + option)); //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/ProblemImageProvider.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/ProblemImageProvider.java
deleted file mode 100644
index e08a494..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/ProblemImageProvider.java
+++ /dev/null
@@ -1,61 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-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.ide/src/org/eclipse/ui/internal/ide/ResourcePerspective.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/ResourcePerspective.java
deleted file mode 100644
index 2e02ad1..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/ResourcePerspective.java
+++ /dev/null
@@ -1,80 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-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 layout 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_PROBLEM_VIEW);
-	layout.addShowViewShortcut(IPageLayout.ID_TASK_LIST);
-	
-	layout.addActionSet(IPageLayout.ID_NAVIGATE_ACTION_SET);
-}
-/**
- * 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.ide/src/org/eclipse/ui/internal/ide/StatusUtil.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/StatusUtil.java
deleted file mode 100644
index 53d8778..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/StatusUtil.java
+++ /dev/null
@@ -1,113 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Status;
-
-/**
- * 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
- *
- * @since 3.0
- */
-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) {
-
-	if (message == null || message.trim().length() == 0) {
-		throw new IllegalArgumentException();
-	}
-	return new MultiStatus(IDEWorkbenchPlugin.IDE_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) {
-
-	String statusMessage = message;
-	if(message == null || message.trim().length() == 0){
-		if(exception.getMessage() == null)
-			statusMessage = exception.toString();
-		else
-			statusMessage = exception.getMessage();
-	}
-
-	return new Status(severity, IDEWorkbenchPlugin.IDE_WORKBENCH, severity, statusMessage, 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.ide/src/org/eclipse/ui/internal/ide/StringMatcher.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/StringMatcher.java
deleted file mode 100644
index 5a2e59c..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/StringMatcher.java
+++ /dev/null
@@ -1,393 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-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 text  the String object to search in 
-	 * @param start  the starting index of the search range, inclusive
-	 * @param end  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 text  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 text  a <code>String</code> object that contains the substring to match 
-	 * @param start  marks the starting position (inclusive) of the substring
-	 * @param end  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 text  a string which contains no wildcard
-	 * @param start  the starting index in the text for search, inclusive
-	 * @param end  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 text  a simple regular expression that may only contain '?'(s)
-	 * @param start  the starting index in the text for search, inclusive
-	 * @param end  the stopping point of search, exclusive
-	 * @param p  a simple regular expression that may contains '?'
-	 * @param caseIgnored  whether 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  text  a String to match
-	 * @param start  int that indicates the starting index of match, inclusive
-	 * @param end  int that indicates the ending index of match, exclusive
-	 * @param p  String,  String, a simple regular expression that may contain '?'
-	 * @param ignoreCase  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 text  the string to match
-	 * @param start  the starting index in the text for search, inclusive
-	 * @param end  the stopping point of search, exclusive
-	 * @param p  a string that has no wildcard
-	 * @param ignoreCase  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.ide/src/org/eclipse/ui/internal/ide/TipsAndTricksAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/TipsAndTricksAction.java
deleted file mode 100644
index 0cd97db..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/TipsAndTricksAction.java
+++ /dev/null
@@ -1,139 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.IProduct;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.PartEventAction;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Launch the tips and tricks action.
- */
-public class TipsAndTricksAction
-		extends PartEventAction
-		implements ActionFactory.IWorkbenchAction {
-
-	/**
-	 * The workbench window this action is registered with.
-	 */
-	 private IWorkbenchWindow workbenchWindow;
-	 
-	/**
-	 *	Create an instance of this class
-	 */
-	public TipsAndTricksAction(IWorkbenchWindow window) {
-		super(IDEWorkbenchMessages.getString("TipsAndTricks.text")); //$NON-NLS-1$
-		if (window == null) {
-			throw new IllegalArgumentException();
-		}
-		this.workbenchWindow = window;
-		setToolTipText(IDEWorkbenchMessages.getString("TipsAndTricks.toolTip")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(this, IHelpContextIds.TIPS_AND_TRICKS_ACTION);
-		setActionDefinitionId("org.eclipse.ui.help.tipsAndTricksAction"); //$NON-NLS-1$
-		workbenchWindow.getPartService().addPartListener(this);
-	}
-
-	/**
-	 *	The user has invoked this action
-	 */
-	public void run() {
-		if (workbenchWindow == null) {
-			// action has been disposed
-			return;
-		}
-		// Ask the user to select a feature
-		AboutInfo[] featureInfos = IDEWorkbenchPlugin.getDefault().getFeatureInfos();
-		ArrayList tipsAndTricksFeatures = new ArrayList(featureInfos.length);
-		for (int i = 0; i < featureInfos.length; i++) {
-			if (featureInfos[i].getTipsAndTricksHref() != null)
-				tipsAndTricksFeatures.add(featureInfos[i]);
-		}
-
-		Shell shell = workbenchWindow.getShell();
-
-		if (tipsAndTricksFeatures.size() == 0) {
-			MessageDialog.openInformation(
-				shell, 
-				IDEWorkbenchMessages.getString("TipsAndTricksMessageDialog.title"), //$NON-NLS-1$
-				IDEWorkbenchMessages.getString("TipsAndTricksMessageDialog.message")); //$NON-NLS-1$
-			return;
-		}
-
-		AboutInfo[] features = new AboutInfo[tipsAndTricksFeatures.size()];
-		tipsAndTricksFeatures.toArray(features);
-
-		IProduct product = Platform.getProduct();
-		FeatureSelectionDialog d = new FeatureSelectionDialog(
-			shell, 
-			features, 
-			product == null ? null : product.getId(), 
-			IDEWorkbenchMessages.getString("TipsAndTricksPageSelectionDialog.title"), //$NON-NLS-1$
-			IDEWorkbenchMessages.getString("TipsAndTricksPageSelectionDialog.message"), //$NON-NLS-1$
-			IHelpContextIds.TIPS_AND_TRICKS_PAGE_SELECTION_DIALOG);
-
-		if (d.open() != Dialog.OK || d.getResult().length != 1)
-			return;
-
-		AboutInfo feature = (AboutInfo) d.getResult()[0];
-
-		/**
-		 * Open the tips and trick help topic
-		 */
-		if (feature != null) {
-			final String href = feature.getTipsAndTricksHref();
-			if (href != null) {
-				BusyIndicator.showWhile(shell.getDisplay(), new Runnable() {
-					public void run() {
-						WorkbenchHelp.displayHelpResource(href);
-					}
-				});
-			} else {
-				IStatus status = new Status(IStatus.ERROR, IDEWorkbenchPlugin.IDE_WORKBENCH, 1, IDEWorkbenchMessages.getString("TipsAndTricksErrorDialog.noHref"), null); //$NON-NLS-1$
-				ErrorDialog.openError(
-					shell, 
-					IDEWorkbenchMessages.getString("TipsAndTricksErrorDialog.title"), //$NON-NLS-1$
-					IDEWorkbenchMessages.getString("TipsAndTricksErrorDialog.noHref"), //$NON-NLS-1$
-					status);
-			}
-		} else {
-			IStatus status = new Status(IStatus.ERROR, IDEWorkbenchPlugin.IDE_WORKBENCH, 1, IDEWorkbenchMessages.getString("TipsAndTricksErrorDialog.noHref"), null); //$NON-NLS-1$
-			ErrorDialog.openError(
-				shell, 
-				IDEWorkbenchMessages.getString("TipsAndTricksErrorDialog.title"), //$NON-NLS-1$
-				IDEWorkbenchMessages.getString("TipsAndTricksErrorDialog.noFeatures"), //$NON-NLS-1$
-				status);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on ActionFactory.IWorkbenchAction.
-	 */
-	public void dispose() {
-		if (workbenchWindow == null) {
-			// action has already been disposed
-			return;
-		}
-		workbenchWindow.getPartService().removePartListener(this);
-		workbenchWindow = null;
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/WorkbenchActionBuilder.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/WorkbenchActionBuilder.java
deleted file mode 100644
index 095342a..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/WorkbenchActionBuilder.java
+++ /dev/null
@@ -1,1416 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.GroupMarker;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.ICoolBarManager;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.action.ToolBarContributionItem;
-import org.eclipse.jface.action.ToolBarManager;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.ui.IPageListener;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IPerspectiveListener;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.ContributionItemFactory;
-import org.eclipse.ui.actions.NewWizardMenu;
-import org.eclipse.ui.actions.ActionFactory.IWorkbenchAction;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchConfigurer;
-import org.eclipse.ui.ide.IDEActionFactory;
-import org.eclipse.ui.ide.IIDEActionConstants;
-import org.eclipse.ui.internal.IPreferenceConstants;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.ide.actions.BuildSetMenu;
-import org.eclipse.ui.internal.ide.actions.QuickMenuAction;
-import org.eclipse.ui.internal.util.StatusLineContributionItem;
-
-/**
- * Adds actions to a workbench window.
- */
-public final class WorkbenchActionBuilder {
-	private IWorkbenchWindow window;
-
-	/** 
-	 * A convience variable and method so that the actionConfigurer doesn't need to
-	 * get passed into registerGlobalAction every time it's called.
-	 */
-	private IActionBarConfigurer actionBarConfigurer;
-	
-	
-	// generic actions
-	private IWorkbenchAction closeAction;
-	private IWorkbenchAction closeAllAction;
-	private IWorkbenchAction closeAllSavedAction;
-	private IWorkbenchAction saveAction;
-	private IWorkbenchAction saveAllAction;
-	private IWorkbenchAction helpContentsAction;
-	private IWorkbenchAction aboutAction;
-	private IWorkbenchAction openPreferencesAction;
-	private IWorkbenchAction saveAsAction;
-	private IWorkbenchAction hideShowEditorAction;
-	private IWorkbenchAction savePerspectiveAction;
-	private IWorkbenchAction resetPerspectiveAction;
-	private IWorkbenchAction editActionSetAction;
-	private IWorkbenchAction closePerspAction;
-	private IWorkbenchAction lockToolBarAction;
-	private IWorkbenchAction closeAllPerspsAction;
-	private IWorkbenchAction showViewMenuAction;
-	private IWorkbenchAction showPartPaneMenuAction;
-	private IWorkbenchAction nextPartAction;
-	private IWorkbenchAction prevPartAction;
-	private IWorkbenchAction nextEditorAction;
-	private IWorkbenchAction prevEditorAction;
-	private IWorkbenchAction nextPerspectiveAction;
-	private IWorkbenchAction prevPerspectiveAction;
-	private IWorkbenchAction activateEditorAction;
-	private IWorkbenchAction maximizePartAction;
-	private IWorkbenchAction workbenchEditorsAction;
-	private IWorkbenchAction workbookEditorsAction;
-	private IWorkbenchAction backwardHistoryAction;
-	private IWorkbenchAction forwardHistoryAction;
-
-	// generic retarget actions
-	private IWorkbenchAction undoAction;
-	private IWorkbenchAction redoAction;
-	private IWorkbenchAction cutAction;
-	private IWorkbenchAction copyAction;
-	private IWorkbenchAction pasteAction;
-	private IWorkbenchAction deleteAction;
-	private IWorkbenchAction selectAllAction;
-	private IWorkbenchAction findAction;
-	private IWorkbenchAction printAction;
-	private IWorkbenchAction revertAction;
-	private IWorkbenchAction refreshAction;
-	private IWorkbenchAction propertiesAction;
-	private IWorkbenchAction quitAction;
-	private IWorkbenchAction moveAction;
-	private IWorkbenchAction renameAction;
-	private IWorkbenchAction goIntoAction;
-	private IWorkbenchAction backAction;
-	private IWorkbenchAction forwardAction;
-	private IWorkbenchAction upAction;
-	private IWorkbenchAction nextAction;
-	private IWorkbenchAction previousAction;
-
-	// IDE-specific actions
-	private IWorkbenchAction openWorkspaceAction;
-	private IWorkbenchAction projectPropertyDialogAction;
-	private IWorkbenchAction newWizardAction;
-	private IWorkbenchAction newWizardDropDownAction;
-	private IWorkbenchAction importResourcesAction;
-	private IWorkbenchAction exportResourcesAction;
-
-	IWorkbenchAction buildAllAction; // Incremental workspace build
-	private IWorkbenchAction cleanAction;
-	private IWorkbenchAction toggleAutoBuildAction;
-	MenuManager buildWorkingSetMenu;
-	private IWorkbenchAction quickStartAction;
-	private IWorkbenchAction tipsAndTricksAction;
-	private QuickMenuAction showInQuickMenu;
-	private QuickMenuAction newQuickMenu;
-	private IWorkbenchAction introAction;
-
-	
-	// IDE-specific retarget actions
-	private IWorkbenchAction addBookmarkAction;
-	private IWorkbenchAction addTaskAction;
-	IWorkbenchAction buildProjectAction;
-	private IWorkbenchAction openProjectAction;
-	private IWorkbenchAction closeProjectAction;
-
-	// contribution items
-	// @issue should obtain from ContributionItemFactory
-	private NewWizardMenu newWizardMenu;
-	private IContributionItem pinEditorContributionItem;
-	
-	// @issue class is workbench internal
-	private StatusLineContributionItem statusLineItem;
-	
-	private Preferences.IPropertyChangeListener prefListener;
-	// listener for the "close editors automatically"
-	// preference change
-	private IPropertyChangeListener propPrefListener;
-
-    private IPageListener pageListener;
-
-    private IPerspectiveListener perspectiveListener;
-
-	
-	/**
-	 * Constructs a new action builder which contributes actions
-	 * to the given window.
-	 * 
-	 * @param window the window
-	 */
-	public WorkbenchActionBuilder(IWorkbenchWindow window) {
-		this.window = window;
-	}
-
-	/**
-	 * Returns the window to which this action builder is contributing.
-	 */
-	private IWorkbenchWindow getWindow() {
-		return window;
-	}
-	
-	/**
-	 * Hooks listeners on the preference store and the window's page, perspective and selection services.
-	 */
-	private void hookListeners() {
-
-		pageListener = new IPageListener() {
-			public void pageActivated(IWorkbenchPage page) {
-				enableActions(page.getPerspective() != null);
-			}
-			public void pageClosed(IWorkbenchPage page) {
-				IWorkbenchPage pg = getWindow().getActivePage();
-				enableActions(pg != null && pg.getPerspective() != null);
-			}
-			public void pageOpened(IWorkbenchPage page) {
-				// do nothing
-			}
-		};
-        getWindow().addPageListener(pageListener);
-
-		perspectiveListener = new IPerspectiveListener() {
-			public void perspectiveActivated(IWorkbenchPage page, IPerspectiveDescriptor perspective) {
-				enableActions(true);
-			}
-			public void perspectiveChanged(IWorkbenchPage page, IPerspectiveDescriptor perspective, String changeId) {
-				// do nothing
-			}
-		};
-        getWindow().addPerspectiveListener(perspectiveListener);
-		
-		prefListener = new Preferences.IPropertyChangeListener() {
-			public void propertyChange(Preferences.PropertyChangeEvent event) {
-				if (event.getProperty().equals(ResourcesPlugin.PREF_AUTO_BUILDING)) {
-					final boolean autoBuild = ResourcesPlugin.getWorkspace().isAutoBuilding();
-					if (window.getShell() != null && !window.getShell().isDisposed()) {
-						// this property change notification could be from a non-ui thread
-						window.getShell().getDisplay().syncExec(new Runnable() {
-							public void run() {
-								updateBuildActions(autoBuild);
-							}
-						});
-					}
-				}
-			}
-		};
-		ResourcesPlugin.getPlugin().getPluginPreferences().addPropertyChangeListener(prefListener);
-		
-		// listener for the "close editors automatically"
-		// preference change
-		propPrefListener = new IPropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if (event.getProperty().equals(IPreferenceConstants.REUSE_EDITORS_BOOLEAN)) {
-					if (window.getShell() != null && !window.getShell().isDisposed()) {
-						// this property change notification could be from a non-ui thread
-						window.getShell().getDisplay().syncExec(new Runnable() {
-							public void run() {
-								updatePinActionToolbar();
-							}
-						});
-					}
-				}
-			}
-		};
-		/*
-		 * In order to ensure that the pin action toolbar sets its size 
-		 * correctly, the pin action should set its visiblity before we call updatePinActionToolbar().
-		 * 
-		 * In other words we always want the PinActionContributionItem to be notified before the 
-		 * WorkbenchActionBuilder.
-		 */
-		WorkbenchPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(propPrefListener);
-	}
-
-	/**
-	 * 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);
-		// Bug 53560.  "Ctrl+N" shouldn't work if the menus are all disabled.
-		newWizardAction.setEnabled(value);
-		importResourcesAction.setEnabled(value);
-		exportResourcesAction.setEnabled(value);
-	}
-	
-	/**
-	 * Builds the actions and contributes them to the given window.
-	 */
-	public void makeAndPopulateActions(IWorkbenchConfigurer windowConfigurer, IActionBarConfigurer actionBarConfigurer) {
-		makeActions(windowConfigurer, actionBarConfigurer);
-		populateMenuBar(actionBarConfigurer);
-		populateCoolBar(actionBarConfigurer);
-		updateBuildActions(ResourcesPlugin.getWorkspace().isAutoBuilding());
-		populateStatusLine(actionBarConfigurer);
-		hookListeners();
-	}
-	
-	
-	/**
-	 * Fills the coolbar with the workbench actions.
-	 */
-	public void populateCoolBar(IActionBarConfigurer configurer) {
-		ICoolBarManager cbManager = configurer.getCoolBarManager();
-		
-		{ // Set up the context Menu
-			IMenuManager popUpMenu = new MenuManager();
-			popUpMenu.add(new ActionContributionItem(lockToolBarAction));
-			popUpMenu.add(new ActionContributionItem(editActionSetAction));
-			cbManager.setContextMenuManager(popUpMenu);
-		}
-		cbManager.add(new GroupMarker(IIDEActionConstants.GROUP_FILE));
-		{ // File Group
-			IToolBarManager fileToolBar = new ToolBarManager(cbManager.getStyle());
-			fileToolBar.add(new Separator(IWorkbenchActionConstants.NEW_GROUP));
-			fileToolBar.add(newWizardDropDownAction);
-			fileToolBar.add(new GroupMarker(IWorkbenchActionConstants.NEW_EXT));
-			fileToolBar.add(new GroupMarker(IWorkbenchActionConstants.SAVE_GROUP));
-			fileToolBar.add(saveAction);
-			fileToolBar.add(new GroupMarker(IWorkbenchActionConstants.SAVE_EXT));
-			fileToolBar.add(printAction);
-			fileToolBar.add(new GroupMarker(IWorkbenchActionConstants.PRINT_EXT));
-			
-			fileToolBar.add(new Separator(IWorkbenchActionConstants.BUILD_GROUP));	
-			fileToolBar.add(new GroupMarker(IWorkbenchActionConstants.BUILD_EXT));
-			fileToolBar.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-			
-			// Add to the cool bar manager
-			cbManager.add(new ToolBarContributionItem(fileToolBar,IWorkbenchActionConstants.TOOLBAR_FILE));
-		}
-		
-		cbManager.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-		
-		cbManager.add(new GroupMarker(IIDEActionConstants.GROUP_NAV));
-		{ // Navigate group
-			IToolBarManager navToolBar = new ToolBarManager(cbManager.getStyle());
-			navToolBar.add(new Separator(IWorkbenchActionConstants.HISTORY_GROUP));
-			navToolBar.add(new GroupMarker(IWorkbenchActionConstants.GROUP_APP));
-			navToolBar.add(backwardHistoryAction);
-			navToolBar.add(forwardHistoryAction);
-			navToolBar.add(new Separator(IWorkbenchActionConstants.PIN_GROUP));
-			navToolBar.add(pinEditorContributionItem);
-			
-			// Add to the cool bar manager
-			cbManager.add(new ToolBarContributionItem(navToolBar,IWorkbenchActionConstants.TOOLBAR_NAVIGATE));
-		}
-		
-		cbManager.add(new GroupMarker(IWorkbenchActionConstants.GROUP_EDITOR));
-		
-	}
-	
-	
-	
-	/**
-	 * Fills the menu bar with the workbench actions.
-	 */
-	public void populateMenuBar(IActionBarConfigurer configurer) {		
-		IMenuManager menubar = configurer.getMenuManager();
-		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(IDEWorkbenchMessages.getString("Workbench.file"), IWorkbenchActionConstants.M_FILE); //$NON-NLS-1$
-		menu.add(new GroupMarker(IWorkbenchActionConstants.FILE_START));
-		{
-			// create the New submenu, using the same id for it as the New action
-		    String newText = IDEWorkbenchMessages.getString("Workbench.new"); //$NON-NLS-1$
-		    String newId = ActionFactory.NEW.getId();
-			MenuManager newMenu = new MenuManager(newText, newId) {
-				public String getMenuText() {
-					String result= super.getMenuText();
-					if (newQuickMenu == null)
-					    return result;
-					String shortCut = newQuickMenu.getShortCutString();
-					if (shortCut == null)
-						return result;
-					return result + "\t" + shortCut; //$NON-NLS-1$
-				}
-			};
-			newMenu.add(new Separator(newId));
-			this.newWizardMenu = new NewWizardMenu(getWindow());
-			newMenu.add(this.newWizardMenu);
-			newMenu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-			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(refreshAction);
-
-		menu.add(new GroupMarker(IWorkbenchActionConstants.SAVE_EXT));
-		menu.add(new Separator());
-		menu.add(printAction);
-		menu.add(new GroupMarker(IWorkbenchActionConstants.PRINT_EXT));
-		menu.add(new Separator());
-		menu.add(openWorkspaceAction);
-		menu.add(new GroupMarker(IWorkbenchActionConstants.OPEN_EXT));
-		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(ContributionItemFactory.REOPEN_EDITORS.create(getWindow()));
-		menu.add(new GroupMarker(IWorkbenchActionConstants.MRU));
-		menu.add(new Separator());
-		menu.add(quitAction);
-		menu.add(new GroupMarker(IWorkbenchActionConstants.FILE_END));
-		return menu;
-	}
-
-	/**
-	 * Creates and returns the Edit menu.
-	 */
-	private MenuManager createEditMenu() {
-		MenuManager menu = new MenuManager(IDEWorkbenchMessages.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;
-	}
-
-	/**
-	 * Creates and returns the Navigate menu.
-	 */
-	private MenuManager createNavigateMenu() {
-		MenuManager menu = new MenuManager(IDEWorkbenchMessages.getString("Workbench.navigate"), IWorkbenchActionConstants.M_NAVIGATE); //$NON-NLS-1$
-		menu.add(new GroupMarker(IWorkbenchActionConstants.NAV_START));
-		menu.add(goIntoAction);
-
-		MenuManager goToSubMenu = new MenuManager(IDEWorkbenchMessages.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));
-		{
-		
-			MenuManager showInSubMenu = new MenuManager(IDEWorkbenchMessages.getString("Workbench.showIn"), "showIn") {  //$NON-NLS-1$ //$NON-NLS-2$
-				public String getMenuText() {
-					String result= super.getMenuText();
-					if (showInQuickMenu == null)
-					    return null;
-					String shortCut= showInQuickMenu.getShortCutString();
-					if (shortCut == null)
-						return result;
-					return result + "\t" + shortCut; //$NON-NLS-1$
-				}
-			};
-			showInSubMenu.add(ContributionItemFactory.VIEWS_SHOW_IN.create(getWindow()));
-			menu.add(showInSubMenu);
-		}
-		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() {
-		MenuManager menu = new MenuManager(IDEWorkbenchMessages.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());
-		menu.add(buildAllAction);
-		menu.add(buildProjectAction);
-		addWorkingSetBuildActions(menu);
-		menu.add(cleanAction);
-		menu.add(toggleAutoBuildAction);
-		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));
-		menu.add(new Separator());
-		menu.add(projectPropertyDialogAction);
-		return menu;
-	}
-
-	/**
-	 * Creates and returns the Window menu.
-	 */
-	private MenuManager createWindowMenu() {
-		MenuManager menu = new MenuManager(IDEWorkbenchMessages.getString("Workbench.window"), IWorkbenchActionConstants.M_WINDOW); //$NON-NLS-1$
-
-		IWorkbenchAction action = ActionFactory.OPEN_NEW_WINDOW.create(getWindow());
-		action.setText(IDEWorkbenchMessages.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(IWorkbenchActionConstants.MB_ADDITIONS));
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS + "end")); //$NON-NLS-1$
-        menu.add(openPreferencesAction);
-                
-		menu.add(ContributionItemFactory.OPEN_WINDOWS.create(getWindow()));
-		return menu;
-	}
-
-	/**
-	 * Adds the perspective actions to the specified menu.
-	 */
-	private void addPerspectiveActions(MenuManager menu) {
-		{
-			String openText = IDEWorkbenchMessages.getString("Workbench.openPerspective"); //$NON-NLS-1$
-			MenuManager changePerspMenuMgr = new MenuManager(openText, "openPerspective"); //$NON-NLS-1$
-			IContributionItem changePerspMenuItem = 
-				ContributionItemFactory.PERSPECTIVES_SHORTLIST.create(getWindow());
-			changePerspMenuMgr.add(changePerspMenuItem);
-			menu.add(changePerspMenuMgr);
-		}
-		{
-			MenuManager showViewMenuMgr = new MenuManager(IDEWorkbenchMessages.getString("Workbench.showView"), "showView"); //$NON-NLS-1$ //$NON-NLS-2$
-			IContributionItem showViewMenu = ContributionItemFactory.VIEWS_SHORTLIST.create(getWindow());
-			showViewMenuMgr.add(showViewMenu);
-			menu.add(showViewMenuMgr);
-		}
-		menu.add(new Separator());
-		menu.add(editActionSetAction);
-		menu.add(savePerspectiveAction);
-		menu.add(resetPerspectiveAction);
-		menu.add(closePerspAction);
-		menu.add(closeAllPerspsAction);
-	}
-
-	/**
-	 * Adds the keyboard navigation submenu to the specified menu.
-	 */
-	private void addWorkingSetBuildActions(MenuManager menu) {
-		buildWorkingSetMenu= new MenuManager(IDEWorkbenchMessages.getString("Workbench.buildSet")); //$NON-NLS-1$
-		IContributionItem workingSetBuilds = new BuildSetMenu(window, actionBarConfigurer);
-		buildWorkingSetMenu.add(workingSetBuilds);
-		menu.add(buildWorkingSetMenu);
-	}
-	
-	/**
-	 * Adds the keyboard navigation submenu to the specified menu.
-	 */
-	private void addKeyboardShortcuts(MenuManager menu) {
-		MenuManager subMenu = new MenuManager(IDEWorkbenchMessages.getString("Workbench.shortcuts"), "shortcuts"); //$NON-NLS-1$ //$NON-NLS-2$
-		menu.add(subMenu);
-		subMenu.add(showPartPaneMenuAction);
-		subMenu.add(showViewMenuAction);
-		subMenu.add(new Separator());
-		subMenu.add(maximizePartAction);
-		subMenu.add(new Separator());
-		subMenu.add(activateEditorAction);
-		subMenu.add(nextEditorAction);
-		subMenu.add(prevEditorAction);
-		subMenu.add(workbookEditorsAction);
-		subMenu.add(new Separator());
-		subMenu.add(nextPartAction);
-		subMenu.add(prevPartAction);
-		subMenu.add(new Separator());
-		subMenu.add(nextPerspectiveAction);
-		subMenu.add(prevPerspectiveAction);
-	}
-	/**
-	 * Creates and returns the Help menu.
-	 */
-	private MenuManager createHelpMenu() {
-		MenuManager menu = new MenuManager(IDEWorkbenchMessages.getString("Workbench.help"), IWorkbenchActionConstants.M_HELP); //$NON-NLS-1$
-		// See if a welcome or intro page is specified
-		if (introAction != null)
-			menu.add(introAction);
-		else if (quickStartAction != null)
-			menu.add(quickStartAction);
-		menu.add(helpContentsAction);
-		
-        // See if a tips and tricks page is specified
-		if (tipsAndTricksAction != null)
-			menu.add(tipsAndTricksAction);
-		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);
-		
-		/*		
-		final IMutableContextActivationService contextActivationServiceA = ContextActivationServiceFactory.getMutableContextActivationService();
-		contextActivationServiceA.setActiveContextIds(new HashSet(Collections.singletonList("A")));
-
-		final IMutableContextActivationService contextActivationServiceB = ContextActivationServiceFactory.getMutableContextActivationService();
-		contextActivationServiceB.setActiveContextIds(new HashSet(Collections.singletonList("B")));				
-		
-		menu.add(new Separator());
-		
-		menu.add(new Action("Add context A to the workbench") {
-			public void run() {
-				IWorkbench workbench = PlatformUI.getWorkbench();
-				IWorkbenchContextSupport workbenchContextSupport = (IWorkbenchContextSupport) workbench.getContextSupport();
-				workbenchContextSupport.getCompoundContextActivationService().addContextActivationService(contextActivationServiceA);
-			}
-		});
-
-		menu.add(new Action("Remove context A from the workbench") {
-			public void run() {
-				IWorkbench workbench = PlatformUI.getWorkbench();
-				IWorkbenchContextSupport workbenchContextSupport = (IWorkbenchContextSupport) workbench.getContextSupport();
-				workbenchContextSupport.getCompoundContextActivationService().removeContextActivationService(contextActivationServiceA);
-			}
-		});
-		
-		menu.add(new Action("Add context B to the workbench") {
-			public void run() {
-				IWorkbench workbench = PlatformUI.getWorkbench();
-				IWorkbenchContextSupport workbenchContextSupport = (IWorkbenchContextSupport) workbench.getContextSupport();
-				workbenchContextSupport.getCompoundContextActivationService().addContextActivationService(contextActivationServiceB);
-			}
-		});
-
-		menu.add(new Action("Remove context B from the workbench") {
-			public void run() {
-				IWorkbench workbench = PlatformUI.getWorkbench();
-				IWorkbenchContextSupport workbenchContextSupport = (IWorkbenchContextSupport) workbench.getContextSupport();
-				workbenchContextSupport.getCompoundContextActivationService().removeContextActivationService(contextActivationServiceB);
-			}
-		});
-		
-		menu.add(new Separator());
-		
-		menu.add(new Action("Add context A to the workbench page") {
-			public void run() {
-				IWorkbench workbench = PlatformUI.getWorkbench();
-				IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
-
-				if (workbenchWindow != null) {
-					IWorkbenchPage workbenchPage = workbenchWindow.getActivePage();
-					
-					if (workbenchPage != null) {					
-						IWorkbenchPageContextSupport workbenchPageContextSupport = (IWorkbenchPageContextSupport) workbenchPage.getContextSupport();
-						workbenchPageContextSupport.getCompoundContextActivationService().addContextActivationService(contextActivationServiceA);
-					}
-				}
-			}
-		});
-		
-		menu.add(new Action("Remove context A from the workbench page") {
-			public void run() {
-				IWorkbench workbench = PlatformUI.getWorkbench();
-				IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
-
-				if (workbenchWindow != null) {
-					IWorkbenchPage workbenchPage = workbenchWindow.getActivePage();
-					
-					if (workbenchPage != null) {					
-						IWorkbenchPageContextSupport workbenchPageContextSupport = (IWorkbenchPageContextSupport) workbenchPage.getContextSupport();
-						workbenchPageContextSupport.getCompoundContextActivationService().removeContextActivationService(contextActivationServiceA);
-					}
-				}
-			}
-		});		
-		
-		menu.add(new Action("Add context B to the workbench page") {
-			public void run() {
-				IWorkbench workbench = PlatformUI.getWorkbench();
-				IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
-
-				if (workbenchWindow != null) {
-					IWorkbenchPage workbenchPage = workbenchWindow.getActivePage();
-					
-					if (workbenchPage != null) {					
-						IWorkbenchPageContextSupport workbenchPageContextSupport = (IWorkbenchPageContextSupport) workbenchPage.getContextSupport();
-						workbenchPageContextSupport.getCompoundContextActivationService().addContextActivationService(contextActivationServiceB);
-					}
-				}
-			}
-		});
-
-		menu.add(new Action("Remove context B from the workbench page") {
-			public void run() {
-				IWorkbench workbench = PlatformUI.getWorkbench();
-				IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
-
-				if (workbenchWindow != null) {
-					IWorkbenchPage workbenchPage = workbenchWindow.getActivePage();
-					
-					if (workbenchPage != null) {					
-						IWorkbenchPageContextSupport workbenchPageContextSupport = (IWorkbenchPageContextSupport) workbenchPage.getContextSupport();
-						workbenchPageContextSupport.getCompoundContextActivationService().removeContextActivationService(contextActivationServiceB);
-					}
-				}
-			}
-		});
-		
-		IHandler handlerA = new IHandler() {
-			public void execute() {
-			}
-			
-			public void execute(Event event) {
-			}
-			
-			public boolean isEnabled() {
-				return false;
-			}
-		};
-		
-		IHandler handlerB = new IHandler() {
-			public void execute() {
-			}
-			
-			public void execute(Event event) {
-			}
-			
-			public boolean isEnabled() {
-				return false;
-			}
-		};		
-		
-		final IMutableCommandHandlerService commandHandlerServiceA = CommandHandlerServiceFactory.getMutableCommandHandlerService();
-		commandHandlerServiceA.setHandlersByCommandId(new HashMap(Collections.singletonMap("command", handlerA)));
-
-		final IMutableCommandHandlerService commandHandlerServiceB = CommandHandlerServiceFactory.getMutableCommandHandlerService();
-		commandHandlerServiceB.setHandlersByCommandId(new HashMap(Collections.singletonMap("command", handlerB)));				
-				
-		menu.add(new Separator());
-		
-		menu.add(new Action("Add handler A to the workbench") {
-			public void run() {
-				IWorkbench workbench = PlatformUI.getWorkbench();
-				IWorkbenchCommandSupport workbenchCommandSupport = (IWorkbenchCommandSupport) workbench.getCommandSupport();
-				workbenchCommandSupport.getCompoundCommandHandlerService().addCommandHandlerService(commandHandlerServiceA);
-			}
-		});
-
-		menu.add(new Action("Remove handler A from the workbench") {
-			public void run() {
-				IWorkbench workbench = PlatformUI.getWorkbench();
-				IWorkbenchCommandSupport workbenchCommandSupport = (IWorkbenchCommandSupport) workbench.getCommandSupport();
-				workbenchCommandSupport.getCompoundCommandHandlerService().removeCommandHandlerService(commandHandlerServiceA);
-			}
-		});
-		
-		menu.add(new Action("Add handler B to the workbench") {
-			public void run() {
-				IWorkbench workbench = PlatformUI.getWorkbench();
-				IWorkbenchCommandSupport workbenchCommandSupport = (IWorkbenchCommandSupport) workbench.getCommandSupport();
-				workbenchCommandSupport.getCompoundCommandHandlerService().addCommandHandlerService(commandHandlerServiceB);
-			}
-		});
-
-		menu.add(new Action("Remove handler B from the workbench") {
-			public void run() {
-				IWorkbench workbench = PlatformUI.getWorkbench();
-				IWorkbenchCommandSupport workbenchCommandSupport = (IWorkbenchCommandSupport) workbench.getCommandSupport();
-				workbenchCommandSupport.getCompoundCommandHandlerService().removeCommandHandlerService(commandHandlerServiceB);
-			}
-		});
-
-		menu.add(new Separator());
-		
-		menu.add(new Action("Add handler A to the workbench page") {
-			public void run() {
-				IWorkbench workbench = PlatformUI.getWorkbench();
-				IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
-
-				if (workbenchWindow != null) {
-					IWorkbenchPage workbenchPage = workbenchWindow.getActivePage();
-					
-					if (workbenchPage != null) {					
-						IWorkbenchPageCommandSupport workbenchPageCommandSupport = (IWorkbenchPageCommandSupport) workbenchPage.getCommandSupport();
-						workbenchPageCommandSupport.getCompoundCommandHandlerService().addCommandHandlerService(commandHandlerServiceA);
-					}
-				}
-			}
-		});
-
-		menu.add(new Action("Remove handler A from the workbench page") {
-			public void run() {
-				IWorkbench workbench = PlatformUI.getWorkbench();
-				IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
-
-				if (workbenchWindow != null) {
-					IWorkbenchPage workbenchPage = workbenchWindow.getActivePage();
-					
-					if (workbenchPage != null) {					
-						IWorkbenchPageCommandSupport workbenchPageCommandSupport = (IWorkbenchPageCommandSupport) workbenchPage.getCommandSupport();
-						workbenchPageCommandSupport.getCompoundCommandHandlerService().removeCommandHandlerService(commandHandlerServiceA);
-					}
-				}
-			}
-		});
-		
-		menu.add(new Action("Add handler B to the workbench page") {
-			public void run() {
-				IWorkbench workbench = PlatformUI.getWorkbench();
-				IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
-
-				if (workbenchWindow != null) {
-					IWorkbenchPage workbenchPage = workbenchWindow.getActivePage();
-					
-					if (workbenchPage != null) {					
-						IWorkbenchPageCommandSupport workbenchPageCommandSupport = (IWorkbenchPageCommandSupport) workbenchPage.getCommandSupport();
-						workbenchPageCommandSupport.getCompoundCommandHandlerService().addCommandHandlerService(commandHandlerServiceB);
-					}
-				}
-			}
-		});
-
-		menu.add(new Action("Remove handler B from the workbench page") {
-			public void run() {
-				IWorkbench workbench = PlatformUI.getWorkbench();
-				IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
-
-				if (workbenchWindow != null) {
-					IWorkbenchPage workbenchPage = workbenchWindow.getActivePage();
-					
-					if (workbenchPage != null) {					
-						IWorkbenchPageCommandSupport workbenchPageCommandSupport = (IWorkbenchPageCommandSupport) workbenchPage.getCommandSupport();
-						workbenchPageCommandSupport.getCompoundCommandHandlerService().removeCommandHandlerService(commandHandlerServiceB);
-					}
-				}
-			}
-		});
-		*/
-		
-		return menu;
-	}
-
-	/**
-	 * Disposes any resources and unhooks any listeners that are no longer needed.
-	 * Called when the window is closed.
-	 */
-	public void dispose() {
-		actionBarConfigurer.getStatusLineManager().remove(statusLineItem);
-		if (pageListener != null) {
-		    window.removePageListener(pageListener);
-		    pageListener = null;
-		}
-		if (perspectiveListener == null) {
-		    window.removePerspectiveListener(perspectiveListener);
-		    perspectiveListener = null;
-		}
-		if (prefListener != null) {
-			ResourcesPlugin.getPlugin().getPluginPreferences().removePropertyChangeListener(
-				prefListener);
-			prefListener = null;
-		}
-		if (propPrefListener != null) {
-			WorkbenchPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(propPrefListener);
-			propPrefListener = null;
-		}
-		closeAction.dispose();
-		closeAllAction.dispose();
-		closeAllSavedAction.dispose();
-		saveAction.dispose();
-		saveAllAction.dispose();
-		aboutAction.dispose();
-		openPreferencesAction.dispose();
-		saveAsAction.dispose();
-		hideShowEditorAction.dispose();
-		savePerspectiveAction.dispose();
-		resetPerspectiveAction.dispose();
-		editActionSetAction.dispose();
-		closePerspAction.dispose();
-		lockToolBarAction.dispose();
-		closeAllPerspsAction.dispose();
-		showViewMenuAction.dispose();
-		showPartPaneMenuAction.dispose();
-		nextPartAction.dispose();
-		prevPartAction.dispose();
-		nextEditorAction.dispose();
-		prevEditorAction.dispose();
-		nextPerspectiveAction.dispose();
-		prevPerspectiveAction.dispose();
-		activateEditorAction.dispose();
-		maximizePartAction.dispose();
-		workbenchEditorsAction.dispose();
-		workbookEditorsAction.dispose();
-		backwardHistoryAction.dispose();
-		forwardHistoryAction.dispose();
-		undoAction.dispose();
-		redoAction.dispose();
-		cutAction.dispose();
-		copyAction.dispose();
-		pasteAction.dispose();
-		deleteAction.dispose();
-		selectAllAction.dispose();
-		findAction.dispose();
-		printAction.dispose();
-		revertAction.dispose();
-		refreshAction.dispose();
-		propertiesAction.dispose();
-		quitAction.dispose();
-		moveAction.dispose();
-		renameAction.dispose();
-		goIntoAction.dispose();
-		backAction.dispose();
-		forwardAction.dispose();
-		upAction.dispose();
-		nextAction.dispose();
-		previousAction.dispose();
-
-		// editorsDropDownAction is not currently an IWorkbenchAction		
-		// editorsDropDownAction.dispose();
-		openWorkspaceAction.dispose();
-		projectPropertyDialogAction.dispose();
-		newWizardAction.dispose();
-		newWizardDropDownAction.dispose();
-		importResourcesAction.dispose();
-		exportResourcesAction.dispose();
-		cleanAction.dispose();
-		toggleAutoBuildAction.dispose();
-		buildAllAction.dispose();
-		if (quickStartAction != null) {
-			quickStartAction.dispose();
-		}
-		if (tipsAndTricksAction != null) {
-			tipsAndTricksAction.dispose();
-		}
-		addBookmarkAction.dispose();
-		addTaskAction.dispose();
-		buildProjectAction.dispose();
-		openProjectAction.dispose();
-		closeProjectAction.dispose();
-		pinEditorContributionItem.dispose();
-		if (introAction != null) {
-		    introAction.dispose();
-		}
-		
-		showInQuickMenu.dispose();
-		newQuickMenu.dispose();
-		
-		// null out actions to make leak debugging easier
-		closeAction = null;
-		closeAllAction = null;
-		closeAllSavedAction = null;
-		saveAction = null;
-		saveAllAction = null;
-		helpContentsAction = null;
-		aboutAction = null;
-		openPreferencesAction = null;
-		saveAsAction = null;
-		hideShowEditorAction = null;
-		savePerspectiveAction = null;
-		resetPerspectiveAction = null;
-		editActionSetAction = null;
-		closePerspAction = null;
-		lockToolBarAction = null;
-		closeAllPerspsAction = null;
-		showViewMenuAction = null;
-		showPartPaneMenuAction = null;
-		nextPartAction = null;
-		prevPartAction = null;
-		nextEditorAction = null;
-		prevEditorAction = null;
-		nextPerspectiveAction = null;
-		prevPerspectiveAction = null;
-		activateEditorAction = null;
-		maximizePartAction = null;
-		workbenchEditorsAction = null;
-		workbookEditorsAction = null;
-		backwardHistoryAction = null;
-		forwardHistoryAction = null;
-		undoAction = null;
-		redoAction = null;
-		cutAction = null;
-		copyAction = null;
-		pasteAction = null;
-		deleteAction = null;
-		selectAllAction = null;
-		findAction = null;
-		printAction = null;
-		revertAction = null;
-		refreshAction = null;
-		propertiesAction = null;
-		quitAction = null;
-		moveAction = null;
-		renameAction = null;
-		goIntoAction = null;
-		backAction = null;
-		forwardAction = null;
-		upAction = null;
-		nextAction = null;
-		previousAction = null;
-		openWorkspaceAction = null;
-		projectPropertyDialogAction = null;
-		newWizardAction = null;
-		newWizardDropDownAction = null;
-		importResourcesAction = null;
-		exportResourcesAction = null;
-		buildAllAction = null;
-		cleanAction = null;
-		toggleAutoBuildAction = null;
-		buildWorkingSetMenu = null;
-		quickStartAction = null;
-		tipsAndTricksAction = null;
-		showInQuickMenu = null;
-		newQuickMenu = null;
-		addBookmarkAction = null;
-		addTaskAction = null;
-		buildProjectAction = null;
-		openProjectAction = null;
-		closeProjectAction = null;
-		newWizardMenu = null;
-		pinEditorContributionItem = null;
-		statusLineItem = null;
-		prefListener = null;
-		propPrefListener = null;
-		introAction = null;
-	}
-
-	void updateModeLine(final String text) {
-		statusLineItem.setText(text);
-	}
-
-	/**
-	 * Returns true if the menu with the given ID should
-	 * be considered as an OLE container menu. Container menus
-	 * are preserved in OLE menu merging.
-	 */
-	public boolean isContainerMenu(String menuId) {
-		if (menuId.equals(IWorkbenchActionConstants.M_FILE))
-			return true;
-		if (menuId.equals(IWorkbenchActionConstants.M_WINDOW))
-			return true;
-		return false;
-	}
-	/**
-	 * Return whether or not given id matches the id of the coolitems that
-	 * the workbench creates.
-	 */
-	public boolean isWorkbenchCoolItemId(String id) {
-		if (IWorkbenchActionConstants.TOOLBAR_FILE.equalsIgnoreCase(id)) return true;
-		if (IWorkbenchActionConstants.TOOLBAR_NAVIGATE.equalsIgnoreCase(id)) return true;
-		return false;
-	}
-
-	/**
-	 * Fills the status line with the workbench contribution items.
-	 */
-	public void populateStatusLine(IActionBarConfigurer configurer) {
-		IStatusLineManager statusLine = configurer.getStatusLineManager();
-		statusLine.add(statusLineItem);
-	}
-	
-	/**
-	 * Creates actions (and contribution items) for the menu bar, toolbar and status line.
-	 */
-	private void makeActions(IWorkbenchConfigurer workbenchConfigurer, IActionBarConfigurer actionBarConfigurer) {
-
-		// The actions in jface do not have menu vs. enable, vs. disable vs. color
-		// There are actions in here being passed the workbench - problem 
-		setCurrentActionBarConfigurer(actionBarConfigurer);
-		
-		// @issue should obtain from ConfigurationItemFactory
-		statusLineItem = new StatusLineContributionItem("ModeContributionItem"); //$NON-NLS-1$
-		
-		newWizardAction = ActionFactory.NEW.create(getWindow());
-		registerGlobalAction(newWizardAction);
-
-		newWizardDropDownAction = IDEActionFactory.NEW_WIZARD_DROP_DOWN.create(getWindow());
-
-		importResourcesAction = ActionFactory.IMPORT.create(getWindow());
-		registerGlobalAction(importResourcesAction);
-
-		exportResourcesAction = ActionFactory.EXPORT.create(getWindow());
-		registerGlobalAction(exportResourcesAction);
-		
-		buildAllAction = IDEActionFactory.BUILD.create(getWindow());
-		registerGlobalAction(buildAllAction);
-
-		cleanAction = IDEActionFactory.BUILD_CLEAN.create(getWindow());
-		registerGlobalAction(cleanAction);
-
-		toggleAutoBuildAction = IDEActionFactory.BUILD_AUTOMATICALLY.create(getWindow());
-		registerGlobalAction(toggleAutoBuildAction);
-
-		saveAction = ActionFactory.SAVE.create(getWindow());
-		registerGlobalAction(saveAction);
-
-		saveAsAction = ActionFactory.SAVE_AS.create(getWindow());
-		registerGlobalAction(saveAsAction);
-
-		saveAllAction = ActionFactory.SAVE_ALL.create(getWindow());
-		registerGlobalAction(saveAllAction);
-		
-		undoAction = ActionFactory.UNDO.create(getWindow());
-		registerGlobalAction(undoAction);
-
-		redoAction = ActionFactory.REDO.create(getWindow());
-		registerGlobalAction(redoAction);
-
-		cutAction = ActionFactory.CUT.create(getWindow());
-		registerGlobalAction(cutAction);
-
-		copyAction = ActionFactory.COPY.create(getWindow());
-		registerGlobalAction(copyAction);
-
-		pasteAction = ActionFactory.PASTE.create(getWindow());
-		registerGlobalAction(pasteAction);
-
-		printAction = ActionFactory.PRINT.create(getWindow());
-		registerGlobalAction(printAction);
-
-		selectAllAction = ActionFactory.SELECT_ALL.create(getWindow());
-		registerGlobalAction(selectAllAction);
-		
-		findAction = ActionFactory.FIND.create(getWindow());
-		registerGlobalAction(findAction);
-
-		closeAction = ActionFactory.CLOSE.create(getWindow());
-		registerGlobalAction(closeAction);
-
-		closeAllAction = ActionFactory.CLOSE_ALL.create(getWindow());
-		registerGlobalAction(closeAllAction);
-
-		closeAllSavedAction = ActionFactory.CLOSE_ALL_SAVED.create(getWindow());
-		registerGlobalAction(closeAllSavedAction);
-
-		helpContentsAction = ActionFactory.HELP_CONTENTS.create(getWindow());
-		registerGlobalAction(helpContentsAction);
-
-		aboutAction = ActionFactory.ABOUT.create(getWindow());
-		aboutAction
-				.setImageDescriptor(IDEInternalWorkbenchImages
-				        .getImageDescriptor(IDEInternalWorkbenchImages.IMG_OBJS_DEFAULT_PROD));
-		registerGlobalAction(aboutAction);
-
-		openPreferencesAction = ActionFactory.PREFERENCES.create(getWindow());
-		registerGlobalAction(openPreferencesAction);
-
-		addBookmarkAction = IDEActionFactory.BOOKMARK.create(getWindow());
-		registerGlobalAction(addBookmarkAction);
-
-		addTaskAction = IDEActionFactory.ADD_TASK.create(getWindow());
-		registerGlobalAction(addTaskAction);
-
-		deleteAction = ActionFactory.DELETE.create(getWindow());
-		registerGlobalAction(deleteAction);
-
-		AboutInfo[] infos = IDEWorkbenchPlugin.getDefault().getFeatureInfos();
-		// See if a welcome page is specified
-		for (int i = 0; i < infos.length; i++) {
-			if (infos[i].getWelcomePageURL() != null) {
-				quickStartAction = IDEActionFactory.QUICK_START.create(getWindow());
-				registerGlobalAction(quickStartAction);
-				break;
-			}
-		}
-		// See if a tips and tricks page is specified
-		for (int i = 0; i < infos.length; i++) {
-			if (infos[i].getTipsAndTricksHref() != null) {
-				tipsAndTricksAction = IDEActionFactory.TIPS_AND_TRICKS.create(getWindow());
-				registerGlobalAction(tipsAndTricksAction);
-				break;
-			}
-		}
-
-		// Actions for invisible accelerators
-		showViewMenuAction = ActionFactory.SHOW_VIEW_MENU.create(getWindow());
-		registerGlobalAction(showViewMenuAction);
-
-		showPartPaneMenuAction = ActionFactory.SHOW_PART_PANE_MENU.create(getWindow());
-		registerGlobalAction(showPartPaneMenuAction);
-
-		nextEditorAction = ActionFactory.NEXT_EDITOR.create(getWindow());
-		prevEditorAction = ActionFactory.PREVIOUS_EDITOR.create(getWindow());
-		ActionFactory.linkCycleActionPair(nextEditorAction, prevEditorAction);
-		registerGlobalAction(nextEditorAction);
-		registerGlobalAction(prevEditorAction);
-
-		nextPartAction = ActionFactory.NEXT_PART.create(getWindow());
-		prevPartAction = ActionFactory.PREVIOUS_PART.create(getWindow());
-		ActionFactory.linkCycleActionPair(nextPartAction, prevPartAction);
-		registerGlobalAction(nextPartAction);
-		registerGlobalAction(prevPartAction);
-
-		nextPerspectiveAction = ActionFactory.NEXT_PERSPECTIVE.create(getWindow());
-		prevPerspectiveAction = ActionFactory.PREVIOUS_PERSPECTIVE.create(getWindow());
-		ActionFactory.linkCycleActionPair(nextPerspectiveAction, prevPerspectiveAction);
-		registerGlobalAction(nextPerspectiveAction);
-		registerGlobalAction(prevPerspectiveAction);
-
-		activateEditorAction = ActionFactory.ACTIVATE_EDITOR.create(getWindow());
-		registerGlobalAction(activateEditorAction);
-
-		maximizePartAction = ActionFactory.MAXIMIZE.create(getWindow());
-		registerGlobalAction(maximizePartAction);
-		
-		workbenchEditorsAction = ActionFactory.SHOW_OPEN_EDITORS.create(getWindow());
-		registerGlobalAction(workbenchEditorsAction);
-		
-		workbookEditorsAction = ActionFactory.SHOW_WORKBOOK_EDITORS.create(getWindow());
-		registerGlobalAction(workbookEditorsAction);
-
-		hideShowEditorAction = ActionFactory.SHOW_EDITOR.create(getWindow());
-		registerGlobalAction(hideShowEditorAction);
-		savePerspectiveAction = ActionFactory.SAVE_PERSPECTIVE.create(getWindow());
-		registerGlobalAction(savePerspectiveAction);
-		editActionSetAction = ActionFactory.EDIT_ACTION_SETS.create(getWindow());
-		registerGlobalAction(editActionSetAction);
-		lockToolBarAction = ActionFactory.LOCK_TOOL_BAR.create(getWindow());
-		registerGlobalAction(lockToolBarAction);
-		resetPerspectiveAction = ActionFactory.RESET_PERSPECTIVE.create(getWindow());
-		registerGlobalAction(resetPerspectiveAction);
-		closePerspAction = ActionFactory.CLOSE_PERSPECTIVE.create(getWindow());
-		registerGlobalAction(closePerspAction);
-		closeAllPerspsAction = ActionFactory.CLOSE_ALL_PERSPECTIVES.create(getWindow());
-		registerGlobalAction(closeAllPerspsAction);
-
-		forwardHistoryAction = ActionFactory.FORWARD_HISTORY.create(getWindow());
-		registerGlobalAction(forwardHistoryAction);
-
-		backwardHistoryAction = ActionFactory.BACKWARD_HISTORY.create(getWindow());
-		registerGlobalAction(backwardHistoryAction);
-
-		revertAction = ActionFactory.REVERT.create(getWindow());
-		registerGlobalAction(revertAction);
-
-		refreshAction = ActionFactory.REFRESH.create(getWindow());
-		registerGlobalAction(refreshAction);
-
-		propertiesAction = ActionFactory.PROPERTIES.create(getWindow());
-		registerGlobalAction(propertiesAction);
-
-		quitAction = ActionFactory.QUIT.create(getWindow());
-		registerGlobalAction(quitAction);
-
-		moveAction = ActionFactory.MOVE.create(getWindow());
-		registerGlobalAction(moveAction);
-
-		renameAction = ActionFactory.RENAME.create(getWindow());
-		registerGlobalAction(renameAction);
-
-		goIntoAction = ActionFactory.GO_INTO.create(getWindow());
-		registerGlobalAction(goIntoAction);
-
-		backAction = ActionFactory.BACK.create(getWindow());
-		registerGlobalAction(backAction);
-
-		forwardAction = ActionFactory.FORWARD.create(getWindow());
-		registerGlobalAction(forwardAction);
-
-		upAction = ActionFactory.UP.create(getWindow());
-		registerGlobalAction(upAction);
-
-		nextAction = ActionFactory.NEXT.create(getWindow());
-		nextAction.setImageDescriptor(
-			IDEInternalWorkbenchImages.getImageDescriptor(
-				IDEInternalWorkbenchImages.IMG_ETOOL_NEXT_NAV));
-		registerGlobalAction(nextAction);
-
-		previousAction = ActionFactory.PREVIOUS.create(getWindow());
-		previousAction.setImageDescriptor(
-			IDEInternalWorkbenchImages.getImageDescriptor(
-				IDEInternalWorkbenchImages.IMG_ETOOL_PREVIOUS_NAV));
-		registerGlobalAction(previousAction);
-
-		buildProjectAction = IDEActionFactory.BUILD_PROJECT.create(getWindow());
-		registerGlobalAction(buildProjectAction);
-		
-		openProjectAction = IDEActionFactory.OPEN_PROJECT.create(getWindow());
-		registerGlobalAction(openProjectAction);
-
-		closeProjectAction = IDEActionFactory.CLOSE_PROJECT.create(getWindow());
-		registerGlobalAction(closeProjectAction);
-
-		openWorkspaceAction = IDEActionFactory.OPEN_WORKSPACE.create(getWindow());
-		registerGlobalAction(openWorkspaceAction);
-
-		projectPropertyDialogAction = IDEActionFactory.OPEN_PROJECT_PROPERTIES.create(getWindow());
-		registerGlobalAction(projectPropertyDialogAction);	
-		
-		if (getWindow().getWorkbench().getIntroManager().hasIntro()) {
-			introAction = ActionFactory.INTRO.create(window);
-			registerGlobalAction(introAction);
-		}
-		
-		final String showInQuickMenuId= "org.eclipse.ui.navigate.showInQuickMenu"; //$NON-NLS-1$
-		showInQuickMenu= new QuickMenuAction(showInQuickMenuId) { 
-			protected void fillMenu(IMenuManager menu) {
-				menu.add(ContributionItemFactory.VIEWS_SHOW_IN.create(getWindow()));
-			}
-		};
-		registerGlobalAction(showInQuickMenu);
-		
-		final String newQuickMenuId= "org.eclipse.ui.file.newQuickMenu"; //$NON-NLS-1$
-		newQuickMenu= new QuickMenuAction(newQuickMenuId) { 
-			protected void fillMenu(IMenuManager menu) {
-				menu.add(new NewWizardMenu(getWindow()));
-			}
-		};
-		registerGlobalAction(newQuickMenu);
-	
-		pinEditorContributionItem = ContributionItemFactory.PIN_EDITOR.create(getWindow());
-	}
-
-	private void setCurrentActionBarConfigurer(IActionBarConfigurer actionBarConfigurer)
-	{
-		this.actionBarConfigurer = actionBarConfigurer;
-	}
-	
-	private void registerGlobalAction(IAction action) {
-		actionBarConfigurer.registerGlobalAction(action);
-	}
-	
-	/**
-	 * Update the build actions on the toolbar and menu bar based on the 
-	 * current state of autobuild
-	 */
-	void updateBuildActions(boolean autoBuilding) {
-		//update menu bar actions in project menu
-		buildAllAction.setEnabled(!autoBuilding);
-		buildProjectAction.setEnabled(!autoBuilding);
-		toggleAutoBuildAction.setChecked(autoBuilding);
-
-		//update the cool bar build button
-		ICoolBarManager coolBarManager = actionBarConfigurer.getCoolBarManager();
-		IContributionItem cbItem = coolBarManager.find(IWorkbenchActionConstants.TOOLBAR_FILE);
-		if (!(cbItem instanceof ToolBarContributionItem)) {
-			// This should not happen
-			IDEWorkbenchPlugin.log("File toolbar contribution item is missing"); //$NON-NLS-1$
-			return;
-		}
-		ToolBarContributionItem toolBarItem = (ToolBarContributionItem)cbItem;
-		IToolBarManager toolBarManager = toolBarItem.getToolBarManager();
-		if (toolBarManager == null) {
-			// error if this happens, file toolbar assumed to always exist
-			IDEWorkbenchPlugin.log("File toolbar is missing"); //$NON-NLS-1$
-			return;
-		}
-		//add the build button if autobuild is on, and remove it otherwise
-		if (!autoBuilding) {
-			toolBarManager.appendToGroup(IWorkbenchActionConstants.BUILD_GROUP, buildAllAction);
-			toolBarManager.update(false);
-			toolBarItem.update(ICoolBarManager.SIZE);
-		} else if (buildAllAction != null) {
-			toolBarManager.remove(buildAllAction.getId());
-			toolBarManager.update(false);
-			toolBarItem.update(ICoolBarManager.SIZE);
-		}
-	}
-	
-	/**
-	 * Update the pin action's tool bar
-	 */
-	void updatePinActionToolbar() {
-		
-		ICoolBarManager coolBarManager = actionBarConfigurer.getCoolBarManager();
-		IContributionItem cbItem = coolBarManager.find(IWorkbenchActionConstants.TOOLBAR_NAVIGATE);
-		if (!(cbItem instanceof ToolBarContributionItem)) {
-			// This should not happen
-			IDEWorkbenchPlugin.log("Navigation toolbar contribution item is missing"); //$NON-NLS-1$
-			return;
-		}
-		ToolBarContributionItem toolBarItem = (ToolBarContributionItem)cbItem;
-		IToolBarManager toolBarManager = toolBarItem.getToolBarManager();
-		if (toolBarManager == null) {
-			// error if this happens, navigation toolbar assumed to always exist
-			IDEWorkbenchPlugin.log("Navigate toolbar is missing"); //$NON-NLS-1$
-			return;
-		}
-
-		toolBarManager.update(false);
-		toolBarItem.update(ICoolBarManager.SIZE);
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/BuildCleanAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/BuildCleanAction.java
deleted file mode 100644
index ac3838f..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/BuildCleanAction.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004 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.ide.actions;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.*;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.dialogs.CleanDialog;
-/**
- * The clean action replaces the rebuild actions. Clean will discard all built
- * state for all projects in the workspace, and deletes all problem markers.
- * The next time a build is run, projects will have to be built from scratch.
- * Technically this is only necessary if an incremental builder misbehaves.
- * 
- * @since 3.0
- */
-public class BuildCleanAction extends Action implements ActionFactory.IWorkbenchAction {
-	private IWorkbenchWindow window;
-	public BuildCleanAction(IWorkbenchWindow window) {
-		super(IDEWorkbenchMessages.getString("Workbench.buildClean")); //$NON-NLS-1$
-		setActionDefinitionId("org.eclipse.ui.project.cleanAction"); //$NON-NLS-1$
-		this.window = window;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.actions.ActionFactory.IWorkbenchAction#dispose()
-	 */
-	public void dispose() {
-		//nothing to dispose
-	}
-	public void run() {
-		ISelection selection = window.getSelectionService().getSelection();
-		IProject[] selected = null;
-		if (selection != null && !selection.isEmpty() && selection instanceof IStructuredSelection) {
-			selected = BuildSetAction.extractProjects(((IStructuredSelection)selection).toArray());
-		} else {
-			//see if we can extract a selected project from the active editor
-			IWorkbenchPart part = window.getPartService().getActivePart();
-			if (part instanceof IEditorPart) {
-				IEditorInput input = ((IEditorPart)part).getEditorInput();
-				if (input instanceof IFileEditorInput)
-					selected = new IProject[] {((IFileEditorInput)input).getFile().getProject()};
-			}
-		}
-		if (selected == null)
-			selected = new IProject[0];
-		new CleanDialog(window, selected).open();
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/BuildSetAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/BuildSetAction.java
deleted file mode 100644
index 219d61f..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/BuildSetAction.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004 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.ide.actions;
-import java.util.HashSet;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.actions.BuildAction;
-import org.eclipse.ui.application.IActionBarConfigurer;
-/**
- * This class will perform an incremental build on a working set.
- * 
- * @since 3.0
- */
-public class BuildSetAction extends Action {
-	public static BuildSetAction lastBuilt;
-	private IWorkingSet workingSet;
-	private IWorkbenchWindow window;
-	private IActionBarConfigurer actionBars;
-	/**
-	 * Convenience method for extracting the selected projects
-	 * from a selection
-	 */
-	protected static IProject[] extractProjects(Object[] selection) {
-		HashSet projects = new HashSet();
-		for (int i = 0; i < selection.length; i++) {
-			if (selection[i] instanceof IResource) {
-				projects.add(((IResource)selection[i]).getProject());
-			} else if (selection[i] instanceof IAdaptable) {
-				IAdaptable adaptable = (IAdaptable)selection[i];
-				IResource resource = (IResource)adaptable.getAdapter(IResource.class);
-				if (resource != null)
-				   projects.add(resource.getProject());
-			}
-		}
-		return (IProject[]) projects.toArray(new IProject[projects.size()]);
-	}
-	/**
-	 * Creates a new action that builds the provided working set when run
-	 */
-	public BuildSetAction(IWorkingSet set, IWorkbenchWindow window, IActionBarConfigurer actionBars) {
-		super(set == null ? "" : set.getName(), AS_RADIO_BUTTON); //$NON-NLS-1$
-		this.window = window;
-		this.actionBars = actionBars;
-		this.workingSet = set;
-	}
-	/**
-	 * Returns the working set that this instance is building
-	 */
-	public IWorkingSet getWorkingSet() {
-		return workingSet;
-	}
-	public void run() {
-		lastBuilt = this;
-		//register this action instance as the global handler for the build last action
-		setActionDefinitionId("org.eclipse.ui.project.buildLast"); //$NON-NLS-1$
-		actionBars.registerGlobalAction(this);
-
-		window.getWorkbench().getWorkingSetManager().addRecentWorkingSet(workingSet);
-		IProject[] projects = extractProjects(workingSet.getElements());
-		if (projects.length == 0)
-			return;
-		BuildAction build = new BuildAction(window.getShell(), IncrementalProjectBuilder.INCREMENTAL_BUILD);
-		build.selectionChanged(new StructuredSelection(projects));
-		build.run();
-	}
-	public void runWithEvent(Event event) {
-		//radio buttons receive an event when they become unselected,
-		//so we must not run the action in this case
-		if (event.widget instanceof MenuItem) {
-			if (!((MenuItem)event.widget).getSelection())
-				return;
-		}
-		run();
-	}
-	/* (non-Javadoc)
-	 * For debugging purposes only.
-	 */
-	public String toString() {
-		return "BuildSetAction(" + workingSet.getName() + ")"; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/BuildSetMenu.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/BuildSetMenu.java
deleted file mode 100644
index c325cea..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/BuildSetMenu.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004 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.ide.actions;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.ContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.application.IActionBarConfigurer;
-
-/**
- * Sub-menu off project menu for showing MRU list of working set builds.
- * 
- * @since 3.0
- */
-public class BuildSetMenu extends ContributionItem {
-	private IActionBarConfigurer actionBars;
-	boolean dirty = true;
-	private IMenuListener menuListener = new IMenuListener() {
-		public void menuAboutToShow(IMenuManager manager) {
-			manager.markDirty();
-			dirty = true;
-		}
-	};
-	private IAction selectBuildWorkingSetAction;
-
-	private IWorkbenchWindow window;
-	public BuildSetMenu(IWorkbenchWindow window, IActionBarConfigurer actionBars) {
-		this.window = window;
-		this.actionBars = actionBars;
-		selectBuildWorkingSetAction = new SelectBuildWorkingSetAction(window, actionBars);
-	}
-	/**
-	 * Adds a mnemonic accelerator to actions in the MRU list of
-	 * recently built working sets
-	 */
-	private void addMnemonic(BuildSetAction action, int index) {
-		StringBuffer label = new StringBuffer();
-		//add the numerical accelerator
-		if (index < 9) {
-			label.append('&');
-			label.append(index);
-			label.append(' ');
-		}
-		label.append(action.getWorkingSet().getName());
-		action.setText(label.toString());
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IContributionItem#fill(org.eclipse.swt.widgets.Menu, int)
-	 */
-	public void fill(Menu menu, int index) {
-		if(getParent() instanceof MenuManager)
-			((MenuManager)getParent()).addMenuListener(menuListener);
-		if(!dirty)
-			return;
-		fillMenu(menu);
-		dirty = false;
-	}
-	/**
-	 * Fills the menu with Show View actions.
-	 */
-	private void fillMenu(Menu menu) {
-		boolean isAutoBuilding = ResourcesPlugin.getWorkspace().isAutoBuilding();
-	
-		//build MRU list of recently built working sets:
-		IWorkingSet[] sets = window.getWorkbench().getWorkingSetManager().getRecentWorkingSets();
-		BuildSetAction last = BuildSetAction.lastBuilt;
-		IWorkingSet lastSet = null;
-		//add build action for the last working set that was built
-		int accel = 1;
-		if (last != null) {
-			last.setChecked(true);
-			last.setEnabled(!isAutoBuilding);
-			last.setActionDefinitionId("org.eclipse.ui.project.buildLast"); //$NON-NLS-1$
-			addMnemonic(last, accel++);
-			new ActionContributionItem(last).fill(menu, -1);
-			lastSet = last.getWorkingSet();
-		}
-		//add build actions for the most recently used working sets
-		for (int i = 0; i < sets.length; i++) {
-			if (lastSet != null && lastSet.equals(sets[i]))
-				continue;
-			BuildSetAction action = new BuildSetAction(sets[i], window, actionBars);
-			addMnemonic(action, accel++);
-			action.setEnabled(!isAutoBuilding);
-			new ActionContributionItem(action).fill(menu, -1);
-		}
-		//add the action to select a different working set
-		new Separator().fill(menu, -1);
-		selectBuildWorkingSetAction.setEnabled(!isAutoBuilding);
-		new ActionContributionItem(selectBuildWorkingSetAction).fill(menu, -1);
-	}
-	public boolean isDirty() {
-		return dirty;
-	}	
-	/**
-	 * Overridden to always return true and force dynamic menu building.
-	 */
-	public boolean isDynamic() {
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/OpenWorkspaceAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/OpenWorkspaceAction.java
deleted file mode 100644
index 74c2758..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/OpenWorkspaceAction.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.actions;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.internal.ide.ChooseWorkspaceData;
-import org.eclipse.ui.internal.ide.ChooseWorkspaceDialog;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-
-/**
- * Implements the open workspace action. Opens a dialog prompting for a
- * directory and then restarts the IDE on that workspace.
- * 
- * @since 3.0
- */
-public class OpenWorkspaceAction extends Action implements
-        ActionFactory.IWorkbenchAction {
-
-    private static final String PROP_VM = "eclipse.vm"; //$NON-NLS-1$
-    private static final String PROP_VMARGS = "eclipse.vmargs"; //$NON-NLS-1$
-    private static final String PROP_COMMANDS = "eclipse.commands"; //$NON-NLS-1$
-    private static final String PROP_EXIT_CODE = "eclipse.exitcode"; //$NON-NLS-1$
-    private static final String PROP_EXIT_DATA = "eclipse.exitdata"; //$NON-NLS-1$
-    private static final String CMD_DATA = "-data"; //$NON-NLS-1$
-    private static final String CMD_VMARGS = "-vmargs"; //$NON-NLS-1$
-    private static final String NEW_LINE = "\n"; //$NON-NLS-1$
-
-    private IWorkbenchWindow window;
-
-    /**
-     * Set this action's definition and text so that it will be used for
-     * File->Open Workspace... in the argument window.
-     * 
-     * @param window
-     *            the window in which this action should appear
-     */
-    public OpenWorkspaceAction(IWorkbenchWindow window) {
-        super(IDEWorkbenchMessages.getString("OpenWorkspaceAction.text")); //$NON-NLS-1$
-
-        if (window == null)
-            throw new IllegalArgumentException();
-
-        // TODO help?
-
-        this.window = window;
-        setToolTipText(IDEWorkbenchMessages
-                .getString("OpenWorkspaceAction.toolTip")); //$NON-NLS-1$
-        setActionDefinitionId("org.eclipse.ui.file.openWorkspace"); //$NON-NLS-1$
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.action.Action#dispose()
-     */
-    public void run() {
-        String path = promptForWorkspace();
-        if (path == null)
-            return;
-
-        String command_line = buildCommandLine(path);
-        if (command_line == null)
-            return;
-
-        System.setProperty(PROP_EXIT_CODE, Integer.toString(24));
-        System.setProperty(PROP_EXIT_DATA, command_line);
-        window.getWorkbench().restart();
-    }
-
-    /**
-     * Use the ChooseWorkspaceDialog to get the new workspace from the user.
-     * 
-     * @return a string naming the new workspace and null if cancel was selected
-     */
-    private String promptForWorkspace() {
-        // get the current workspace as the default
-        ChooseWorkspaceData data = new ChooseWorkspaceData(Platform
-                .getInstanceLocation().getURL());
-        ChooseWorkspaceDialog dialog = new ChooseWorkspaceDialog(window
-                .getShell(), data, true);
-        dialog.prompt(true);
-
-        // return null if the user changed their mind
-        String selection = data.getSelection();
-        if (selection == null)
-            return null;
-
-        // otherwise store the new selection and return the selection
-        data.writePersistedData();
-        return selection;
-    }
-
-    /**
-     * Create and return a string with command line options for eclipse.exe that
-     * will launch a new workbench that is the same as the currently running
-     * one, but using the argument directory as its workspace.
-     * 
-     * @param workspace
-     *            the directory to use as the new workspace
-     * @return a string of command line options or null on error
-     */
-    private String buildCommandLine(String workspace) {
-        String property = System.getProperty(PROP_VM);
-        if (property == null) {
-            MessageDialog
-                    .openError(
-                            window.getShell(),
-                            IDEWorkbenchMessages
-                                    .getString("OpenWorkspaceAction.errorTitle"), //$NON-NLS-1$
-                            IDEWorkbenchMessages
-                                    .format("OpenWorkspaceAction.errorMessage", new Object[] { PROP_VM })); //$NON-NLS-1$
-            return null;
-        }
-
-        StringBuffer result = new StringBuffer(512);
-        result.append(property);
-        result.append(NEW_LINE);
-
-        // append the vmargs and commands. Assume that these already end in \n
-        String vmargs = System.getProperty(PROP_VMARGS);
-        if (vmargs != null) result.append(vmargs);
-
-        // append the rest of the args, replacing or adding -data as required
-        property = System.getProperty(PROP_COMMANDS);
-        if (property == null) {
-            result.append(CMD_DATA);
-            result.append(NEW_LINE);
-            result.append(workspace);
-            result.append(NEW_LINE);
-        } else {
-            // find the index of the arg to replace its value
-            int cmd_data_pos = property.indexOf(CMD_DATA);
-            if (cmd_data_pos != -1) {
-                cmd_data_pos += CMD_DATA.length() + 1;
-                result.append(property.substring(0, cmd_data_pos));
-                result.append(workspace);
-                result.append(property.substring(property.indexOf('\n',
-                        cmd_data_pos)));
-            } else {
-                result.append(CMD_DATA);
-                result.append(NEW_LINE);
-                result.append(workspace);
-                result.append(NEW_LINE);
-                result.append(property);
-            }
-        }
-
-        // put the vmargs back at the very end (the eclipse.commands property
-        // already contains the -vm arg)
-        if (vmargs != null) {
-            result.append(CMD_VMARGS);
-            result.append(NEW_LINE);
-            result.append(vmargs);
-        }
-
-        return result.toString();
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.action.Action#dispose()
-     */
-    public void dispose() {
-        window = null;
-    }
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/OpenWorkspaceFileAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/OpenWorkspaceFileAction.java
deleted file mode 100644
index 82c878e..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/OpenWorkspaceFileAction.java
+++ /dev/null
@@ -1,113 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.ide.actions;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.dialogs.OpenResourceDialog;
-
-/**
- * Implements the open resource action. 
- * Opens a dialog prompting for a file and opens the selected file in an editor.
- * 
- * @since 2.1
- */
-public class OpenWorkspaceFileAction extends Action implements IWorkbenchWindowActionDelegate {
-	IWorkbenchWindow workbenchWindow;
-	
-/**
- * Creates a new instance of the class.
- */
-public OpenWorkspaceFileAction() {
-	super();
-	WorkbenchHelp.setHelp(this, IHelpContextIds.OPEN_WORKSPACE_FILE_ACTION);
-}
-/**
- * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
- */
-public void dispose() {
-	// do nothing
-}
-/**
- * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
- */
-public void init(IWorkbenchWindow window) {
-	workbenchWindow = window;
-}
-/**
- * Query the user for the resource that should be opened
- * 
- * @return the resource that should be opened or null if the 
- * 	resource selection dialog was cancelled.
- */
-IFile queryFileResource() {
-	Shell parent = workbenchWindow.getShell();
-	IContainer input = ResourcesPlugin.getWorkspace().getRoot();
-		
-	OpenResourceDialog dialog = new OpenResourceDialog(parent, input, IResource.FILE);	
-	int resultCode = dialog.open();
-	if (resultCode != IDialogConstants.OK_ID)
-		return null;
-	
-	Object[] result = dialog.getResult();
- 	if (result == null || result.length == 0 || result[0] instanceof IFile == false)
- 		return null;
-	
-	return (IFile) result[0];
-}
-/**
- * Collect all resources in the workbench, open a dialog asking the user to
- * select a file and open the file in an editor.
- */
-public void run(IAction action) {
-	IFile file = queryFileResource();
-	 
-	if (file == null)
-		return;
-	try {
-		IWorkbenchPage page = workbenchWindow.getActivePage();
-		if (page != null) {
-			IDE.openEditor(page, file, true);
-		}
-	} catch (CoreException x) {
-		String title = IDEWorkbenchMessages.getString("OpenWorkspaceFileAction.errorTitle"); //$NON-NLS-1$
-		String message = IDEWorkbenchMessages.getString("OpenWorkspaceFileAction.errorMessage"); //$NON-NLS-1$
-		IDEWorkbenchPlugin.log(title, x.getStatus());
-		ErrorDialog.openError(workbenchWindow.getShell(), title, message, x.getStatus());
-	}
-}
-
-/**
- * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
- */
-public void selectionChanged(IAction action, ISelection selection) {
-	// do nothing
-}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/ProjectPropertyDialogAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/ProjectPropertyDialogAction.java
deleted file mode 100644
index d615095..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/ProjectPropertyDialogAction.java
+++ /dev/null
@@ -1,143 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.actions;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-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.StructuredSelection;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.INullSelectionListener;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.PartEventAction;
-import org.eclipse.ui.dialogs.PropertyDialogAction;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-
-/**
- * Implementation for the action Property on the Project menu.
- */
-public class ProjectPropertyDialogAction
-		extends PartEventAction
-		implements INullSelectionListener, ActionFactory.IWorkbenchAction {
-			
-/**
- * The workbench window; or <code>null</code> if this
- * action has been <code>dispose</code>d.
- */
-private IWorkbenchWindow workbenchWindow;
-	
-public ProjectPropertyDialogAction(IWorkbenchWindow window) {
-	super(new String());
-	if (window == null) {
-		throw new IllegalArgumentException();
-	}
-	this.workbenchWindow = window;
-	setText(IDEWorkbenchMessages.getString("Workbench.projectProperties")); //$NON-NLS-1$
-	setToolTipText(IDEWorkbenchMessages.getString("Workbench.projectPropertiesToolTip")); //$NON-NLS-1$
-	WorkbenchHelp.setHelp(this, IHelpContextIds.PROJECT_PROPERTY_DIALOG_ACTION);
-	workbenchWindow.getSelectionService().addSelectionListener(this);
-	workbenchWindow.getPartService().addPartListener(this);
-	setActionDefinitionId("org.eclipse.ui.project.properties"); //$NON-NLS-1$
-}
-/**
- * Opens the project properties dialog.
- */
-public void run() {
-	IProject project = getProject();
-	if (project == null)
-		return;
-
-	SelProvider selProvider = new SelProvider();
-	selProvider.projectSelection = new StructuredSelection(project);
-	PropertyDialogAction propAction = new PropertyDialogAction(workbenchWindow.getShell(), selProvider);
-	propAction.run();
-}
-/**
- * Update the enablement state when a the selection changes.
- */
-public void selectionChanged(IWorkbenchPart part, ISelection sel) {
-	setEnabled(getProject() != null);
-}
-/**
- * Update the enablement state when a new part is activated.
- */
-public void partActivated(IWorkbenchPart part) {
-	super.partActivated(part);
-	setEnabled(getProject() != null);
-}
-/**
- * Returns a project from the selection of the active part.
- */
-private IProject getProject() {
-	IWorkbenchPart part = getActivePart();
-	Object selection = null;
-	if(part instanceof IEditorPart) {
-		selection = ((IEditorPart)part).getEditorInput();
-	} else {
-		ISelection sel = workbenchWindow.getSelectionService().getSelection();
-		if((sel != null) && (sel instanceof IStructuredSelection))
-			selection = ((IStructuredSelection)sel).getFirstElement();		
-	}
-	if(selection == null)
-		return null;
-	if(!(selection instanceof IAdaptable))
-		return null;
-	IResource resource = (IResource)((IAdaptable)selection).getAdapter(IResource.class);
-	if(resource == null)
-		return null;
-	return resource.getProject();	
-}
-
-/* (non-javadoc)
- * Method declared on ActionFactory.IWorkbenchAction
- */
-public void dispose() {
-	if (workbenchWindow == null) {
-		// action has already been disposed
-		return;
-	}
-	workbenchWindow.getSelectionService().removeSelectionListener(this);
-	workbenchWindow.getPartService().removePartListener(this);
-	workbenchWindow = null;
-}
-
-
-/*
- * Helper class to simulate a selection provider
- */
-private static final class SelProvider implements ISelectionProvider {
-	protected IStructuredSelection projectSelection = StructuredSelection.EMPTY;
-	
-	public void addSelectionChangedListener(ISelectionChangedListener listener) {
-		// do nothing
-	}
-
-	public ISelection getSelection() {
-		return projectSelection;
-	}
-
-	public void removeSelectionChangedListener(ISelectionChangedListener listener) {
-		// do nothing
-	}
-
-	public void setSelection(ISelection selection) {
-		// do nothing
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/QuickMenuAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/QuickMenuAction.java
deleted file mode 100644
index cc66811..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/QuickMenuAction.java
+++ /dev/null
@@ -1,299 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.actions;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.commands.ICommand;
-import org.eclipse.ui.commands.ICommandManager;
-import org.eclipse.ui.commands.IKeySequenceBinding;
-
-/**
- * A quick menu actions provides support to assign short cuts
- * to sub menus.
- * 
- * @since 3.0
- */
-public abstract class QuickMenuAction extends Action { 
-
-	private static final int CHAR_INDENT= 3;
-	private Menu quickMenu;
-	
-	/**
-	 * Creates a new quick menu action with the given command id.
-	 * 
-	 * @param commandId the command id of the short cut used to open
-	 *  the sub menu 
-	 */
-	public QuickMenuAction(String commandId) {
-		setActionDefinitionId(commandId);
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	public void run() {
-		Display display= Display.getCurrent();
-		if (display == null)
-			return;
-		Control focus= display.getFocusControl();
-		if (focus == null || focus.isDisposed())
-			return;
-		
-		MenuManager menu= new MenuManager();
-		fillMenu(menu);
-		if (quickMenu != null) {
-			quickMenu.dispose();
-			quickMenu = null;
-		}
-		quickMenu= menu.createContextMenu(focus.getShell());
-		Point location= computeMenuLocation(focus, quickMenu);
-		if (location == null)
-			return;
-		quickMenu.setLocation(location);
-		quickMenu.setVisible(true);
-	}
-	
-	public void dispose() {
-		if (quickMenu != null) {
-			quickMenu.dispose();
-			quickMenu = null;
-		}	
-	}
-	
-	/**
-	 * Hook to fill a menu manager with the items of the sub menu.
-	 * 
-	 * @param menu the sub menu to fill
-	 */
-	protected abstract void fillMenu(IMenuManager menu);
-	
-	/**
-	 * Returns the short cut assigned to the sub menu or <code>null</code> if
-	 * no short cut is assigned.
-	 * 
-	 * @return the short cut as a human readable string or <code>null</code>
-	 */
-	public String getShortCutString() {
-		final ICommandManager commandManager = PlatformUI.getWorkbench().getCommandSupport().getCommandManager();
-		final ICommand command = commandManager.getCommand(getActionDefinitionId());
-		if (command.isDefined()) {
-			List l= command.getKeySequenceBindings();
-			if (!l.isEmpty()) {
-				IKeySequenceBinding binding= (IKeySequenceBinding)l.get(0);
-				return binding.getKeySequence().format();
-			}
-		}
-		return null; //$NON-NLS-1$
-	}
-	
-	private Point computeMenuLocation(Control focus, Menu menu) {
-		Point cursorLocation= focus.getDisplay().getCursorLocation();
-		Rectangle clientArea= null;
-		Point result= null;
-		if (focus instanceof StyledText) {
-			StyledText styledText= (StyledText)focus;
-			clientArea= styledText.getClientArea();
-			result= computeMenuLocation(styledText);
-		} else if (focus instanceof Tree) {
-			Tree tree= (Tree)focus;
-			clientArea= tree.getClientArea();
-			result= computeMenuLocation(tree);
-		} else if (focus instanceof Table) {
-			Table table= (Table)focus;
-			clientArea= table.getClientArea();
-			result= computeMenuLocation(table);
-		}
-		if (result == null) {
-			result= focus.toControl(cursorLocation);
-		}
-		if (clientArea != null && !clientArea.contains(result)) {
-			result= new Point(
-				clientArea.x + clientArea.width  / 2, 
-				clientArea.y + clientArea.height / 2);
-		}
-		Rectangle shellArea= focus.getShell().getClientArea();
-		if (!shellArea.contains(focus.getShell().toControl(focus.toDisplay(result)))) {
-			result= new Point(
-				shellArea.x + shellArea.width  / 2,
-				shellArea.y + shellArea.height / 2);
-		}
-		return focus.toDisplay(result);
-	}
-	
-	/**
-	 * Hook to compute the menu location if the focus widget is
-	 * a styled text widget.
-	 * 
-	 * @param text the styled text widget that has the focus
-	 * 
-	 * @return a widget relative position of the menu to pop up or
-	 *  <code>null</code> if now position inside the widget can
-	 *  be computed
-	 */
-	protected Point computeMenuLocation(StyledText text) {
-		Point result= text.getLocationAtOffset(text.getCaretOffset());
-		result.y+= text.getLineHeight();
-		if (!text.getClientArea().contains(result))
-			return null;
-		return result;
-	}
-	
-	/**
-	 * Hook to compute the menu location if the focus widget is
-	 * a tree widget.
-	 * 
-	 * @param tree the tree widget that has the focus
-	 * 
-	 * @return a widget relative position of the menu to pop up or
-	 *  <code>null</code> if now position inside the widget can
-	 *  be computed
-	 */
-	protected Point computeMenuLocation(Tree tree) {
-		TreeItem[] items= tree.getSelection();
-		Rectangle clientArea= tree.getClientArea();
-		switch (items.length) {
-			case 0:
-				return null;
-			case 1:
-				Rectangle bounds= items[0].getBounds();
-				Rectangle intersect= clientArea.intersection(bounds);
-				if (intersect != null && intersect.height == bounds.height) {
-					return new Point(
-						Math.max(0, bounds.x + getAvarageCharWith(tree) * CHAR_INDENT), 
-						bounds.y + bounds.height);
-				} else {
-					return null;
-				}
-			default:
-				Rectangle[] rectangles= new Rectangle[items.length];
-				for (int i= 0; i < rectangles.length; i++) {
-					rectangles[i]= items[i].getBounds();
-				}
-				Point cursorLocation= tree.getDisplay().getCursorLocation();
-				Point result= findBestLocation(getIncludedPositions(rectangles, clientArea), 
-					tree.toControl(cursorLocation));
-				if (result != null)
-					result.x= result.x + getAvarageCharWith(tree) * CHAR_INDENT;
-				return result;
-		}
-	}
-	
-	/**
-	 * Hook to compute the menu location if the focus widget is
-	 * a table widget.
-	 * 
-	 * @param table the table widget that has the focus
-	 * 
-	 * @return a widget relative position of the menu to pop up or
-	 *  <code>null</code> if now position inside the widget can
-	 *  be computed
-	 */
-	protected Point computeMenuLocation(Table table) {
-		TableItem[] items= table.getSelection();
-		Rectangle clientArea= table.getClientArea();
-		switch (items.length) {
-			case 0: {
-				return null;
-			} case 1: {
-				Rectangle bounds= items[0].getBounds(0);
-				Rectangle iBounds= items[0].getImageBounds(0);
-				Rectangle intersect= clientArea.intersection(bounds);
-				if (intersect != null && intersect.height == bounds.height) {
-					return new Point(
-						Math.max(0, bounds.x + iBounds.width + getAvarageCharWith(table) * CHAR_INDENT), 
-						bounds.y + bounds.height);
-				} else {
-					return null;
-				}
-			} default: {
-				Rectangle[] rectangles= new Rectangle[items.length];
-				for (int i= 0; i < rectangles.length; i++) {
-					rectangles[i]= items[i].getBounds(0);
-				}
-				Rectangle iBounds= items[0].getImageBounds(0);
-				Point cursorLocation= table.getDisplay().getCursorLocation();
-				Point result= findBestLocation(getIncludedPositions(rectangles, clientArea), 
-					table.toControl(cursorLocation));
-				if (result != null) 
-					result.x= result.x + iBounds.width + getAvarageCharWith(table) * CHAR_INDENT;
-				return result;
-			}
-		}
-	}
-	
-	private Point[] getIncludedPositions(Rectangle[] rectangles, Rectangle widgetBounds) {
-		List result= new ArrayList();
-		for (int i= 0; i < rectangles.length; i++) {
-			Rectangle rectangle= rectangles[i];
-			Rectangle intersect= widgetBounds.intersection(rectangle);
-			if (intersect != null && intersect.height == rectangle.height) {
-				result.add(new Point(intersect.x, intersect.y + intersect.height));
-			}
-		}
-		return (Point[]) result.toArray(new Point[result.size()]);
-	}
-	
-	private Point findBestLocation(Point[] points, Point relativeCursor) {
-		Point result= null;
-		double bestDist= Double.MAX_VALUE;
-		for (int i= 0; i < points.length; i++) {
-			Point point= points[i];
-			int a= 0;
-			int b= 0;
-			if (point.x > relativeCursor.x) {
-				a= point.x - relativeCursor.x;
-			} else {
-				a= relativeCursor.x - point.x;
-			}
-			if (point.y > relativeCursor.y) {
-				b= point.y - relativeCursor.y;	
-			} else {
-				b= relativeCursor.y - point.y;
-			}
-			double dist= Math.sqrt(a * a + b * b);
-			if (dist < bestDist) {
-				result= point;
-				bestDist= dist;
-			}
-		}
-		return result;
-	}
-	
-	private int getAvarageCharWith(Control control) {
-		GC gc= null;
-		try {
-			gc= new GC(control);
-			return gc.getFontMetrics().getAverageCharWidth();
-		} finally {
-			if (gc != null)
-				gc.dispose();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/SelectBuildWorkingSetAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/SelectBuildWorkingSetAction.java
deleted file mode 100644
index 7be084f..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/SelectBuildWorkingSetAction.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004 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.ide.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.IWorkingSetManager;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.dialogs.IWorkingSetSelectionDialog;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-
-/**
- * This action asks the user to select a working set, and then creates
- * and runs a corresponding BuildSetAction.
- * 
- * @since 3.0
- */
-public class SelectBuildWorkingSetAction extends Action implements ActionFactory.IWorkbenchAction {
-	private IWorkbenchWindow window;
-	private IActionBarConfigurer actionBars;
-	public SelectBuildWorkingSetAction(IWorkbenchWindow window, IActionBarConfigurer actionBars) {
-		super(IDEWorkbenchMessages.getString("SelectWorkingSetAction.text")); //$NON-NLS-1$
-		this.window = window;
-		this.actionBars = actionBars;
-	}
-	private IWorkingSet queryForWorkingSet() {
-		IWorkingSetManager manager = window.getWorkbench().getWorkingSetManager();
-		IWorkingSetSelectionDialog dialog = manager.createWorkingSetSelectionDialog(window.getShell(), false);
-		dialog.open();
-		IWorkingSet[] sets = dialog.getSelection();
-		//check for cancel
-		if (sets == null || sets.length == 0)
-			return null;
-		return sets[0];
-	}
-	public void run() {
-		IWorkingSet set = queryForWorkingSet();
-		if (set != null) {
-			new BuildSetAction(set, window, actionBars).run();
-		}
-	}
-	public void dispose() {
-	}
-	public void setActionBars(IActionBarConfigurer actionBars) {
-		this.actionBars = actionBars;
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/ToggleAutoBuildAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/ToggleAutoBuildAction.java
deleted file mode 100644
index f76bb62..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/ToggleAutoBuildAction.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004 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.ide.actions;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-
-/**
- * Action for toggling autobuild on or off.
- */
-public class ToggleAutoBuildAction extends Action implements ActionFactory.IWorkbenchAction {
-	private IWorkbenchWindow window;
-	/**
-	 * Creates a new ToggleAutoBuildAction
-	 * @param window The window for parenting dialogs associated with this action
-	 */
-	public ToggleAutoBuildAction(IWorkbenchWindow window) {
-		super(IDEWorkbenchMessages.getString("Workbench.buildAutomatically")); //$NON-NLS-1$
-		this.window = window;
-		setChecked(ResourcesPlugin.getWorkspace().isAutoBuilding());
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.actions.ActionFactory.IWorkbenchAction#dispose()
-	 */
-	public void dispose() {
-		//nothing to dispose
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		IWorkspaceDescription description = workspace.getDescription();
-		description.setAutoBuilding(!description.isAutoBuilding());
-		try {
-			workspace.setDescription(description);
-		} catch (CoreException e) {
-			ErrorDialog.openError(window.getShell(), null, null, e.getStatus());
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/BuildOrderPreferencePage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/BuildOrderPreferencePage.java
deleted file mode 100644
index d26b5d6..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/BuildOrderPreferencePage.java
+++ /dev/null
@@ -1,620 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.ide.dialogs;
-
-import java.util.TreeSet;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceDescription;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-
-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.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.List;
-import org.eclipse.swt.widgets.Text;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.preference.FieldEditor;
-import org.eclipse.jface.preference.IntegerFieldEditor;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-
-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.ide.IHelpContextIds;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-
-/**	
- * Page 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 IntegerFieldEditor maxItersField;
-
-	private String[] defaultBuildOrder;
-	private String[] customBuildOrder;
-
-	//Boolean to indicate if we have looked it up
-	private boolean notCheckedBuildOrder = true;
-
-	private final String UP_LABEL = IDEWorkbenchMessages.getString("BuildOrderPreference.up"); //$NON-NLS-1$
-	private final String DOWN_LABEL = IDEWorkbenchMessages.getString("BuildOrderPreference.down"); //$NON-NLS-1$
-	private final String ADD_LABEL = IDEWorkbenchMessages.getString("BuildOrderPreference.add"); //$NON-NLS-1$
-	private final String REMOVE_LABEL = IDEWorkbenchMessages.getString("BuildOrderPreference.remove"); //$NON-NLS-1$
-	private final String PROJECT_SELECTION_MESSAGE = IDEWorkbenchMessages.getString("BuildOrderPreference.selectOtherProjects"); //$NON-NLS-1$
-	private final String DEFAULTS_LABEL = IDEWorkbenchMessages.getString("BuildOrderPreference.useDefaults"); //$NON-NLS-1$
-	private final String LIST_LABEL = IDEWorkbenchMessages.getString("BuildOrderPreference.projectBuildOrder"); //$NON-NLS-1$
-	private final String NOTE_LABEL = IDEWorkbenchMessages.getString("Preference.note"); //$NON-NLS-1$
-	private final String REMOVE_MESSAGE = IDEWorkbenchMessages.getString("BuildOrderPreference.removeNote"); //$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;
-
-	private IPropertyChangeListener validityChangeListener =
-		new IPropertyChangeListener() {
-		public void propertyChange(PropertyChangeEvent event) {
-			if (event.getProperty().equals(FieldEditor.IS_VALID))
-				updateValidState();
-		}
-	};
-
-	/**
-	 * 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);
-	}
-
-	/**
-	 * Updates the valid state of the page.
-	 */
-	private void updateValidState() {
-		setValid(maxItersField.isValid());
-	}
-
-	/**
-	 * 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);
-
-		createSpacer(composite);
-
-		createMaxIterationsField(composite);
-
-		createSpacer(composite);
-
-		if (useDefault) {
-			this.buildList.setItems(getDefaultProjectOrder());
-		} else {
-			this.buildList.setItems(buildOrder);
-		}
-
-		return composite;
-
-	}
-
-	/**
-	 * Adds in a spacer.
-	 * 
-	 * @param composite the parent composite
-	 */
-	private void createSpacer(Composite composite) {
-		Label spacer = new Label(composite, SWT.NONE);
-		GridData spacerData = new GridData();
-		spacerData.horizontalSpan = 2;
-		spacer.setLayoutData(spacerData);
-	}
-	/**
-	 * 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);
-
-	}
-
-	/**
-	 * Create the field for the maximum number of iterations in the presence
-	 * of cycles. 
-	 */
-	private void createMaxIterationsField(Composite composite) {
-		Composite maxItersComposite = new Composite(composite, SWT.NONE);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		maxItersComposite.setLayoutData(gd);
-		maxItersComposite.setFont(composite.getFont());
-
-		maxItersField = new IntegerFieldEditor("", IDEWorkbenchMessages.getString("BuildOrderPreference.maxIterationsLabel"), maxItersComposite) { //$NON-NLS-1$ //$NON-NLS-2$
-			protected void doLoad() {
-				Text text = getTextControl();
-				if (text != null) {
-					int value =
-						getWorkspace().getDescription().getMaxBuildIterations();
-					text.setText(Integer.toString(value));
-				}
-			}
-			protected void doLoadDefault() {
-				Text text = getTextControl();
-				if (text != null) {
-					int value =
-						ResourcesPlugin
-							.getPlugin()
-							.getPluginPreferences()
-							.getDefaultInt(
-							ResourcesPlugin.PREF_MAX_BUILD_ITERATIONS);
-					text.setText(Integer.toString(value));
-				}
-				valueChanged();
-			}
-			protected void doStore() {
-				// handled specially in performOK()
-				throw new UnsupportedOperationException();
-			}
-		};
-		maxItersField.setValidRange(1, Integer.MAX_VALUE);
-		maxItersField.setPreferencePage(this);
-		maxItersField.setPreferenceStore(getPreferenceStore());
-		maxItersField.setPropertyChangeListener(validityChangeListener);
-		maxItersField.load();
-	}
-
-	/**
-	 * 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);
-			//Cache the current value as the custom order
-			customBuildOrder = buildList.getItems(); 
-			buildList.setItems(getDefaultProjectOrder());
-
-		} 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;
-		setPreferenceStore(workbench.getPreferenceStore());
-	}
-	/**
-	 * 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);
-		maxItersField.loadDefault();
-		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);
-		description.setMaxBuildIterations(maxItersField.getIntValue());
-		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.getActiveWorkbenchWindow(),
-						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.ide/src/org/eclipse/ui/internal/ide/dialogs/CleanDialog.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/CleanDialog.java
deleted file mode 100644
index 525a133..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/CleanDialog.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004 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.ide.dialogs;
-import java.lang.reflect.InvocationTargetException;
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.window.Window;
-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.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.GlobalBuildAction;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-/**
- * Dialog that asks the user to confirm a clean operation, and to configure
- * settings in relation to the clean. Clicking ok in the dialog will perform the
- * clean operation.
- * 
- * @since 3.0
- */
-public class CleanDialog extends MessageDialog {
-	private Button allButton, selectedButton, buildNowButton;
-	private Text projectName;
-	private Object[] selection;
-	private IWorkbenchWindow window;
-	/**
-	 * Gets the text of the clean dialog, depending on whether the
-	 * workspace is currently in autobuild mode.
-	 * @return String the question the user will be asked.
-	 */
-	private static String getQuestion() {
-		boolean autoBuilding = ResourcesPlugin.getWorkspace().isAutoBuilding();
-		if (autoBuilding)
-			return IDEWorkbenchMessages.getString("CleanDialog.buildCleanAuto"); //$NON-NLS-1$
-		return IDEWorkbenchMessages.getString("CleanDialog.buildCleanManual"); //$NON-NLS-1$
-	}
-	/**
-	 * Creates a new clean dialog.
-	 * 
-	 * @param window the window to create it in
-	 * @param selection the currently selected projects (may be empty)
-	 */
-	public CleanDialog(IWorkbenchWindow window, IProject[] selection) {
-		super(window.getShell(), IDEWorkbenchMessages.getString("CleanDialog.title"), null, getQuestion(), QUESTION, new String[]{ //$NON-NLS-1$
-				IDialogConstants.OK_LABEL, IDialogConstants.CANCEL_LABEL}, 0);
-		this.window = window;
-		this.selection = selection;
-		if (this.selection == null)
-			this.selection = new Object[0];
-	}
-	protected void browsePressed() {
-		ILabelProvider labelProvider= new WorkbenchLabelProvider();
-		ElementListSelectionDialog dialog= new ElementListSelectionDialog(getShell(), labelProvider);
-		dialog.setMultipleSelection(true);
-		dialog.setTitle("Project Selection"); //$NON-NLS-1$
-		dialog.setMessage("Chose projects to clean:"); //$NON-NLS-1$
-		dialog.setElements(ResourcesPlugin.getWorkspace().getRoot().getProjects());
-		dialog.setInitialSelections(new Object[] { selection});
-		if (dialog.open() == Window.OK) {
-			selection = dialog.getResult();
-			if (selection == null)
-				selection = new Object[0];
-		}
-		setProjectName();
-		updateEnablement();
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.dialogs.Dialog#buttonPressed(int)
-	 */
-	protected void buttonPressed(int buttonId) {
-		final boolean cleanAll = allButton.getSelection();
-		final boolean buildAll = buildNowButton != null && buildNowButton.getSelection();
-		super.buttonPressed(buttonId);
-		if (buttonId == IDialogConstants.OK_ID) {
-			try {
-				//batching changes ensures that autobuild runs after cleaning
-				
-				PlatformUI.getWorkbench().getProgressService().busyCursorWhile(
-					new WorkspaceModifyOperation() {
-						protected void execute(IProgressMonitor monitor) throws CoreException {
-							doClean(cleanAll,monitor);
-						}
-					});
-				//see if a build was requested
-				if (buildAll) {
-					//start an immediate workspace build
-					GlobalBuildAction build = new GlobalBuildAction(window, IncrementalProjectBuilder.INCREMENTAL_BUILD);
-					build.run();
-				}
-			} catch (InvocationTargetException e) {
-				//we only throw CoreException above
-				Throwable target = e.getTargetException();
-				if (target instanceof CoreException) 
-					ErrorDialog.openError(getShell(), null, null, ((CoreException)target).getStatus());			
-			} catch (InterruptedException e) {
-				//cancelation
-			}
-		}
-		
-	}
-	protected void createButtonsForButtonBar(Composite parent) {
-		//only need to prompt for immediate build if autobuild is off
-		if (!ResourcesPlugin.getWorkspace().isAutoBuilding()) {
-			// increment the number of columns in the button bar
-			GridLayout layout = ((GridLayout) parent.getLayout());
-			layout.numColumns+= 2;
-			layout.makeColumnsEqualWidth = false;
-			buildNowButton = new Button(parent, SWT.CHECK);
-			buildNowButton.setText(IDEWorkbenchMessages.getString("CleanDialog.buildNowButton")); //$NON-NLS-1$
-			buildNowButton.setSelection(true);
-			buildNowButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
-			//create some horizontal space before the ok and cancel buttons
-			Label spacer= new Label(parent, SWT.NONE);
-			GridData data = new GridData();
-			data.horizontalAlignment = GridData.FILL;
-			data.widthHint = 200;
-			spacer.setLayoutData(data);
-		}
-		super.createButtonsForButtonBar(parent);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.MessageDialog#createCustomArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createCustomArea(Composite parent) {
-		Composite radioGroup = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = layout.marginHeight = 0;
-		layout.numColumns = 3;
-		radioGroup.setLayout(layout);
-		radioGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
-		SelectionListener updateEnablement = new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				updateEnablement();
-			}
-		};
-		
-		//first row
-		allButton = new Button(radioGroup, SWT.RADIO);
-		allButton.setText(IDEWorkbenchMessages.getString("CleanDialog.cleanAllButton")); //$NON-NLS-1$
-		allButton.setSelection(true);
-		allButton.addSelectionListener(updateEnablement);
-		//empty label to fill rest of grid row
-		new Label(radioGroup, SWT.NONE);
-		new Label(radioGroup, SWT.NONE);
-
-		//second row
-		selectedButton = new Button(radioGroup, SWT.RADIO);
-		selectedButton.setText(IDEWorkbenchMessages.getString("CleanDialog.cleanSelectedButton")); //$NON-NLS-1$
-		selectedButton.addSelectionListener(updateEnablement);
-		projectName = new Text(radioGroup, SWT.READ_ONLY | SWT.BORDER);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-		projectName.setLayoutData(data);
-		setProjectName();
-		Button browse = new Button(radioGroup, SWT.PUSH);
-		browse.setText(IDEWorkbenchMessages.getString("CleanDialog.browse")); //$NON-NLS-1$
-		setButtonLayoutData(browse);
-		browse.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				browsePressed();
-			}
-		});
-		return radioGroup;
-	}
-	/**
-	 * Performs the actual clean operation.
-	 * @param cleanAll if <code>true</true> clean all projects
-	 * @param monitor The monitor that the build will report to
-	 * @throws CoreException thrown if there is a problem from the
-	 * core builder.
-	 */
-	protected void doClean(boolean cleanAll, IProgressMonitor monitor) throws CoreException {
-		if (cleanAll)
-			ResourcesPlugin.getWorkspace().build(IncrementalProjectBuilder.CLEAN_BUILD, monitor);
-		else {
-			  try {
-			    monitor.beginTask(IDEWorkbenchMessages.getString("CleanDialog.taskName"), //$NON-NLS-1$
-			      selection.length);
-			    for (int i = 0; i < selection.length; i++)
-			      ((IProject)selection[i]).build(
-			        IncrementalProjectBuilder.CLEAN_BUILD, 
-			        new SubProgressMonitor(monitor, 1));
-			  } finally {
-			    monitor.done();
-			  }
-		}
-	}
-	/**
-	 * Fills in the name of the project in the text area.
-	 */
-	private void setProjectName() {
-		if (selection.length == 0)
-			projectName.setText(IDEWorkbenchMessages.getString("CleanDialog.noSelection")); //$NON-NLS-1$
-		else {
-			StringBuffer names = new StringBuffer(((IProject)selection[0]).getName());
-			for (int i = 1; i < selection.length; i++) {
-				names.append(',');
-				names.append(((IProject)selection[i]).getName());
-			}
-			projectName.setText(names.toString());
-		}
-	}
-	/**
-	 * Updates the enablement of the dialog's ok button based
-	 * on the current choices in the dialog.
-	 */
-	protected void updateEnablement() {
-		boolean enabled = allButton.getSelection() || selection.length > 0;
-		getButton(OK).setEnabled(enabled);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ConfigurationLogUpdateSection.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ConfigurationLogUpdateSection.java
deleted file mode 100644
index 978d8d2..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ConfigurationLogUpdateSection.java
+++ /dev/null
@@ -1,91 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-import java.io.PrintWriter;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.ui.about.ISystemSummarySection;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.update.configuration.IActivity;
-import org.eclipse.update.configuration.IInstallConfiguration;
-import org.eclipse.update.configuration.ILocalSite;
-import org.eclipse.update.core.SiteManager;
-
-/**
- * Writes information about the update configurer into the system summary.
- * 
- * @since 3.0
- */
-public class ConfigurationLogUpdateSection implements ISystemSummarySection {
-    public void write(PrintWriter writer) {
-		ILocalSite site;
-		try {
-			site = SiteManager.getLocalSite();
-		} catch (CoreException e) {
-			e.printStackTrace(writer);
-			return;
-		}
-		IInstallConfiguration[] configurations = site.getConfigurationHistory();
-		for (int i = 0; i < configurations.length; i++) {
-			writer.println();
-			if (i>0)
-				writer.println("----------------------------------------------------"); //$NON-NLS-1$
-
-			writer.println(IDEWorkbenchMessages.format("SystemSummary.configuration", new Object[] {configurations[i].getLabel()})); //$NON-NLS-1$
-			writer.println(IDEWorkbenchMessages.format("SystemSummary.isCurrentConfiguration", new Object[] {new Boolean(configurations[i].isCurrent())})); //$NON-NLS-1$ 
-			IActivity[] activities = configurations[i].getActivities();
-			for (int j = 0; j < activities.length; j++) {
-				writer.println();
-				writer.println(IDEWorkbenchMessages.format("SystemSummary.date", new Object[] {activities[j].getDate()})); //$NON-NLS-1$
-				writer.println(IDEWorkbenchMessages.format("SystemSummary.target", new Object[] {activities[j].getLabel()})); //$NON-NLS-1$
-				writer.println(IDEWorkbenchMessages.format("SystemSummary.action", new Object[] {getActionLabel(activities[j])})); //$NON-NLS-1$
-				writer.println(IDEWorkbenchMessages.format("SystemSummary.status", new Object[] {getStatusLabel(activities[j])})); //$NON-NLS-1$
-			}
-		}
-    }
-
-	private String getActionLabel(IActivity activity) {
-		int action = activity.getAction();
-		switch (action) {
-			case IActivity.ACTION_CONFIGURE:
-				return IDEWorkbenchMessages.getString("SystemSummary.activity.enabled"); //$NON-NLS-1$
-			case IActivity.ACTION_FEATURE_INSTALL:
-				return IDEWorkbenchMessages.getString("SystemSummary.activity.featureInstalled"); //$NON-NLS-1$
-			case IActivity.ACTION_FEATURE_REMOVE:
-				return IDEWorkbenchMessages.getString("SystemSummary.activity.featureRemoved"); //$NON-NLS-1$
-			case IActivity.ACTION_SITE_INSTALL:
-				return IDEWorkbenchMessages.getString("SystemSummary.activity.siteInstalled"); //$NON-NLS-1$
-			case IActivity.ACTION_SITE_REMOVE:
-				return IDEWorkbenchMessages.getString("SystemSummary.activity.siteRemoved"); //$NON-NLS-1$
-			case IActivity.ACTION_UNCONFIGURE:
-				return IDEWorkbenchMessages.getString("SystemSummary.activity.disabled"); //$NON-NLS-1$
-			case IActivity.ACTION_REVERT:
-				return IDEWorkbenchMessages.getString("SystemSummary.activity.revert"); //$NON-NLS-1$
-			case IActivity.ACTION_RECONCILIATION:
-				return IDEWorkbenchMessages.getString("SystemSummary.activity.reconcile"); //$NON-NLS-1$
-			case IActivity.ACTION_ADD_PRESERVED:
-				return IDEWorkbenchMessages.getString("SystemSummary.activity.preserved"); //$NON-NLS-1$
-			default:
-				return IDEWorkbenchMessages.getString("SystemSummary.activity.unknown"); //$NON-NLS-1$
-		}
-	}
-
-	private String getStatusLabel(IActivity activity) {
-		switch (activity.getStatus()) {
-			case IActivity.STATUS_OK:
-				return IDEWorkbenchMessages.getString("SystemSummary.activity.status.success"); //$NON-NLS-1$
-			case IActivity.STATUS_NOK:
-				return IDEWorkbenchMessages.getString("SystemSummary.activity.status.failure"); //$NON-NLS-1$
-		}
-		return IDEWorkbenchMessages.getString("SystemSummary.activity.status.unknown"); //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/CreateLinkedResourceGroup.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/CreateLinkedResourceGroup.java
deleted file mode 100644
index 7b16d8d..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/CreateLinkedResourceGroup.java
+++ /dev/null
@@ -1,397 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.ide.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.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-
-/**
- * Widget group for specifying a linked file or folder target.
- * 
- * @since 2.1
- */
-public class CreateLinkedResourceGroup {	
-	private Listener listener;
-	private String linkTarget = "";	//$NON-NLS-1$
-	private int type;
-	private boolean createLink = false;
-
-	// used to compute layout sizes
-	private FontMetrics fontMetrics;
-
-	// widgets
-	private Composite groupComposite;
-	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.FILL_HORIZONTAL));
-	groupComposite.setFont(font);
-
-	final Button createLinkButton = new Button(groupComposite, SWT.CHECK);
-	if (type == IResource.FILE)
-		createLinkButton.setText(IDEWorkbenchMessages.getString("CreateLinkedResourceGroup.linkFileButton")); //$NON-NLS-1$
-	else
-		createLinkButton.setText(IDEWorkbenchMessages.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) {
-			linkTarget = linkTargetField.getText();
-			resolveVariable();
-			if (listener != null)
-				listener.handleEvent(new Event());
-		}
-	});
-	// browse button
-	browseButton = new Button(linkTargetGroup, SWT.PUSH);
-	setButtonLayoutData(browseButton);
-	browseButton.setFont(font);
-	browseButton.setText(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.getString("CreateLinkedResourceGroup.resolvedPathLabel")); //$NON-NLS-1$
-	resolvedPathLabelText.setVisible(false);
-
-	resolvedPathLabelData = new Label(resolvedPathGroup, SWT.SINGLE);
-	data = new GridData(GridData.FILL_HORIZONTAL);
-	resolvedPathLabelData.setLayoutData(data);
-	resolvedPathLabelData.setVisible(false);
-
-	if (linkTarget != null)
-		linkTargetField.setText(linkTarget);
-}
-/**
- * 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,
-		IDEWorkbenchPlugin.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)
-		return linkTarget;
-
-	return null;
-}
-/**
- * Opens a file or directory browser depending on the link type.
- */
-private void handleLinkTargetBrowseButtonPressed() {
-	File file = null;
-	String selection = null;
-	
-	if ("".equals(linkTarget) == false) {	//$NON-NLS-1$
-		file = new File(linkTarget);
-		if (file.exists() == false)
-			file = null;
-	}
-	if (type == IResource.FILE) {
-		FileDialog dialog = new FileDialog(linkTargetField.getShell());
-		if (file != null) {
-			if (file.isFile())
-				dialog.setFileName(linkTarget);
-			else
-				dialog.setFilterPath(linkTarget);
-		}
-		selection = dialog.open();		
-	}
-	else {
-		DirectoryDialog dialog = new DirectoryDialog(linkTargetField.getShell());
-		if (file != null) {
-			String path = linkTarget;
-			if (file.isFile())
-				path = file.getParent();
-			if (path != null)
-				dialog.setFilterPath(path);
-		}
-		dialog.setMessage(IDEWorkbenchMessages.getString("CreateLinkedResourceGroup.targetSelectionLabel")); //$NON-NLS-1$
-		selection = dialog.open();
-	}					
-	if (selection != null)
-		linkTargetField.setText(selection);
-}
-/**
- * Opens a path variable selection dialog
- */
-private void handleVariablesButtonPressed() {
-	int variableTypes = IResource.FOLDER;
-	
-	// allow selecting file and folder variables when creating a 
-	// linked file
-	if (type == IResource.FILE)
-		variableTypes |= IResource.FILE;
-
-	PathVariableSelectionDialog dialog = 
-		new PathVariableSelectionDialog(linkTargetField.getShell(), variableTypes);
-	if (dialog.open() == IDialogConstants.OK_ID) {
-		String[] variableNames = (String[]) dialog.getResult();			
-		if (variableNames != null && variableNames.length == 1)
-			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() {
-	IPathVariableManager pathVariableManager = ResourcesPlugin.getWorkspace().getPathVariableManager();
-	IPath path = new Path(linkTarget);
-	IPath resolvedPath = pathVariableManager.resolvePath(path);
-	
-	if (path.equals(resolvedPath)) {
-		resolvedPathLabelText.setVisible(false);
-		resolvedPathLabelData.setVisible(false);
-	} else {
-		resolvedPathLabelText.setVisible(true);
-		resolvedPathLabelData.setVisible(true);
-	}
-	resolvedPathLabelData.setText(resolvedPath.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) {
-	linkTarget = 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,
-			IDEWorkbenchMessages.getString("CreateLinkedResourceGroup.linkTargetNotFile"));	//$NON-NLS-1$
-	} else if (type == IResource.FOLDER && linkTargetFile.isDirectory() == false) {
-		return createStatus(
-			IStatus.ERROR,
-			IDEWorkbenchMessages.getString("CreateLinkedResourceGroup.linkTargetNotFolder"));	//$NON-NLS-1$
-	}
-	return createStatus(IStatus.OK, ""); //$NON-NLS-1$
-}
-/**
- * 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 = IDEWorkbenchPlugin.getPluginWorkspace();
-	IPath path = new Path(linkTarget);
-	
-	if (createLink == false)
-		return createStatus(IStatus.OK, ""); //$NON-NLS-1$
-
-	IStatus locationStatus = workspace.validateLinkLocation(linkHandle,	path);
-	if (locationStatus.getSeverity() == IStatus.ERROR)
-		return locationStatus;
-
-	// use the resolved link target name
-	String resolvedLinkTarget = resolvedPathLabelData.getText();
-	path = new Path(resolvedLinkTarget);
-	File linkTargetFile = new Path(resolvedLinkTarget).toFile();
-	if (linkTargetFile.exists()) {
-		IStatus fileTypeStatus = validateFileType(linkTargetFile);
-		if (fileTypeStatus.isOK() == false)
-			return fileTypeStatus;
-	} else if (locationStatus.getSeverity() == IStatus.OK) {
-		// locationStatus takes precedence over missing location warning.
-		return createStatus(
-			IStatus.WARNING,
-			IDEWorkbenchMessages.getString("CreateLinkedResourceGroup.linkTargetNonExistent"));	//$NON-NLS-1$	
-	}
-	return locationStatus;
-}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/CreateProjectStep.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/CreateProjectStep.java
deleted file mode 100644
index a4aea98..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/CreateProjectStep.java
+++ /dev/null
@@ -1,55 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-
-/**
- * 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 IDEWorkbenchMessages.getString("CreateProjectStep.label"); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on WizardStep.
-	 */
-	public String getDetails() {
-		return IDEWorkbenchMessages.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.ide/src/org/eclipse/ui/internal/ide/dialogs/CreateProjectWizard.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/CreateProjectWizard.java
deleted file mode 100644
index 675de35..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/CreateProjectWizard.java
+++ /dev/null
@@ -1,174 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-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.ide.IDEWorkbenchMessages;
-
-/**
- * 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(), 
-						IDEWorkbenchMessages.getString("CreateProjectWizard.errorTitle"),  //$NON-NLS-1$
-						IDEWorkbenchMessages.getString("CreateProjectWizard.caseVariantExistsError")  //$NON-NLS-1$,
-						);	
-				} else {
-					ErrorDialog.openError(
-						getShell(), 
-						IDEWorkbenchMessages.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(),
-					IDEWorkbenchMessages.getString("CreateProjectWizard.errorTitle"),  //$NON-NLS-1$
-					IDEWorkbenchMessages.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.ide/src/org/eclipse/ui/internal/ide/dialogs/FileFolderSelectionDialog.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/FileFolderSelectionDialog.java
deleted file mode 100644
index 5147730..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/FileFolderSelectionDialog.java
+++ /dev/null
@@ -1,181 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-import java.io.File;
-import java.io.FileFilter;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ElementTreeSelectionDialog;
-import org.eclipse.ui.dialogs.ISelectionStatusValidator;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-
-/**
- * Selection dialog to select files and/or folders on the file system.
- * Use setInput to set input to a java.io.File that points to a folder.
- * 
- * @since 2.1
- */
-public class FileFolderSelectionDialog extends ElementTreeSelectionDialog {
-
-	/**
-	 * Label provider for java.io.File objects.
-	 */
-	private static class FileLabelProvider extends LabelProvider {
-		private static final Image IMG_FOLDER = PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER);
-		private static final Image IMG_FILE =  PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FILE);
-	
-		public Image getImage(Object element) {
-			if (element instanceof File) {
-				File curr= (File) element;
-				if (curr.isDirectory()) {
-					return IMG_FOLDER;
-				} else {
-					return IMG_FILE;
-				}
-			}
-			return null;
-		}	
-		public String getText(Object element) {
-			if (element instanceof File) {
-				return ((File) element).getName();
-			}
-			return super.getText(element);
-		}
-	}
-	
-	/**
-	 * Content provider for java.io.File objects.
-	 */
-	private static class FileContentProvider implements ITreeContentProvider {
-		private static final Object[] EMPTY= new Object[0];
-		private FileFilter fileFilter;
-
-		/**
-		 * Creates a new instance of the receiver.
-		 * 
-		 * @param showFiles <code>true</code> files and folders are returned
-		 * 	by the receiver. <code>false</code> only folders are returned.
-		 */		
-		public FileContentProvider(final boolean showFiles) {
-			fileFilter = new FileFilter() {
-				public boolean accept(File file) {
-					if (file.isFile() && showFiles == false)
-						return false;
-					return true;
-				}
-			};			
-		}
-		public Object[] getChildren(Object parentElement) {
-			if (parentElement instanceof File) {
-				File[] children= ((File) parentElement).listFiles(fileFilter);
-				if (children != null) {
-					return children;
-				}
-			}
-			return EMPTY;
-		}	
-		public Object getParent(Object element) {
-			if (element instanceof File) {
-				return ((File) element).getParentFile();
-			}
-			return null;
-		}	
-		public boolean hasChildren(Object element) {
-			return getChildren(element).length > 0;
-		}	
-		public Object[] getElements(Object element) {
-			return getChildren(element);
-		}	
-		public void dispose() {
-		}	
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		}
-	}
-	
-	/**
-	 * Viewer sorter that places folders first, then files.  
-	 */
-	private static class FileViewerSorter extends ViewerSorter {
-		public int category(Object element) {
-			if (element instanceof File) {
-				if (((File) element).isFile()) {
-					return 1;
-				}
-			}
-			return 0;
-		}
-	}
-	
-	/**
-	 * Validates the selection based on the multi select and folder setting.
-	 */
-	private static class FileSelectionValidator implements ISelectionStatusValidator {
-		private boolean multiSelect;
-		private boolean acceptFolders;
-	
-		/**
-		 * Creates a new instance of the receiver.
-		 * 
-		 * @param multiSelect <code>true</code> if multi selection is allowed.
-		 * 	<code>false</code> if only single selection is allowed. 
-		 * @param acceptFolders <code>true</code> if folders can be selected
-		 * 	in the dialog. <code>false</code> only files and be selected.  
-		 */
-		public FileSelectionValidator(boolean multiSelect, boolean acceptFolders) {
-			this.multiSelect = multiSelect;
-			this.acceptFolders = acceptFolders;
-		}	
-		public IStatus validate(Object[] selection) {
-			int nSelected= selection.length;
-			String pluginId = IDEWorkbenchPlugin.getDefault().getDescriptor().getUniqueIdentifier();
-			
-			if (nSelected == 0 || (nSelected > 1 && multiSelect == false)) {
-				return new Status(IStatus.ERROR, pluginId, IStatus.ERROR, "", null);  //$NON-NLS-1$
-			}
-			for (int i= 0; i < selection.length; i++) {
-				Object curr= selection[i];
-				if (curr instanceof File) {
-					File file= (File) curr;
-					if (acceptFolders == false && file.isFile() == false) {
-						return new Status(IStatus.ERROR, pluginId, IStatus.ERROR, "", null);  //$NON-NLS-1$
-					}
-				}
-			}
-			return new Status(IStatus.OK, pluginId, IStatus.OK, "", null);  //$NON-NLS-1$
-		}
-	}	
-
-/**
- * Creates a new instance of the receiver.
- * 
- * @param multiSelect <code>true</code> if multi selection is allowed.
- * 	<code>false</code> if only single selection is allowed. 
- * @param type one or both of <code>IResource.FILE</code> and 
- * 	<code>IResource.FOLDER</code>, ORed together.
- * 	If <code>IResource.FILE</code> is specified files and folders are 
- * 	displayed in the dialog. Otherwise only folders are displayed.
- * 	If <code>IResource.FOLDER</code> is specified folders can be selected
- * 	in addition to files. 
- */
-public FileFolderSelectionDialog(Shell parent, boolean multiSelect, int type) {
-	super(parent, new FileLabelProvider(), new FileContentProvider((type & IResource.FILE) != 0));
-	setSorter(new FileViewerSorter());
-	setValidator(new FileSelectionValidator(multiSelect, (type & IResource.FOLDER) != 0));
-}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/FileStatesPage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/FileStatesPage.java
deleted file mode 100644
index 3374266..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/FileStatesPage.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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-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.ide.IHelpContextIds;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-/**
- * 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 = IDEWorkbenchMessages.getString("FileHistory.longevity"); //$NON-NLS-1$
-	private static final String MAX_FILE_STATES_TITLE = IDEWorkbenchMessages.getString("FileHistory.entries"); //$NON-NLS-1$
-	private static final String MAX_FILE_STATE_SIZE_TITLE = IDEWorkbenchMessages.getString("FileHistory.diskSpace"); //$NON-NLS-1$
-	private static final String POSITIVE_MESSAGE = IDEWorkbenchMessages.getString("FileHistory.mustBePositive"); //$NON-NLS-1$
-	private static final String INVALID_VALUE_MESSAGE = IDEWorkbenchMessages.getString("FileHistory.invalid"); //$NON-NLS-1$
-	private static final String SAVE_ERROR_MESSAGE = IDEWorkbenchMessages.getString("FileHistory.exceptionSaving"); //$NON-NLS-1$
-	private static final String NOTE_MESSAGE = IDEWorkbenchMessages.getString("FileHistory.restartNote"); //$NON-NLS-1$
-	private static final String NOTE_LABEL = IDEWorkbenchMessages.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);
-
-		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);
-		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);
-
-		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);
-		
-		applyDialogFont(composite);
-
-		return composite;
-	}
-	/**
-	 * 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(
-				IDEWorkbenchMessages.format(
-					"FileHistory.aboveMaxEntries", //$NON-NLS-1$
-					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(
-				IDEWorkbenchMessages.format(
-					"FileHistory.aboveMaxFileSize", //$NON-NLS-1$
-					new String[] { String.valueOf(STATE_SIZE_MAXIMUM)}));
-			return FAILED_VALUE;
-		}
-
-		return maxFileStateSize;
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/FileSystemResourceExporter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/FileSystemResourceExporter.java
deleted file mode 100644
index 772c21d..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/FileSystemResourceExporter.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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-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.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEEditorsPreferencePage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEEditorsPreferencePage.java
deleted file mode 100644
index 25938d5..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEEditorsPreferencePage.java
+++ /dev/null
@@ -1,209 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-import java.io.UnsupportedEncodingException;
-import java.util.ArrayList;
-import java.util.Collections;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Preferences;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-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.ui.internal.dialogs.EditorsPreferencePage;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-
-/**
- * Extends the Editors preference page with IDE-specific settings.
- *
- * @issue want IDE settings to appear in main Editors preference page (via subclassing),
- *   however the superclass, EditorsPreferencePage, is internal
- */
-public class IDEEditorsPreferencePage extends EditorsPreferencePage {
-
-	// State for encoding group
-	private String defaultEnc;
-	private Button defaultEncodingButton;
-	private Button otherEncodingButton;
-	private Combo encodingCombo;
-	
-	protected Control createContents(Composite parent) {
-		Composite composite = createComposite(parent);
-
-		createEditorHistoryGroup(composite);
-		
-		createSpace(composite);
-		createShowMultipleEditorTabsPref(composite);
-		createCloseEditorsOnExitPref(composite);
-		createEditorReuseGroup(composite);
-		
-		createSpace(composite);
-		createEncodingGroup(composite);
-		
-		updateValidState();
-
-		// @issue need IDE-level help for this page
-//		WorkbenchHelp.setHelp(parent, IHelpContextIds.WORKBENCH_EDITOR_PREFERENCE_PAGE);
-
-		return composite;
-	}
-	
-
-	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(IDEWorkbenchMessages.getString("WorkbenchPreference.encoding")); //$NON-NLS-1$
-		group.setFont(font);
-		
-		SelectionAdapter buttonListener = new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				updateEncodingState(defaultEncodingButton.getSelection());
-				updateValidState();
-			}
-		};
-		
-		defaultEncodingButton = new Button(group, SWT.RADIO);
-		defaultEnc = System.getProperty("file.encoding", "UTF-8");  //$NON-NLS-1$  //$NON-NLS-2$
-		defaultEncodingButton.setText(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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) {
-				updateValidState();
-			}
-		});
-
-		ArrayList encodings = new ArrayList();
-		int n = 0;
-		try {
-			n = Integer.parseInt(IDEWorkbenchMessages.getString("WorkbenchPreference.numDefaultEncodings")); //$NON-NLS-1$
-		}
-		catch (NumberFormatException e) {
-			// Ignore;
-		}
-		for (int i = 0; i < n; ++i) {
-			String enc = IDEWorkbenchMessages.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);
-	}
-
-	protected void updateValidState() {
-		super.updateValidState();
-		if (!isValid()) {
-			return;
-		}
-		if (!isEncodingValid()) {
-			setErrorMessage(IDEWorkbenchMessages.getString("WorkbenchPreference.unsupportedEncoding")); //$NON-NLS-1$
-			setValid(false);
-		}
-	}
-	
-	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);
-		updateValidState();
-	}		
-	
-	/**
-	 * The default button has been pressed. 
-	 */
-	protected void performDefaults() {
-		updateEncodingState(true);
-		super.performDefaults();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.dialogs.FileEditorsPreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		// set the workspace text file encoding
-		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();
-
-		return super.performOk();
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEPerspectivesPreferencePage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEPerspectivesPreferencePage.java
deleted file mode 100644
index 801a939..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEPerspectivesPreferencePage.java
+++ /dev/null
@@ -1,120 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-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.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.RadioGroupFieldEditor;
-
-import org.eclipse.ui.help.WorkbenchHelp;
-
-import org.eclipse.ui.internal.dialogs.PerspectivesPreferencePage;
-import org.eclipse.ui.internal.ide.IDEInternalPreferences;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-
-/**
- * Extends the Perspectives preference page with IDE-specific settings.
- * 
- * @issue want IDE settings to appear in main Perspectives preference page (via
- * subclassing), however the superclass, PerspectivesPreferencePage, is
- * internal
- */
-public class IDEPerspectivesPreferencePage extends PerspectivesPreferencePage {
-	private final String PROJECT_SWITCH_PERSP_MODE_TITLE = IDEWorkbenchMessages.getString("ProjectSwitchPerspectiveMode.optionsTitle"); //$NON-NLS-1$
-	private final String PSPM_ALWAYS_TEXT = IDEWorkbenchMessages.getString("ProjectSwitchPerspectiveMode.always"); //$NON-NLS-1$
-	private final String PSPM_NEVER_TEXT = IDEWorkbenchMessages.getString("ProjectSwitchPerspectiveMode.never"); //$NON-NLS-1$
-	private final String PSPM_PROMPT_TEXT = IDEWorkbenchMessages.getString("ProjectSwitchPerspectiveMode.prompt"); //$NON-NLS-1$
-
-	private RadioGroupFieldEditor projectSwitchField;
-
-	/**
-	 * Creates the page's UI content.
-	 */
-	protected Control createContents(Composite parent) {
-		// @issue if the product subclasses this page, then it should provide
-		// the help content
-		WorkbenchHelp.setHelp(
-			parent,
-			IHelpContextIds.PERSPECTIVES_PREFERENCE_PAGE);
-
-		Composite composite = createComposite(parent);
-
-		createOpenPerspButtonGroup(composite);
-		createOpenViewButtonGroup(composite);
-		createProjectPerspectiveGroup(composite);
-		createCustomizePerspective(composite);
-
-		return composite;
-	}
-
-	/**
-	 * Creates a composite that contains buttons for selecting the preference
-	 * opening new project selections.
-	 */
-	private void createProjectPerspectiveGroup(Composite composite) {
-
-		Composite projectComposite = new Composite(composite, SWT.NONE);
-		projectComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		projectComposite.setFont(composite.getFont());
-
-		String[][] namesAndValues =
-			{ { PSPM_ALWAYS_TEXT, IDEInternalPreferences.PSPM_ALWAYS }, {
-				PSPM_NEVER_TEXT, IDEInternalPreferences.PSPM_NEVER }, {
-				PSPM_PROMPT_TEXT, IDEInternalPreferences.PSPM_PROMPT }
-		};
-		projectSwitchField =
-			new RadioGroupFieldEditor(
-				IDEInternalPreferences.PROJECT_SWITCH_PERSP_MODE,
-				PROJECT_SWITCH_PERSP_MODE_TITLE,
-				namesAndValues.length,
-				namesAndValues,
-				projectComposite,
-				true);
-		projectSwitchField.setPreferenceStore(getIDEPreferenceStore());
-		projectSwitchField.setPreferencePage(this);
-		projectSwitchField.load();
-	}
-
-	/**
-	 * Returns the IDE preference store.
-	 */
-	protected IPreferenceStore getIDEPreferenceStore() {
-		return IDEWorkbenchPlugin.getDefault().getPreferenceStore();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.dialogs.PerspectivesPreferencePage#performDefaults()
-	 */
-	protected void performDefaults() {
-		projectSwitchField.loadDefault();
-		super.performDefaults();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.dialogs.PerspectivesPreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		projectSwitchField.store();
-		IDEWorkbenchPlugin.getDefault().savePluginPreferences();
-		return super.performOk();
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEStartupPreferencePage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEStartupPreferencePage.java
deleted file mode 100644
index 5885f19..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEStartupPreferencePage.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.swt.SWT;
-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.Label;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.dialogs.StartupPreferencePage;
-import org.eclipse.ui.internal.ide.ChooseWorkspaceData;
-import org.eclipse.ui.internal.ide.IDEInternalPreferences;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-
-/**
- * Extends the Startup and Shutdown preference page with IDE-specific settings.
- * 
- * @issue want IDE settings to appear in main Workbench preference page (via subclassing),
- *   however the superclass, StartupPreferencePage, is internal
- * @since 3.0
- */
-public class IDEStartupPreferencePage extends StartupPreferencePage implements
-        IWorkbenchPreferencePage {
-
-    private Button refreshButton;
-    private Button launchPromptButton;
-    private Button exitPromptButton;
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.preference.PreferencePage
-     */
-    protected Control createContents(Composite parent) {
-
-        WorkbenchHelp.setHelp(parent, IHelpContextIds.STARTUP_PREFERENCE_PAGE);
-
-        Composite composite = createComposite(parent);
-
-        createLaunchPromptPref(composite);
-        createRefreshWorkspaceOnStartupPref(composite);
-        createExitPromptPref(composite);
-
-		Label separator = new Label(composite, SWT.HORIZONTAL | SWT.SEPARATOR);
-		separator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-        createEarlyStartupSelection(composite);
-
-        return composite;
-    }
-
-    /**
-     * The default button has been pressed.
-     */
-    protected void performDefaults() {
-        IPreferenceStore store = getIDEPreferenceStore();
-
-        launchPromptButton.setSelection(true);
-
-        refreshButton
-                .setSelection(store
-                        .getDefaultBoolean(IDEInternalPreferences.REFRESH_WORKSPACE_ON_STARTUP));
-        exitPromptButton
-                .setSelection(store
-                        .getDefaultBoolean(IDEInternalPreferences.EXIT_PROMPT_ON_CLOSE_LAST_WINDOW));
-
-        super.performDefaults();
-    }
-
-    /**
-     * The user has pressed Ok. Store/apply this page's values appropriately.
-     */
-    public boolean performOk() {
-        IPreferenceStore store = getIDEPreferenceStore();
-
-        // store the refresh workspace on startup setting
-        store.setValue(IDEInternalPreferences.REFRESH_WORKSPACE_ON_STARTUP,
-                refreshButton.getSelection());
-
-        // TODO: This should get the value from the configuration preference
-        //       area, but dj said we shouldn't use it yet; some final details are
-        //       being worked out. Hopefully it will be available soon, at which time
-        //       the entire recentWorkspaces.xml file can be removed. But until then,
-        //       this preference reads/writes the file each time.
-        ChooseWorkspaceData.setShowDialogValue(launchPromptButton.getSelection());
-
-        // store the exit prompt on last window close setting
-        store.setValue(IDEInternalPreferences.EXIT_PROMPT_ON_CLOSE_LAST_WINDOW,
-                exitPromptButton.getSelection());
-
-        IDEWorkbenchPlugin.getDefault().savePluginPreferences();
-        
-        return super.performOk();
-    }
-
-    protected void createRefreshWorkspaceOnStartupPref(Composite composite) {
-        refreshButton = new Button(composite, SWT.CHECK);
-        refreshButton.setText(IDEWorkbenchMessages
-                .getString("StartupPreferencePage.refreshButton")); //$NON-NLS-1$
-        refreshButton.setFont(composite.getFont());
-        refreshButton.setSelection(getIDEPreferenceStore().getBoolean(
-                IDEInternalPreferences.REFRESH_WORKSPACE_ON_STARTUP));
-    }
-
-    protected void createLaunchPromptPref(Composite composite) {
-        launchPromptButton = new Button(composite, SWT.CHECK);
-        launchPromptButton.setText(IDEWorkbenchMessages
-                .getString("StartupPreferencePage.launchPromptButton")); //$NON-NLS-1$
-        launchPromptButton.setFont(composite.getFont());
-
-        // TODO: This should get the value from the configuration preference
-        //       area, but dj said we shouldn't use it yet; some final details are
-        //       being worked out. Hopefully it will be available soon, at which time
-        //       the entire recentWorkspaces.xml file can be removed. But until then,
-        //       this preference reads/writes the file each time.
-        launchPromptButton.setSelection(ChooseWorkspaceData.getShowDialogValue());
-    }
-
-    protected void createExitPromptPref(Composite composite) {
-        exitPromptButton = new Button(composite, SWT.CHECK);
-        exitPromptButton.setText(IDEWorkbenchMessages
-                .getString("StartupPreferencePage.exitPromptButton")); //$NON-NLS-1$
-        exitPromptButton.setFont(composite.getFont());
-        exitPromptButton.setSelection(getIDEPreferenceStore().getBoolean(
-                IDEInternalPreferences.EXIT_PROMPT_ON_CLOSE_LAST_WINDOW));
-    }
-
-    /**
-     * Returns the IDE preference store.
-     */
-    protected IPreferenceStore getIDEPreferenceStore() {
-        return IDEWorkbenchPlugin.getDefault().getPreferenceStore();
-    }
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEWorkbenchPreferencePage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEWorkbenchPreferencePage.java
deleted file mode 100644
index ce8a7d7..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEWorkbenchPreferencePage.java
+++ /dev/null
@@ -1,284 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-import org.eclipse.core.resources.IWorkspaceDescription;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Preferences;
-
-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.Control;
-import org.eclipse.swt.widgets.Text;
-
-import org.eclipse.jface.preference.FieldEditor;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.IntegerFieldEditor;
-import org.eclipse.jface.preference.StringFieldEditor;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-import org.eclipse.ui.internal.dialogs.WorkbenchPreferencePage;
-import org.eclipse.ui.internal.ide.IDEInternalPreferences;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-import org.eclipse.ui.internal.ide.misc.WorkInProgressMessages;
-
-/**
- * The IDE workbench main preference page.
- * 
- * @issue want IDE settings to appear in main Workbench preference page (via subclassing),
- *   however the superclass, WorkbenchPreferencePage, is internal
- */
-public class IDEWorkbenchPreferencePage extends WorkbenchPreferencePage
-        implements IWorkbenchPreferencePage {
-	
-
-    private Button autoBuildButton;
-
-    private Button autoSaveAllButton;
-
-    private IntegerFieldEditor saveInterval;
-
-    private Button autoRefreshButton;
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.preference.PreferencePage
-     */
-    protected Control createContents(Composite parent) {
-
-        WorkbenchHelp
-                .setHelp(parent, IHelpContextIds.WORKBENCH_PREFERENCE_PAGE);
-
-        Composite composite = createComposite(parent);
-
-        createShowUserDialogPref(composite);
-        createAutoBuildPref(composite);
-        createAutoRefreshControls(composite);
-        createSaveAllBeforeBuildPref(composite);
-        createStickyCyclePref(composite);
-
-        createSpace(composite);
-        createSaveIntervalGroup(composite);
-
-        createSpace(composite);
-        createOpenModeGroup(composite);   
-        
-        applyDialogFont(composite);
-
-        return composite;
-    }
-
-    protected void createSaveAllBeforeBuildPref(Composite composite) {
-        autoSaveAllButton = new Button(composite, SWT.CHECK);
-        autoSaveAllButton.setText(IDEWorkbenchMessages
-                .getString("WorkbenchPreference.savePriorToBuilding")); //$NON-NLS-1$
-        autoSaveAllButton.setToolTipText(IDEWorkbenchMessages
-                .getString("WorkbenchPreference.savePriorToBuildingToolTip")); //$NON-NLS-1$
-        autoSaveAllButton.setSelection(getIDEPreferenceStore().getBoolean(
-                IDEInternalPreferences.SAVE_ALL_BEFORE_BUILD));
-    }
-
-    private void createAutoBuildPref(Composite composite) {
-        autoBuildButton = new Button(composite, SWT.CHECK);
-        autoBuildButton.setText(IDEWorkbenchMessages
-                .getString("WorkbenchPreference.autobuild")); //$NON-NLS-1$
-        autoBuildButton.setToolTipText(IDEWorkbenchMessages
-                .getString("WorkbenchPreference.autobuildToolTip")); //$NON-NLS-1$
-        autoBuildButton.setSelection(ResourcesPlugin.getWorkspace()
-                .isAutoBuilding());
-    }
-
-    /**
-     * Create a composite that contains entry fields specifying save interval
-     * preference.
-     * @param composite. The Composite the group is created in.
-     */
-    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);
-
-        saveInterval = new IntegerFieldEditor(
-                IDEInternalPreferences.SAVE_INTERVAL, IDEWorkbenchMessages
-                        .getString("WorkbenchPreference.saveInterval"), //$NON-NLS-1$
-                groupComposite); 
-
-        // @issue we should drop our preference constant and let clients use
-        // core's pref. ours is not up-to-date anyway if someone changes this
-        // interval directly thru core api.
-        saveInterval.setPreferenceStore(getIDEPreferenceStore());
-        saveInterval.setPreferencePage(this);
-        saveInterval.setTextLimit(Integer.toString(
-                IDEInternalPreferences.MAX_SAVE_INTERVAL).length());
-        saveInterval.setErrorMessage(IDEWorkbenchMessages.format(
-                "WorkbenchPreference.saveIntervalError", //$NON-NLS-1$
-                new Object[] { new Integer(
-                        IDEInternalPreferences.MAX_SAVE_INTERVAL)})); 
-        saveInterval
-                .setValidateStrategy(StringFieldEditor.VALIDATE_ON_KEY_STROKE);
-        saveInterval.setValidRange(1, IDEInternalPreferences.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());
-            }
-        });
-
-    }
-
-    /**
-     * Returns the IDE preference store.
-     * @return the preference store.
-     */
-    protected IPreferenceStore getIDEPreferenceStore() {
-        return IDEWorkbenchPlugin.getDefault().getPreferenceStore();
-    }
-
-    /**
-     * The default button has been pressed.
-     */
-    protected void performDefaults() {
-
-        // core holds onto this preference.
-        boolean autoBuild = ResourcesPlugin.getPlugin().getPluginPreferences()
-                .getDefaultBoolean(ResourcesPlugin.PREF_AUTO_BUILDING);
-        autoBuildButton.setSelection(autoBuild);
-
-        IPreferenceStore store = getIDEPreferenceStore();
-        autoSaveAllButton
-                .setSelection(store
-                        .getDefaultBoolean(IDEInternalPreferences.SAVE_ALL_BEFORE_BUILD));
-        saveInterval.loadDefault();
-        
-    	boolean autoRefresh =
-			ResourcesPlugin.getPlugin().getPluginPreferences().getDefaultBoolean(
-				ResourcesPlugin.PREF_AUTO_REFRESH);
-		autoRefreshButton.setSelection(autoRefresh);
-
-        super.performDefaults();
-    }
-
-    /**
-     * The user has pressed Ok. Store/apply this page's values appropriately.
-     */
-    public boolean performOk() {
-        // set the workspace auto-build flag
-        IWorkspaceDescription description = ResourcesPlugin.getWorkspace()
-                .getDescription();
-        if (autoBuildButton.getSelection() != ResourcesPlugin.getWorkspace()
-                .isAutoBuilding()) {
-            try {
-                description.setAutoBuilding(autoBuildButton.getSelection());
-                ResourcesPlugin.getWorkspace().setDescription(description);
-            } catch (CoreException e) {
-                IDEWorkbenchPlugin.log(
-                        "Error changing auto build workspace setting.", e//$NON-NLS-1$
-                                .getStatus()); 
-            }
-        }
-
-        IPreferenceStore store = getIDEPreferenceStore();
-
-        // store the save all prior to build setting
-        store.setValue(IDEInternalPreferences.SAVE_ALL_BEFORE_BUILD,
-                autoSaveAllButton.getSelection());
-
-        // store the workspace save interval
-        // @issue we should drop our preference constant and let clients use
-        // core's pref. ours is not up-to-date anyway if someone changes this
-        // interval directly thru core api.
-        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(
-                        IDEInternalPreferences.SAVE_INTERVAL, new Integer(
-                                (int) oldSaveInterval), new Integer(
-                                (int) newSaveInterval));
-            } catch (CoreException e) {
-                IDEWorkbenchPlugin.log(
-                        "Error changing save interval preference", e //$NON-NLS-1$
-                                .getStatus()); 
-            }
-        }
-        
-        Preferences preferences = ResourcesPlugin.getPlugin().getPluginPreferences();
-        
-        boolean autoRefresh = autoRefreshButton.getSelection();
-		preferences.setValue(ResourcesPlugin.PREF_AUTO_REFRESH, autoRefresh);
-
-        return super.performOk();
-    }
-
-    /**
-     * Create the Refresh controls
-     * 
-     * @param parent
-     */
-    private void createAutoRefreshControls(Composite parent) {
-        
-
-        this.autoRefreshButton = new Button(parent, SWT.CHECK);
-        this.autoRefreshButton.setText(IDEWorkbenchMessages.getString("WorkbenchPreference.RefreshButtonText"));  //$NON-NLS-1$
-        this.autoRefreshButton.setToolTipText(IDEWorkbenchMessages.getString("WorkbenchPreference.RefreshButtonToolTip"));  //$NON-NLS-1$
-
-        boolean autoRefresh = ResourcesPlugin.getPlugin()
-                .getPluginPreferences().getBoolean(
-                        ResourcesPlugin.PREF_AUTO_REFRESH);
-        this.autoRefreshButton.setSelection(autoRefresh);
-    }
-    
-    /**
-     * Check the state of the text
-     * @param text The widget to check
-     * @return <code>true</code> if the text has a valid number entered.
-     */
-	protected boolean checkState(Text text) {
-
-		if (text == null)
-			return false;
-		try {
-			Integer.valueOf(text.getText()).intValue();
-			setErrorMessage(null);
-			return true;
-		} catch (NumberFormatException e1) {
-			setErrorMessage(WorkInProgressMessages.getString("WorkInProgressPreferencePage.InvalidMessage")); //$NON-NLS-1$
-		}
-
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IElementFilter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IElementFilter.java
deleted file mode 100644
index 9c2f1fd..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IElementFilter.java
+++ /dev/null
@@ -1,35 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-
-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;
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/InstallCapabilityStep.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/InstallCapabilityStep.java
deleted file mode 100644
index 5fa595c..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/InstallCapabilityStep.java
+++ /dev/null
@@ -1,80 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-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.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.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 IDEWorkbenchMessages.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.ide/src/org/eclipse/ui/internal/ide/dialogs/InternalBase64Encoder.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/InternalBase64Encoder.java
deleted file mode 100644
index 895bc52..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/InternalBase64Encoder.java
+++ /dev/null
@@ -1,67 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-
-/**
- *	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.ide/src/org/eclipse/ui/internal/ide/dialogs/InternalErrorDialog.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/InternalErrorDialog.java
deleted file mode 100644
index 716490f..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/InternalErrorDialog.java
+++ /dev/null
@@ -1,176 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-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;
-}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/LinkedResourcesPreferencePage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/LinkedResourcesPreferencePage.java
deleted file mode 100644
index 73c71b9..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/LinkedResourcesPreferencePage.java
+++ /dev/null
@@ -1,163 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.ide.dialogs;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.jface.dialogs.MessageDialog;
-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.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-
-/**
- * Preference page for linked resources. 
- * This preference page allows enabling and disabling the workbench linked 
- * resource support.
- * It also shows all path variables currently defined in the workspace's path 
- * variable manager. The user may add, edit and remove path variables. 
- *  
- * @see org.eclipse.ui.internal.ide.dialogs.PathVariableDialog
- */
-public class LinkedResourcesPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-	private Label topLabel;
-	private PathVariablesGroup pathVariablesGroup;
-	 
-	/**
-	 * Constructs a preference page of path variables.
-	 * Omits "Restore Defaults"/"Apply Changes" buttons.
-	 */
-	public LinkedResourcesPreferencePage() {
-		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();
-
-		WorkbenchHelp.setHelp(parent, IHelpContextIds.LINKED_RESOURCE_PREFERENCE_PAGE);
-		// 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);
-
-		final Button enableLinkedResourcesButton = new Button(pageComponent, SWT.CHECK);		
-		enableLinkedResourcesButton.setText(IDEWorkbenchMessages.getString("LinkedResourcesPreference.enableLinkedResources")); //$NON-NLS-1$
-		enableLinkedResourcesButton.setFont(font);
-		enableLinkedResourcesButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				boolean enabled = enableLinkedResourcesButton.getSelection();				
-				Preferences preferences = ResourcesPlugin.getPlugin().getPluginPreferences();
-				preferences.setValue(ResourcesPlugin.PREF_DISABLE_LINKING, !enabled);
-				
-				updateWidgetState(enabled);
-				if (enabled) {
-					MessageDialog.openWarning(
-						getShell(), 
-						IDEWorkbenchMessages.getString("LinkedResourcesPreference.linkedResourcesWarningTitle"),		//$NON-NLS-1$ 
-						IDEWorkbenchMessages.getString("LinkedResourcesPreference.linkedResourcesWarningMessage"));	//$NON-NLS-1$
-				}
-			}
-		});
-
-		createSpace(pageComponent);
-		
-		topLabel = new Label(pageComponent, SWT.NONE);
-		topLabel.setText(IDEWorkbenchMessages.getString("LinkedResourcesPreference.explanation")); //$NON-NLS-1$
-		data = new GridData();
-		data.verticalAlignment = GridData.FILL;
-		data.horizontalAlignment = GridData.FILL;
-		topLabel.setLayoutData(data);
-		topLabel.setFont(font);
-
-		pathVariablesGroup.createContents(pageComponent);
-
-		Preferences preferences = ResourcesPlugin.getPlugin().getPluginPreferences();
-		boolean enableLinking = !preferences.getBoolean(ResourcesPlugin.PREF_DISABLE_LINKING);
-		enableLinkedResourcesButton.setSelection(enableLinking);
-		updateWidgetState(enableLinking);
-		return pageComponent;
-	}
-	
-	/**
-	 * 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);
-	}
-	
-	/**
-	 * 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();
-	}
-	/**
-	 * Set the widget enabled state
-	 * 
-	 * @param enableLinking the new widget enabled state
-	 */
-	protected void updateWidgetState(boolean enableLinking) {
-		topLabel.setEnabled(enableLinking);
-		pathVariablesGroup.setEnabled(enableLinking);
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepCapabilityWizard.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepCapabilityWizard.java
deleted file mode 100644
index 3e22865..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepCapabilityWizard.java
+++ /dev/null
@@ -1,62 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-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.ide.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.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepConfigureWizardPage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepConfigureWizardPage.java
deleted file mode 100644
index f00a74b..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepConfigureWizardPage.java
+++ /dev/null
@@ -1,500 +0,0 @@
-package org.eclipse.ui.internal.ide.dialogs;
-
-/******************************************************************************* 
- * 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 Corporation - initial API and implementation 
- *   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.ide.IHelpContextIds;
-import org.eclipse.ui.internal.ide.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()) {
-				throw new IllegalStateException();
-			}
-			
-			// 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.
-				if (page.getControl() == null) {
-					throw new IllegalArgumentException();
-				}
-				// 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.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepReviewWizardPage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepReviewWizardPage.java
deleted file mode 100644
index 60d55aa..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepReviewWizardPage.java
+++ /dev/null
@@ -1,172 +0,0 @@
-package org.eclipse.ui.internal.ide.dialogs;
-
-/******************************************************************************* 
- * 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 Corporation - initial API and implementation 
- *   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.ide.IHelpContextIds;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.getString("MultiStepReviewWizardPage.instructionFinishLabel")); //$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(IDEWorkbenchMessages.getString("MultiStepReviewWizardPage.instructionFinishLabel")); //$NON-NLS-1$
-			else
-				instructionLabel.setText(IDEWorkbenchMessages.getString("MultiStepReviewWizardPage.instructionNextLabel")); //$NON-NLS-1$
-			((Composite)getControl()).layout(true);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepWizard.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepWizard.java
deleted file mode 100644
index 12d7b2b..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepWizard.java
+++ /dev/null
@@ -1,230 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.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 IDEWorkbenchMessages.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.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepWizardDialog.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepWizardDialog.java
deleted file mode 100644
index 205595e..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepWizardDialog.java
+++ /dev/null
@@ -1,140 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-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.ide/src/org/eclipse/ui/internal/ide/dialogs/NewProjectWizard.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/NewProjectWizard.java
deleted file mode 100644
index 5786c79..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/NewProjectWizard.java
+++ /dev/null
@@ -1,292 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-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.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.MessageDialog;
-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.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.Category;
-import org.eclipse.ui.internal.ide.registry.Capability;
-import org.eclipse.ui.internal.ide.registry.CapabilityRegistry;
-
-/**
- * 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;
-	
-	// 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 Category[] initialSelectedCategories;
-	
-	/**
-	 * Creates an empty wizard for creating a new project
-	 * in the workspace.
-	 */
-	public NewProjectWizard() {
-		super();
-		
-		IDEWorkbenchPlugin plugin = IDEWorkbenchPlugin.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(IDEWorkbenchMessages.getString("NewProjectWizard.title")); //$NON-NLS-1$
-		creationPage.setDescription(IDEWorkbenchMessages.getString("WizardNewProjectCreationPage.description")); //$NON-NLS-1$
-		creationPage.setInitialProjectName(initialProjectName);
-		this.addPage(creationPage);
-		
-		capabilityPage = new WizardNewProjectCapabilityPage("newProjectCapabilityPage");//$NON-NLS-1$
-		capabilityPage.setTitle(IDEWorkbenchMessages.getString("NewProjectWizard.title")); //$NON-NLS-1$
-		capabilityPage.setDescription(IDEWorkbenchMessages.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 = IDEWorkbenchPlugin.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(), 
-				IDEWorkbenchMessages.getString("NewProjectWizard.errorTitle"),  //$NON-NLS-1$
-				IDEWorkbenchMessages.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 IDEWorkbenchMessages.getString("NewProjectWizard.title"); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on MultiStepWizard.
-	 */
-	protected String getConfigurePageDescription() {
-		return IDEWorkbenchMessages.getString("WizardProjectConfigurePage.description"); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on MultiStepWizard.
-	 */
-	protected  String getReviewPageTitle() {
-		return IDEWorkbenchMessages.getString("NewProjectWizard.title"); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on MultiStepWizard.
-	 */
-	protected String getReviewPageDescription() {
-		return IDEWorkbenchMessages.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(),
-			IDEWorkbenchMessages.getString("NewProjectWizard.errorTitle"), //$NON-NLS-1$
-			IDEWorkbenchMessages.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;
-		initializeDefaultPageImageDescriptor();
-		setWindowTitle(IDEWorkbenchMessages.getString("NewProjectWizard.windowTitle")); //$NON-NLS-1$
-	}
-
-	/**
-	 * Sets the image banner for the wizard
-	 */
-	protected void initializeDefaultPageImageDescriptor() {
-		String iconPath = "icons/full/";//$NON-NLS-1$		
-		try {
-			// @issue when icons move to IDE, need to update the following
-			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(Category[] 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.ide/src/org/eclipse/ui/internal/ide/dialogs/OpenResourceDialog.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/OpenResourceDialog.java
deleted file mode 100644
index 4345e31..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/OpenResourceDialog.java
+++ /dev/null
@@ -1,47 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-import org.eclipse.core.resources.IContainer;
-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.ide.IHelpContextIds;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-
-/**
- * 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, IContainer container, int typesMask) {
-	super(parentShell, container, typesMask);
-	setTitle(IDEWorkbenchMessages.getString("OpenResourceDialog.title")); //$NON-NLS-1$
-	WorkbenchHelp.setHelp(parentShell, IHelpContextIds.OPEN_RESOURCE_DIALOG);
-}
-
-
-/**
- * Extends the super's filter to exclude derived resources.
- * 
- * @since 3.0
- */
-protected boolean select(IResource resource) {
-    return super.select(resource) && !resource.isDerived();
-}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/PathVariableDialog.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/PathVariableDialog.java
deleted file mode 100644
index 9c87ba1..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/PathVariableDialog.java
+++ /dev/null
@@ -1,544 +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 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.ide.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.ide.IDEWorkbenchMessages;
-
-/**
- * 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 boolean newVariable;
-
-	/**
-	 * 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.newVariable = type == NEW_VARIABLE;
-		this.variableName = ""; //$NON-NLS-1$
-		this.variableValue = ""; //$NON-NLS-1$
-		this.variableType = variableType;
-		this.pathVariableManager = pathVariableManager;
-		this.namesInUse = namesInUse;
-
-		if (newVariable)
-		    this.standardMessage = IDEWorkbenchMessages.getString("PathVariableDialog.message.newVariable"); //$NON-NLS-1$
-		else
-		    this.standardMessage = IDEWorkbenchMessages.getString("PathVariableDialog.message.existingVariable"); //$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);
-		if (newVariable)
-		    shell.setText(IDEWorkbenchMessages.getString("PathVariableDialog.shellTitle.newVariable")); //$NON-NLS-1$
-		else
-	    	shell.setText(IDEWorkbenchMessages.getString("PathVariableDialog.shellTitle.existingVariable")); //$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());
-
-		if (newVariable)
-		    setTitle(IDEWorkbenchMessages.getString("PathVariableDialog.dialogTitle.newVariable")); //$NON-NLS-1$
-		else
-		    setTitle(IDEWorkbenchMessages.getString("PathVariableDialog.dialogTitle.existingVariable")); //$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 = IDEWorkbenchMessages.getString("PathVariableDialog.variableName"); //$NON-NLS-1$
-		String valueLabelText = IDEWorkbenchMessages.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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.getString("PathVariableDialog.selectFolderTitle")); //$NON-NLS-1$
-		dialog.setMessage(IDEWorkbenchMessages.getString("PathVariableDialog.selectFolderMessage")); //$NON-NLS-1$
-		dialog.setFilterPath(variableValue);
-		String res = dialog.open();
-		if (res != null) {
-			variableValue = new Path(res).makeAbsolute().toOSString();
-			variableValueField.setText(variableValue);
-		}
-	}
-
-	/**
-	 * Opens a dialog where the user can select a file path.
-	 */
-	private void selectFile() {
-		FileDialog dialog = new FileDialog(getShell());
-		dialog.setText(IDEWorkbenchMessages.getString("PathVariableDialog.selectFileTitle")); //$NON-NLS-1$
-		dialog.setFilterPath(variableValue);
-		String res = dialog.open();
-		if (res != null) {
-			variableValue = new Path(res).makeAbsolute().toOSString();
-			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 = IDEWorkbenchMessages.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 = IDEWorkbenchMessages.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 = IDEWorkbenchMessages.getString("PathVariableDialog.variableValueEmptyMessage"); //$NON-NLS-1$
-			}			
-		} else if (!Path.EMPTY.isValidPath(variableValue)) {
-			// the variable value is an invalid path
-			message = IDEWorkbenchMessages.getString("PathVariableDialog.variableValueInvalidMessage"); //$NON-NLS-1$
-			newValidationStatus = IMessageProvider.ERROR;
-		} else if (!new Path(variableValue).isAbsolute()) {
-			// the variable value is a relative path
-			message = IDEWorkbenchMessages.getString("PathVariableDialog.pathIsRelativeMessage"); //$NON-NLS-1$
-			newValidationStatus = IMessageProvider.ERROR;
-		} else if (!new File(variableValue).exists()) {
-			// the path does not exist (warning)
-			message = IDEWorkbenchMessages.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.ide/src/org/eclipse/ui/internal/ide/dialogs/PathVariableSelectionDialog.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/PathVariableSelectionDialog.java
deleted file mode 100644
index 51c86d7..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/PathVariableSelectionDialog.java
+++ /dev/null
@@ -1,184 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.ide.dialogs;
-
-import java.io.File;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.dialogs.IDialogConstants;
-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.ide.IHelpContextIds;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-
-/**
- * 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>
- * 
- * @since 2.1
- */
-public class PathVariableSelectionDialog extends SelectionDialog {
-	private static final int EXTEND_ID = IDialogConstants.CLIENT_ID + 1;
-	private PathVariablesGroup pathVariablesGroup;
-	private int variableType;
-
-/**
- * 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(IDEWorkbenchMessages.getString("PathVariableSelectionDialog.title")); //$NON-NLS-1$
-	this.variableType = variableType;
-	pathVariablesGroup = new PathVariablesGroup(
-		false, 
-		variableType,
-		new Listener() {
-			public void handleEvent(Event event) {
-				updateExtendButtonState();
-			}
-		}
-	);
-	setShellStyle(getShellStyle() | SWT.RESIZE);
-}
-/**
- * Handles an "Extend" button press.
- * 
- * @see org.eclipse.jface.dialogs.Dialog#buttonPressed(int)
- */
-protected void buttonPressed(int buttonId) {
-	if (buttonId == EXTEND_ID) {
-		FileFolderSelectionDialog dialog = new FileFolderSelectionDialog(getShell(), false, variableType);
-		PathVariablesGroup.PathVariableElement selection = pathVariablesGroup.getSelection()[0];
-		dialog.setTitle(IDEWorkbenchMessages.getString("PathVariableSelectionDialog.ExtensionDialog.title")); //$NON-NLS-1$
-		dialog.setMessage(IDEWorkbenchMessages.format("PathVariableSelectionDialog.ExtensionDialog.description", new Object[] {selection.name})); //$NON-NLS-1$
-		dialog.setInput(selection.path.toFile());
-		if (dialog.open() == FileFolderSelectionDialog.OK && pathVariablesGroup.performOk()) {
-			setExtensionResult(selection, (File) dialog.getResult()[0]);
-			super.okPressed();
-		}
-	}
-	else
-		super.buttonPressed(buttonId);
-}
-/* (non-Javadoc)
- * Method declared in Window.
- */
-protected void configureShell(Shell shell) {
-	super.configureShell(shell);
-	WorkbenchHelp.setHelp(shell, IHelpContextIds.PATH_VARIABLE_SELECTION_DIALOG);
-}
-/**
- * Adds an Extend button in addition to OK, Cancel.
- * 
- * @see org.eclipse.jface.dialogs.Dialog#createButtonsForButtonBar(Composite)
- */
-protected void createButtonsForButtonBar(Composite parent) {
-	createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-	createButton(parent, EXTEND_ID, IDEWorkbenchMessages.getString("PathVariableSelectionDialog.extendButton"), false);//$NON-NLS-1$	
-	createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-	updateExtendButtonState();
-}
-/* (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()) {
-		PathVariablesGroup.PathVariableElement[] selection = pathVariablesGroup.getSelection();
-		String[] variableNames = new String[selection.length];
-		
-		for (int i = 0; i < selection.length; i++)
-			variableNames[i] = selection[i].name;
-		setSelectionResult(variableNames);
-	}
-	else {
-		setSelectionResult(null);
-	}
-	super.okPressed();
-}
-/**
- * Sets the dialog result to the concatenated variable name and extension.
- * 
- * @param variable variable selected in the variables list and extended
- * 	by <code>extensionFile</code>
- * @param extensionFile file selected to extend the variable.
- */
-private void setExtensionResult(PathVariablesGroup.PathVariableElement variable, File extensionFile) {
-	IPath extensionPath = new Path(extensionFile.getPath());
-	int matchCount = extensionPath.matchingFirstSegments(variable.path);
-	IPath resultPath = new Path(variable.name);
-		
-	extensionPath = extensionPath.removeFirstSegments(matchCount);
-	resultPath = resultPath.append(extensionPath);			
-	setSelectionResult(new String[] {resultPath.toOSString()});
-}
-/**
- * Updates the enabled state of the Extend button based on the 
- * current variable selection.
- */
-protected void updateExtendButtonState() {
-	PathVariablesGroup.PathVariableElement[] selection = pathVariablesGroup.getSelection();
-	Button extendButton = getButton(EXTEND_ID);
-	
-	if (extendButton == null)
-		return;
-	if (selection.length == 1) {
-		File file = selection[0].path.toFile();	
-		if (file.exists() == false || file.isFile())
-			extendButton.setEnabled(false);
-		else
-			extendButton.setEnabled(true);
-	}
-	else
-		extendButton.setEnabled(false);	
-}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/PathVariablesGroup.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/PathVariablesGroup.java
deleted file mode 100644
index 47f3d30..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/PathVariablesGroup.java
+++ /dev/null
@@ -1,517 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.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.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * A widget group that displays path variables. 
- * Includes buttons to edit, remove existing variables and create new ones.
- * 
- * @since 2.1
- */
-public class PathVariablesGroup {
-	/**
-	 * Simple data structure that holds a path variable name/value pair.
-	 */
-	public static class PathVariableElement {
-		public String name;
-		public IPath path;
-	}
-
-	// sizing constants
-	private static final int SIZING_SELECTION_PANE_WIDTH = 400;
-
-	// parent shell
-	private Shell shell;
-
-	private Label variableLabel;	
-	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;
-	// External listener called when the table selection changes
-	private Listener selectionListener;
-	// 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 = PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FILE);
-	// folder image
-	private final Image FOLDER_IMG = PlatformUI.getWorkbench().getSharedImages().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();
-	}
-	/**
-	 * 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.
-	 * @param selectionListener listener notified when the selection changes
-	 * 	in the variables list.
-	 */
-	public PathVariablesGroup(boolean multiSelect, int variableType, Listener selectionListener) {
-		this(multiSelect, variableType);
-		this.selectionListener = selectionListener;
-	}
-	/**
-	 * 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 =
-				AbstractUIPlugin.imageDescriptorFromPlugin(
-					IDEWorkbenchPlugin.IDE_WORKBENCH, 
-					"icons/full/obj16/warning.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
-		variableLabel = new Label(pageComponent, SWT.LEFT);
-		variableLabel.setText(IDEWorkbenchMessages.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();
-				if (selectionListener != null)
-					selectionListener.handleEvent(new Event());
-			}
-		});
-		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.toOSString());
-
-		// 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 enabled state of the group's widgets.
-	 * Returns <code>true</code> if called prior to calling 
-	 * <code>createContents</code>.
-	 * 
-	 * @return boolean the enabled state of the group's widgets.
-	 * 	 <code>true</code> if called prior to calling <code>createContents</code>.
-	 */
-	public boolean getEnabled() {
-		if (variableTable != null && !variableTable.isDisposed()) {
-			return variableTable.getEnabled();
-		}
-		return true;
-	}
-	/**
-	 * Returns the selected variables.
-	 *  
-	 * @return the selected variables. Returns an empty array if 
-	 * 	the widget group has not been created yet by calling 
-	 * 	<code>createContents</code>
-	 */
-	public PathVariableElement[] getSelection() {
-		if (variableTable == null) {
-			return new PathVariableElement[0];
-		}
-		TableItem[] items = variableTable.getSelection();
-		PathVariableElement[] selection = new PathVariableElement[items.length]; 
-
-		for (int i = 0; i < items.length; i++) {
-			String name = (String) items[i].getData();
-			selection[i] = new PathVariableElement();
-			selection[i].name = name;
-			selection[i].path = (IPath) tempPathVariables.get(name);
-		}
-		return selection;
-	}
-	/**
-	 * 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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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.toOSString()); //$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);
-			if (selectionListener != null)
-				selectionListener.handleEvent(new Event());		
-		} else if (variableTable.getItemCount() == 0 && selectionListener != null)
-			selectionListener.handleEvent(new Event());
-	}
-	/**
-	 * 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;
-	}
-	/**
-	 * Sets the enabled state of the group's widgets.
-	 * Does nothing if called prior to calling <code>createContents</code>.
-	 * 
-	 * @param enabled the new enabled state of the group's widgets
-	 */
-	public void setEnabled(boolean enabled) {
-		if (variableTable != null && !variableTable.isDisposed()) {
-			variableLabel.setEnabled(enabled);
-			variableTable.setEnabled(enabled);
-			addButton.setEnabled(enabled);
-			if (enabled)
-				updateEnabledState();
-			else {
-				editButton.setEnabled(enabled);
-				removeButton.setEnabled(enabled);
-			}
-		}
-	}
-	/**
-	 * 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.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectCapabilityEditingPropertyPage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectCapabilityEditingPropertyPage.java
deleted file mode 100644
index 9601024..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectCapabilityEditingPropertyPage.java
+++ /dev/null
@@ -1,357 +0,0 @@
-package org.eclipse.ui.internal.ide.dialogs;
-
-/******************************************************************************* 
- * 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 Corporation - initial API and implementation 
- *    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.ArrayList;
-import java.util.Arrays;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IStatus;
-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.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IContentProvider;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.wizard.IWizardContainer;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.WizardDialog;
-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.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.ui.ICapabilityUninstallWizard;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-import org.eclipse.ui.internal.ide.registry.Capability;
-import org.eclipse.ui.internal.ide.registry.CapabilityRegistry;
-import org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog;
-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(getControl(), IHelpContextIds.PROJECT_CAPABILITY_PROPERTY_PAGE);
-		noDefaultAndApplyButton();
-		reg = IDEWorkbenchPlugin.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 = IDEWorkbenchMessages.getString("ProjectCapabilityPropertyPage.chooseCapabilities"); //$NON-NLS-1$
-		else
-			instructions = IDEWorkbenchMessages.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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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(),
-					IDEWorkbenchMessages.getString("ProjectCapabilityPropertyPage.errorTitle"), //$NON-NLS-1$
-					IDEWorkbenchMessages.format("ProjectCapabilityPropertyPage.capabilityRequired", new Object[] {caps[i].getName()})); //$NON-NLS-1$
-				return;
-			}
-		}
-		
-		IStatus status = reg.validateCapabilities(caps);
-		if (!status.isOK()) {
-			ErrorDialog.openError(
-				getShell(),
-				IDEWorkbenchMessages.getString("ProjectCapabilityPropertyPage.errorTitle"), //$NON-NLS-1$
-				IDEWorkbenchMessages.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 = IDEWorkbenchMessages.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 ProgressMonitorJobsDialog(getShell()).run(fork, cancelable, runnable);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectCapabilityPropertyPage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectCapabilityPropertyPage.java
deleted file mode 100644
index 613a210..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectCapabilityPropertyPage.java
+++ /dev/null
@@ -1,184 +0,0 @@
-package org.eclipse.ui.internal.ide.dialogs;
-
-/******************************************************************************* 
- * 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 Corporation - initial API and implementation 
- *    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.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.dialogs.PropertyPage;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-import org.eclipse.ui.internal.ide.Category;
-import org.eclipse.ui.internal.ide.misc.ProjectCapabilitySelectionGroup;
-import org.eclipse.ui.internal.ide.registry.Capability;
-import org.eclipse.ui.internal.ide.registry.CapabilityRegistry;
-
-/**
- * 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(getControl(), IHelpContextIds.PROJECT_CAPABILITY_PROPERTY_PAGE);
-		noDefaultAndApplyButton();
-		CapabilityRegistry reg = IDEWorkbenchPlugin.getDefault().getCapabilityRegistry();
-		
-		String instructions;
-		if (reg.hasCapabilities())
-			instructions = IDEWorkbenchMessages.getString("ProjectCapabilityPropertyPage.chooseCapabilities"); //$NON-NLS-1$
-		else
-			instructions = IDEWorkbenchMessages.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());
-		Category[] cats = new Category[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 = IDEWorkbenchPlugin.getDefault().getCapabilityRegistry();
-		Capability[] caps = capabilityGroup.getSelectedCapabilities();
-		IStatus status = reg.validateCapabilities(caps);
-		if (!status.isOK()) {
-			ErrorDialog.openError(
-				getShell(),
-				IDEWorkbenchMessages.getString("ProjectCapabilityPropertyPage.errorTitle"), //$NON-NLS-1$
-				IDEWorkbenchMessages.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(),
-				IDEWorkbenchMessages.getString("ProjectCapabilityPropertyPage.errorTitle"), //$NON-NLS-1$
-				IDEWorkbenchMessages.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.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectCapabilitySimpleAddWizard.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectCapabilitySimpleAddWizard.java
deleted file mode 100644
index 9a304f7..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectCapabilitySimpleAddWizard.java
+++ /dev/null
@@ -1,87 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-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.ide.IDEWorkbenchMessages;
-
-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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.getString("ProjectCapabilitySimpleSelectionPage.title")); //$NON-NLS-1$
-		mainPage.setDescription(IDEWorkbenchMessages.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 {
-			// @issue when icons move to IDE, need to update the following
-			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.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectCapabilitySimpleSelectionPage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectCapabilitySimpleSelectionPage.java
deleted file mode 100644
index 785833d..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectCapabilitySimpleSelectionPage.java
+++ /dev/null
@@ -1,226 +0,0 @@
-package org.eclipse.ui.internal.ide.dialogs;
-
-/******************************************************************************* 
- * 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 Corporation - initial API and implementation 
- *    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.Arrays;
-import java.util.HashMap;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.viewers.IContentProvider;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.WizardPage;
-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.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.Category;
-import org.eclipse.ui.internal.ide.registry.Capability;
-import org.eclipse.ui.internal.ide.registry.CapabilityRegistry;
-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 = IDEWorkbenchPlugin.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(IDEWorkbenchMessages.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 Category)
-					return ((Category)parentElement).getChildren(parentElement);
-				return null;
-			}
-			
-			public boolean hasChildren(Object element) {
-				if (element instanceof CapabilityRegistry)
-					return true;
-				if (element instanceof Category)
-					return ((Category)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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.format("ProjectCapabilitySimpleSelectionPage.capabilityMissing", new Object[] {ids[i]})); //$NON-NLS-1$
-				return false;
-			}
-			if (!existingCaps.contains(prereqs[i])) {
-				setErrorMessage(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectPerspectiveChoiceDialog.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectPerspectiveChoiceDialog.java
deleted file mode 100644
index 0cbe0cd..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectPerspectiveChoiceDialog.java
+++ /dev/null
@@ -1,268 +0,0 @@
-package org.eclipse.ui.internal.ide.dialogs;
-
-/******************************************************************************* 
- * 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 Corporation - initial API and implementation 
- *     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.ide.IHelpContextIds;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.model.PerspectiveLabelProvider;
-
-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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.getString("ProjectPerspectiveChoiceDialog.choosePerspective")); //$NON-NLS-1$
-		
-		// Add perspective list.
-		list = new TableViewer(parent, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-		list.setLabelProvider(new PerspectiveLabelProvider(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(IDEWorkbenchMessages.getString("ProjectPerspectiveChoiceDialog.options")); //$NON-NLS-1$
-
-		// Same window option
-		Button button = new Button(optionGroup, SWT.RADIO | SWT.LEFT);
-		button.setText(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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(),
-				IDEWorkbenchMessages.getString("ProjectPerspectiveChoiceDialog.errorTitle"), //$NON-NLS-1$
-				IDEWorkbenchMessages.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.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectReferencePage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectReferencePage.java
deleted file mode 100644
index 95194d3..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectReferencePage.java
+++ /dev/null
@@ -1,245 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-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.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ViewerSorter;
-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.ide.DialogUtil;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-import org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog;
-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() {
-		//Do nothing on creation
-	}
-	/**
-	 * @see PreferencePage#createContents
-	 */
-	protected Control createContents(Composite parent) {
-
-		WorkbenchHelp.setHelp(
-			getControl(),
-			IHelpContextIds.PROJECT_REFERENCE_PROPERTY_PAGE);
-		Font font = parent.getFont();
-
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		composite.setFont(font);
-
-		initialize();
-
-		createDescriptionLabel(composite);
-
-		listViewer =
-			CheckboxTableViewer.newCheckList(composite, SWT.TOP | SWT.BORDER);
-		listViewer.getTable().setFont(font);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.grabExcessHorizontalSpace = true;
-
-		//Only set a height hint if it will not result in a cut off dialog
-		if (DialogUtil.inRegularFontMode(parent))
-			data.heightHint =
-				getDefaultFontHeight(
-					listViewer.getTable(),
-					PROJECT_LIST_MULTIPLIER);
-		listViewer.getTable().setLayoutData(data);
-		listViewer.getTable().setFont(font);
-
-		listViewer.setLabelProvider(WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider());
-		listViewer.setContentProvider(getContentProvider(project));
-		listViewer.setSorter(new ViewerSorter());
-		listViewer.setInput(project.getWorkspace());
-		try {
-			listViewer.setCheckedElements(project.getDescription().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;
-	}
-
-	/**
-	 * 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.
-	 * @param project the project to provide content for
-	 * @return the content provider that shows the project content
-	 */
-	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.getDescription().getReferencedProjects();
-					for (int i = 0; i < projects.length; i++) {
-						if (!referenced.contains(projects[i]))
-							referenced.add(projects[i]);
-					}
-				} catch (CoreException e) {
-					//Ignore core exceptions
-				}
-
-				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;
-
-	}
-	/**
-	 * Handle the exception thrown when saving.
-	 * @param e the exception
-	 */
-	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 = IDEWorkbenchMessages.getString("Internal_error"); //$NON-NLS-1$
-			error =
-				new Status(
-					IStatus.ERROR,
-					IDEWorkbenchPlugin.IDE_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(IDEWorkbenchMessages.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 ProgressMonitorJobsDialog(getControl().getShell()).run(
-				true,
-				true,
-				runnable);
-		} catch (InterruptedException e) {
-			//Ignore interrupted exceptions
-		} catch (InvocationTargetException e) {
-			handle(e);
-			return false;
-		}
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/RemoveCapabilityStep.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/RemoveCapabilityStep.java
deleted file mode 100644
index f73e2cd..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/RemoveCapabilityStep.java
+++ /dev/null
@@ -1,103 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-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.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.registry.Capability;
-import org.eclipse.ui.internal.ide.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 IDEWorkbenchMessages.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 = IDEWorkbenchMessages.format("RemoveCapabilityStep.defaultDescription0", new Object[] {capability.getName()}); //$NON-NLS-1$
-			} else if (natureIds.length == 2) {
-				CapabilityRegistry reg = IDEWorkbenchPlugin.getDefault().getCapabilityRegistry();
-				Capability otherCapability = reg.getCapabilityForNature(natureIds[1]);
-				if (otherCapability == capability)
-					otherCapability = reg.getCapabilityForNature(natureIds[0]);
-				details = IDEWorkbenchMessages.format("RemoveCapabilityStep.defaultDescription1", new Object[] {capability.getName(), otherCapability.getName()}); //$NON-NLS-1$
-			} else {
-				StringBuffer msg = new StringBuffer();
-				CapabilityRegistry reg = IDEWorkbenchPlugin.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 = IDEWorkbenchMessages.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.ide/src/org/eclipse/ui/internal/ide/dialogs/RemoveCapabilityWizard.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/RemoveCapabilityWizard.java
deleted file mode 100644
index ef9a505..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/RemoveCapabilityWizard.java
+++ /dev/null
@@ -1,134 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-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.ide.IDEWorkbenchMessages;
-
-/**
- * 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 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.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(), 
-					IDEWorkbenchMessages.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(),
-					IDEWorkbenchMessages.getString("RemoveCapabilityWizard.errorMessage"),  //$NON-NLS-1$
-					IDEWorkbenchMessages.format("RemoveCapabilityWizard.internalError", new Object[] {t.getMessage()})); //$NON-NLS-1$
-			}
-			return false;
-		}
-	
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ResourceInfoPage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ResourceInfoPage.java
deleted file mode 100644
index 4599f96..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ResourceInfoPage.java
+++ /dev/null
@@ -1,731 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-import java.io.File;
-import java.io.UnsupportedEncodingException;
-import java.text.DateFormat;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Date;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-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.Text;
-import org.eclipse.ui.dialogs.PropertyPage;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-
-/**
- * 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 IContentDescription cachedContentDescription;
-	
-	private Combo encodingCombo;
-	private Button defaultEncodingButton;
-	private Button otherEncodingButton;	
-	
-	private static String READ_ONLY = IDEWorkbenchMessages.getString("ResourceInfo.readOnly"); //$NON-NLS-1$
-	private static String DERIVED = IDEWorkbenchMessages.getString("ResourceInfo.derived"); //$NON-NLS-1$
-	private static String TYPE_TITLE = IDEWorkbenchMessages.getString("ResourceInfo.type"); //$NON-NLS-1$
-	private static String LOCATION_TITLE = IDEWorkbenchMessages.getString("ResourceInfo.location"); //$NON-NLS-1$
-	private static String RESOLVED_LOCATION_TITLE = IDEWorkbenchMessages.getString("ResourceInfo.resolvedLocation"); //$NON-NLS-1$
-	private static String SIZE_TITLE = IDEWorkbenchMessages.getString("ResourceInfo.size"); //$NON-NLS-1$
-	private static String BYTES_LABEL = IDEWorkbenchMessages.getString("ResourceInfo.bytes"); //$NON-NLS-1$
-	private static String FILE_LABEL = IDEWorkbenchMessages.getString("ResourceInfo.file"); //$NON-NLS-1$
-	private static String FILE_TYPE_FORMAT = IDEWorkbenchMessages.getString("ResourceInfo.fileTypeFormat"); //$NON-NLS-1$
-	private static String FOLDER_LABEL = IDEWorkbenchMessages.getString("ResourceInfo.folder"); //$NON-NLS-1$
-	private static String PROJECT_LABEL = IDEWorkbenchMessages.getString("ResourceInfo.project"); //$NON-NLS-1$
-	private static String LINKED_FILE_LABEL = IDEWorkbenchMessages.getString("ResourceInfo.linkedFile"); //$NON-NLS-1$
-	private static String LINKED_FOLDER_LABEL = IDEWorkbenchMessages.getString("ResourceInfo.linkedFolder"); //$NON-NLS-1$
-	private static String UNKNOWN_LABEL = IDEWorkbenchMessages.getString("ResourceInfo.unknown"); //$NON-NLS-1$
-	private static String NOT_LOCAL_TEXT = IDEWorkbenchMessages.getString("ResourceInfo.notLocal"); //$NON-NLS-1$
-	private static String MISSING_PATH_VARIABLE_TEXT = IDEWorkbenchMessages.getString("ResourceInfo.undefinedPathVariable"); //$NON-NLS-1$
-	private static String NOT_EXIST_TEXT = IDEWorkbenchMessages.getString("ResourceInfo.notExist"); //$NON-NLS-1$
-	private static String PATH_TITLE = IDEWorkbenchMessages.getString("ResourceInfo.path"); //$NON-NLS-1$
-	private static String TIMESTAMP_TITLE = IDEWorkbenchMessages.getString("ResourceInfo.lastModified"); //$NON-NLS-1$
-	private static String FILE_NOT_EXIST_TEXT = IDEWorkbenchMessages.getString("ResourceInfo.fileNotExist"); //$NON-NLS-1$
-	private static String FILE_ENCODING_TITLE = IDEWorkbenchMessages.getString("WorkbenchPreference.encoding"); //$NON-NLS-1$
-	private static String CONTAINER_ENCODING_TITLE = IDEWorkbenchMessages.getString("ResourceInfo.fileEncodingTitle"); //$NON-NLS-1$
-	private static String FILE_CONTENT_ENCODING_FORMAT = IDEWorkbenchMessages.getString("ResourceInfo.fileContentEncodingFormat"); //$NON-NLS-1$
-	private static String FILE_CONTAINER_ENCODING_FORMAT = IDEWorkbenchMessages.getString("ResourceInfo.fileContainerEncodingFormat"); //$NON-NLS-1$
-	private static String CONTAINER_ENCODING_FORMAT = IDEWorkbenchMessages.getString("ResourceInfo.containerEncodingFormat"); //$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 (isPathVariable(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(getControl(), IHelpContextIds.RESOURCE_INFO_PROPERTY_PAGE);
-
-	// layout the page
-	IResource resource = (IResource) getElement();
-	if(resource.getType()!= IResource.PROJECT) {
-		this.previousReadOnlyValue = resource.isReadOnly();
-		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);
-	new Label(composite, SWT.NONE);	// a vertical spacer
-	createEncodingGroup(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);
-
-	// timeStamp value label
-	Text timeStampValue = new Text(composite, SWT.READ_ONLY);
-	timeStampValue.setText(getDateStringValue(resource));
-	timeStampValue.setFont(font);
-	timeStampValue.setLayoutData(
-		new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL));
-
-	//Not relevant to projects
-	if(resource.getType() != IResource.PROJECT) {
-		createEditableButton(composite);
-		createDerivedButton(composite);
-	}
-}
-
-private void createEncodingGroup(Composite parent, IResource resource) {
-	
-	Font font = parent.getFont();
-	Group group = new Group(parent, SWT.NONE);
-	GridLayout layout = new GridLayout();
-	layout.numColumns = 2;
-	group.setLayout(layout);
-	if (resource instanceof IContainer)
-		group.setText(CONTAINER_ENCODING_TITLE);
-	else
-		group.setText(FILE_ENCODING_TITLE);
-	group.setFont(font);
-	
-	SelectionAdapter buttonListener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			updateEncodingState(defaultEncodingButton.getSelection());
-			updateValidState();
-		}
-	};
-	
-	defaultEncodingButton = new Button(group, SWT.RADIO);
-	
-	String encoding = getEncoding(resource);
-	String format = CONTAINER_ENCODING_FORMAT;
-	String defaultEnc = null;
-	
-	if (resource instanceof IFile) {
-		defaultEnc= getEncodingFromContent((IFile) resource);
-		format = (defaultEnc != null) ? FILE_CONTENT_ENCODING_FORMAT : FILE_CONTAINER_ENCODING_FORMAT;
-	}
-	if (defaultEnc == null)
-		defaultEnc = getEncoding(resource.getParent());		
-	
-	defaultEncodingButton.setText(MessageFormat.format(format, new String[] { defaultEnc }));
-	
-	GridData data = new GridData();
-	data.horizontalSpan = 2;
-	defaultEncodingButton.setLayoutData(data);
-	defaultEncodingButton.addSelectionListener(buttonListener);
-	defaultEncodingButton.setFont(font);
-	
-	otherEncodingButton = new Button(group, SWT.RADIO);
-	otherEncodingButton.setText(IDEWorkbenchMessages.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) {
-			updateValidState();
-		}
-	});
-
-	ArrayList encodings = new ArrayList();
-	int n = 0;
-	try {
-		n = Integer.parseInt(IDEWorkbenchMessages.getString("WorkbenchPreference.numDefaultEncodings")); //$NON-NLS-1$
-	}
-	catch (NumberFormatException e1) {
-		// Ignore;
-	}
-	for (int i = 0; i < n; ++i) {
-		String enc = IDEWorkbenchMessages.getString("WorkbenchPreference.defaultEncoding" + (i+1), null); //$NON-NLS-1$
-		if (enc != null)
-			encodings.add(enc);
-	}
-	
-	String defaultEnc1 = System.getProperty("file.encoding", "UTF-8");  //$NON-NLS-1$  //$NON-NLS-2$
-	if (!encodings.contains(defaultEnc1))
-		encodings.add(defaultEnc1);
-	
-	String enc = ResourcesPlugin.getPlugin().getPluginPreferences().getString(ResourcesPlugin.PREF_ENCODING);
-	if (!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(encoding);
-
-	updateEncodingState(usesDefaultEncoding(resource));
-}
-
-private String getEncoding(IResource resource) {
-	try {
-		if (resource instanceof IContainer)
-			return ((IContainer)resource).getDefaultCharset();
-		else if (resource instanceof IFile)
-			return ((IFile)resource).getCharset();
-	} catch (CoreException e) {
-	}
-	IContainer parent= resource.getParent();
-	return getEncoding(parent);
-}
-
-private String getEncodingFromContent(IFile file) {
-	IContentDescription description = getContentDescription(file);
-	if (description != null) {
-		byte[] bom = (byte[]) description.getProperty(IContentDescription.BYTE_ORDER_MARK);
-		if (bom == null)
-			return (String) description.getProperty(IContentDescription.CHARSET);
-		if (bom == IContentDescription.BOM_UTF_8)
-			return IDEWorkbenchMessages.getString("WorkbenchPreference.encoding.BOM_UTF_8"); //$NON-NLS-1$
-		if (bom == IContentDescription.BOM_UTF_16BE)
-			return IDEWorkbenchMessages.getString("WorkbenchPreference.encoding.BOM_UTF_16BE"); //$NON-NLS-1$
-		if (bom == IContentDescription.BOM_UTF_16LE)
-			return IDEWorkbenchMessages.getString("WorkbenchPreference.encoding.BOM_UTF_16LE"); //$NON-NLS-1$
-	}
-	return null;
-}
-
-private String getContentTypeString(IFile file) {
-	IContentDescription description = getContentDescription(file);
-	if (description != null) {
-		IContentType contentType= description.getContentType();
-		if (contentType != null)
-			return contentType.getName();
-	}
-	return null;	
-}
-
-private IContentDescription getContentDescription(IFile file) {
-	if (cachedContentDescription == null) {
-		try {
-			cachedContentDescription= file.getContentDescription();
-		} catch (CoreException e) {
-			// silently ignore
-		}
-	}
-	return cachedContentDescription;
-}
-
-private boolean usesDefaultEncoding(IResource resource) {
-	try {
-		if (resource instanceof IContainer)
-			return ((IContainer)resource).getDefaultCharset(false) == null;
-		if (resource instanceof IFile)
-			return ((IFile)resource).getCharset(false) == null;
-	} catch (CoreException e) {
-	}
-	return true;
-}
-
-private void updateEncodingState(boolean useDefault) {
-	defaultEncodingButton.setSelection(useDefault);
-	otherEncodingButton.setSelection(!useDefault);
-	encodingCombo.setEnabled(!useDefault);
-	updateValidState();
-}		
-
-protected void updateValidState() {
-	if (isEncodingValid()) {
-		setErrorMessage(null);
-		setValid(true);
-	} else {
-		setErrorMessage(IDEWorkbenchMessages.getString("WorkbenchPreference.unsupportedEncoding")); //$NON-NLS-1$
-		setValid(false);
-	}
-}
-
-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;
-	}
-}
-
-/////////////////////////////
-
-/**
- * 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();
-		if (localFile.exists()) {
-			DateFormat format = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.MEDIUM);
-			return format.format(new Date(localFile.lastModified()));
-		}
-		return NOT_EXIST_TEXT;
-	}
-}
-/**
- * Get the location of a resource
- */
-private String getLocationText(IResource resource) {
-	if (!resource.isLocal(IResource.DEPTH_ZERO))
-		return NOT_LOCAL_TEXT;
-
-	IPath resolvedLocation = resource.getLocation();
-	IPath location = resolvedLocation;
-	if (resource.isLinked()) {
-		location = resource.getRawLocation();
-	}
-	if (location == null) {
-		return NOT_EXIST_TEXT;
-	} 
-	else {
-		String locationString = location.toOSString();		
-		if (resolvedLocation != null && !isPathVariable(resource)) {
-			// No path variable used. Display the file not exist message 
-			// in the location. Fixes bug 33318. 
-			File file = resolvedLocation.toFile();
-			if (!file.exists()) {
-				locationString += " " + FILE_NOT_EXIST_TEXT; //$NON-NLS-1$ 
-			}
-		}
-		return locationString;
-	}
-}
-/**
- * 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();
-		
-		if (localFile.exists()) {
-			String bytesString = Long.toString(localFile.length());
-			return MessageFormat.format(BYTES_LABEL, new Object[] {bytesString});
-		}
-		return NOT_EXIST_TEXT;
-	}
-}
-/**
- * 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;
-			
-		if (resource instanceof IFile) {
-			String contentType= getContentTypeString((IFile)resource);
-			if (contentType != null)
-				return MessageFormat.format(FILE_TYPE_FORMAT, new String[] { contentType });
-		}
-		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;
-}
-
-/**
- * Returns whether the given resource is a linked resource bound 
- * to a path variable.
- * 
- * @param resource resource to test
- * @return boolean <code>true</code> the given resource is a linked 
- * 	resource bound to a path variable. <code>false</code> the given 
- * 	resource is either not a linked resource or it is not using a
- * 	path variable.  
- */
-private boolean isPathVariable(IResource resource){
-	if (!resource.isLinked())
-		return false;
-		
-	IPath resolvedLocation = resource.getLocation();
-	if (resolvedLocation == null) {
-		// missing path variable
-		return true;
-	}		
-	IPath rawLocation = resource.getRawLocation();	
-	if (resolvedLocation.equals(rawLocation))
-		return false;
-		
-	return true;
-}
-/**
- * Reset the editableBox to the false.
- */
-protected void performDefaults() {
-	
-	//Nothing to update if we never made the box
-	if(this.editableBox != null)
-		this.editableBox.setSelection(false);
-
-	//Nothing to update if we never made the box
-	if(this.derivedBox != null)
-		this.derivedBox.setSelection(false);
-	
-	if (defaultEncodingButton != null)
-		updateEncodingState(true);
-}
-/** 
- * Apply the read only state and the encoding to the resource.
- */
-public boolean performOk() {
-	
-	IResource resource = (IResource) getElement();
-	
-	// set encoding
-	if (isEncodingValid()) {
-		String previousEncoding= null;
-		if (!usesDefaultEncoding(resource))
-			previousEncoding= getEncoding(resource);
-		
-		String newEncoding= null;
-		if (!defaultEncodingButton.getSelection())
-			newEncoding= encodingCombo.getText();
-	
-		if ((previousEncoding == null && newEncoding != null) ||
-			(previousEncoding != null && newEncoding == null) ||
-			(previousEncoding != null && newEncoding != null && !previousEncoding.equals(newEncoding))) {		
-			try {
-				if (resource instanceof IFile)
-					((IFile)resource).setCharset(newEncoding);
-				else if (resource instanceof IContainer)
-					((IContainer)resource).setDefaultCharset(newEncoding);
-			} catch (CoreException e) {
-				ErrorDialog.openError(
-						getShell(), 
-						IDEWorkbenchMessages.getString("InternalError"), //$NON-NLS-1$
-						e.getLocalizedMessage(),
-						e.getStatus()); 
-					return false;
-			}
-		}
-	}
-	
-	//Nothing to update if we never made the box
-	if(this.editableBox != null) {
-		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(), 
-				IDEWorkbenchMessages.getString("InternalError"), //$NON-NLS-1$
-				exception.getLocalizedMessage(),
-				exception.getStatus()); 
-			return false;
-		}
-	}		
-	return true;
-}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ResourceSorter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ResourceSorter.java
deleted file mode 100644
index e3be5ea..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ResourceSorter.java
+++ /dev/null
@@ -1,185 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-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$
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ResourceTreeAndListGroup.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ResourceTreeAndListGroup.java
deleted file mode 100644
index 7578fd0..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ResourceTreeAndListGroup.java
+++ /dev/null
@@ -1,953 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-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;
-	
-	//height hint for viewers
-	private static int PREFERRED_HEIGHT = 150;
-	
-/**
- *	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
- * @param rootObject
- * @param treeContentProvider
- * @param treeLabelProvider
- * @param listContentProvider
- * @param listLabelProvider
- * @param style
- * @param useHeightHint If true then use the height hint
- *  to make this group big enough
- *
- */
-public ResourceTreeAndListGroup(
-	Composite parent,Object rootObject,
-	ITreeContentProvider treeContentProvider,ILabelProvider treeLabelProvider,
-	IStructuredContentProvider listContentProvider,ILabelProvider listLabelProvider,
-	int style,
-	boolean useHeightHint) {
-
-	root = rootObject;
-	this.treeContentProvider = treeContentProvider;
-	this.listContentProvider = listContentProvider;
-	this.treeLabelProvider = treeLabelProvider;
-	this.listLabelProvider = listLabelProvider;
-	createContents(parent, style,useHeightHint);
-}
-/**
- * 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 useHeightHint. If true yse the preferredHeight.
- */
-protected void createContents(Composite parent, int style, boolean useHeightHint) {
-	// 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,useHeightHint);
-	createListViewer(composite,useHeightHint);
-	
-	initialize();
-}
-/**
- *	Create this group's list viewer.
- */
-protected void createListViewer(Composite parent, boolean useHeightHint) {
-	listViewer = CheckboxTableViewer.newCheckList(parent, SWT.BORDER);
-	GridData data = new GridData(GridData.FILL_BOTH);
-	if(useHeightHint)
-		data.heightHint = PREFERRED_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, boolean useHeightHint) {
-	Tree tree = new Tree(parent, SWT.CHECK | SWT.BORDER);
-	GridData data = new GridData(GridData.FILL_BOTH);
-	if(useHeightHint)
-		data.heightHint = PREFERRED_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);
-			}
-		});
-	}		
-}
-/**
- *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.ide/src/org/eclipse/ui/internal/ide/dialogs/ResourceWorkingSetPage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ResourceWorkingSetPage.java
deleted file mode 100644
index 3b00b97..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ResourceWorkingSetPage.java
+++ /dev/null
@@ -1,426 +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 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.ide.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.PlatformUI;
-import org.eclipse.ui.dialogs.IWorkingSetPage;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.ide.IDEInternalWorkbenchImages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-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", //$NON-NLS-1$ 
-			IDEWorkbenchMessages.getString("ResourceWorkingSetPage.title"), //$NON-NLS-1$ 
-			IDEInternalWorkbenchImages.getImageDescriptor(
-				IDEInternalWorkbenchImages.IMG_WIZBAN_RESOURCEWORKINGSET_WIZ));
-		setDescription(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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(), 
-				IDEWorkbenchPlugin.getDefault().getWorkbench().getDecoratorManager().getLabelDecorator()));
-		tree.setInput(IDEWorkbenchPlugin.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(), IDEWorkbenchMessages.getString("ResourceWorkingSetPage.error"), //$NON-NLS-1$
-			IDEWorkbenchMessages.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 = PlatformUI.getWorkbench().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, IDEWorkbenchMessages.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) {
-		if (workingSet == null) {
-			throw new IllegalArgumentException("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) {
-		// checked state is set lazily on expand, don't set it if container is collapsed
-		if (container.isAccessible() == false || (tree.getExpandedState(container) == false && state && checkExpandedState)) {
-			return;
-		}
-		IResource[] members = null;
-		try {
-			members = container.members();
-		} catch (CoreException ex) {
-			handleCoreException(ex, getShell(), IDEWorkbenchMessages.getString("ResourceWorkingSetPage.error"), //$NON-NLS-1$
-			IDEWorkbenchMessages.getString("ResourceWorkingSetPage.error.updateCheckedState")); //$NON-NLS-1$
-		}
-		for (int i = members.length - 1; i >= 0; i--) {
-			IResource element = members[i];
-			boolean elementGrayChecked = tree.getGrayed(element) || tree.getChecked(element);
-			 
-			if (state) {
-				tree.setChecked(element, true);
-				tree.setGrayed(element, false);
-			} else {
-				tree.setGrayChecked(element, false);
-			}
-			// unchecked state only needs to be set when the container is 
-			// checked or grayed
-			if (element instanceof IContainer && (state || elementGrayChecked)) {
-				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(), IDEWorkbenchMessages.getString("ResourceWorkingSetPage.error"), //$NON-NLS-1$
-			IDEWorkbenchMessages.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 = IDEWorkbenchMessages.getString("ResourceWorkingSetPage.warning.nameWhitespace"); //$NON-NLS-1$
-		}
-		else
-		if (firstCheck) {
-			firstCheck = false;
-			return;
-		}
-		if (newText.equals("")) { //$NON-NLS-1$
-			errorMessage = IDEWorkbenchMessages.getString("ResourceWorkingSetPage.warning.nameMustNotBeEmpty"); //$NON-NLS-1$
-		}
-		if (errorMessage == null && (workingSet == null || newText.equals(workingSet.getName()) == false)) {
-			IWorkingSet[] workingSets = PlatformUI.getWorkbench().getWorkingSetManager().getWorkingSets();
-			for (int i = 0; i < workingSets.length; i++) {
-				if (newText.equals(workingSets[i].getName())) {
-					errorMessage = IDEWorkbenchMessages.getString("ResourceWorkingSetPage.warning.workingSetExists"); //$NON-NLS-1$
-				}
-			}
-		}
-		if (errorMessage == null && tree.getCheckedElements().length == 0) {
-			errorMessage = IDEWorkbenchMessages.getString("ResourceWorkingSetPage.warning.resourceMustBeChecked"); //$NON-NLS-1$
-		}
-		setErrorMessage(errorMessage);
-		setPageComplete(errorMessage == null);
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/SimpleListContentProvider.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/SimpleListContentProvider.java
deleted file mode 100644
index 37f8ad7..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/SimpleListContentProvider.java
+++ /dev/null
@@ -1,54 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-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.ide/src/org/eclipse/ui/internal/ide/dialogs/UpdateProjectCapabilityWizard.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/UpdateProjectCapabilityWizard.java
deleted file mode 100644
index bce09df..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/UpdateProjectCapabilityWizard.java
+++ /dev/null
@@ -1,237 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-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.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.registry.Capability;
-import org.eclipse.ui.internal.ide.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(IDEWorkbenchMessages.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 = IDEWorkbenchPlugin.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 IDEWorkbenchMessages.getString("UpdateProjectCapabilityWizard.title"); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on MultiStepWizard.
-	 */
-	protected String getConfigurePageDescription() {
-		return IDEWorkbenchMessages.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 IDEWorkbenchMessages.getString("UpdateProjectCapabilityWizard.title"); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on MultiStepWizard.
-	 */
-	protected String getReviewPageDescription() {
-		return IDEWorkbenchMessages.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(),
-			IDEWorkbenchMessages.getString("UpdateProjectCapabilityWizard.errorTitle"), //$NON-NLS-1$
-			IDEWorkbenchMessages.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 {
-			// @issue when icons move to IDE, need to update the following
-			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.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditor.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditor.java
deleted file mode 100644
index 4fa5946..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditor.java
+++ /dev/null
@@ -1,964 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.ide.dialogs;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.FocusAdapter;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseMoveListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.swt.graphics.GC;
-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.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.preference.JFacePreferences;
-import org.eclipse.jface.resource.JFaceColors;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.ide.IDEInternalWorkbenchImages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-import org.eclipse.ui.part.EditorPart;
-
-import org.xml.sax.SAXException;
-
-/**
- * A "fake" editor to show a welcome page
- * The contents of this page are supplied in the product configuration
- *
- * PRIVATE
- *		This class is internal to the workbench and must not be called outside the workbench
- */
-public class WelcomeEditor extends EditorPart {
-	
-	private final static int HORZ_SCROLL_INCREMENT = 20;
-	private final static int VERT_SCROLL_INCREMENT = 20;
-	// width at which wrapping will stop and a horizontal scroll bar will be 
-	// introduced
-	private final static int WRAP_MIN_WIDTH = 150;  
-	
-	private Composite editorComposite;
-
-	private Cursor handCursor;
-	private Cursor busyCursor;
-	
-	private WelcomeParser parser;
-	
-	private ArrayList hyperlinkRanges = new ArrayList();
-	private ArrayList texts = new ArrayList();
-	private ScrolledComposite scrolledComposite;
-	
-	private IPropertyChangeListener colorListener;
-	private boolean mouseDown = false;
-	private boolean dragEvent = false;
-	
-	private StyledText firstText, lastText;
-	private StyledText lastNavigatedText, currentText;
-	private boolean nextTabAbortTraversal, previousTabAbortTraversal = false;
-	
-	private WelcomeEditorCopyAction copyAction;
-	
-/**
- * Create a new instance of the welcome editor
- */
-public WelcomeEditor() {
-	super();
-	setPartName(IDEWorkbenchMessages.getString("WelcomeEditor.title")); //$NON-NLS-1$
-	copyAction = new WelcomeEditorCopyAction(this);
-	copyAction.setEnabled(false);	
-}
-
-/**
- * Update the welcome page to start at the
- * beginning of the text.
- */
-private void focusOn(StyledText newText, int caretOffset){
-	if(newText == null)
-		return;
-	newText.setFocus();
-	newText.setCaretOffset(caretOffset);
-	scrolledComposite.setOrigin(0,newText.getLocation().y);
-}
-
-/**
- * Finds the next text 
- */		
-private StyledText nextText(StyledText text){
-	int index = 0;
-	if(text == null)
-		return (StyledText) texts.get(0);
-	else
-		index = texts.indexOf(text);
-		
-	//If we are not at the end....
-	if(index < texts.size() - 1)
-		return (StyledText) texts.get(index + 1);
-	else
-		return (StyledText)  texts.get(0);						
-}
-
-/**
- * Finds the previous text 
- */		
-private StyledText previousText(StyledText text){
-	int index = 0;
-	if(text == null)
-		return (StyledText) texts.get(0);
-	else
-		index = texts.indexOf(text);
-		
-	//If we are at the beginning....
-	if(index == 0)
-		return (StyledText) texts.get(texts.size() - 1);
-	else
-		return (StyledText)  texts.get(index - 1);						
-}
-
-/**
- * Returns the current text.
- */
-protected StyledText getCurrentText() {
-	return currentText;
-}
-
-/**
- * Returns the copy action. 
- */
-protected WelcomeEditorCopyAction getCopyAction() {
-	return copyAction;
-}
-
-/**
- * Finds the next link after the current selection.
- */
-private StyleRange findNextLink(StyledText text) {
-	if(text == null)
-		return null;
-		
-	WelcomeItem item = (WelcomeItem)text.getData();		
-	StyleRange[] ranges = text.getStyleRanges();
-	int currentSelectionEnd = text.getSelection().y;
-
-	for (int i = 0; i < ranges.length; i++) {
-		if(ranges[i].start >= currentSelectionEnd)
-			if (item.isLinkAt(ranges[i].start))
-				return ranges[i];
-	}
-	return null;
-}
-
-/**
- * Finds the previous link before the current selection.
- */
-private StyleRange findPreviousLink(StyledText text) {
-	if(text == null)
-		return null;
-		
-	WelcomeItem item = (WelcomeItem)text.getData();
-	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) < currentSelectionStart)
-			if (item.isLinkAt(ranges[i].start + ranges[i].length - 1))
-				return ranges[i];
-	}
-	return null;
-}
-
-/**
- * Finds the current link of the current selection.
- */
-protected StyleRange getCurrentLink(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;
-}
-/**
- * Adds listeners to the given styled text
- */
-private 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;
-			WelcomeItem item = (WelcomeItem)e.widget.getData();
-			int offset = text.getCaretOffset();
-			if (dragEvent) {
-				dragEvent = false;
-				if (item.isLinkAt(offset)) {
-					text.setCursor(handCursor);
-				}
-			} else if (item.isLinkAt(offset)) {	
-				text.setCursor(busyCursor);
-				if (e.button == 1) {
-					item.triggerLinkAt(offset);
-					StyleRange selectionRange = getCurrentLink(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;
-			WelcomeItem item = (WelcomeItem)e.widget.getData();
-			int offset = -1;
-			try {
-				offset = text.getOffsetAtLocation(new Point(e.x, e.y));
-			} catch (IllegalArgumentException ex) {
-				// location is not over a character
-			}
-			if (offset == -1)
-				text.setCursor(null);
-			else if (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:
-				// Handle Ctrl-Tab
-				if ((e.stateMask & SWT.CTRL) != 0) {
-					if (e.widget == lastText)
-						return;
-					else {
-						e.doit = false;
-						nextTabAbortTraversal = true;
-						lastText.traverse(SWT.TRAVERSE_TAB_NEXT);
-						return;
-					}
-				}
-				if (nextTabAbortTraversal) {
-					nextTabAbortTraversal = false;
-					return;
-				}
-				// Find the next link in current widget, if applicable
-				// Stop at top of widget
-				StyleRange nextLink = findNextLink(text);
-				if (nextLink == null) {
-					// go to the next widget, focus at beginning
-					StyledText nextText = nextText(text);
-					nextText.setSelection(0);
-					focusOn(nextText,0);
-				}
-				else {
-					// focusOn: allow none tab traversals to align
-					focusOn(text, text.getSelection().x);
-					text.setSelectionRange(nextLink.start, nextLink.length);
-				}
-				e.detail = SWT.TRAVERSE_NONE;
-				e.doit = true;
-				break;
-			case SWT.TRAVERSE_TAB_PREVIOUS:
-				// Handle Ctrl-Shift-Tab
-				if ((e.stateMask & SWT.CTRL) != 0) {
-					if (e.widget == firstText)
-						return;
-					else {
-						e.doit = false;
-						previousTabAbortTraversal = true;
-						firstText.traverse(SWT.TRAVERSE_TAB_PREVIOUS);
-						return;
-					}
-				}
-				if (previousTabAbortTraversal) {
-					previousTabAbortTraversal = false;
-					return;
-				}
-				// Find the previous link in current widget, if applicable
-				// Stop at top of widget also
-				StyleRange previousLink = findPreviousLink(text);
-				if (previousLink == null) {
-					if (text.getSelection().x == 0) {
-						// go to the previous widget, focus at end
-						StyledText previousText = previousText(text);
-						previousText.setSelection(previousText.getCharCount());
-						previousLink = findPreviousLink(previousText);
-						if (previousLink == null)	
-							focusOn(previousText,0);
-						else {
-							focusOn(previousText, previousText.getSelection().x);
-							previousText.setSelectionRange(previousLink.start, previousLink.length);
-						}
-					}
-					else {
-						// stay at top of this widget
-						focusOn(text, 0);
-					}
-				}
-				else {
-					// focusOn: allow none tab traversals to align
-					focusOn(text, text.getSelection().x);
-					text.setSelectionRange(previousLink.start, previousLink.length);
-				}
-				e.detail = SWT.TRAVERSE_NONE;
-				e.doit = true;
-				break;
-			default:
-				break;
-			}
-		}
-	});
-	
-	styledText.addKeyListener(new KeyListener() {
-		public void keyReleased(KeyEvent e){
-			//Ignore a key release
-		}
-		public void keyPressed (KeyEvent event){
-			StyledText text = (StyledText)event.widget;
-			if(event.character == ' ' || event.character == SWT.CR){
-				if(text != null) {
-					WelcomeItem item = (WelcomeItem)text.getData();
-	
-					//Be sure we are in the selection
-					int offset = text.getSelection().x + 1;
-				
-					if (item.isLinkAt(offset)) {	
-						text.setCursor(busyCursor);
-						item.triggerLinkAt(offset);
-						StyleRange selectionRange = getCurrentLink(text);
-						text.setSelectionRange(selectionRange.start, selectionRange.length);
-						text.setCursor(null);
-					}
-				}
-				return;
-			}	
-			
-			// When page down is pressed, move the cursor to the next item in the 
-			// welcome page.   Note that this operation wraps (pages to the top item
-			// when the last item is reached).
-			if(event.keyCode == SWT.PAGE_DOWN){
-				focusOn(nextText(text),0);
-				return;
-			}
-			
-			// When page up is pressed, move the cursor to the previous item in the 
-			// welcome page.  Note that this operation wraps (pages to the bottom item
-			// when the first item is reached).
-			if(event.keyCode == SWT.PAGE_UP){
-				focusOn(previousText(text),0);
-				return;
-			}	
-		}
-	});
-	
-	styledText.addFocusListener(new FocusAdapter() {
-		public void focusLost(FocusEvent e) {
-			// Remember current text widget
-			lastNavigatedText = (StyledText)e.widget;
-		}
-		public void focusGained(FocusEvent e) {
-			currentText = (StyledText)e.widget;
-			
-			// Remove highlighted selection if text widget has changed
-			if ((currentText != lastNavigatedText) && (lastNavigatedText != null))
-				lastNavigatedText.setSelection(lastNavigatedText.getSelection().x);
-				
-			// enable/disable copy action
-			copyAction.setEnabled(currentText.getSelectionCount()>0);
-		}
-	});
-	
-	styledText.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			// enable/disable copy action			
-			StyledText text = (StyledText)e.widget;
-			copyAction.setEnabled(text.getSelectionCount()>0);
-		}
-	});
-}
-
-/**
- * Creates the wizard's title area.
- *
- * @param parent the SWT parent for the title area composite
- * @return the created info area composite
- */
-private Composite createInfoArea(Composite parent) {
-	// Create the title area which will contain
-	// a title, message, and image.
-	this.scrolledComposite = new ScrolledComposite(parent, SWT.V_SCROLL | SWT.H_SCROLL);
-	this.scrolledComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-	final Composite infoArea = new Composite(this.scrolledComposite, SWT.NONE);
-	GridLayout layout = new GridLayout();
-	layout.marginHeight = 10;
-	layout.verticalSpacing = 5;
-	layout.numColumns = 2;
-	infoArea.setLayout(layout);
-	GridData data = new GridData(GridData.FILL_BOTH);
-	infoArea.setLayoutData(data);
-	boolean wrapped = parser.isFormatWrapped();
-	int HINDENT = 20;
-
-	// Get the background color for the title area
-	Display display = parent.getDisplay();
-	Color background = JFaceColors.getBannerBackground(display);
-	Color foreground = JFaceColors.getBannerForeground(display);
-	infoArea.setBackground(background);
-
-	int textStyle = SWT.MULTI | SWT.READ_ONLY;
-	if (wrapped) {
-		textStyle = textStyle | SWT.WRAP;
-	}
-	StyledText sampleStyledText = null;
-	// Create the intro item
-	WelcomeItem item = getIntroItem();
-	if (item != null) {
-		StyledText styledText = new StyledText(infoArea, textStyle);
-		this.texts.add(styledText);
-		sampleStyledText = styledText;
-		styledText.setCursor(null);
-		JFaceColors.setColors(styledText,foreground,background);
-		styledText.setText(getIntroItem().getText());
-		setBoldRanges(styledText, item.getBoldRanges());
-		setLinkRanges(styledText, item.getActionRanges());
-		setLinkRanges(styledText, item.getHelpRanges());
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		gd.horizontalIndent = HINDENT;
-		gd.verticalAlignment = GridData.VERTICAL_ALIGN_BEGINNING;
-		styledText.setLayoutData(gd);
-		styledText.setData(item);
-		addListeners(styledText);
-	
-		Label spacer = new Label(infoArea, SWT.NONE);
-		spacer.setBackground(background);
-		gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING); 
-		gd.horizontalSpan = 2;
-		spacer.setLayoutData(gd);
-	}
-	firstText = sampleStyledText;
-
-	// Create the welcome items
-	Label imageLabel = null;
-	WelcomeItem[] items = getItems();
-	for (int i = 0; i < items.length; i++) {
-		Label label = new Label(infoArea, SWT.NONE);
-		label.setBackground(background);
-		label.setImage(
-			PlatformUI.getWorkbench().getSharedImages().getImage(
-				IDEInternalWorkbenchImages.IMG_OBJS_WELCOME_ITEM));
-		GridData gd = new GridData(); 
-		gd.horizontalIndent = HINDENT;
-		gd.verticalAlignment = GridData.VERTICAL_ALIGN_BEGINNING;
-		label.setLayoutData(gd);
-		if (imageLabel == null) {
-			imageLabel = label;
-		}
-
-		StyledText styledText = new StyledText(infoArea, textStyle);
-		this.texts.add(styledText);
-		sampleStyledText = styledText;
-		styledText.setCursor(null);
-		JFaceColors.setColors(styledText,foreground,background);
-		styledText.setText(items[i].getText());
-		setBoldRanges(styledText, items[i].getBoldRanges());
-		setLinkRanges(styledText, items[i].getActionRanges());
-		setLinkRanges(styledText, items[i].getHelpRanges());
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.verticalAlignment = GridData.VERTICAL_ALIGN_BEGINNING;		
-		gd.verticalSpan = 2;
-		styledText.setLayoutData(gd);
-		styledText.setData(items[i]);
-		addListeners(styledText);
-			
-		Label spacer = new Label(infoArea, SWT.NONE);
-		spacer.setBackground(background);
-		gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING); 
-		gd.horizontalSpan = 2;
-		spacer.setLayoutData(gd);
-
-		// create context menu
-		MenuManager menuMgr = new MenuManager("#PopUp"); //$NON-NLS-1$
-		menuMgr.add(copyAction);
-		styledText.setMenu(menuMgr.createContextMenu(styledText));
-	}
-
-	lastText = sampleStyledText;
-	this.scrolledComposite.setContent(infoArea);
-	Point p = infoArea.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
-	this.scrolledComposite.setMinHeight(p.y);
-	if (wrapped) {
-		// introduce a horizontal scroll bar after a minimum width is reached
-		this.scrolledComposite.setMinWidth(WRAP_MIN_WIDTH);
-	} else {
-		this.scrolledComposite.setMinWidth(p.x);
-	}
-	this.scrolledComposite.setExpandHorizontal(true);
-	this.scrolledComposite.setExpandVertical(true);
-
-	// When the welcome editor is resized, we need to set the width hint for
-	// wrapped StyledText widgets so that the wrapped height will be recalculated.
-	if (wrapped && (imageLabel != null)) {
-		// figure out how wide the StyledText widgets should be, do this by first
-		// calculating the width of the area not used by styled text widgets
-		Rectangle bounds = imageLabel.getBounds();
-		final int adjust = HINDENT + bounds.width + layout.verticalSpacing + (layout.marginWidth * 2);
-		final int adjustFirst = HINDENT + (layout.marginWidth * 2);
-		infoArea.addListener(SWT.Resize, new Listener() {
-			public void handleEvent(Event event) {
-				int w = scrolledComposite.getClientArea().width;
-				// if the horizontal scroll bar exists, we want to wrap to the
-				// minimum wrap width
-				if (w < WRAP_MIN_WIDTH) {
-					w = WRAP_MIN_WIDTH;
-				}
-				for (int i=0; i<texts.size(); i++) {
-					int extent;
-					if (i==0) extent = w - adjustFirst;
-					else extent = w - adjust;
-					StyledText text = (StyledText)texts.get(i);
-					Point p = text.computeSize(extent, SWT.DEFAULT, false);
-					((GridData)text.getLayoutData()).widthHint = p.x;
-				}
-				// reset the scrolled composite height since the height of the 
-				// styled text widgets have changed
-				Point p = infoArea.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
-				scrolledComposite.setMinHeight(p.y);
-			}
-		});
-	}
-
-	// Adjust the scrollbar increments
-	if (sampleStyledText == null) {
-		this.scrolledComposite.getHorizontalBar().setIncrement(HORZ_SCROLL_INCREMENT);
-		this.scrolledComposite.getVerticalBar().setIncrement(VERT_SCROLL_INCREMENT);
-	} else {
-		GC gc = new GC(sampleStyledText);
-		int width = gc.getFontMetrics().getAverageCharWidth();
-		gc.dispose();
-		this.scrolledComposite.getHorizontalBar().setIncrement(width);
-		this.scrolledComposite.getVerticalBar().setIncrement(sampleStyledText.getLineHeight());
-	}
-	return infoArea;
-}
-
-
-/**
- * Creates the SWT controls for this workbench part.
- * <p>
- * Clients should not call this method (the workbench calls this method at
- * appropriate times).
- * </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) {
-	// read our contents
-	readFile();
-	if (parser == null)
-		return;
-
-	handCursor = new Cursor(parent.getDisplay(), SWT.CURSOR_HAND);
-	busyCursor = new Cursor(parent.getDisplay(), SWT.CURSOR_WAIT);
-	
-	editorComposite = new Composite(parent, SWT.NONE);
-	GridLayout layout = new GridLayout();
-	layout.marginHeight = 0;
-	layout.marginWidth = 0;
-	layout.verticalSpacing = 0;
-	layout.horizontalSpacing = 0;
-	editorComposite.setLayout(layout);
-
-	createTitleArea(editorComposite);
-
-	Label titleBarSeparator = new Label(editorComposite, SWT.HORIZONTAL | SWT.SEPARATOR);
-	GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-	titleBarSeparator.setLayoutData(gd);
-
-	createInfoArea(editorComposite);
-
-	WorkbenchHelp.setHelp(editorComposite, IHelpContextIds.WELCOME_EDITOR);
-	
-	this.colorListener = 
-		new IPropertyChangeListener(){
-			public void propertyChange(PropertyChangeEvent event){
-				if(event.getProperty().equals(JFacePreferences.HYPERLINK_COLOR)){
-					Color fg = JFaceColors.getHyperlinkText(editorComposite.getDisplay());
-					Iterator links = hyperlinkRanges.iterator();
-					while(links.hasNext()){
-						StyleRange range = (StyleRange) links.next();
-						range.foreground = fg;
-					}
-				}
-			}
-		};
-		
-	JFacePreferences.getPreferenceStore().addPropertyChangeListener(this.colorListener);
-		
-}
-/**
- * Creates the wizard's title area.
- *
- * @param parent the SWT parent for the title area composite
- * @return the created title area composite
- */
-private Composite createTitleArea(Composite parent) {
-	// Get the background color for the title area
-	Display display = parent.getDisplay();
-	Color background = JFaceColors.getBannerBackground(display);
-	Color foreground = JFaceColors.getBannerForeground(display);
-
-	// Create the title area which will contain
-	// a title, message, and image.
-	Composite titleArea = new Composite(parent, SWT.NONE | SWT.NO_FOCUS);
-	GridLayout layout = new GridLayout();
-	layout.marginHeight = 0;
-	layout.marginWidth = 0;
-	layout.verticalSpacing = 0;
-	layout.horizontalSpacing = 0;
-	layout.numColumns = 2;
-	titleArea.setLayout(layout);
-	titleArea.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-	titleArea.setBackground(background);
-
-	// Message label
-	final CLabel messageLabel = new CLabel(titleArea, SWT.LEFT) {
-		protected String shortenText(GC gc, String text, int width) {
-			if (gc.textExtent(text, SWT.DRAW_MNEMONIC).x <= width) return text;
-			final String ellipsis= "..."; //$NON-NLS-1$
-			int ellipseWidth = gc.textExtent(ellipsis, SWT.DRAW_MNEMONIC).x;
-			int length = text.length();
-			int end = length - 1;
-			while (end > 0) {
-				text = text.substring(0, end);
-				int l1 = gc.textExtent(text, SWT.DRAW_MNEMONIC).x;
-				if (l1 + ellipseWidth <= width) {
-					return text + ellipsis;
-				}
-				end--;
-			}
-			return text + ellipsis;			
-		}
-	};
-	JFaceColors.setColors(messageLabel,foreground,background);
-	messageLabel.setText(getBannerTitle());
-	messageLabel.setFont(JFaceResources.getHeaderFont());
-	
-	final IPropertyChangeListener fontListener = new IPropertyChangeListener() {
-		public void propertyChange(PropertyChangeEvent event) {
-			if(JFaceResources.HEADER_FONT.equals(event.getProperty())) {
-				messageLabel.setFont(JFaceResources.getHeaderFont());
-			}
-		}
-	};
-	
-	messageLabel.addDisposeListener(new DisposeListener() {
-		public void widgetDisposed(DisposeEvent event) {
-			JFaceResources.getFontRegistry().removeListener(fontListener);
-		}
-	});
-	
-	JFaceResources.getFontRegistry().addListener(fontListener);
-	
-	
-	GridData gd = new GridData(GridData.FILL_BOTH);
-	messageLabel.setLayoutData(gd);
-
-	// Title image
-	Label titleImage = new Label(titleArea, SWT.LEFT);
-	titleImage.setBackground(background);
-	titleImage.setImage(
-		PlatformUI.getWorkbench().getSharedImages().getImage(
-			IDEInternalWorkbenchImages.IMG_OBJS_WELCOME_BANNER));
-	gd = new GridData(); 
-	gd.horizontalAlignment = GridData.END;
-	titleImage.setLayoutData(gd);
-
-	return titleArea;
-}
-/**
- * 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() {
-	super.dispose();
-	if (busyCursor != null)
-		busyCursor.dispose();
-	if (handCursor != null)
-		handCursor.dispose();
-	if (this.colorListener != null) {
-		JFacePreferences.getPreferenceStore().
-			removePropertyChangeListener(this.colorListener);
-	}
-}
-/* (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 void doSave(IProgressMonitor monitor) {
-	// do nothing
-}
-/* (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 void doSaveAs() {
-	// do nothing	
-}
-/**
- * Returns the title obtained from the parser
- */
-private String getBannerTitle() {
-	if (parser.getTitle() == null)
-		return ""; //$NON-NLS-1$
-	return parser.getTitle();
-}
-/**
- * Returns the intro item or <code>null</code>
- */
-private WelcomeItem getIntroItem() {
-	return parser.getIntroItem();
-}
-/**
- * Returns the welcome items
- */
-private WelcomeItem[] getItems() {
-	return parser.getItems();
-}
-/* (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 void gotoMarker(IMarker marker) {
-	// do nothing
-}
-/* (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 void init(IEditorSite site, IEditorInput input) throws PartInitException {
-	if (!(input instanceof WelcomeEditorInput))
-		throw new PartInitException("Invalid Input: Must be IFileEditorInput"); //$NON-NLS-1$
-	setSite(site);
-	setInput(input);
-}
-
-/* (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 boolean isDirty() {
-	return false;
-}
-/* (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 boolean isSaveAsAllowed() {
-	return false;
-}
-/**
- * Read the contents of the welcome page
- * 
- * @param is the <code>InputStream</code> to parse
- * @throws IOException if there is a problem parsing the stream.
- */
-public void read(InputStream is) throws IOException {
-    try {
-        parser = new WelcomeParser();
-    }
-    catch (ParserConfigurationException e) {
-        throw (IOException) (new IOException().initCause(e));
-    }
-    catch (SAXException e) {
-        throw (IOException) (new IOException().initCause(e));
-    }
-    parser.parse(is);
-}
-/**
- * Reads the welcome file
- */
-public void readFile() {
-	URL url = ((WelcomeEditorInput)getEditorInput()).getAboutInfo().getWelcomePageURL();
-
-	if (url == null)
-		// should not happen 
-		return;
-		
-	InputStream is = null;
-	try {
-		is = url.openStream();
-		read(is);
-	}
-	catch (IOException e) {
-		IStatus status = new Status(IStatus.ERROR, IDEWorkbenchPlugin.IDE_WORKBENCH, 1, IDEWorkbenchMessages.getString("WelcomeEditor.accessException"), e); //$NON-NLS-1$
-		IDEWorkbenchPlugin.log(IDEWorkbenchMessages.getString("WelcomeEditor.readFileError"), status); //$NON-NLS-1$
-	}
-	finally {
-		try { 
-			if (is != null)
-				is.close(); 
-		} catch (IOException e) {}
-	}
-}
-/**
- * Sets the styled text's bold ranges
- */
-private 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);
-	}
-}
-/**
- * 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() {
-	if ((editorComposite != null) && (lastNavigatedText == null) && (currentText == null))
-		editorComposite.setFocus();
-}
-/**
- * Sets the styled text's link (blue) ranges
- */
-private void setLinkRanges(StyledText styledText, int[][] linkRanges) {
-	//Color fg = styledText.getDisplay().getSystemColor(SWT.COLOR_BLUE);
-	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);
-		hyperlinkRanges.add(r);
-	}
-}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditorActionContributor.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditorActionContributor.java
deleted file mode 100644
index 510cb08..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditorActionContributor.java
+++ /dev/null
@@ -1,35 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.ide.dialogs;
-
-import org.eclipse.ui.*;
-import org.eclipse.ui.actions.ActionFactory;
-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(ActionFactory.COPY.getId(), ((WelcomeEditor)part).getCopyAction());
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditorCopyAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditorCopyAction.java
deleted file mode 100644
index b5674ea..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditorCopyAction.java
+++ /dev/null
@@ -1,31 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.ide.dialogs;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-
-/**
- * Global copy action for the welcome editor.
- */
-public class WelcomeEditorCopyAction extends Action {
-	private WelcomeEditor editorPart;
-	
-	public WelcomeEditorCopyAction(WelcomeEditor editor) {
-		editorPart = editor;
-		setText(IDEWorkbenchMessages.getString("WelcomeEditor.copy.text")); //$NON-NLS-1$
-	}
-	
-	public void run() {
-		editorPart.getCurrentText().copy();
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditorInput.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditorInput.java
deleted file mode 100644
index 72071a2..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditorInput.java
+++ /dev/null
@@ -1,72 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IPersistableElement;
-import org.eclipse.ui.internal.ide.AboutInfo;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-/**
- * 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();
-	if (info == null) {
-		throw new IllegalArgumentException();
-	}
-	aboutInfo = info;	
-}
-		public boolean exists() {
-			return false;
-		}
-		public Object getAdapter(Class adapter) {
-			return null;
-		}
-		public ImageDescriptor  getImageDescriptor() {
-			return null;
-		}
-		public String getName() {
-			return IDEWorkbenchMessages.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()+':'+aboutInfo.getVersionId());
-				}
-			};
-		}
-		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 IDEWorkbenchMessages.format("WelcomeEditor.toolTip", new Object[]{aboutInfo.getFeatureLabel()}); //$NON-NLS-1$	
-		}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditorInputFactory.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditorInputFactory.java
deleted file mode 100644
index 87f7237..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditorInputFactory.java
+++ /dev/null
@@ -1,63 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.ui.IElementFactory;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.internal.ide.AboutInfo;
-
-/**
- * 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 versionedFeatureId = memento.getString(WelcomeEditorInput.FEATURE_ID);
-	if (versionedFeatureId == null) {
-		return null;
-	}
-	int colonPos = versionedFeatureId.indexOf(':');
-	if (colonPos == -1) {
-		// assume the memento is stale or mangled
-		return null;
-	}
-	String featureId = versionedFeatureId.substring(0, colonPos);
-	String versionId = versionedFeatureId.substring(colonPos+1);
-	// @issue using feature id for plug-in id
-	AboutInfo info = AboutInfo.readFeatureInfo(featureId, versionId);
-	if (info == null) {
-		return null;
-	}
-	return new WelcomeEditorInput(info);
-}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeItem.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeItem.java
deleted file mode 100644
index 1ee452c..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeItem.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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-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.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-/**
- * 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) {
-	IDEWorkbenchPlugin.log(IDEWorkbenchMessages.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.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeParser.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeParser.java
deleted file mode 100644
index 1ff1051..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeParser.java
+++ /dev/null
@@ -1,298 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.ide.dialogs;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-
-import org.xml.sax.Attributes;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.InputSource;
-import org.xml.sax.Locator;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * 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"; //$NON-NLS-1$
-	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 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.getXMLReader().setContentHandler(h);
-			} else if (localName.equals(TAG_ITEM)) {
-				ItemHandler h = new ItemHandler();
-				h.setParent(WelcomePageHandler.this);
-				parser.getXMLReader().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.getXMLReader().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.getXMLReader().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.getXMLReader().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," "); //$NON-NLS-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.getXMLReader().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.getXMLReader().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.getXMLReader().setContentHandler(h);
-			}
-		}
-		public void endElement (String namespaceURI, String localName, String qName) throws SAXException {
-			if (localName.equals(TAG_ITEM)) {
-				items.add(constructWelcomeItem());
-				parser.getXMLReader().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.getXMLReader().setContentHandler(parent);
-			} else if (localName.equals(TAG_PARAGRAPH)) {
-				wrapRanges.add(new int[] {wrapStart, offset - wrapStart});
-			}					
-		}
-	}
-/**
- * Creates a new welcome parser.
- */
-public WelcomeParser() throws ParserConfigurationException, SAXException, FactoryConfigurationError {
-	super();
-	SAXParserFactory factory = SAXParserFactory.newInstance();
-	factory.setFeature("http://xml.org/sax/features/namespaces", true); //$NON-NLS-1$
-	parser = factory.newSAXParser();
-	
-	parser.getXMLReader().setContentHandler(this);
-	parser.getXMLReader().setDTDHandler(this);
-	parser.getXMLReader().setEntityResolver(this);
-	parser.getXMLReader().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), this);
-	} catch (SAXException e) {
-		IStatus status = new Status(IStatus.ERROR, IDEWorkbenchPlugin.IDE_WORKBENCH, 1, IDEWorkbenchMessages.getString("WelcomeParser.parseException"), e);  //$NON-NLS-1$	
-		IDEWorkbenchPlugin.log(IDEWorkbenchMessages.getString("WelcomeParser.parseError"), status);  //$NON-NLS-1$	
-	} catch (IOException e) {
-		IStatus status = new Status(IStatus.ERROR, IDEWorkbenchPlugin.IDE_WORKBENCH, 1, IDEWorkbenchMessages.getString("WelcomeParser.parseException"), e); //$NON-NLS-1$	
-		IDEWorkbenchPlugin.log(IDEWorkbenchMessages.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.getXMLReader().setContentHandler(h);
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WizardNewProjectCapabilityPage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WizardNewProjectCapabilityPage.java
deleted file mode 100644
index c0308b5..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WizardNewProjectCapabilityPage.java
+++ /dev/null
@@ -1,110 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-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.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IHelpContextIds;
-import org.eclipse.ui.internal.ide.Category;
-import org.eclipse.ui.internal.ide.misc.ProjectCapabilitySelectionGroup;
-import org.eclipse.ui.internal.ide.registry.Capability;
-import org.eclipse.ui.internal.ide.registry.CapabilityRegistry;
-
-/**
- * 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 Category[] 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 = IDEWorkbenchPlugin.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(IDEWorkbenchMessages.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(Category[] 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.ide/src/org/eclipse/ui/internal/ide/dialogs/WizardNewProjectNameAndLocationPage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WizardNewProjectNameAndLocationPage.java
deleted file mode 100644
index 63c4c07..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WizardNewProjectNameAndLocationPage.java
+++ /dev/null
@@ -1,446 +0,0 @@
-package org.eclipse.ui.internal.ide.dialogs;
-
-/******************************************************************************* 
- * 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 Corporation - initial API and implementation
- *    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.ide.IHelpContextIds;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-
-/**
- * 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;
-	
-	/**
-	 * 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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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 = IDEWorkbenchPlugin.getPluginWorkspace();
-
-		String projectFieldContents = getProjectNameFieldValue();
-		if (projectFieldContents.equals("")) { //$NON-NLS-1$
-			setErrorMessage(null);
-			setMessage(IDEWorkbenchMessages.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(IDEWorkbenchMessages.getString("WizardNewProjectCreationPage.projectLocationEmpty")); //$NON-NLS-1$
-			return false;
-		}
-
-		IPath path = new Path(""); //$NON-NLS-1$
-		if (!path.isValidPath(locationFieldContents)) {
-			setErrorMessage(IDEWorkbenchMessages.getString("WizardNewProjectCreationPage.locationError")); //$NON-NLS-1$
-			return false;
-		}
-		if (!useDefaults && Platform.getLocation().isPrefixOf(new Path(locationFieldContents))) {
-			setErrorMessage(IDEWorkbenchMessages.getString("WizardNewProjectCreationPage.defaultLocationError")); //$NON-NLS-1$
-			return false;
-		}
-
-		if (getProjectHandle().exists()) {
-			setErrorMessage(IDEWorkbenchMessages.getString("WizardNewProjectCreationPage.projectExistsMessage")); //$NON-NLS-1$
-			return false;
-		}
-
-		if (isExistingProjectLocation()) {
-			setErrorMessage(IDEWorkbenchMessages.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.ide/src/org/eclipse/ui/internal/ide/dialogs/WizardStep.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WizardStep.java
deleted file mode 100644
index 0d18f43..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WizardStep.java
+++ /dev/null
@@ -1,79 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-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.ide/src/org/eclipse/ui/internal/ide/dialogs/ZipFileResourceExportOperation.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ZipFileResourceExportOperation.java
deleted file mode 100644
index e026bbf..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ZipFileResourceExportOperation.java
+++ /dev/null
@@ -1,316 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-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(IDEWorkbenchMessages.format("ZipExport.errorOnResource", new Object[] {resource.getFullPath()}) ,e); //$NON-NLS-1$
-		} catch (CoreException e) {
-			addError(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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,
-		IDEWorkbenchMessages.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, IDEWorkbenchMessages.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(IDEWorkbenchMessages.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, IDEWorkbenchMessages.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.ide/src/org/eclipse/ui/internal/ide/dialogs/ZipFileResourceExporter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ZipFileResourceExporter.java
deleted file mode 100644
index 77a5513..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ZipFileResourceExporter.java
+++ /dev/null
@@ -1,179 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-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.ide/src/org/eclipse/ui/internal/ide/messages.properties b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/messages.properties
deleted file mode 100644
index 6584cba..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/messages.properties
+++ /dev/null
@@ -1,844 +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 Corporation - initial API and implementation
-###############################################################################
-
-# package: org.eclipse.ui.ide
-
-IDE.noFileEditorFound = No editor found to edit the file resource.
-
-QuickStartAction.errorDialogTitle = Quick Start Error
-QuickStartAction.infoReadError = Could not read feature about information.
-
-SystemSummary.configuration= Configuration={0}
-SystemSummary.isCurrentConfiguration= Is current configuration={0}
-
-SystemSummary.date= Date={0}
-SystemSummary.target= Activities={0}
-SystemSummary.status= Status={0}
-SystemSummary.action= Action={0}
-
-SystemSummary.activity.enabled= Enabled
-SystemSummary.activity.disabled= Disabled
-SystemSummary.activity.revert= Revert
-SystemSummary.activity.reconcile= Reconcile
-SystemSummary.activity.preserved= Preserved
-SystemSummary.activity.unknown= Unknown
-SystemSummary.activity.featureInstalled= Feature installed
-SystemSummary.activity.featureRemoved= Feature removed
-SystemSummary.activity.siteInstalled= Site installed
-SystemSummary.activity.siteRemoved= Site removed
-
-SystemSummary.activity.status.unknown= Unknown
-SystemSummary.activity.status.success= Success
-SystemSummary.activity.status.failure= Failure
-
-
-
-############################################################
-############################################################
-# Copies from org.eclipse.ui.workbench
-############################################################
-showAdvanced = &Advanced >>
-hideAdvanced = << &Advanced
-
-# ==============================================================================
-# Workbench Actions
-# ==============================================================================
-
-# --- File Menu ---
-Workbench.file = &File
-Workbench.new = &New
-OpenWorkspaceAction.text = Switch &Workspace...
-OpenWorkspaceAction.toolTip = Open Workspace
-OpenWorkspaceAction.errorTitle = Missing System Property
-OpenWorkspaceAction.errorMessage = Unable to relaunch the platform because the {0} property has not been set.
-CreateProjectAction.text = Configurable &Project...
-CreateProjectAction.toolTip = Open New Configurable Project Wizard
-NewProjectAction.text = P&roject...
-NewProjectAction.toolTip = New Project
-NewExampleAction.text = E&xample...
-NewExampleAction.toolTip = New Example
-SaveAsDialog.title = Save As
-SaveAsDialog.message = Save file to another location.
-SaveAsDialog.text = Save As
-SaveAsDialog.fileLabel = &File name:
-SaveAsDialog.file = file
-SaveAsDialog.overwriteQuestion = The file ''{0}'' already exists. Do you want to replace the existing file?
-Workbench.projectProperties = &Properties
-Workbench.projectPropertiesToolTip = Properties
-
-
-# --- Edit Menu ---
-Workbench.edit = &Edit
-Workbench.addBookmark = Add Bookmar&k...
-Workbench.addBookmarkToolTip = Add Bookmark
-Workbench.addTask = Add Ta&sk...
-Workbench.addTaskToolTip = Add Task
-
-
-# --- Navigate Menu ---
-Workbench.navigate = &Navigate
-Workbench.goTo = &Go To
-
-OpenWorkspaceFileAction.errorTitle=Open Resource
-OpenWorkspaceFileAction.errorMessage=An exception occurred while opening the resource.
-
-Workbench.showIn = Sho&w In
-
-# --- Project Menu ---
-Workbench.project = &Project
-
-Workbench.openProject = &Open Project
-Workbench.openProjectToolTip = Open Project
-Workbench.closeProject = &Close Project
-Workbench.closeProjectToolTip = Close Project
-
-Workbench.buildProject = &Build Project
-Workbench.buildProjectToolTip = Build Project
-Workbench.rebuildProject = &Rebuild Project
-Workbench.rebuildProjectToolTip = Rebuild Project
-Workbench.buildClean = Clea&n...
-Workbench.buildSet = Build &Working Set
-Workbench.buildAutomatically = Build Auto&matically
-
-GlobalBuildAction.text = Build &All
-GlobalBuildAction.toolTip = Build All
-GlobalBuildAction.rebuildText = Rebuild A&ll
-GlobalBuildAction.rebuildToolTip = Rebuild All
-GlobalBuildAction.buildProblems = Build problems
-GlobalBuildAction.internalError = Internal error: {0}
-GlobalBuildAction.buildOperationTitle = Building all...
-GlobalBuildAction.rebuildAllOperationTitle = Rebuilding all...
-GlobalBuildAction.jobTitle = Building Workspace
-
-
-# --- Window Menu ---
-Workbench.window = &Window
-Workbench.openPerspective = &Open Perspective
-Workbench.showView = Show &View
-
-PromptOnExitDialog.shellTitle = Confirm Exit
-PromptOnExitDialog.message0 = Exit application?
-PromptOnExitDialog.message1 = Exit {0}?
-PromptOnExitDialog.choice = &Always exit without prompt
-
-Workbench.shortcuts = Navi&gation
-Workbench.openNewWindow = &New Window
-
-
-# --- 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:
-TipsAndTricks.text = &Tips and Tricks...
-TipsAndTricks.toolTip =Tips and Tricks
-TipsAndTricksMessageDialog.title = Tips and Tricks
-TipsAndTricksMessageDialog.message = No features with tips and tricks information are available
-TipsAndTricksPageSelectionDialog.title = Tips and Tricks
-TipsAndTricksPageSelectionDialog.message = &Show tips and tricks page for:
-TipsAndTricksErrorDialog.title = Problem
-TipsAndTricksErrorDialog.noHref = No tips and tricks information available
-TipsAndTricksErrorDialog.noFeatures = No features with tips and tricks information available
-
-# ==============================================================================
-# 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.copyFailedTitle = Copy Problems
-CopyProjectAction.internalError = Internal error: {0}
-
-CopyResourceAction.title = &Copy
-CopyResourceAction.toolTip = Copy Resource
-CopyResourceAction.selectDestination = Select the &destination:
-
-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.title = Check Move
-MoveResourceAction.checkMoveMessage = ''{0}'' is read only. Do you still wish to move it?
-
-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?
-DeleteResourceAction.deletionExceptionMessage=Multiple problems occurred while deleting resources.
-
-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.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.operationMessage = Building project...
-
-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...
-
-# --- 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.overwriteNoMergeLinkQuestion = ''{0}'' exists and is a linked folder. Do you wish to delete the linked folder and replace with the unlinked folder?\nFolder contents will not be merged!
-CopyFilesAndFoldersOperation.overwriteNoMergeNoLinkQuestion = ''{0}'' exists and is not a linked folder. Do you wish to delete the folder and replace with the linked folder?\nFolder contents will not be merged!
-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.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 on the file system.
-CopyFilesAndFoldersOperation.missingPathVariable = The resource ''{0}'' is linked using a missing path variable.
-CopyFilesAndFoldersOperation.missingLinkTarget = The link target for linked resource ''{0}'' does not exist.
-CopyFilesAndFoldersOperation.parentNotEqual = The resources must have the same parent.
-
-MoveFilesAndFoldersOperation.sameSourceAndDest = Cannot move ''{0}''. The source and destination are the same.
-MoveFilesAndFoldersOperation.moveFailedTitle = Move Problems
-MoveFilesAndFoldersOperation.problemMessage = Problems occurred moving the selected resources.
-MoveFilesAndFoldersOperation.operationTitle = Moving...
-
-
-# ==============================================================================
-# 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
-# ==============================================================================
-NewWizardShortcutAction.errorTitle = Problem Opening Wizard
-NewWizardShortcutAction.errorMessage = The selected wizard could not be started.
-
-WizardDataTransfer.existsQuestion = ''{0}'' already exists.  Would you like to overwrite it?
-WizardDataTransfer.overwriteNameAndPathQuestion = Overwrite ''{0}'' in folder ''{1}''?
-WizardDataTransfer.exceptionMessage =  Error occurred during operation: {0}
-WizardTransferPage.selectTypes = Select &Types...
-WizardTransferPage.selectAll = &Select All
-WizardTransferPage.deselectAll = &Deselect All
-
-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 ---
-WizardImportPage.specifyFolder = Please specify folder
-WizardImportPage.folderMustExist = Folder must be accessible.
-WizardImportPage.errorDialogTitle = Import Problems
-WizardImportPage.folder = Into fo&lder:
-WizardImportPage.browseLabel = Browse...
-WizardImportPage.browse2 = Bro&wse...
-WizardImportPage.selectFolderLabel = Select a folder to import into.
-WizardImportPage.selectFolderTitle = Import Into Folder
-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 ---
-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.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.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 Example ---
-NewExample.title = New Example
-
-# --- 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.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 na&me:
-WizardNewFileCreationPage.file = file
-WizardNewFileCreationPage.internalErrorTitle = Creation problems
-WizardNewFileCreationPage.internalErrorMessage = Internal error: {0}
-
-# --- 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
-# ==============================================================================
-Preference.note = Note:
-
-# --- Workbench ---
-WorkbenchPreference.autobuild = &Build automatically
-WorkbenchPreference.autobuildToolTip = Build automatically on resource modification
-WorkbenchPreference.savePriorToBuilding = Save auto&matically before build
-WorkbenchPreference.savePriorToBuildingToolTip = Save modified resources automatically before manual build
-WorkbenchPreference.RefreshButtonText=&Refresh workspace automatically
-WorkbenchPreference.RefreshButtonToolTip=Automatically refresh external workspace changes
-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
-
-WorkbenchPreference.encoding.BOM_UTF_8 = UTF-8 (BOM)
-WorkbenchPreference.encoding.BOM_UTF_16BE = UTF-16 Big-Endian (BOM)
-WorkbenchPreference.encoding.BOM_UTF_16LE = UTF-16 Little-Endian (BOM)
-
-# --- Linked Resources ---
-LinkedResourcesPreference.explanation = Path variables specify locations in the file system. The locations of linked resources\nmay be specified relative to these path variables.
-LinkedResourcesPreference.enableLinkedResources = &Enable linked resources
-LinkedResourcesPreference.linkedResourcesWarningTitle = Enabled Linked Resources
-LinkedResourcesPreference.linkedResourcesWarningMessage = You have enabled a feature which may give rise to incompatibilities if projects are shared by users of different versions of the workbench.  Please consult the documentation for further details.
-
-# The following six keys are marked as unused by the NLS search, but they are indirectly used
-# and should be removed.
-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.
-
-# --- 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 ---
-ProjectSwitchPerspectiveMode.optionsTitle = Switch to associated perspective when creating a new project
-ProjectSwitchPerspectiveMode.always = Alwa&ys switch
-ProjectSwitchPerspectiveMode.never = Ne&ver switch
-ProjectSwitchPerspectiveMode.prompt = Promp&t
-
-# --- Build Order --- 
-BuildOrderPreference.up = &Up
-BuildOrderPreference.down = Dow&n
-BuildOrderPreference.add = Add &Project...
-BuildOrderPreference.remove = &Remove 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.
-BuildOrderPreference.maxIterationsLabel=&Max iterations when building with cycles:
-
-# --- Startup preferences ---
-StartupPreferencePage.refreshButton = &Refresh workspace on startup
-StartupPreferencePage.launchPromptButton = Prompt for &workspace on startup
-StartupPreferencePage.exitPromptButton = &Confirm exit when closing last window
-
-# --- Info ---
-ResourceInfo.readOnly = &Read only
-ResourceInfo.derived = Deri&ved
-ResourceInfo.type = Type:
-ResourceInfo.location = Location:
-ResourceInfo.resolvedLocation = Resolved location:
-ResourceInfo.size = Size:
-ResourceInfo.bytes = {0}  bytes
-ResourceInfo.file = File
-ResourceInfo.fileTypeFormat = File  ({0})
-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:
-ResourceInfo.fileEncodingTitle = Default encoding for text files
-ResourceInfo.fileContentEncodingFormat = Default (determined from content: {0})
-ResourceInfo.fileContainerEncodingFormat = Default (inherited from container: {0})
-ResourceInfo.containerEncodingFormat = Inherit from container ({0})
-
-# --- 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
-# ==============================================================================
-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
-# ==============================================================================
-Question = Question
-
-ContainerSelectionDialog.title = Folder Selection
-ContainerSelectionDialog.message = Enter or select the parent folder:
-
-ContainerGroup.message = &Enter or select the parent 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.invalidFilename = ''{0}'' is not a valid file name.
-
-FileSelectionDialog.title = File Selection
-FileSelectionDialog.message = Select the files:
-
-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:
-
-MarkerResolutionSelectionDialog.title = Quick Fix
-MarkerResolutionSelectionDialog.messageLabel = &Available fixes:
-
-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 = The 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 = Bro&wse...
-CreateLinkedResourceGroup.variablesButton = &Variables...
-CreateLinkedResourceGroup.resolvedPathLabel = Resolved location:
-CreateLinkedResourceGroup.targetSelectionLabel = Select the link target.
-CreateLinkedResourceGroup.linkTargetNotFile = Link target must be a file
-CreateLinkedResourceGroup.linkTargetNotFolder = Link target must be a folder
-CreateLinkedResourceGroup.linkTargetNonExistent = Link target does not exist
-
-PathVariablesBlock.variablesLabel = &Defined path variables:
-PathVariablesBlock.addVariableButton = &New...
-PathVariablesBlock.editVariableButton = Edi&t...
-PathVariablesBlock.removeVariableButton = &Remove
-
-PathVariableSelectionDialog.title = Select Path Variable
-PathVariableSelectionDialog.extendButton = &Extend...
-PathVariableSelectionDialog.ExtensionDialog.title = Variable Extension
-PathVariableSelectionDialog.ExtensionDialog.description = Choose extension to {0}
-
-# ==============================================================================
-# Editor Framework
-# ==============================================================================
-EditorManager.saveResourcesMessage = Select the &resources to save:
-EditorManager.saveResourcesTitle = Save Resources
-
-OpenSystemEditorAction.dialogTitle = Problems Opening System Editor
-OpenSystemEditorAction.text = &System Editor
-OpenSystemEditorAction.toolTip = Edit File With System Editor
-
-# ==============================================================================
-# Workspace
-# ==============================================================================
-WorkspaceAction.problemsTitle = Problems
-WorkspaceAction.logTitle = Exception in {0}. run: {1}
-WorkbenchAction.problemsMessage = The following problems occurred.
-WorkbenchAction.internalError = Internal error.
-Workspace = Workspace
-
-
-# ==============================================================================
-# Workbench
-# ==============================================================================
-WorkbenchWindow.shellTitle = {0} - {1}
-
-Internal_error = Internal error
-InternalError = Internal Error
-InternalErrorNoArg = An internal error has occurred.\nSee the .log file for more details.\n\nDo you want to exit the workbench?
-InternalErrorOneArg = An internal error has occurred.\n{0}\nSee the .log file for more details.\n\nDo you want to exit the workbench?
-
-FatalError_RecursiveError = A internal error occurred while showing an internal error.
-FatalError_OutOfMemoryError = An out of memory error has occurred. You can prevent these errors in the future by increasing your heap size before you start the workbench using the -vmargs -Xmx command line option.
-FatalError_StackOverflowError = A stack overflow error has occurred.
-FatalError_VirtualMachineError = A virtual machine error has occurred.
-FatalError_SWTError = An SWT error has occurred.
-FatalError = {0}\nYou are recommended to exit the workbench.\nSubsequent errors may happen and may terminate the workbench without warning.\nSee the .log file for more details.\n\nDo you want to exit the workbench?
-
-ProblemSavingWorkbench = Problems occurred while trying to save the state of the workbench.
-ProblemsSavingWorkspace = Problems saving workspace
-
-Problems_Opening_Page = Problems Opening Page
-
-Workspace.problemMessage = Problems occurred refreshing workspace.
-Workspace.problemsTitle = Problems
-
-
-# ==============================================================================
-# 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...
-
-TextAction.selectAll = Select All
-Cut = Cut
-Copy = Copy
-Paste = Paste
-Delete = Delete
- 
-# ==============================================================================
-# Keys used in the reuse editor which is released as experimental.
-# ==============================================================================
-WorkbenchPreference.saveInterval=&Workspace save interval (in minutes):
-WorkbenchPreference.saveIntervalError=The workspace save interval should be between 1 and {0}.
-
-# ==============================================================================
-# Working Set Framework.
-# ==============================================================================
-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
-
-ChooseWorkspaceDialog.dialogName=Workspace Launcher
-ChooseWorkspaceDialog.dialogTitle=Select a workspace
-ChooseWorkspaceDialog.dialogMessage= \
-	{0} stores your projects in a directory called a workspace.\n\
-	Select the workspace directory to use for this session.
-ChooseWorkspaceDialog.defaultProductName = The product
-ChooseWorkspaceDialog.workspaceEntryLabel=&Workspace:
-ChooseWorkspaceDialog.browseLabel=&Browse...
-ChooseWorkspaceDialog.directoryBrowserTitle=Select Workspace Directory
-ChooseWorkspaceDialog.directoryBrowserMessage=Select the workspace directory to use.
-ChooseWorkspaceDialog.useDefaultMessage=&Use this as the default and do not ask again
-IDEApplication.workspaceMandatoryTitle=Workspace is Mandatory
-IDEApplication.workspaceMandatoryMessage=IDEs need a valid workspace; restart without the @none option.
-IDEApplication.workspaceInUseTitle=Workspace in Use
-IDEApplication.workspaceInUseMessage=Workspace in use, choose a different one.
-IDEApplication.workspaceInvalidTitle=Invalid Workspace
-IDEApplication.workspaceInvalidMessage=Selected workspace is not valid; choose a different one.
-IDEApplication.workspaceCannotBeSetTitle=Workspace Cannot be Set
-IDEApplication.workspaceCannotBeSetMessage=Error in runtime; workspace cannot be set.  Exiting.
-IDEApplication.workspaceCannotLockTitle=Workspace Cannot be Locked
-IDEApplication.workspaceCannotLockMessage=Could not launch the product because the associated workspace is currently in use.
-IDEApplication.versionTitle = Different Workspace Version
-IDEApplication.versionMessage = \
-	This workspace was written with a different version of the product and needs to be updated.\n\n\
-	{0}\n\n\
-	Updating the workspace may make it incompatible with other versions of the product.\n\
-	Press OK to update the workspace and open it.  Press Cancel to select a different workspace.
-IDEApplication.incompatibleJVMTitle = Incompatible JVM
-IDEApplication.incompatibleJVMMessage = This version of the JVM is not suitable for this product.  Version {0} or greater is required.
-GlobalBuildAction.BuildRunningTitle=Build Is Running
-GlobalBuildAction.BuildRunningMessage=A build is currently running. Do you wish to cancel it?
-CleanDialog.buildCleanAuto=Clean will discard all build problems and built states.  The projects will be rebuilt from scratch.
-CleanDialog.buildCleanManual=Clean will discard all build problems and built states.  The next time a build occurs the projects will be rebuilt from scratch.
-CleanDialog.title=Clean?
-CleanDialog.cleanAllButton=Clean &all projects
-CleanDialog.cleanSelectedButton=Clean &selected projects:
-CleanDialog.buildNowButton=Start a &build immediately
-CleanDialog.browse = Bro&wse...
-CleanDialog.noSelection = <No projects selected>
-CleanDialog.taskName=Cleaning selected projects
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/CheckboxTreeAndListGroup.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/CheckboxTreeAndListGroup.java
deleted file mode 100644
index 1b1792f..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/CheckboxTreeAndListGroup.java
+++ /dev/null
@@ -1,694 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.misc;
-
-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);
-			}
-		});
-	}
-}
-/**
- *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.ide/src/org/eclipse/ui/internal/ide/misc/ContainerContentProvider.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/ContainerContentProvider.java
deleted file mode 100644
index db5c3f3..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/ContainerContentProvider.java
+++ /dev/null
@@ -1,103 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.misc;
-
-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 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) {
-}
-/**
- * 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.ide/src/org/eclipse/ui/internal/ide/misc/ContainerSelectionGroup.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/ContainerSelectionGroup.java
deleted file mode 100644
index 77e3723..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/ContainerSelectionGroup.java
+++ /dev/null
@@ -1,272 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.misc;
-
-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.dialogs.Dialog;
-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.ide.IDEWorkbenchMessages;
-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;
-	TreeViewer treeViewer;
-
-	// the message to display at the top of this dialog
-	private static final String DEFAULT_MSG_NEW_ALLOWED = IDEWorkbenchMessages.getString("ContainerGroup.message"); //$NON-NLS-1$
-	private static final String DEFAULT_MSG_SELECT_ONLY = IDEWorkbenchMessages.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;
-	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);
-	Dialog.applyDialogFont(this);
-}
-/**
- * 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);
-
-	// 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(WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider());
-	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());
-}
-/**
- * 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.ide/src/org/eclipse/ui/internal/ide/misc/OverlayIcon.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/OverlayIcon.java
deleted file mode 100644
index acc7140..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/OverlayIcon.java
+++ /dev/null
@@ -1,118 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.misc;
-
-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 CompositeImageDescriptor#drawCompositeImage(int, int)
-	 */
-	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 CompositeImageDescriptor#getSize()
-	 */
-	protected Point getSize() {
-		return fSize;
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/ProjectCapabilitySelectionGroup.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/ProjectCapabilitySelectionGroup.java
deleted file mode 100644
index 36111d6..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/ProjectCapabilitySelectionGroup.java
+++ /dev/null
@@ -1,760 +0,0 @@
-package org.eclipse.ui.internal.ide.misc;
-
-/******************************************************************************* 
- * 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 Corporation - initial API and implementation
- *        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.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.Map;
-
-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.ide.Category;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.registry.Capability;
-import org.eclipse.ui.internal.ide.registry.CapabilityRegistry;
-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 Category[] 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) {
-			Category c1 = (Category) ob1;
-			Category c2 = (Category) 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(Category[] 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(Category[] 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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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(IDEWorkbenchMessages.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()) {
-						Category cat = (Category)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(),
-				IDEWorkbenchMessages.getString("ProjectCapabilitySelectionGroup.errorTitle"), //$NON-NLS-1$
-				IDEWorkbenchMessages.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(),
-				IDEWorkbenchMessages.getString("ProjectCapabilitySelectionGroup.errorTitle"), //$NON-NLS-1$
-				IDEWorkbenchMessages.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(),
-					IDEWorkbenchMessages.getString("ProjectCapabilitySelectionGroup.errorTitle"), //$NON-NLS-1$
-					IDEWorkbenchMessages.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(),
-							IDEWorkbenchMessages.getString("ProjectCapabilitySelectionGroup.errorTitle"), //$NON-NLS-1$
-							IDEWorkbenchMessages.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(),
-								IDEWorkbenchMessages.getString("ProjectCapabilitySelectionGroup.errorTitle"), //$NON-NLS-1$
-								IDEWorkbenchMessages.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(),
-					IDEWorkbenchMessages.getString("ProjectCapabilitySelectionGroup.errorTitle"), //$NON-NLS-1$
-					IDEWorkbenchMessages.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(),
-					IDEWorkbenchMessages.getString("ProjectCapabilitySelectionGroup.errorTitle"), //$NON-NLS-1$
-					IDEWorkbenchMessages.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 = IDEWorkbenchMessages.format("ProjectCapabilitySelectionGroup.disabledLabel", new Object[] {text}); //$NON-NLS-1$
-			return text;
-		}
-	}
-}
-
-
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/ResourceAndContainerGroup.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/ResourceAndContainerGroup.java
deleted file mode 100644
index 2e87513..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/ResourceAndContainerGroup.java
+++ /dev/null
@@ -1,347 +0,0 @@
-package org.eclipse.ui.internal.ide.misc;
-
-/******************************************************************************* 
- * 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 Corporation - initial API and implementation 
- *  	Leon J. Breedt: Added multiple folder creation support
- */
-
-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.ide.IDEWorkbenchMessages;
-
-/**
- * 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 = IDEWorkbenchMessages.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 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 path 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 = IDEWorkbenchMessages.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 = IDEWorkbenchMessages.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 resourcePath the path 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 = IDEWorkbenchMessages.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 = IDEWorkbenchMessages.format("ResourceGroup.emptyName", new Object[] {resourceType}); //$NON-NLS-1$
-        return false;
-    }
-    
-    if(!(new Path("")).isValidSegment(resourceName)){ //$NON-NLS-1$
-		problemType = PROBLEM_NAME_INVALID;
-		problemMessage = IDEWorkbenchMessages.format("ResourceGroup.invalidFilename", new String[] {resourceName}); //$NON-NLS-1$
-		return false;
-	}
-	
-    return true;
-}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/WizardStepGroup.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/WizardStepGroup.java
deleted file mode 100644
index 50b34a2..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/WizardStepGroup.java
+++ /dev/null
@@ -1,268 +0,0 @@
-package org.eclipse.ui.internal.ide.misc;
-
-/******************************************************************************* 
- * 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 Corporation - initial API and implementation 
- *   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.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.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>
-	 */
-	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(IDEWorkbenchMessages.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/elcl16/"; //$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.ide/src/org/eclipse/ui/internal/ide/misc/WorkInProgress.properties b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/WorkInProgress.properties
deleted file mode 100644
index 76d29a1..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/WorkInProgress.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-WorkInProgressPreferencePage.0_label=&Machine Speed:
-WorkInProgressPreferencePage.SlowTitle=Slow
-WorkInProgressPreferencePage.FastTitle=Fast
-WorkInProgressPreferencePage.MediumTitle=Medium
-WorkInProgressPreferencePage.SpeedExplanation=Adjust the speed setting to limit the number of concurrent jobs.\nThe faster the setting the more jobs that can run concurrently.
-WorkInProgressPreferencePage.AutoRefreshGroup=Auto Refresh
-WorkInProgressPreferencePage.AutoRefreshButton=Auto Refresh
-WorkInProgressPreferencePage.AutoRefreshToolTip=Toggle auto refresh
-WorkInProgressPreferencePage.PollingDelay=Polling Delay
-WorkInProgressPreferencePage.InvalidMessage=Invalid Integer format
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/WorkInProgressMessages.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/WorkInProgressMessages.java
deleted file mode 100644
index f16c3aa..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/WorkInProgressMessages.java
+++ /dev/null
@@ -1,47 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.misc;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * @since 3.0
- */
-public class WorkInProgressMessages {
-
-    private static final String BUNDLE_NAME = "org.eclipse.ui.internal.ide.misc.WorkInProgress"; //$NON-NLS-1$
-
-    private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
-
-    /**
-     * 
-     * @since 3.0
-     */
-    private WorkInProgressMessages() {
-
-        // TODO Auto-generated constructor stub
-    }
-    /**
-     * @param key
-     * @return the string for the given key
-     * @since 3.0
-     */
-    public static String getString(String key) {
-        // TODO Auto-generated method stub
-        try {
-            return RESOURCE_BUNDLE.getString(key);
-        }
-        catch (MissingResourceException e) {
-            return '!' + key + '!';
-        }
-    }
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/PropertyParser.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/PropertyParser.java
deleted file mode 100644
index 435bca8..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/PropertyParser.java
+++ /dev/null
@@ -1,263 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.model;
-
-import java.io.File;
-import java.io.StringReader;
-
-import javax.xml.parsers.*;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.ui.IResourceActionFilter;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-
-import org.xml.sax.Attributes;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.XMLReader;
-import org.xml.sax.ext.LexicalHandler;
-import org.xml.sax.helpers.DefaultHandler;
-
-/*
- * This PropertyParser is used to examine XML files in
- * an effort to learn a bit more about their context.
- * This will then help Eclipse determine, for example,
- * what menu entries are really appropriate for this 
- * particular XML file.  As an example, a plugin.xml file
- * should not have context menu entries relating to
- * running Ant scripts.
- * 
- * Currently (Eclipse 3.0) this parser only looks for
- * the root level tag and the name of the DTD (if any).
- * This parser may be extended to look for other, relevant
- * pieces of information.  The information found is stored
- * as a persistent property on this resource.  This way,
- * we only need to parse this file again if the file
- * has changed.  If no changes have occurred, we simply
- * access the persistent property and do not parse.
- * 
- * This parser should be aware of the environment in
- * which it is being called in that it needs to be
- * called a minimun number of times (we don't want to 
- * reparse every XML file each time someone asks for
- * a context menu), it needs to do minimal computing/parsing,
- * and it needs to handle any unexpected or error
- * results cleanly.
- * 
- * Current restrictions in XML parsing logic require that
- * if a DTD is mentioned in and XML file, that DTD file
- * must be present and accessible.  The PropertyParser does
- * not require this to be true, but the underlying XML
- * parser does require this.
- */
-
-public class PropertyParser extends DefaultHandler implements LexicalHandler {
-
-	// model parser
-	private static SAXParser parser;
-	private static SAXParserFactory parserFactory;
-	
-	// The XML file/resource being parsed
-	private IResource parseResource = null;
-	int x = initializeParser();
-	
-	private int initializeParser() {
-		try {
-			parserFactory = SAXParserFactory.newInstance();
-			parserFactory.setNamespaceAware(true);
-			try {
-				parserFactory.setFeature("http://xml.org/sax/features/string-interning", true); //$NON-NLS-1$
-				parserFactory.setValidating(false);
-			} catch (SAXException e) {
-				IDEWorkbenchPlugin.log("Problem initializing parser", new Status(IStatus.ERROR,IDEWorkbenchPlugin.IDE_WORKBENCH, IStatus.ERROR, "Problem initializing parser", e)); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			parser = parserFactory.newSAXParser();
-			XMLReader reader = parser.getXMLReader();
-			reader.setProperty("http://xml.org/sax/properties/lexical-handler", this); //$NON-NLS-1$
-		} catch (Exception e) {
-			IDEWorkbenchPlugin.log("Problem initializing parser", new Status(IStatus.ERROR,IDEWorkbenchPlugin.IDE_WORKBENCH, IStatus.ERROR, "Problem initializing parser", e)); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		return 1;
-	}
-
-	/*
-	 * Cause parsing to happen on the specified resource.
-	 * 
-	 * @param resource the resource being parsed.  This 
-	 *     resource is assumed to be a valid XML file.
-	 */
-	synchronized public void parseResource(IResource resource) throws Exception {
-		if (resource == null)
-			return;
-		parseResource = resource;
-		// Need to get a File version of this resource
-		IPath location = resource.getLocation();
-		if (location == null)
-			return;
-		File file = location.toFile();
-		if (file.length() == 0L) {
-			// Some SAX parsers will throw a SAXParseException for a
-			// zero-length file.  We'll just decide there's nothing to
-			// do and return gracefully.  First, set the last modification
-			// time so we don't have to check this again unless the file
-			// changes.
-			long modTime = parseResource.getModificationStamp();
-			QualifiedName modKey = new QualifiedName(IDEWorkbenchPlugin.IDE_WORKBENCH, WorkbenchResource.XML_LAST_MOD);
-			try {
-				parseResource.setPersistentProperty(modKey, new Long(modTime).toString());
-			} catch (CoreException c) {
-				IDEWorkbenchPlugin.log("Problem parsing element", c.getStatus()); //$NON-NLS-1$
-			}
-			return;
-		}
-		try {
-			parser.parse(file, this);
-		} catch (SAXException s) {
-			// If the SAXException is the one we threw
-			// to abort the parsing, just ignore it and
-			// continue processing.
-			if (!s.getMessage().equals("PropertyParser stop")) { //$NON-NLS-1$
-				// We got a real error, so log it but
-				// continue processing.
-				IDEWorkbenchPlugin.log("Problem parsing file", new Status(IStatus.ERROR,IDEWorkbenchPlugin.IDE_WORKBENCH, IStatus.ERROR, "Problem parsing file", s)); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-	}
-	
-	/*
-	 *  (non-Javadoc)
-	 * @see org.xml.sax.ContentHandler#startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)
-	 * 
-	 */
-
-	public void startElement(String uri, String elementName, String qName, Attributes attributes)
-	throws SAXException {
-
-		/* We have hit an XML element.  We are only concerned
-		 * with the root level element.  Figure out what it
-		 * is and store it as a persistent property.  Once
-		 * we have the root level element stored, no further
-		 * parsing of this file is required.  As a result,
-		 * this method will then throw a SAXException (the
-		 * recommended way of aborting parsing).
-		 * 
-		 * This method is not intended to be called.  It is
-		 * only called from within the XML SAX parser being
-		 * used.
-		 */
-		long modTime = parseResource.getModificationStamp();
-		QualifiedName modKey = new QualifiedName(IDEWorkbenchPlugin.IDE_WORKBENCH, WorkbenchResource.XML_LAST_MOD);
-		try {
-			parseResource.setPersistentProperty(modKey, new Long(modTime).toString());
-		} catch (CoreException c) {
-			IDEWorkbenchPlugin.log("Problem parsing element", c.getStatus()); //$NON-NLS-1$
-		}
-		// We are only interested in the first element.
-		QualifiedName key;
-		String propertyName = IResourceActionFilter.XML_FIRST_TAG;
-		key = new QualifiedName(IDEWorkbenchPlugin.IDE_WORKBENCH, propertyName);
-		try {
-			parseResource.setPersistentProperty(key, elementName);
-		} catch (CoreException c) {
-			IDEWorkbenchPlugin.log("Problem parsing element", c.getStatus()); //$NON-NLS-1$
-		}
-		// And now we wish to abort the parsing.  The only other thing
-		// we looked for was the dtd name.  By definition, the dtd
-		// declaration must occur before the first element.
-		throw new SAXException("PropertyParser stop"); //$NON-NLS-1$
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see org.xml.sax.ext.LexicalHandler#comment(char[], int, int)
-	 */
-	public void comment(char[] ch, int start, int length) throws SAXException {
-		//No interesting behavior
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.xml.sax.ext.LexicalHandler#endCDATA()
-	 */
-	public void endCDATA() throws SAXException {
-		//No interesting behavior
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.xml.sax.ext.LexicalHandler#endDTD()
-	 */
-	public void endDTD() throws SAXException {
-		//No interesting behavior
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.xml.sax.ext.LexicalHandler#endEntity(java.lang.String)
-	 */
-	public void endEntity(String name) throws SAXException {
-		//No interesting behavior
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.xml.sax.ext.LexicalHandler#startCDATA()
-	 */
-	public void startCDATA() throws SAXException {
-		//No interesting behavior
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.xml.sax.ext.LexicalHandler#startDTD(java.lang.String, java.lang.String, java.lang.String)
-	 * 
-	 */
-	public void startDTD(String name, String publicId, String systemId)
-		throws SAXException {
-
-		/* We have hit an DTD request for this XML file.
-		 * The name of the DTD wanted for this XML file will
-		 * be stored as a persistent property.
-		 * 
-		 * This method is not intended to be called.  It is
-		 * only called from within the XML SAX parser being
-		 * used.
-		 */
-		if (systemId == null)
-			return;
-		
-		QualifiedName qname = new QualifiedName(IDEWorkbenchPlugin.IDE_WORKBENCH, IResourceActionFilter.XML_DTD_NAME);
-		try {
-			parseResource.setPersistentProperty(qname, systemId);
-		} catch (CoreException c) {
-			IDEWorkbenchPlugin.log("Problem parsing dtd element", c.getStatus()); //$NON-NLS-1$
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.xml.sax.ext.LexicalHandler#startEntity(java.lang.String)
-	 */
-	public void startEntity(String name) throws SAXException {
-		//No interesting behavior
-	}
-
-    /* (non-Javadoc)
-     * Resolve external entity definitions to an empty string.  This is to speed
-     * up processing of files with external DTDs.  Not resolving the contents of
-     * the DTD is ok, as only the System ID of the DTD declaration is used.
-     * 
-     * @see org.xml.sax.helpers.DefaultHandler#resolveEntity(java.lang.String, java.lang.String)
-     */
-    public InputSource resolveEntity(String publicId, String systemId)
-            throws SAXException {
-        return new InputSource(new StringReader("")); //$NON-NLS-1$
-    }
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/ResourceFactory.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/ResourceFactory.java
deleted file mode 100644
index c94f3cf..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.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.ide/src/org/eclipse/ui/internal/ide/model/StandardPropertiesAdapterFactory.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/StandardPropertiesAdapterFactory.java
deleted file mode 100644
index a221f55..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/StandardPropertiesAdapterFactory.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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.model;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.ui.views.properties.FilePropertySource;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.ResourcePropertySource;
-
-/**
- * Dispenses an <code>IPropertySource</code> adapter for the core resource objects.
- */
-/* package */ class StandardPropertiesAdapterFactory implements IAdapterFactory {
-/* (non-Javadoc)
- * Method declared on IAdapterFactory.
- */
-public Object getAdapter(Object o, Class adapterType) {
-	if (adapterType.isInstance(o)) {
-		return o;
-	}
-	if (adapterType == IPropertySource.class) {
-		if (o instanceof IResource) {
-			IResource resource = (IResource) o;
-			if (resource.getType() == IResource.FILE)
-				return new FilePropertySource((IFile) o);
-			else
-				return new ResourcePropertySource((IResource) o);
-		}
-	}
-	return null;
-}
-/* (non-Javadoc)
- * Method declared on IAdapterFactory.
- */
-public Class[] getAdapterList() {
-	return new Class[] {
-		IPropertySource.class
-	};
-}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchAdapterBuilder.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchAdapterBuilder.java
deleted file mode 100644
index 9d5ad9f..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchAdapterBuilder.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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.model;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.core.runtime.IAdapterManager;
-import org.eclipse.core.runtime.Platform;
-
-/**
- * Registers the adapters on core constructs
- * used in the workbench UI.
- */
-public final class WorkbenchAdapterBuilder {
-/**
- * Creates extenders and registers 
- */
-public static 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);
-	
-	// properties adapters
-	IAdapterFactory paFactory = new StandardPropertiesAdapterFactory();
-	manager.registerAdapters(paFactory, IWorkspace.class);
-	manager.registerAdapters(paFactory, IWorkspaceRoot.class);
-	manager.registerAdapters(paFactory, IProject.class);
-	manager.registerAdapters(paFactory, IFolder.class);
-	manager.registerAdapters(paFactory, IFile.class);
-	manager.registerAdapters(paFactory, IMarker.class);
-}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchAdapterFactory.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchAdapterFactory.java
deleted file mode 100644
index 9ff6e02..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchAdapterFactory.java
+++ /dev/null
@@ -1,158 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.model;
-
-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.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchFile.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchFile.java
deleted file mode 100644
index c0b439f..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchFile.java
+++ /dev/null
@@ -1,33 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.model;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-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) {
-	// @issue move IDE specific images
-	ImageDescriptor image = PlatformUI.getWorkbench().getEditorRegistry().getImageDescriptor(resource.getName());
-	if (image == null)
-		image = PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_OBJ_FILE);
-	return image;
-}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchFolder.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchFolder.java
deleted file mode 100644
index 724cada..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchFolder.java
+++ /dev/null
@@ -1,41 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.model;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-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 PlatformUI.getWorkbench().getSharedImages().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.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchMarker.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchMarker.java
deleted file mode 100644
index 0b1ee22..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchMarker.java
+++ /dev/null
@@ -1,134 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.ide.model;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.IMarkerActionFilter;
-import org.eclipse.ui.actions.SimpleWildcardTester;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.model.WorkbenchAdapter;
-
-/**
- * Model object for adapting IMarker objects to the IWorkbenchAdapter
- * interface.
- */
-public class WorkbenchMarker
-	extends WorkbenchAdapter
-	implements IMarkerActionFilter {
-/**
- * @see IWorkbenchAdapter#getImageDescriptor(Object)
- */
-public ImageDescriptor getImageDescriptor(Object o) {
-	if(!(o instanceof IMarker))
-			return null;
-	return IDEWorkbenchPlugin.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 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) {
-	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;
-		}
-	} else if (name.equals(RESOURCE_TYPE)) {
-		int desiredType = 0;
-		
-		try {
-			desiredType = Integer.parseInt(value);
-		} catch (NumberFormatException eNumberFormat) {			
-		}
-		
-		if (!(desiredType == IResource.FILE || desiredType == IResource.FOLDER ||  
-			desiredType == IResource.PROJECT || desiredType == IResource.ROOT))
-			return false;
-				
-		return (marker.getResource().getType() & desiredType) > 0;  
-	}
-	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.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchProject.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchProject.java
deleted file mode 100644
index aff0def..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchProject.java
+++ /dev/null
@@ -1,104 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.model;
-
-import java.util.HashMap;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.IProjectActionFilter;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.internal.ide.IDEInternalWorkbenchImages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.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 ? IDE.SharedImages.IMG_OBJ_PROJECT : IDE.SharedImages.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 = IDEWorkbenchPlugin.getDefault().getProjectImageRegistry().getNatureImage(natureIds[i]);
-				if (natureImage != null) {
-					ImageDescriptor baseImage = IDEInternalWorkbenchImages.getImageDescriptor(baseKey);
-					overlayImage = new OverlayIcon(baseImage, new ImageDescriptor[][] {{ natureImage }}, new Point(16, 16));
-					imageCache.put(imageKey, overlayImage);
-					return overlayImage;
-				}
-			}
-		}
-		catch (CoreException e) {
-		}
-	}
-	return IDEInternalWorkbenchImages.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.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchResource.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchResource.java
deleted file mode 100644
index b47325e..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchResource.java
+++ /dev/null
@@ -1,321 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.model;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.IResourceActionFilter;
-import org.eclipse.ui.actions.SimpleWildcardTester;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.model.WorkbenchAdapter;
-
-/**
- * An IWorkbenchAdapter that represents IResources.
- */
-public abstract class WorkbenchResource extends WorkbenchAdapter
-	implements IResourceActionFilter
-{
-	
-/**
- * An attribute used to store the last modified time
- * so we may determine if the other XML based attributes
- * found in IResourceActionFilter(XML_DTD_NAME and XML_FIRST_TAG)
- * are stale and, therefore, the xml file must be reparsed for this
- * information.
- */
-public static final String XML_LAST_MOD = "xmlLastMod";	 //$NON-NLS-1$
-
-/**
- *	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);
-	} else if (name.equals(XML_FIRST_TAG)) {
-		return testXMLProperty(res, name, value);
-	} else if (name.equals(XML_DTD_NAME)) {
-		return testXMLProperty(res, name, value);
-	} else if (name.equals(CONTENT_TYPE_ID)) {
-	    return testContentTypeProperty(res, value);
-	}
-	return false;
-}
-
-/**
- * Tests whether the content type for <code>resource</code> matches the
- * <code>contentTypeId</code>. It is possible that this method call could
- * cause the resource to be read. It is also possible (through poor plug-in
- * design) for this method to load plug-ins.
- * 
- * @param resource
- *            The resource for which the content type should be determined;
- *            must not be <code>null</code>.
- * @param contentTypeId
- *            The expected content type; must not be <code>null</code>.
- * @return <code>true</code> iff the best matching content type has an
- *         identifier that matches <code>contentTypeId</code>;
- *         <code>false</code> otherwise.
- */
-private final boolean testContentTypeProperty(final IResource resource,
-        final String contentTypeId) {
-    final String expectedValue = contentTypeId.trim();
-
-    if (!(resource instanceof IFile)) { return false; }
-
-    final IFile file = (IFile) resource;
-    String actualValue = null;
-
-    try {
-        final IContentDescription contentDescription = file
-                .getContentDescription();
-
-        if (contentDescription != null) {
-            final IContentType contentType = contentDescription
-                    .getContentType();
-            actualValue = contentType.getId();
-        }
-    } catch (final CoreException e) {
-        // Log the error.
-        final String message = "Core exception while retrieving the content description"; //$NON-NLS-1$
-        IDEWorkbenchPlugin.log(message,
-                new Status(IStatus.ERROR, IDEWorkbenchPlugin.IDE_WORKBENCH,
-                        IStatus.ERROR, message, e));
-    }
-
-    return expectedValue == null || expectedValue.equals(actualValue);
-}
-
-/**
- * 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;		
-}
-
-/**
- * Test whether a given xml property matches that xml
- * element in the file.  Note that these properties will
- * be stored as persistent properties.  If the underlying 
- * xml file changes, the xml will be reparsed to re-retrieve
- * these property values.
- * 
- * @param resource the resource associated with the xml file
- * @param propertyName the name of the property we are looking for
- * @param value the value we expect to find
- * @return true if the value found for this property, matches
- *     the value passed in as a parameter.
- * 
- * @deprecated This method will be removed in future builds.  It has been
- * replaced with testContentTypeProperty.
- */
-private boolean testXMLProperty(IResource resource, String propertyName, String value) {
-	String expectedVal = value.trim();
-	try {
-		QualifiedName key = new QualifiedName(IDEWorkbenchPlugin.IDE_WORKBENCH, propertyName);
-		IResource resToCheck = resource;
-		if (resToCheck == null) {
-			return false;
-		}
-		// Check to see if the persistent properties are stale
-		long modTime = resToCheck.getModificationStamp();
-		QualifiedName modKey = new QualifiedName(IDEWorkbenchPlugin.IDE_WORKBENCH, XML_LAST_MOD);
-		String lastPropMod = resToCheck.getPersistentProperty(modKey);
-		long realLastPropMod = 0L;
-		if (lastPropMod != null) {
-			try {
-				realLastPropMod = new Long(lastPropMod).longValue();
-			} catch (NumberFormatException nfe) {
-				// log it but continue working
-				IDEWorkbenchPlugin.log("Problem converting last mod to long in testXMLProperty", new Status(IStatus.ERROR,IDEWorkbenchPlugin.IDE_WORKBENCH, IStatus.ERROR, "Problem converting last mod to long in testXMLProperty", nfe)); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-		String actualVal = null;
-		if (modTime != IResource.NULL_STAMP && realLastPropMod == modTime) {
-			// Make sure we don't pick up stale information
-			actualVal = resToCheck.getPersistentProperty(key);
-		} else if (realLastPropMod > 0l){
-			// Make sure that these persistent properties
-			// are cleared so that we don't pick up any
-			// stale values by mistake.  If we've never parsed
-			// this file, however, we don't need to worry
-			// about stale values.
-			QualifiedName qname1 = new QualifiedName(IDEWorkbenchPlugin.IDE_WORKBENCH, IResourceActionFilter.XML_DTD_NAME);
-			QualifiedName qname2 = new QualifiedName(IDEWorkbenchPlugin.IDE_WORKBENCH, IResourceActionFilter.XML_FIRST_TAG);
-			try {
-				resToCheck.setPersistentProperty(qname1, null);
-				resToCheck.setPersistentProperty(qname2, null);
-			} catch (CoreException c) {
-				IDEWorkbenchPlugin.log("Problem clearing stale xml properties", c.getStatus()); //$NON-NLS-1$
-			}
-		}
-		
-		// Either we have never parsed this file or we 
-		// have parsed it but the file has changed since
-		// the last time it was parsed.
-		if (actualVal == null) {
-			try {
-				new PropertyParser().parseResource(resToCheck);
-			} catch (Exception e) {
-				IDEWorkbenchPlugin.log("Problem parsing for xml properties", new Status(IStatus.ERROR,IDEWorkbenchPlugin.IDE_WORKBENCH, IStatus.ERROR, "Problem parsing for xml properties", e)); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			// Now recheck the persistent property as it may have
-			// been populated.
-			actualVal = resToCheck.getPersistentProperty(key);
-			if (actualVal == null)
-				return false;
-		}
-		return expectedVal == null || expectedVal.equals(actualVal);
-	} catch (CoreException e) {
-		// Just output a message to the log file and continue
-		IDEWorkbenchPlugin.log("Problem testing xml property", e.getStatus()); //$NON-NLS-1$
-	}
-	return false;		
-}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchRootResource.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchRootResource.java
deleted file mode 100644
index 186b2dc..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchRootResource.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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.model;
-
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.model.WorkbenchAdapter;
-
-/**
- * An IWorkbenchAdapter implementation for IWorkspaceRoot objects.
- */
-public class WorkbenchRootResource extends WorkbenchAdapter {
-/**
- * @see org.eclipse.ui.model.IWorkbenchAdapter#getChildren(Object)
- * Returns the children of the root resource.
- */
-public Object[] getChildren(Object o) {
-	IWorkspaceRoot root = (IWorkspaceRoot) o;
-	return root.getProjects();
-}
-/**
- * @see org.eclipse.ui.model.IWorkbenchAdapter#getImageDescriptor(Object)
- */
-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 IDEWorkbenchMessages.getString("Workspace"); //$NON-NLS-1$
-}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchStatus.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchStatus.java
deleted file mode 100644
index 251a0ad..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchStatus.java
+++ /dev/null
@@ -1,61 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.model;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.ui.model.WorkbenchAdapter;
-
-/**
- * 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.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchStatusList.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchStatusList.java
deleted file mode 100644
index 822cc05..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchStatusList.java
+++ /dev/null
@@ -1,46 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.model;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.ui.model.WorkbenchAdapter;
-
-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.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchWorkspace.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchWorkspace.java
deleted file mode 100644
index 4d9c62d..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchWorkspace.java
+++ /dev/null
@@ -1,43 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.model;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.model.WorkbenchAdapter;
-
-/**
- * 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 IDEWorkbenchMessages.getString("Workspace"); //$NON-NLS-1$
-}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkspaceFactory.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkspaceFactory.java
deleted file mode 100644
index 3239c07..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkspaceFactory.java
+++ /dev/null
@@ -1,51 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.model;
-
-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.ide/src/org/eclipse/ui/internal/ide/package.html b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/package.html
deleted file mode 100644
index d592579..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/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="Microsoft FrontPage 4.0">
-<meta name="ProgId" content="FrontPage.Editor.Document">
-<title>Package-level Javadoc</title>
-</head>
-
-<body>
-
-Internal implementation of the IDE-specific portion of the Eclipse Platform User
-Interface.
-<h2>Package Specification</h2>
-This package does not contain any API.
-
-</body>
-
-</html>
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/Capability.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/Capability.java
deleted file mode 100644
index f835ff7..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/Capability.java
+++ /dev/null
@@ -1,288 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.registry;
-
-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.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.model.WorkbenchAdapter;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * 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 IDEWorkbenchMessages.format("Capability.nameMissing", new Object[] {id}); //$NON-NLS-1$
-	}
-	
-	public ImageDescriptor getIconDescriptor() {
-		if (icon == null && isValid()) {
-			IExtension extension = element.getDeclaringExtension();
-			String extendingPluginId = extension.getDeclaringPluginDescriptor().getUniqueIdentifier();
-			String location = element.getAttribute(ATT_ICON);
-			if (location != null && location.length() > 0)
-				icon = AbstractUIPlugin.imageDescriptorFromPlugin(extendingPluginId, 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) {
-			IDEWorkbenchPlugin.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) {
-			IDEWorkbenchPlugin.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.ide/src/org/eclipse/ui/internal/ide/registry/CapabilityRegistry.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/CapabilityRegistry.java
deleted file mode 100644
index 903954a..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/CapabilityRegistry.java
+++ /dev/null
@@ -1,415 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.registry;
- 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectNatureDescriptor;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.ui.internal.ide.Category;
-import org.eclipse.ui.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(Category 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 Category 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 Category[] findCategories(String[] ids) {
-		int count = categories.size();
-		Category[] 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()) {
-			Category cat = (Category) 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 Category 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.ide/src/org/eclipse/ui/internal/ide/registry/CapabilityRegistryReader.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/CapabilityRegistryReader.java
deleted file mode 100644
index fd37675..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/CapabilityRegistryReader.java
+++ /dev/null
@@ -1,129 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.registry;
- 
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.internal.ide.Category;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-
-/**
- * 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 IDERegistryReader{	
-	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
-			IDEWorkbenchPlugin.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, IDEWorkbenchPlugin.IDE_WORKBENCH, IDEWorkbenchPlugin.PL_CAPABILITIES);
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/IDERegistryReader.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/IDERegistryReader.java
deleted file mode 100644
index 70d4496..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/IDERegistryReader.java
+++ /dev/null
@@ -1,166 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.registry;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Hashtable;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-
-/**
- * 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 IDERegistryReader {
-	protected static final String TAG_DESCRIPTION = "description";	//$NON-NLS-1$
-	protected static Hashtable extensionPoints = new Hashtable();
-	
-	private static final Comparator comparer = new Comparator() {
-		public int compare(Object arg0, Object arg1) {
-			String s1 = ((IExtension)arg0).getDeclaringPluginDescriptor().getUniqueIdentifier();
-			String s2 = ((IExtension)arg1).getDeclaringPluginDescriptor().getUniqueIdentifier();
-			return s1.compareToIgnoreCase(s2);
-		}
-	}; 
-
-/**
- * The constructor.
- */
-protected IDERegistryReader() {
-}
-/**
- * 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$
-	IDEWorkbenchPlugin.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.
-	IExtension[] sortedExtension = new IExtension[extensions.length];
-	System.arraycopy(extensions, 0, sortedExtension, 0, extensions.length);
-	Collections.sort(Arrays.asList(sortedExtension), comparer);
-	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) {
-	String pointId = pluginId + "-" + extensionPoint; //$NON-NLS-1$
-	IExtension[] extensions = (IExtension[])extensionPoints.get(pointId); 
-	if (extensions == null) {
-		IExtensionPoint point = registry.getExtensionPoint(pluginId, extensionPoint);
-		if (point == null) return;
-		extensions = point.getExtensions();
-		extensions = orderExtensions(extensions);
-		extensionPoints.put(pointId, extensions);
-	} 
-	for (int i = 0; i < extensions.length; i++)
-		readExtension(extensions[i]);
-}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/MarkerHelpRegistry.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/MarkerHelpRegistry.java
deleted file mode 100644
index 1414c4c..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/MarkerHelpRegistry.java
+++ /dev/null
@@ -1,243 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.ide.registry;
-
-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.IMarkerResolutionGenerator2;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-
-/**
- * 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) {
-							IDEWorkbenchPlugin.log("Unable to instantiate resolution generator", e.getStatus()); //$NON-NLS-1$
-						}
-						if (generator != null) {
-							if (generator instanceof IMarkerResolutionGenerator2) {
-								if (((IMarkerResolutionGenerator2) generator).hasResolutions(marker))
-									return true;
-							}
-							else {
-								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) {
-						IDEWorkbenchPlugin.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.ide/src/org/eclipse/ui/internal/ide/registry/MarkerHelpRegistryReader.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/MarkerHelpRegistryReader.java
deleted file mode 100644
index 1cb9b3f..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/MarkerHelpRegistryReader.java
+++ /dev/null
@@ -1,132 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.registry;
-
-
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.core.runtime.Platform;
-
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-
-/**
- * This class is used to read marker help context ids and 
- * resolutions from the platform registry.
- */
-public class MarkerHelpRegistryReader extends IDERegistryReader {
-	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;
-		readRegistry(pluginRegistry, IDEWorkbenchPlugin.IDE_WORKBENCH, IDEWorkbenchPlugin.PL_MARKER_HELP);
-		readRegistry(pluginRegistry, IDEWorkbenchPlugin.IDE_WORKBENCH, IDEWorkbenchPlugin.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.ide/src/org/eclipse/ui/internal/ide/registry/MarkerImageProviderRegistry.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/MarkerImageProviderRegistry.java
deleted file mode 100644
index 5c29280..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/MarkerImageProviderRegistry.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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.registry;
-
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-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.jface.resource.ImageDescriptor;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IMarkerImageProvider;
-
-/**
- * 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 IDERegistryReader {
-		protected boolean readElement(IConfigurationElement element) {
-			if (element.getName().equals(TAG_PROVIDER)) {
-				addProvider(element);
-				return true;
-			}
-			
-			return false;
-		}
-		public void readRegistry() {
-		    readRegistry(Platform.getPluginRegistry(), IDEWorkbenchPlugin.IDE_WORKBENCH, IDEWorkbenchPlugin.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 org.eclipse.ui.model.IWorkbenchAdapter#getImageDescriptor(Object)
- */
-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)IDEWorkbenchPlugin.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) {
-			IDEWorkbenchPlugin.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.ide/src/org/eclipse/ui/internal/ide/registry/MarkerQuery.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/MarkerQuery.java
deleted file mode 100644
index 8ab16bd..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/MarkerQuery.java
+++ /dev/null
@@ -1,167 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.registry;
-
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-
-/**
- * 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 markerAttributes the targetted marker attributes
-	 */
-	public MarkerQuery(String markerType, String[] markerAttributes) {
-		if (markerAttributes == null) {
-			throw new IllegalArgumentException();
-		}
-		
-		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) {
-			IDEWorkbenchPlugin.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) {
-				IDEWorkbenchPlugin.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.ide/src/org/eclipse/ui/internal/ide/registry/MarkerQueryResult.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/MarkerQueryResult.java
deleted file mode 100644
index b00bda0..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/MarkerQueryResult.java
+++ /dev/null
@@ -1,84 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.registry;
-
-/**
- * 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 markerAttributeValues the target marker's attribute values
-	 */
-	public MarkerQueryResult(String[] markerAttributeValues) {
-		if (markerAttributeValues == null) {
-			throw new IllegalArgumentException();
-		}
-		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.ide/src/org/eclipse/ui/internal/ide/registry/ProjectImageRegistry.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/ProjectImageRegistry.java
deleted file mode 100644
index 23600dd..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/ProjectImageRegistry.java
+++ /dev/null
@@ -1,44 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.registry;
-
-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.ide/src/org/eclipse/ui/internal/ide/registry/ProjectImageRegistryReader.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/ProjectImageRegistryReader.java
deleted file mode 100644
index ab2e662..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/ProjectImageRegistryReader.java
+++ /dev/null
@@ -1,72 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.registry;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * A strategy to project nature image extensions from the registry.
- */
-public class ProjectImageRegistryReader extends IDERegistryReader {
-	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;
-	}
-	IExtension extension = element.getDeclaringExtension();
-	String extendingPluginId =
-		extension.getDeclaringPluginDescriptor().getUniqueIdentifier();
-	ImageDescriptor image =
-		AbstractUIPlugin.imageDescriptorFromPlugin(extendingPluginId, 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, IDEWorkbenchPlugin.IDE_WORKBENCH, IDEWorkbenchPlugin.PL_PROJECT_NATURE_IMAGES);
-}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/update/ConfigurationManagerAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/update/ConfigurationManagerAction.java
deleted file mode 100644
index 503ad4f..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/update/ConfigurationManagerAction.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.update;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.window.ApplicationWindow;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-import org.eclipse.update.ui.UpdateManagerUI;
-
-/**
- * Action to invoke the Update configuration manager.
- * 
- * @since 3.0
- */
-public class ConfigurationManagerAction implements IWorkbenchWindowActionDelegate {
-
-	private IWorkbenchWindow window;
-	private ApplicationWindow applicationWindow;
-	
-	/**
-	 * The constructor.
-	 */
-	public ConfigurationManagerAction() {
-	    // do nothing
-	}
-
-	/**
-	 * Runs the action when selected
-	 */
-	public void run(IAction action) {
-		BusyIndicator
-			.showWhile(window.getShell().getDisplay(), new Runnable() {
-			public void run() {
-				UpdateManagerUI.openConfigurationManager(window.getShell());
-			}
-		});
-	}
-
-	/**
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-	    // do nothing
-	}
-
-	/**
-	 * @see IWorkbenchWindowActionDelegate#dispose
-	 */
-	public void dispose() {
-	    // do nothing
-	}
-
-	/**
-	 * @see IWorkbenchWindowActionDelegate#init
-	 */
-	public void init(IWorkbenchWindow window) {
-		this.window = window;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/update/InstallWizardAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/update/InstallWizardAction.java
deleted file mode 100644
index 1cf652b..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/update/InstallWizardAction.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.update;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.update.ui.UpdateManagerUI;
-
-/**
- * Action to invoke the Update install wizard.
- * 
- * @since 3.0
- */
-public class InstallWizardAction extends Action implements IWorkbenchWindowActionDelegate {
-
-	private IWorkbenchWindow window;
-
-	public InstallWizardAction() {
-	    // do nothing
-	}
-
-	public void run() {
-	    openInstaller(PlatformUI.getWorkbench().getActiveWorkbenchWindow());
-	}
-
-	public void run(IAction action) {
-	    openInstaller(window);
-	}
-	
-	private void openInstaller(final IWorkbenchWindow window) {
-		BusyIndicator
-			.showWhile(window.getShell().getDisplay(), new Runnable() {
-			public void run() {
-			    UpdateManagerUI.openInstaller(window.getShell());
-			}
-		});
-	}
-	
-	public void selectionChanged(IAction action, ISelection selection) {
-	    // do nothing
-	}
-
-	public void dispose() {
-	    // do nothing
-	}
-
-	public void init(IWorkbenchWindow window) {
-		this.window = window;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkAction.java
deleted file mode 100644
index 776df6f..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkAction.java
+++ /dev/null
@@ -1,34 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.bookmarkexplorer;
-
-import org.eclipse.ui.actions.SelectionProviderAction;
-
-/**
- * An abstract class for all bookmark view actions.
- */
-abstract class BookmarkAction extends SelectionProviderAction {
-	private BookmarkNavigator view;
-/**
- * Creates a bookmark action.
- */
-protected BookmarkAction(BookmarkNavigator view, String label) {
-	super(view.getViewer(), label);
-	this.view = view;
-}
-/**
- * Returns the bookmarks view.
- */
-public BookmarkNavigator getView() {
-	return view;
-}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkContentProvider.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkContentProvider.java
deleted file mode 100644
index bcf67d1..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkContentProvider.java
+++ /dev/null
@@ -1,160 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.bookmarkexplorer;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * Provides content for the bookmark navigator
- */ 
-class BookmarkContentProvider implements IStructuredContentProvider, IResourceChangeListener, IBasicPropertyConstants {
-	
-	private IResource input;
-	private Viewer viewer;
-	
-	/**
-	 * The constructor.
-	 */
-	public BookmarkContentProvider(BookmarkNavigator bookmarksView) {
-		super();
-	}
-	/**
-	 * The visual part that is using this content provider is about
-	 * to be disposed. Deallocate all allocated SWT resources.
-	 */
-	public void dispose() {
-		IResource resource = (IResource) viewer.getInput();
-		if (resource != null) {
-			resource.getWorkspace().removeResourceChangeListener(this);
-		}
-	}
-	/**
-	 * Returns all the bookmarks that should be shown for
-	 * the current settings.
-	 */
-	Object[] getBookmarks(IResource resource) {
-		try {
-			return resource.findMarkers(IMarker.BOOKMARK, true, IResource.DEPTH_INFINITE);
-		} catch (CoreException e) {
-			return new Object[0];
-		}
-	}
-	public Object[] getChildren(Object element) {
-		// If the input element is a workbench return a list
-		// of the existing bookmarks.  Otherwise, return an empty list.
-		if (element instanceof IResource)
-			return getBookmarks((IResource) element);
-		else
-			return new Object[0];
-	}
-	public Object[] getElements(Object element) {
-		return getChildren(element);
-	}
-	/**
-	 * Recursively walks over the resource delta and gathers all marker deltas.  Marker
-	 * deltas are placed into one of the three given vectors depending on
-	 * the type of delta (add, remove, or change).
-	 */
-	void getMarkerDeltas(IResourceDelta delta, List additions, List removals, List changes) {
-		IMarkerDelta[] markerDeltas = delta.getMarkerDeltas();
-		for (int i = 0; i < markerDeltas.length; i++) {
-			IMarkerDelta markerDelta = markerDeltas[i];
-			IMarker marker = markerDelta.getMarker();
-			switch (markerDelta.getKind()) {
-				case IResourceDelta.ADDED:
-					if (markerDelta.isSubtypeOf(IMarker.BOOKMARK)) {
-						additions.add(marker);
-					}
-					break;
-				case IResourceDelta.REMOVED:
-					if (markerDelta.isSubtypeOf(IMarker.BOOKMARK)) {
-						removals.add(marker);
-					}
-					break;
-				case IResourceDelta.CHANGED:
-					if (markerDelta.isSubtypeOf(IMarker.BOOKMARK)) {
-						changes.add(marker);
-					}
-					break;
-			}
-		}
-	
-		//recurse on child deltas
-		IResourceDelta[] children = delta.getAffectedChildren();
-		for (int i = 0; i < children.length; i++) {
-			getMarkerDeltas(children[i], additions, removals, changes);
-		}
-	}
-	/* (non-Javadoc)
-	 * Method declared on ITreeContentProvider,
-	 */
-	public Object getParent(Object element) {
-		return input;
-	}
-	/**
-	 * hasChildren method comment.
-	 */
-	public boolean hasChildren(Object element) {
-		if (element instanceof IWorkspace)
-			return true;
-		else
-			return false;
-	}
-	public void inputChanged(Viewer newViewer, Object oldInput, Object newInput) {
-		if (oldInput == null) {
-			IResource resource = (IResource) newInput;
-			resource.getWorkspace().addResourceChangeListener(this);
-		}
-		this.viewer = newViewer;
-		this.input = (IResource) newInput;
-	}
-	/**
-	 * The workbench has changed.  Process the delta and provide updates to the viewer,
-	 * inside the UI thread.
-	 *
-	 * @see IResourceChangeListener#resourceChanged
-	 */
-	public void resourceChanged(final IResourceChangeEvent event) {
-	
-		// gather all marker changes from the delta.
-		// be sure to do this in the calling thread, 
-		// as the delta is destroyed when this method returns
-		final List additions = new ArrayList();
-		final List removals = new ArrayList();
-		final List changes = new ArrayList();
-		
-		IResourceDelta delta = event.getDelta();
-		if(delta == null) return;
-		getMarkerDeltas(delta, additions, removals, changes);
-	
-		// update the viewer based on the marker changes, in the UI thread
-		if (additions.size() + removals.size() + changes.size() > 0) {
-			viewer.getControl().getDisplay().asyncExec(new Runnable() {
-				public void run() {
-					// This method runs inside an asyncExec.  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;
-					
-					viewer.refresh();
-				}
-			});
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkLabelProvider.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkLabelProvider.java
deleted file mode 100644
index 79bde81..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkLabelProvider.java
+++ /dev/null
@@ -1,108 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.bookmarkexplorer;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Provides labels for the bookmark navigator table
- */
-class BookmarkLabelProvider
-	extends LabelProvider
-	implements ITableLabelProvider {
-
-	private Image image;
-	
-	final static int COLUMN_ICON = 0;
-	final static int COLUMN_DESCRIPTION = 1;
-	final static int COLUMN_RESOURCE = 2;
-	final static int COLUMN_FOLDER = 3;
-	final static int COLUMN_LOCATION = 4;
-
-	public BookmarkLabelProvider(BookmarkNavigator view) {
-		ImageDescriptor desc = view.getImageDescriptor("obj16/bkmrk_tsk.gif"); //$NON-NLS-1$
-		image = desc.createImage();
-	}
-	/* (non-Javadoc)
-	 * Method declared on LabelProvider.
-	 */
-	public void dispose() {
-		if (image != null) {
-			image.dispose();
-			image = null;
-		}
-	}
-	/* (non-Javadoc)
-	 * Method declared on LabelProvider.
-	 */
-	public Image getImage(Object element) {
-		return image;
-	}
-
-	public String getColumnText(Object element, int columnIndex) {
-		if (!(element instanceof IMarker))
-			return ""; //$NON-NLS-1$
-		IMarker marker = (IMarker) element;
-
-		switch (columnIndex) {
-			case COLUMN_DESCRIPTION :
-				return marker.getAttribute(IMarker.MESSAGE, ""); //$NON-NLS-1$
-			case COLUMN_RESOURCE :
-				return marker.getResource().getName();
-			case COLUMN_FOLDER :
-				return getContainerName(marker);
-			case COLUMN_LOCATION :
-				{
-					int line = marker.getAttribute(IMarker.LINE_NUMBER, -1);
-					if (line == -1)
-						return ""; //$NON-NLS-1$
-					return BookmarkMessages.format("LineIndicator.text", new String[] {String.valueOf(line)});//$NON-NLS-1$
-				}
-		}
-		return ""; //$NON-NLS-1$ 
-	}
-
-	public Image getColumnImage(Object element, int index) {
-		if (index == COLUMN_ICON)
-			return image;
-		return null;
-	}
-
-	/**
-	 * Returns the container name if it is defined, or empty string if not.
-	 */
-	public static String getContainerName(IMarker marker) {
-		IPath path = marker.getResource().getFullPath();
-		int n = path.segmentCount() - 1;
-		// n is the number of segments in container, not path
-		if (n <= 0)
-			return ""; //$NON-NLS-1$
-		int len = 0;
-		for (int i = 0; i < n; ++i)
-			len += path.segment(i).length();
-		// account for /'s
-		if (n > 1)
-			len += n - 1;
-		StringBuffer sb = new StringBuffer(len);
-		for (int i = 0; i < n; ++i) {
-			if (i != 0)
-				sb.append('/');
-			sb.append(path.segment(i));
-		}
-		return sb.toString();
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkMessages.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkMessages.java
deleted file mode 100644
index 967d6be..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkMessages.java
+++ /dev/null
@@ -1,57 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.bookmarkexplorer;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Utility class which helps managing messages
- */
-class BookmarkMessages {
-	
-	private static final String RESOURCE_BUNDLE= "org.eclipse.ui.views.bookmarkexplorer.messages";//$NON-NLS-1$
-	private static ResourceBundle bundle = ResourceBundle.getBundle(RESOURCE_BUNDLE);
-	
-	private BookmarkMessages(){
-		// 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.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkNavigator.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkNavigator.java
deleted file mode 100644
index db71ec7..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkNavigator.java
+++ /dev/null
@@ -1,672 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.bookmarkexplorer;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.ColumnLayoutData;
-import org.eclipse.jface.viewers.ColumnPixelData;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.IOpenListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-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.StructuredViewer;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DragSourceAdapter;
-import org.eclipse.swt.dnd.DragSourceEvent;
-import org.eclipse.swt.dnd.DragSourceListener;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.ScrollBar;
-import org.eclipse.swt.widgets.Scrollable;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.part.IShowInSource;
-import org.eclipse.ui.part.IShowInTargetList;
-import org.eclipse.ui.part.MarkerTransfer;
-import org.eclipse.ui.part.ShowInContext;
-import org.eclipse.ui.part.ViewPart;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.ui.views.navigator.ShowInNavigatorAction;
-
-/**
- * Main class for the bookmark navigator for displaying bookmarks on
- * resources and opening an editor on the bookmarked resource when the user
- * commands.
- * <p>
- * This standard view has id <code>"org.eclipse.ui.views.BookmarkNavigator"</code>.
- * </p>
- * <p>
- * The workbench will automatically instantiate this class when a bookmark
- * navigator is needed for a workbench window. This class is not intended
- * to be instantiated or subclassed by clients.
- * </p>
- */
-public class BookmarkNavigator extends ViewPart {
-	private Table table;
-	private TableViewer viewer;
-	private OpenBookmarkAction openAction;
-	private CopyBookmarkAction copyAction;
-	private PasteBookmarkAction pasteAction;
-	private RemoveBookmarkAction removeAction;
-	private EditBookmarkAction editAction;
-	private SelectAllAction selectAllAction;
-	private ShowInNavigatorAction showInNavigatorAction;
-	private SortByAction sortByDescriptionAction;
-	private SortByAction sortByResourceAction;
-	private SortByAction sortByFolderAction;
-	private SortByAction sortByLineAction;
-	private SortByAction sortByCreationTime;
-	private ChangeSortDirectionAction sortAscendingAction;
-	private ChangeSortDirectionAction sortDescendingAction;	 
-	private IMemento memento;
-	private BookmarkSorter sorter;
-	private Clipboard clipboard;
-	
-	private final String columnHeaders[] = {
-		BookmarkMessages.getString("ColumnIcon.header"),//$NON-NLS-1$
-		BookmarkMessages.getString("ColumnDescription.header"),//$NON-NLS-1$
-		BookmarkMessages.getString("ColumnResource.header"),//$NON-NLS-1$
-		BookmarkMessages.getString("ColumnFolder.header"),//$NON-NLS-1$
-		BookmarkMessages.getString("ColumnLocation.header")};//$NON-NLS-1$
-												
-	private ColumnLayoutData columnLayouts[] = {
-		new ColumnPixelData(19, false),
-		new ColumnWeightData(200),
-		new ColumnWeightData(75),
-		new ColumnWeightData(150),
-		new ColumnWeightData(60)};												
-	
-	// Persistance tags.
-	private static final String TAG_SELECTION = "selection"; //$NON-NLS-1$
-	private static final String TAG_ID = "id";//$NON-NLS-1$
-	private static final String TAG_MARKER = "marker";//$NON-NLS-1$
-	private static final String TAG_RESOURCE = "resource";//$NON-NLS-1$
-	private static final String TAG_VERTICAL_POSITION = "verticalPosition";//$NON-NLS-1$
-	private static final String TAG_HORIZONTAL_POSITION = "horizontalPosition";//$NON-NLS-1$
-	
-	class SortByAction extends Action {
-		
-		private int column;
-		
-		public SortByAction(int column) {
-			this.column = column;
-		}
-
-		public void run() {
-			sorter.setTopPriority(column);
-			updateSortState();
-			viewer.refresh();
-			IDialogSettings workbenchSettings = getPlugin().getDialogSettings();
-			IDialogSettings settings = workbenchSettings.getSection("BookmarkSortState");//$NON-NLS-1$
-			if (settings == null)
-				settings = workbenchSettings.addNewSection("BookmarkSortState");//$NON-NLS-1$
-			sorter.saveState(settings);
-		}
-	}
-
-	class ChangeSortDirectionAction extends Action {
-		
-		private int direction;
-		
-		public ChangeSortDirectionAction(int direction) {
-			this.direction = direction;
-		}
-
-		public void run() {
-			sorter.setTopPriorityDirection(direction);
-			updateSortState();
-			viewer.refresh();
-			IDialogSettings workbenchSettings = getPlugin().getDialogSettings();
-			IDialogSettings settings = workbenchSettings.getSection("BookmarkSortState");//$NON-NLS-1$
-			if (settings == null)
-				settings = workbenchSettings.addNewSection("BookmarkSortState");//$NON-NLS-1$
-			sorter.saveState(settings);
-		}
-	}
-
-	/**
-	 * Creates the bookmarks view.
-	 */
-	public BookmarkNavigator() {
-		super();
-	}
-	/**
-	 * Adds this views contributions to the workbench.
-	 */
-	void addContributions() {
-		ISharedImages sharedImages = PlatformUI.getWorkbench().getSharedImages();
-		
-		// Create the actions.
-		openAction = new OpenBookmarkAction(this);
-		openAction.setImageDescriptor(getImageDescriptor("elcl16/gotoobj_tsk.gif"));//$NON-NLS-1$
-	
-		copyAction = new CopyBookmarkAction(this);
-		copyAction.setImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_COPY));
-		
-		pasteAction = new PasteBookmarkAction(this);
-		pasteAction.setImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_PASTE));
-		
-		removeAction = new RemoveBookmarkAction(this);
-		removeAction.setImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_DELETE));
-		removeAction.setDisabledImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_DELETE_DISABLED));
-		
-		editAction = new EditBookmarkAction(this);
-		
-		selectAllAction = new SelectAllAction(this);
-		showInNavigatorAction = new ShowInNavigatorAction(getViewSite().getPage(), viewer);
-	
-		// initializes action enabled state
-		handleSelectionChanged(StructuredSelection.EMPTY);
-	
-		// Create dynamic menu mgr.  Dynamic is currently required to
-		// support action contributions.
-		MenuManager mgr = new MenuManager();
-		mgr.setRemoveAllWhenShown(true);
-		mgr.addMenuListener(new IMenuListener() {
-			public void menuAboutToShow(IMenuManager mgr) {
-				fillContextMenu(mgr);
-			}
-		});
-		Menu menu = mgr.createContextMenu(viewer.getControl());
-		viewer.getControl().setMenu(menu);
-		getSite().registerContextMenu(mgr, viewer);
-		
-		// Add actions to the local tool bar
-		IToolBarManager tbm = getViewSite().getActionBars().getToolBarManager();
-		tbm.add(removeAction);
-		tbm.add(openAction);
-		tbm.update(false);
-		
-		// Register with action service.
-		IActionBars actionBars = getViewSite().getActionBars();
-		actionBars.setGlobalActionHandler(ActionFactory.COPY.getId(), copyAction);
-		actionBars.setGlobalActionHandler(ActionFactory.PASTE.getId(), pasteAction);
-		actionBars.setGlobalActionHandler(ActionFactory.DELETE.getId(), removeAction);
-		actionBars.setGlobalActionHandler(ActionFactory.SELECT_ALL.getId(), selectAllAction);
-		
-		// Set the double click action.
-		viewer.addOpenListener(new IOpenListener() {
-			public void open(OpenEvent event) {
-				openAction.run();
-			}
-		});
-		viewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				handleSelectionChanged((IStructuredSelection) event.getSelection());
-			}
-		});
-		viewer.getControl().addKeyListener(new KeyAdapter() {
-			public void keyPressed(KeyEvent e) {
-				handleKeyPressed(e);
-			}
-		});
-	}
-	/* (non-Javadoc)
-	 * Method declared on IWorkbenchPart.
-	 */
-	public void createPartControl(Composite parent) {
-		clipboard = new Clipboard(parent.getDisplay());
-		createTable(parent);
-		viewer = new TableViewer(table);
-		createColumns();
-		
-		sorter = new BookmarkSorter();
-		viewer.setContentProvider(new BookmarkContentProvider(this));
-		viewer.setLabelProvider(new BookmarkLabelProvider(this));
-		viewer.setInput(ResourcesPlugin.getWorkspace().getRoot());
-		viewer.setSorter(sorter);
-	
-		IDialogSettings workbenchSettings = getPlugin().getDialogSettings();
-		IDialogSettings settings = workbenchSettings.getSection("BookmarkSortState");//$NON-NLS-1$
-		sorter.restoreState(settings);
-	
-		addContributions();
-		initDragAndDrop();
-		createSortActions();
-		fillActionBars();
-		updateSortState();
-		updatePasteEnablement();
-	
-		getSite().setSelectionProvider(viewer);
-		
-		if(memento != null) restoreState(memento);
-		memento = null;
-	
-		WorkbenchHelp.setHelp(viewer.getControl(), IBookmarkHelpContextIds.BOOKMARK_VIEW);
-	}
-	
-	public void dispose() {
-		if (clipboard != null)
-			clipboard.dispose();
-	}
-	
-	/**
-	 * Notifies this listener that the menu is about to be shown by
-	 * the given menu manager.
-	 *
-	 * @param manager the menu manager
-	 */
-	void fillContextMenu(IMenuManager manager) {
-		manager.add(openAction);
-		manager.add(copyAction);
-		updatePasteEnablement();
-		manager.add(pasteAction);
-		manager.add(removeAction);
-		manager.add(selectAllAction);
-		manager.add(showInNavigatorAction);
-		manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-		manager.add(new Separator());
-		manager.add(editAction);
-	}
-		
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		if (adapter == IShowInSource.class) {
-			return new IShowInSource() {
-				public ShowInContext getShowInContext() {
-					return new ShowInContext(null, getViewer().getSelection());
-				}
-			};
-		}
-		if (adapter == IShowInTargetList.class) {
-			return new IShowInTargetList() {
-				public String[] getShowInTargetIds() {
-					return new String[] { IPageLayout.ID_RES_NAV };
-				}
-
-			};
-		}
-		return super.getAdapter(adapter);
-	}
-	
-	/**
-	 * Returns the image descriptor with the given relative path.
-	 */
-	ImageDescriptor getImageDescriptor(String relativePath) {
-		String iconPath = "icons/full/";//$NON-NLS-1$
-		try {
-			URL installURL = getPlugin().getDescriptor().getInstallURL();
-			URL url = new URL(installURL, iconPath + relativePath);
-			return ImageDescriptor.createFromURL(url);
-		}
-		catch (MalformedURLException e) {
-			Assert.isTrue(false);
-			return null;
-		}
-	}
-	/**
-	 * Returns the UI plugin for the bookmarks view.
-	 */
-	static AbstractUIPlugin getPlugin() {
-		return (AbstractUIPlugin) Platform.getPlugin(PlatformUI.PLUGIN_ID);
-	}
-	/**
-	 * Returns the shell.
-	 */
-	Shell getShell() {
-		return getViewSite().getShell();
-	}
-	/**
-	 * Returns the viewer used to display bookmarks.
-	 *
-	 * @return the viewer, or <code>null</code> if this view's controls
-	 *  have not been created yet
-	 */
-	StructuredViewer getViewer() {
-		return viewer;
-	}
-	/**
-	 * Returns the workspace.
-	 */
-	IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-	/**
-	 * Handles key events in viewer.
-	 */
-	void handleKeyPressed(KeyEvent event) {
-		if (event.character == SWT.DEL && event.stateMask == 0 
-			&& removeAction.isEnabled())
-			removeAction.run();
-	}
-	/**
-	 * Handles a selection change.
-	 *
-	 * @param selection the new selection
-	 */
-	void handleSelectionChanged(IStructuredSelection selection) {
-		//update the actions
-		openAction.selectionChanged(selection);
-		removeAction.selectionChanged(selection);
-		editAction.selectionChanged(selection);
-		selectAllAction.selectionChanged(selection);
-		showInNavigatorAction.selectionChanged(selection);
-	}
-	/* (non-Javadoc)
-	 * Method declared on IViewPart.
-	 */
-	public void init(IViewSite site,IMemento memento) throws PartInitException {
-		super.init(site,memento);
-		this.memento = memento;
-	}
-	/**
-	 * Adds drag and drop support to the bookmark navigator.
-	 */
-	protected void initDragAndDrop() {
-		int operations = DND.DROP_COPY;
-		Transfer[] transferTypes = new Transfer[]{
-			MarkerTransfer.getInstance(), 
-			TextTransfer.getInstance()};
-		DragSourceListener listener = new DragSourceAdapter() {
-			public void dragSetData(DragSourceEvent event){
-				performDragSetData(event);
-			}
-			public void dragFinished(DragSourceEvent event){
-			}
-		};
-		viewer.addDragSupport(operations, transferTypes, listener);	
-	}
-	/**
-	 * The user is attempting to drag marker data.  Add the appropriate
-	 * data to the event depending on the transfer type.
-	 */
-	void performDragSetData(DragSourceEvent event) {
-		if (MarkerTransfer.getInstance().isSupportedType(event.dataType)) {
-			event.data = ((IStructuredSelection) viewer.getSelection()).toArray();
-			return;
-		}
-		if (TextTransfer.getInstance().isSupportedType(event.dataType)) {
-			Object[] markers = ((IStructuredSelection) viewer.getSelection()).toArray();
-			if (markers != null) {
-				StringBuffer buffer = new StringBuffer();
-				ILabelProvider provider = (ILabelProvider)getViewer().getLabelProvider();
-				for (int i = 0; i < markers.length; i++) {
-					if (i > 0)
-						buffer.append(System.getProperty("line.separator")); //$NON-NLS-1$
-					buffer.append(provider.getText((IMarker)markers[i]));
-				} 
-				event.data = buffer.toString();
-			}
-			return;
-		}
-	}
-	void restoreState(IMemento memento) {
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		IMemento selectionMem = memento.getChild(TAG_SELECTION);
-		if(selectionMem != null) {
-			ArrayList selectionList = new ArrayList();
-			IMemento markerMems[] = selectionMem.getChildren(TAG_MARKER);
-			for (int i = 0; i < markerMems.length; i++){
-				try {
-					long id = new Long(markerMems[i].getString(TAG_ID)).longValue();
-					IResource resource = root.findMember(markerMems[i].getString(TAG_RESOURCE));
-					if(resource != null) {
-						IMarker marker = resource.findMarker(id);
-						if(marker != null)
-							selectionList.add(marker);
-					}
-				} catch (CoreException e) {}
-			}
-			viewer.setSelection(new StructuredSelection(selectionList));
-		}
-	
-		Scrollable scrollable = (Scrollable)viewer.getControl();
-		//save vertical position
-		ScrollBar bar = scrollable.getVerticalBar();
-		if (bar != null) {
-			try {
-				String posStr = memento.getString(TAG_VERTICAL_POSITION);
-				int position;
-				position = new Integer(posStr).intValue();
-				bar.setSelection(position);
-			} catch (NumberFormatException e){}
-		}
-		bar = scrollable.getHorizontalBar();
-		if (bar != null) {
-			try {
-				String posStr = memento.getString(TAG_HORIZONTAL_POSITION);
-				int position;
-				position = new Integer(posStr).intValue();
-				bar.setSelection(position);
-			} catch (NumberFormatException e){}
-		}
-		
-		updateSortState();
-		viewer.refresh();
-	}
-	public void saveState(IMemento memento) {
-		if(viewer == null) {
-			if(this.memento != null) //Keep the old state;
-				memento.putMemento(this.memento);
-			return;
-		}
-			
-		Scrollable scrollable = (Scrollable)viewer.getControl();
-	 	Object markers[] = ((IStructuredSelection)viewer.getSelection()).toArray();
-	 	if(markers.length > 0) {
-	 		IMemento selectionMem = memento.createChild(TAG_SELECTION);
-	 		for (int i = 0; i < markers.length; i++) {
-		 		IMemento elementMem = selectionMem.createChild(TAG_MARKER);
-		 		IMarker marker = (IMarker)markers[i];
-	 			elementMem.putString(TAG_RESOURCE,marker.getResource().getFullPath().toString());
-	 			elementMem.putString(TAG_ID,String.valueOf(marker.getId()));
-	 		}
-	 	}
-	
-	 	//save vertical position
-		ScrollBar bar = scrollable.getVerticalBar();
-		int position = bar != null ? bar.getSelection():0;
-		memento.putString(TAG_VERTICAL_POSITION,String.valueOf(position));
-		//save horizontal position
-		bar = scrollable.getHorizontalBar();
-		position = bar != null ? bar.getSelection():0;
-		memento.putString(TAG_HORIZONTAL_POSITION,String.valueOf(position));
-		
-	}
-	/* (non-Javadoc)
-	 * Method declared on IWorkbenchPart.
-	 */
-	public void setFocus() {
-		if (viewer != null) 
-			viewer.getControl().setFocus();
-	}
-	
-	void createColumns() {
-		SelectionListener headerListener = new SelectionAdapter() {
-			/**
-			 * Handles the case of user selecting the
-			 * header area.
-			 * <p>If the column has not been selected previously,
-			 * it will set the sorter of that column to be
-			 * the current tasklist sorter. Repeated
-			 * presses on the same column header will
-			 * toggle sorting order (ascending/descending).
-			 */
-			public void widgetSelected(SelectionEvent e) {
-				// column selected - first column doesn't count
-				int column = table.indexOf((TableColumn) e.widget) - 1;
-				if (column == sorter.getTopPriority())
-					sorter.reverseTopPriority();
-				else {
-					sorter.setTopPriority(column);
-				}
-				updateSortState();
-				viewer.refresh();
-				IDialogSettings workbenchSettings = getPlugin().getDialogSettings();
-				IDialogSettings settings = workbenchSettings.getSection("BookmarkSortState");//$NON-NLS-1$
-				if (settings == null)
-					settings = workbenchSettings.addNewSection("BookmarkSortState");//$NON-NLS-1$
-				sorter.saveState(settings);
-			}
-		};
-		
-		TableLayout layout = new TableLayout();
-		table.setLayout(layout);
-		table.setHeaderVisible(true);
-		for (int i = 0; i < columnHeaders.length; i++) {
-			layout.addColumnData(columnLayouts[i]);
-			TableColumn tc = new TableColumn(table, SWT.NONE,i);
-			tc.setResizable(columnLayouts[i].resizable);
-			tc.setText(columnHeaders[i]);
-			if (i > 0)
-				tc.addSelectionListener(headerListener);
-		}
-	}
-	
-	/**
-	 * Creates the table control.
-	 */
-	void createTable(Composite parent) {
-		table = new Table(parent, SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION);
-		table.setLinesVisible(true);
-		//table.setLayout(new TableLayout());
-	}
-	
-	/**
-	 * Fills the local tool bar and menu manager with actions.
-	 */
-	void fillActionBars() {
-		IActionBars actionBars = getViewSite().getActionBars();
-		IMenuManager menu = actionBars.getMenuManager();
-		IMenuManager submenu =
-			new MenuManager(BookmarkMessages.getString("SortMenuGroup.text")); //$NON-NLS-1$
-		menu.add(submenu);
-		submenu.add(sortByDescriptionAction);
-		submenu.add(sortByResourceAction);
-		submenu.add(sortByFolderAction);
-		submenu.add(sortByLineAction);
-		submenu.add(sortByCreationTime);
-		submenu.add(new Separator());
-		submenu.add(sortAscendingAction);
-		submenu.add(sortDescendingAction);
-	}
-	
-	void createSortActions() {
-		sortByDescriptionAction = new SortByAction(BookmarkSorter.DESCRIPTION);
-		sortByDescriptionAction.setText(BookmarkMessages.getString("ColumnDescription.text")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(sortByDescriptionAction, IBookmarkHelpContextIds.SORT_DESCRIPTION_ACTION);
-		
-		sortByResourceAction = new SortByAction(BookmarkSorter.RESOURCE);
-		sortByResourceAction.setText(BookmarkMessages.getString("ColumnResource.text")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(sortByResourceAction, IBookmarkHelpContextIds.SORT_RESOURCE_ACTION);
-		
-		sortByFolderAction = new SortByAction(BookmarkSorter.FOLDER);
-		sortByFolderAction.setText(BookmarkMessages.getString("ColumnFolder.text")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(sortByFolderAction, IBookmarkHelpContextIds.SORT_FOLDER_ACTION);
-		
-		sortByLineAction = new SortByAction(BookmarkSorter.LOCATION);
-		sortByLineAction.setText(BookmarkMessages.getString("ColumnLocation.text"));//$NON-NLS-1$
-		WorkbenchHelp.setHelp(sortByLineAction, IBookmarkHelpContextIds.SORT_LOCATION_ACTION);
-		
-		sortByCreationTime = new SortByAction(BookmarkSorter.CREATION_TIME);
-		sortByCreationTime.setText(BookmarkMessages.getString("ColumnCreationTime.text"));//$NON-NLS-1$
-		WorkbenchHelp.setHelp(sortByCreationTime, IBookmarkHelpContextIds.SORT_CREATION_TIME_ACTION);
-		
-		sortAscendingAction = new ChangeSortDirectionAction(BookmarkSorter.ASCENDING);
-		sortAscendingAction.setText(BookmarkMessages.getString("SortDirectionAscending.text"));//$NON-NLS-1$
-		WorkbenchHelp.setHelp(sortAscendingAction, IBookmarkHelpContextIds.SORT_ASCENDING_ACTION);
-		
-		sortDescendingAction = new ChangeSortDirectionAction(BookmarkSorter.DESCENDING);
-		sortDescendingAction.setText(BookmarkMessages.getString("SortDirectionDescending.text"));//$NON-NLS-1$
-		WorkbenchHelp.setHelp(sortDescendingAction, IBookmarkHelpContextIds.SORT_DESCENDING_ACTION);
-	}
-	
-	void updateSortState() {
-		int column = sorter.getTopPriority();
-		sortByDescriptionAction.setChecked(column == BookmarkSorter.DESCRIPTION);
-		sortByResourceAction.setChecked(column == BookmarkSorter.RESOURCE);
-		sortByFolderAction.setChecked(column == BookmarkSorter.FOLDER);
-		sortByLineAction.setChecked(column == BookmarkSorter.LOCATION);
-		sortByCreationTime.setChecked(column == BookmarkSorter.CREATION_TIME);
-		
-		int direction = sorter.getTopPriorityDirection();
-		sortAscendingAction.setChecked(direction == BookmarkSorter.ASCENDING);
-		sortDescendingAction.setChecked(direction == BookmarkSorter.DESCENDING);
-	}
-
-	/**
-	 * Updates the enablement of the paste action
-	 */
-	void updatePasteEnablement() {
-		// Paste if clipboard contains tasks
-		MarkerTransfer transfer = MarkerTransfer.getInstance();
-		IMarker[] markerData = (IMarker[]) getClipboard().getContents(transfer);
-		boolean canPaste = false;
-		if (markerData != null) {
-			for (int i = 0; i < markerData.length; i++) {
-				try {
-					if (markerData[i].getType().equals(IMarker.BOOKMARK)) {
-						canPaste = true;	
-						break;
-					}
-				}
-				catch (CoreException e) {
-					canPaste = false;
-				}
-			}
-		}
-		pasteAction.setEnabled(canPaste);
-	}
-	
-	Clipboard getClipboard() {
-		return clipboard;
-	}
-
-}
- 
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkPropertiesDialog.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkPropertiesDialog.java
deleted file mode 100644
index 589ee5d..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkPropertiesDialog.java
+++ /dev/null
@@ -1,454 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.bookmarkexplorer;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-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.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;
-
-/**
- * Shows the properties of a new or existing bookmark
- */
-class BookmarkPropertiesDialog extends Dialog {
-
-	/**
-	 * The bookmark being shown, or <code>null</code> for a new bookmark
-	 */
-	private IMarker marker = null;
-
-	/**
-	 * The resource on which to create a new bookmark
-	 */
-	private IResource resource = null;
-
-	/**
-	 * The initial attributes to use when creating a new bookmark
-	 */
-	private Map initialAttributes = null;
-
-	/**
-	 * The text control for the Description field.
-	 */
-	private Text descriptionText;
-
-	/**
-	 * The control for the Creation Time field.
-	 */
-	private Label creationTime;
-
-	/**
-	 * The text control for the Resource field.
-	 */
-	private Text resourceText;
-
-	/**
-	 * The text control for the Folder field.
-	 */
-	private Text folderText;
-
-	/**
-	 * The text control for the Location field.
-	 */
-	private Text locationText;
-
-	/**
-	 * Dirty flag.  True if any changes have been made.
-	 */
-	private boolean dirty;
-
-	private String title;
-
-	/**
-	 * Creates the dialog.  By default this dialog creates a new bookmark.
-	 * To set the resource and initial attributes for the new bookmark, 
-	 * use <code>setResource</code> and <code>setInitialAttributes</code>.
-	 * To show or modify an existing bookmark, use <code>setMarker</code>.
-	 * 
-	 * @param shell the parent shell
-	 */
-	public BookmarkPropertiesDialog(Shell parentShell) {
-		super(parentShell);
-	}
-
-	public BookmarkPropertiesDialog(Shell parentShell, String title) {
-		super(parentShell);
-		this.title = title;
-	}
-
-	public void create() {
-		super.create();
-	}
-
-	/**
-	 * Sets the marker to show or modify.
-	 * 
-	 * @param marker the marker, or <code>null</code> to create a new marker
-	 */
-	public void setMarker(IMarker marker) {
-		this.marker = marker;
-	}
-
-	/**
-	 * Returns the marker being created or modified.
-	 * For a new marker, this returns <code>null</code> until
-	 * the dialog returns, but is non-null after.
-	 */
-	public IMarker getMarker() {
-		return marker;
-	}
-
-	/**
-	 * Sets the resource to use when creating a new bookmark.
-	 * If not set, the new bookmark is created on the workspace root.
-	 */
-	public void setResource(IResource resource) {
-		this.resource = resource;
-	}
-
-	/**
-	 * Returns the resource to use when creating a new bookmark,
-	 * or <code>null</code> if none has been set.
-	 * If not set, the new bookmark is created on the workspace root.
-	 */
-	public IResource getResource() {
-		return resource;
-	}
-
-	/**
-	 * Sets initial attributes to use when creating a new bookmark.
-	 * If not set, the new bookmark is created with default attributes.
-	 */
-	public void setInitialAttributes(Map initialAttributes) {
-		this.initialAttributes = initialAttributes;
-	}
-
-	/**
-	 * Returns the initial attributes to use when creating a new bookmark,
-	 * or <code>null</code> if not set.
-	 * If not set, the new bookmark is created with default attributes.
-	 */
-	public Map getInitialAttributes() {
-		return initialAttributes;
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on Window.
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		if (title == null)
-			newShell.setText(
-				BookmarkMessages.getString("PropertiesDialogTitle.text")); //$NON-NLS-1$
-		else
-			newShell.setText(title);
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected Control createDialogArea(Composite parent) {
-		//initialize resources/properties
-		if (marker != null) {
-			resource = marker.getResource();
-			try {
-				initialAttributes = marker.getAttributes();
-			}
-			catch (CoreException e) {
-			}
-		}
-		else if (initialAttributes == null && resource == null) {
-			resource = (IResource) ResourcesPlugin.getWorkspace().getRoot();
-		}
-		
-		Composite composite = (Composite) super.createDialogArea(parent);
-		initializeDialogUnits(composite);
-		createDescriptionArea(composite);
-		if (marker != null)
-			createCreationTimeArea(composite);
-		if (resource != null && resource.getType() != IResource.ROOT)
-			createResourceArea(composite);
-		updateDialogFromMarker();
-		return composite;
-	}
-	/**
-	 * Method createCreationTimeArea.
-	 * @param composite
-	 */
-	private void createCreationTimeArea(Composite parent) {
-		String creation = BookmarkMessages.getString("MarkerCreationTime.text");//$NON-NLS-1$
-		
-		Font font = parent.getFont();
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		composite.setLayout(layout);
-
-		Label label = new Label(composite, SWT.NONE);
-		label.setText(creation); 
-		label.setFont(font);
-
-		creationTime = new Label(composite, SWT.NONE);
-		creationTime.setFont(font);
-	}
-
-	/**
-	 * Creates the OK and Cancel buttons.
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		createButton(
-			parent,
-			IDialogConstants.OK_ID,
-			IDialogConstants.OK_LABEL,
-			true);
-		createButton(
-			parent,
-			IDialogConstants.CANCEL_ID,
-			IDialogConstants.CANCEL_LABEL,
-			false);
-	}
-
-	/**
-	 * Creates the area for the Description field.
-	 */
-	private void createDescriptionArea(Composite parent) {
-		Font font = parent.getFont();
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		composite.setLayout(layout);
-		Label label = new Label(composite, SWT.NONE);
-		label.setText(BookmarkMessages.getString("ColumnDescription.dialogText")); //$NON-NLS-1$
-		label.setFont(font);
-		int style = SWT.SINGLE | SWT.BORDER;
-		descriptionText = new Text(composite, style);
-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-		gridData.widthHint = convertHorizontalDLUsToPixels(400);
-		descriptionText.setLayoutData(gridData);
-		descriptionText.setFont(font);
-		
-		descriptionText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				markDirty();
-			}
-		});
-	}
-
-	/**
-	 * Creates the area for the Resource field.
-	 */
-	private void createResourceArea(Composite parent) {
-		Font font = parent.getFont();
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-		composite.setLayoutData(gridData);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		composite.setLayout(layout);
-
-		Label resourceLabel = new Label(composite, SWT.NONE);
-		resourceLabel.setText(BookmarkMessages.getString("ColumnResource.dialogText")); //$NON-NLS-1$
-		resourceLabel.setFont(font);
-		resourceText =
-			new Text(
-				composite,
-				SWT.SINGLE | SWT.WRAP | SWT.READ_ONLY | SWT.BORDER);
-		gridData = new GridData(GridData.FILL_HORIZONTAL);
-		resourceText.setLayoutData(gridData);
-		resourceText.setFont(font);
-
-		Label folderLabel = new Label(composite, SWT.NONE);
-		folderLabel.setText(BookmarkMessages.getString("ColumnFolder.dialogText")); //$NON-NLS-1$
-		folderLabel.setFont(font);
-		folderText =
-			new Text(
-				composite,
-				SWT.SINGLE | SWT.WRAP | SWT.READ_ONLY | SWT.BORDER);
-		gridData = new GridData(GridData.FILL_HORIZONTAL);
-		folderText.setLayoutData(gridData);
-		folderText.setFont(font);
-
-		Label locationLabel = new Label(composite, SWT.NONE);
-		locationLabel.setText(BookmarkMessages.getString("ColumnLocation.dialogText")); //$NON-NLS-1$
-		locationLabel.setFont(font);
-		locationText =
-			new Text(
-				composite,
-				SWT.SINGLE | SWT.WRAP | SWT.READ_ONLY | SWT.BORDER);
-		gridData = new GridData(GridData.FILL_HORIZONTAL);
-		locationText.setLayoutData(gridData);
-		locationText.setFont(font);
-	}
-
-	/**
-	 * Updates the dialog from the marker state.
-	 */
-	private void updateDialogFromMarker() {
-		if (marker == null) {
-			updateDialogForNewMarker();
-			return;			
-		}
-		descriptionText.setText(MarkerUtil.getMessage(marker));
-		if (creationTime != null)
-			creationTime.setText(MarkerUtil.getCreationTime(marker));
-		if (resourceText != null)
-			resourceText.setText(MarkerUtil.getResourceName(marker));
-		if (folderText != null)
-			folderText.setText(MarkerUtil.getContainerName(marker));
-		if (locationText != null) {
-			int line = MarkerUtil.getLineNumber(marker);
-			if (line < 0)
-				locationText.setText(""); //$NON-NLS-1$
-			else
-				locationText.setText(BookmarkMessages.format("LineIndicator.text", new String[] {String.valueOf(line)})); //$NON-NLS-1$
-		}
-
-		descriptionText.selectAll();
-	}
-	
-	void updateDialogForNewMarker() {
-		if (resource != null) {
-			resourceText.setText(resource.getName());
-			
-			IPath path = resource.getFullPath();
-			int n = path.segmentCount() - 1; // n is the number of segments in container, not path
-			if (n > 0) {
-				int len = 0;
-				for (int i = 0; i < n; ++i)
-					len += path.segment(i).length();
-				// account for /'s
-				if (n > 1)
-					len += n-1;
-				StringBuffer sb = new StringBuffer(len);
-				for (int i = 0; i < n; ++i) {
-					if (i != 0)
-						sb.append('/');
-					sb.append(path.segment(i));
-				}
-				folderText.setText(sb.toString());
-			}
-		}
-		
-		if (initialAttributes != null) {
-			Object description = initialAttributes.get(IMarker.MESSAGE);
-			if (description != null && description instanceof String)
-				descriptionText.setText((String) description);
-			descriptionText.selectAll();
-				
-			Object line = initialAttributes.get(IMarker.LINE_NUMBER);
-			if (line != null && line instanceof Integer)
-				locationText.setText(BookmarkMessages.format("LineIndicator.text", new String[] {line.toString()})); //$NON-NLS-1$
-		}
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on Dialog
-	 */
-	protected void okPressed() {
-		saveChanges();
-		super.okPressed();
-	}
-
-	private void markDirty() {
-		dirty = true;
-	}
-
-	private boolean isDirty() {
-		return dirty;
-	}
-
-	/**
-	 * Saves the changes made in the dialog if needed.
-	 * Creates a new bookmark if needed.
-	 * Updates the existing bookmark only if there have been changes.
-	 */
-	private void saveChanges() {
-		try {
-			ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
-				public void run(IProgressMonitor monitor)
-					throws CoreException {
-					if (marker == null)
-						createMarker();
-					else if (isDirty())
-						updateMarker();
-				}
-			}, null);
-		} catch (CoreException e) {
-			ErrorDialog.openError(getShell(), BookmarkMessages.getString("Error"), null, e.getStatus()); //$NON-NLS-1$
-			return;
-		}
-	}
-
-	/**
-	 * Creates or updates the marker.  Must be called within a workspace runnable.
-	 */
-	private void updateMarker() throws CoreException {
-		// Set the marker attributes from the current dialog field values.
-		// Do not use setAttributes(Map) as that overwrites any attributes
-		// not covered by the dialog.
-		Map attrs = getMarkerAttributesFromDialog();
-		for (Iterator i = attrs.keySet().iterator(); i.hasNext();) {
-			String key = (String) i.next();
-			Object val = attrs.get(key);
-			marker.setAttribute(key, val);
-		}
-	}
-
-	/**
-	 * Returns the marker attributes to save back to the marker, 
-	 * based on the current dialog fields.
-	 */
-	private Map getMarkerAttributesFromDialog() {
-		Map attribs = new HashMap();
-		attribs.put(IMarker.MESSAGE, descriptionText.getText());
-		return attribs;
-	}
-	
-	private void createMarker() {
-		if (resource == null || !(resource instanceof IFile))
-			return;
-			
-		IFile file = (IFile) resource;
-		try {
-			IMarker newMarker = file.createMarker(IMarker.BOOKMARK);
-			if (initialAttributes != null)
-				newMarker.setAttributes(initialAttributes);
-			String message = descriptionText.getText();
-			newMarker.setAttribute(IMarker.MESSAGE, message);
-		}
-		catch (CoreException e) {
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkSorter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkSorter.java
deleted file mode 100644
index 5d7c7a3..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkSorter.java
+++ /dev/null
@@ -1,186 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.bookmarkexplorer;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-
-class BookmarkSorter extends ViewerSorter {
-	
-	private int[] directions;
-	private int[] priorities;
-	
-	final static int ASCENDING = 1;
-	final static int DESCENDING = -1;
-	final static int DESCRIPTION = 0;
-	final static int RESOURCE = 1;
-	final static int FOLDER = 2;
-	final static int LOCATION = 3;
-	final static int CREATION_TIME = 4;
-	final static int[] DEFAULT_PRIORITIES = 
-		{ FOLDER,
-		  RESOURCE,
-		  LOCATION,
-		  DESCRIPTION,
-		  CREATION_TIME };
-	final static int[] DEFAULT_DIRECTIONS = 
-		{ ASCENDING,    //description
-		  ASCENDING,	//resource
-		  ASCENDING,	//folder
-		  ASCENDING,	//location
-		  ASCENDING, };	//creation time
-									
-	public BookmarkSorter() {
-		resetState();
-	}
-	
-	public void reverseTopPriority() {
-		directions[priorities[0]] *= -1;
-	}
-	
-	public void setTopPriority(int priority) {
-		if (priority < 0 || priority >= priorities.length)
-			return;
-		
-		int index = -1;
-		for (int i = 0; i < priorities.length; i++) {
-			if (priorities[i] == priority)
-				index = i;
-		}
-		
-		if (index == -1) {
-			resetState();
-			return;
-		}
-			
-		//shift the array
-		for (int i = index; i > 0; i--) {
-			priorities[i] = priorities[i - 1];
-		}
-		priorities[0] = priority;
-		directions[priority] = DEFAULT_DIRECTIONS[priority];
-	}
-	
-	public void setTopPriorityDirection(int direction) {
-		if (direction == ASCENDING || direction == DESCENDING)
-			directions[priorities[0]] = direction;
-	}
-	
-	public int getTopPriorityDirection() {
-		return directions[priorities[0]];
-	}
-	
-	public int getTopPriority() {
-		return priorities[0];
-	}
-	
-	public int[] getPriorities() {
-		return priorities;
-	}
-	
-	public void resetState() {
-		priorities = new int[DEFAULT_PRIORITIES.length];
-		System.arraycopy(DEFAULT_PRIORITIES, 0, priorities, 0, priorities.length);
-		directions = new int[DEFAULT_DIRECTIONS.length];
-		System.arraycopy(DEFAULT_DIRECTIONS, 0, directions, 0, directions.length);
-	}
-	
-	private int compare(IMarker marker1, IMarker marker2, int depth) {
-		if (depth >= priorities.length)
-			return 0;
-		
-		int column = priorities[depth];
-		switch (column) {
-			case DESCRIPTION: {
-				String desc1 = marker1.getAttribute(IMarker.MESSAGE, "");//$NON-NLS-1$
-				String desc2 = marker2.getAttribute(IMarker.MESSAGE, "");//$NON-NLS-1$
-				int result = collator.compare(desc1, desc2);
-				if (result == 0)
-					return compare(marker1, marker2, depth + 1);
-				return result * directions[column];
-			}
-			case RESOURCE: {
-				String res1 = marker1.getResource().getName();
-				String res2 = marker2.getResource().getName();
-				int result = collator.compare(res1, res2);
-				if (result == 0)
-					return compare(marker1, marker2, depth + 1);
-				return result * directions[column];
-			}
-			case FOLDER: {
-				String folder1 = BookmarkLabelProvider.getContainerName(marker1);
-				String folder2 = BookmarkLabelProvider.getContainerName(marker2);
-				int result = collator.compare(folder1, folder2);
-				if (result == 0)
-					return compare(marker1, marker2, depth + 1);
-				return result * directions[column];
-			}
-			case LOCATION: {
-				int line1 = marker1.getAttribute(IMarker.LINE_NUMBER, -1);
-				int line2 = marker2.getAttribute(IMarker.LINE_NUMBER, -1);
-				int result = line1 - line2;
-				if (result == 0)
-					return compare(marker1, marker2, depth + 1);
-				return result * directions[column];
-			}
-			case CREATION_TIME: {
-				long result;
-				try {
-					result = marker1.getCreationTime() - marker2.getCreationTime();
-				} 
-				catch (CoreException e) {
-					result = 0;
-				}
-				if (result == 0)
-					return compare(marker1, marker2, depth + 1);
-				return ((int) result) * directions[column];
-			}
-		}
-		
-		return 0;
-	}
-	
-	public int compare(Viewer viewer, Object e1, Object e2) {
-		IMarker marker1 = (IMarker) e1;
-		IMarker marker2 = (IMarker) e2;
-		
-		return compare(marker1, marker2, 0);
-	}
-
-	public void saveState(IDialogSettings settings) {
-		if (settings == null)
-			return;
-			
-		for (int i = 0; i < priorities.length; i++) { 
-			settings.put("priority" + i, priorities[i]);//$NON-NLS-1$
-			settings.put("direction" + i, directions[i]);//$NON-NLS-1$
-		}
-	}	
-	
-	public void restoreState(IDialogSettings settings) {
-		if (settings == null)
-			return;
-		
-		try {
-			for (int i = 0; i < priorities.length; i++) {
-				priorities[i] = settings.getInt("priority" + i);//$NON-NLS-1$
-				directions[i] = settings.getInt("direction" + i);//$NON-NLS-1$
-			}
-		}
-		catch (NumberFormatException e) {
-			resetState();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/CopyBookmarkAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/CopyBookmarkAction.java
deleted file mode 100644
index 506bbb1..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/CopyBookmarkAction.java
+++ /dev/null
@@ -1,110 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.bookmarkexplorer;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.swt.SWTError;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.part.MarkerTransfer;
-
-/**
- * Copies one or more bookmark(s) to the clipboard.
- */
-class CopyBookmarkAction extends BookmarkAction {
-
-	/**
-	 * Creates the action.
-	 */
-	public CopyBookmarkAction(BookmarkNavigator bookmarkNavigator) {
-		super(bookmarkNavigator, BookmarkMessages.getString("CopyBookmark.text")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(this, IBookmarkHelpContextIds.COPY_BOOKMARK_ACTION);
-		setEnabled(false);
-	}
-	
-	/**
-	 * Performs this action.
-	 */
-	public void run() {
-		// Get the selected markers
-		BookmarkNavigator bookmarkNavigator = getView();
-		StructuredViewer viewer = bookmarkNavigator.getViewer();
-		IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
-		if (selection.isEmpty()) {
-			return;
-		}
-		List list = selection.toList();
-		IMarker[] markers = new IMarker[list.size()];
-		list.toArray(markers);
-
-		setClipboard(markers, createBookmarkReport(markers));
-	}
-
-	/** 
-	 * Updates enablement based on the current selection
-	 */
-	public void selectionChanged(IStructuredSelection sel) {
-		setEnabled(!sel.isEmpty());
-	}
-
-	private void setClipboard(IMarker[] markers, String markerReport) {
-		try {
-			// Place the markers on the clipboard
-			Object[] data = new Object[] {
-				markers,
-				markerReport};				
-			Transfer[] transferTypes = new Transfer[] {
-				MarkerTransfer.getInstance(),
-				TextTransfer.getInstance()};
-			
-			// set the clipboard contents
-			getView().getClipboard().setContents(data, transferTypes);
-		} catch (SWTError e){
-			if (e.code != DND.ERROR_CANNOT_SET_CLIPBOARD)
-				throw e;
-			if (MessageDialog.openQuestion(getView().getShell(), BookmarkMessages.getString("CopyToClipboardProblemDialog.title"), BookmarkMessages.getString("CopyToClipboardProblemDialog.message"))) //$NON-NLS-1$ //$NON-NLS-2$
-				setClipboard(markers, markerReport);
-		}	
-	}
-	
-	private String createBookmarkReport(IMarker[] markers) {
-		String report = ""; //$NON-NLS-1$
-		
-		//write header
-		report += BookmarkMessages.getString("ColumnDescription.header") + '\t'; //$NON-NLS-1$
-		report += BookmarkMessages.getString("ColumnResource.header") + '\t'; //$NON-NLS-1$
-		report += BookmarkMessages.getString("ColumnFolder.header") + '\t'; //$NON-NLS-1$
-		report += BookmarkMessages.getString("ColumnLocation.header");  //$NON-NLS-1$
-		report += System.getProperty("line.separator"); //$NON-NLS-1$
-		
-		//write markers
-		for (int i = 0; i < markers.length; i++) {
-			report += MarkerUtil.getMessage(markers[i]) + '\t';
-			report += MarkerUtil.getResourceName(markers[i]) + '\t';
-			report += MarkerUtil.getContainerName(markers[i]) + '\t';
-			int line = MarkerUtil.getLineNumber(markers[i]);
-			report += BookmarkMessages.format("LineIndicator.text", new String[] {String.valueOf(line)});//$NON-NLS-1$
-			report += System.getProperty("line.separator");  //$NON-NLS-1$
-		}
-		
-		return report;
-	}
-}
-
-
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/EditBookmarkAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/EditBookmarkAction.java
deleted file mode 100644
index 0cc978d..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/EditBookmarkAction.java
+++ /dev/null
@@ -1,85 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.bookmarkexplorer;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-
-/**
- * Opens a properties dialog allowing the user to edit the bookmark's description. 
- */
-class EditBookmarkAction extends BookmarkAction {
-	
-	protected EditBookmarkAction(BookmarkNavigator view) {
-		super(view, BookmarkMessages.getString("Properties.text")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(this, IBookmarkHelpContextIds.BOOKMARK_PROPERTIES_ACTION);
-		setEnabled(false);
-	}
-
-	private IMarker marker;
-
-	public void run() {
-		if (marker != null)
-			editBookmark();
-	}
-	
-	/**
-	 * Sets marker to the current selection if the selection is an instance of 
-	 * <code>org.eclipse.core.resources.IMarker<code> and the selected marker's 
-	 * resource is an instance of <code>org.eclipse.core.resources.IFile<code>.
-	 * Otherwise sets marker to null.
-	 */
-	public void selectionChanged(IStructuredSelection selection) {
-		marker = null;
-		setEnabled(false);
-		
-		if (selection.size() != 1)
-			return;
-			
-		Object o = selection.getFirstElement(); 
-		if (!(o instanceof IMarker))
-			return;
-			
-		IMarker selectedMarker = (IMarker) o;
-		IResource resource = selectedMarker.getResource();
-		if (resource instanceof IFile) {
-			marker = selectedMarker;
-			setEnabled(true);
-		}
-	}
-	
-	private void editBookmark() {
-		IFile file = (IFile) marker.getResource();
-		
-		try {
-			file.getWorkspace().run(
-				new IWorkspaceRunnable() {
-					public void run(IProgressMonitor monitor) throws CoreException {
-						BookmarkPropertiesDialog dialog = new BookmarkPropertiesDialog(getView().getSite().getShell());
-						dialog.setMarker(marker);	
-						dialog.open();
-					}
-				},
-				null);
-		} catch (CoreException e) {
-			IDEWorkbenchPlugin.log(null, e.getStatus()); // We don't care
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/IBookmarkHelpContextIds.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/IBookmarkHelpContextIds.java
deleted file mode 100644
index fd0f40f..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/IBookmarkHelpContextIds.java
+++ /dev/null
@@ -1,44 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.bookmarkexplorer;
-
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Help context ids for the bookmark view.
- * <p>
- * This interface contains constants only; it is not intended to be implemented
- * or extended.
- * </p>
- * 
- */
-interface IBookmarkHelpContextIds {
-	public static final String PREFIX = PlatformUI.PLUGIN_ID + "."; //$NON-NLS-1$
-
-	// Actions
-	public static final String COPY_BOOKMARK_ACTION = PREFIX + "copy_bookmark_action_context"; //$NON-NLS-1$
-	public static final String PASTE_BOOKMARK_ACTION = PREFIX + "paste_bookmark_action_context"; //$NON-NLS-1$
-	public static final String REMOVE_BOOKMARK_ACTION = PREFIX + "remove_bookmark_action_context"; //$NON-NLS-1$
-	public static final String OPEN_BOOKMARK_ACTION = PREFIX + "open_bookmark_action_context"; //$NON-NLS-1$
-	public static final String SELECT_ALL_BOOKMARK_ACTION = PREFIX + "select_all_bookmark_action_context"; //$NON-NLS-1$
-	public static final String BOOKMARK_PROPERTIES_ACTION = PREFIX + "bookmark_properties_action_context"; //$NON-NLS-1$
-	public static final String SORT_ASCENDING_ACTION = PREFIX + "bookmark_sort_ascending_action_context"; //$NON-NLS-1$
-	public static final String SORT_DESCENDING_ACTION = PREFIX + "bookmark_sort_descending_action_context"; //$NON-NLS-1$
-	public static final String SORT_DESCRIPTION_ACTION = PREFIX + "bookmark_sort_description_action_context"; //$NON-NLS-1$
-	public static final String SORT_RESOURCE_ACTION = PREFIX + "bookmark_sort_resource_action_context"; //$NON-NLS-1$
-	public static final String SORT_FOLDER_ACTION = PREFIX + "bookmark_sort_folder_action_context"; //$NON-NLS-1$
-	public static final String SORT_LOCATION_ACTION = PREFIX + "bookmark_sort_location_action_context"; //$NON-NLS-1$
-	public static final String SORT_CREATION_TIME_ACTION = PREFIX + "bookmark_sort_creation_time_action_context"; //$NON-NLS-1$
-
-	// Views
-	public static final String BOOKMARK_VIEW = PREFIX + "bookmark_view_context"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/MarkerUtil.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/MarkerUtil.java
deleted file mode 100644
index a53fe72..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/MarkerUtil.java
+++ /dev/null
@@ -1,144 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.bookmarkexplorer;
-
-import java.text.DateFormat;
-import java.util.Date;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-
-/**
- * Utility class for accessing marker attributes.
- */
-class MarkerUtil {
-	
-	/**
-	 * Don't allow instantiation.
-	 */
-	private MarkerUtil() {
-	}
-	/**
-	 * Returns the ending character offset of the given marker.
-	 */
-	static int getCharEnd(IMarker marker) {
-		return marker.getAttribute(IMarker.CHAR_END, -1);
-	}
-	/**
-	 * Returns the starting character offset of the given marker.
-	 */
-	static int getCharStart(IMarker marker) {
-		return marker.getAttribute(IMarker.CHAR_START, -1);
-	}
-	
-	/**
-	 * Returns the container name if it is defined, or empty string if not.
-	 */
-	static String getContainerName(IMarker marker) {
-		IPath path = marker.getResource().getFullPath();
-		int n = path.segmentCount() - 1; // n is the number of segments in container, not path
-		if (n <= 0)
-			return ""; //$NON-NLS-1$
-		int len = 0;
-		for (int i = 0; i < n; ++i)
-			len += path.segment(i).length();
-		// account for /'s
-		if (n > 1)
-			len += n-1;
-		StringBuffer sb = new StringBuffer(len);
-		for (int i = 0; i < n; ++i) {
-			if (i != 0)
-				sb.append('/');
-			sb.append(path.segment(i));
-		}
-		return sb.toString();
-	}
-		
-	/**
-	 * Returns the line number of the given marker.
-	 */
-	static int getLineNumber(IMarker marker) {
-		return marker.getAttribute(IMarker.LINE_NUMBER, -1);
-	}
-	/**
-	 * Returns the text for the location field.
-	 */
-	static String getLocation(IMarker marker) {
-		return marker.getAttribute(IMarker.LOCATION, "");//$NON-NLS-1$
-	}
-	/**
-	 * Returns the message attribute of the given marker,
-	 * or the empty string if the message attribute is not defined.
-	 */
-	static String getMessage(IMarker marker) {
-		return marker.getAttribute(IMarker.MESSAGE, "");//$NON-NLS-1$
-	}
-	/**
-	 * Returns the numeric value of the given string, which is assumed to represent a numeric value.
-	 *
-	 * @return <code>true</code> if numeric, <code>false</code> if not
-	 */
-	static int getNumericValue(String value) {
-		boolean negative = false;
-		int i = 0;
-		int len = value.length();
-		
-		// skip any leading '#'
-		// workaround for 1GCE69U: ITPJCORE:ALL - Java problems should not have '#' in location.
-		if (i < len && value.charAt(i) == '#') 
-			++i;
-	
-		if (i < len && value.charAt(i) == '-') {
-			negative = true;
-			++i;
-		}
-		
-		int result = 0;
-		while (i < len) {
-			int digit = Character.digit(value.charAt(i++), 10);
-			if (digit < 0) {
-				return result;
-			}
-			result = result * 10 + digit;
-		}
-		if (negative) {
-			result = -result;
-		}
-		return result;
-	}
-	
-	/**
-	 * Implements IProvider interface by supporting a number of
-	 * properties required for visual representation of markers
-	 * in the tasklist.
-	 */
-	
-	/**
-	 * Returns name if it is defined, or
-	 * blank string if not.
-	 */
-	static String getResourceName(IMarker marker) {
-		return marker.getResource().getName();
-	}
-	
-	/**
-	 * Returns the creation time of the marker as a string.
-	 */
-	static String getCreationTime(IMarker marker) {
-		try {
-			return DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.MEDIUM).format(new Date(marker.getCreationTime()));
-		} catch (CoreException e) {
-			return null;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/OpenBookmarkAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/OpenBookmarkAction.java
deleted file mode 100644
index 048a213..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/OpenBookmarkAction.java
+++ /dev/null
@@ -1,80 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.bookmarkexplorer;
-
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.util.OpenStrategy;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * Action to open an editor on the selected bookmarks.
- */
-class OpenBookmarkAction extends BookmarkAction {
-	
-	public OpenBookmarkAction(BookmarkNavigator view) {
-		super(view, BookmarkMessages.getString("OpenBookmark.text")); //$NON-NLS-1$
-		setToolTipText(BookmarkMessages.getString("OpenBookmark.toolTip")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(this, IBookmarkHelpContextIds.OPEN_BOOKMARK_ACTION);
-		setEnabled(false);
-	}
-	
-	public void run() {
-		IWorkbenchPage page = getView().getSite().getPage();
-		for (Iterator i = getStructuredSelection().iterator(); i.hasNext();) {
-			IMarker marker = (IMarker) i.next();
-			try {
-				IDE.openEditor(page, marker, OpenStrategy.activateOnOpen());
-			} catch (PartInitException e) {
-				// Open an error style dialog for PartInitException by
-				// including any extra information from the nested
-				// CoreException if present.
-	
-				// Check for a nested CoreException
-				CoreException nestedException = null;
-				IStatus status = e.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(
-						getView().getShell(),
-						BookmarkMessages.getString("OpenBookmark.errorTitle"), //$NON-NLS-1$
-						e.getMessage(),
-						nestedException.getStatus());
-				} else {
-					// Open a regular error dialog since there is no
-					// extra information to display
-					MessageDialog.openError(
-						getView().getShell(),
-						BookmarkMessages.getString("OpenBookmark.errorTitle"), //$NON-NLS-1$
-						e.getMessage());
-				}
-			}
-		}
-	}
-	
-	public void selectionChanged(IStructuredSelection sel) {
-		setEnabled(!sel.isEmpty());
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/PasteBookmarkAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/PasteBookmarkAction.java
deleted file mode 100644
index 9c8785f..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/PasteBookmarkAction.java
+++ /dev/null
@@ -1,98 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.bookmarkexplorer;
-
-import java.util.ArrayList;
-import java.util.Map;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.part.MarkerTransfer;
-
-/**
- * Pastes one or more bookmark(s) from the clipboard into the bookmark navigator.
- */
-class PasteBookmarkAction extends BookmarkAction {
-	
-	private BookmarkNavigator view;
-	
-	/**
-	 * The constructor.
-	 */
-	public PasteBookmarkAction(BookmarkNavigator view) {
-		super(view, BookmarkMessages.getString("PasteBookmark.text"));//$NON-NLS-1$
-		this.view = view;
-		WorkbenchHelp.setHelp(this, IBookmarkHelpContextIds.PASTE_BOOKMARK_ACTION);
-		setEnabled(false);
-	}
-
-	/**
-	 * Copies the marker(s) from the clipboard to the bookmark navigator view.
-	 */
-	public void run() {
-		// Get the markers from the clipboard
-		MarkerTransfer transfer = MarkerTransfer.getInstance();
-		final IMarker[] markerData = (IMarker[]) view.getClipboard().getContents(transfer);
-	
-		if (markerData == null) 
-			return;
-
-		final ArrayList newMarkers = new ArrayList();
-
-		try {
-			view.getWorkspace().run(new IWorkspaceRunnable() {
-				public void run(IProgressMonitor monitor) throws CoreException {
-					for (int i = 0; i < markerData.length; i++) {
-						// Only paste tasks (not problems)
-						if (!markerData[i].getType().equals(IMarker.BOOKMARK))
-							continue;
-						
-						// Paste to the same resource as the original
-						IResource resource = markerData[i].getResource();
-						Map attributes = markerData[i].getAttributes();
-						IMarker marker = resource.createMarker(IMarker.BOOKMARK);
-						marker.setAttributes(attributes);
-						newMarkers.add(marker);
-					}
-				}
-			}, null);
-		} catch (CoreException e) {
-			ErrorDialog.openError(
-				view.getShell(),
-				BookmarkMessages.getString("PasteBookmark.errorTitle"), //$NON-NLS-1$
-				null,
-				e.getStatus());
-			return;
-		}
-
-		// Need to do this in an asyncExec, even though we're in the UI thread here,
-		// since the bookmark navigator updates itself with the addition in an asyncExec,
-		// which hasn't been processed yet.
-		// Must be done outside IWorkspaceRunnable above since notification for add is
-		// sent after IWorkspaceRunnable is run.
-		if (newMarkers.size() > 0) {
-			view.getShell().getDisplay().asyncExec(new Runnable() {
-				public void run() {
-					view.getViewer().setSelection(new StructuredSelection(newMarkers));
-					view.updatePasteEnablement();	
-				}
-			});
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/RemoveBookmarkAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/RemoveBookmarkAction.java
deleted file mode 100644
index f72b31c..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/RemoveBookmarkAction.java
+++ /dev/null
@@ -1,63 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.bookmarkexplorer;
-
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Action to remove the selected bookmarks.
- */
-class RemoveBookmarkAction extends BookmarkAction {
-
-	public RemoveBookmarkAction(BookmarkNavigator view) {
-		super(view, BookmarkMessages.getString("RemoveBookmark.text")); //$NON-NLS-1$
-		setToolTipText(BookmarkMessages.getString("RemoveBookmark.toolTip")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(this, IBookmarkHelpContextIds.REMOVE_BOOKMARK_ACTION);
-		setEnabled(false);
-	}
-	
-	/**
-	 * Delete the marker selection.
-	 */
-	public void run() {
-		final IStructuredSelection sel = getStructuredSelection();
-		if (sel.isEmpty())
-			return;
-		try {
-			getView().getWorkspace().run(new IWorkspaceRunnable() {
-				public void run(IProgressMonitor monitor) throws CoreException {
-					for (Iterator iter = sel.iterator(); iter.hasNext();) {
-						Object o = iter.next();
-						if (o instanceof IMarker) {
-							IMarker marker = (IMarker) o;
-							marker.delete();
-						}
-					}
-				}
-			}, null);
-		} catch (CoreException e) {
-			ErrorDialog.openError(getView().getShell(), BookmarkMessages.getString("RemoveBookmark.errorTitle"), null, e.getStatus()); //$NON-NLS-1$
-		}
-	}
-	
-	public void selectionChanged(IStructuredSelection sel) {
-		setEnabled(!sel.isEmpty());
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/SelectAllAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/SelectAllAction.java
deleted file mode 100644
index de5cecf..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/SelectAllAction.java
+++ /dev/null
@@ -1,39 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.bookmarkexplorer;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Action to select all bookmarks.
- */
-class SelectAllAction extends BookmarkAction {
-
-	public SelectAllAction(BookmarkNavigator view) {
-		super(view, BookmarkMessages.getString("SelectAll.text")); //$NON-NLS-1$
-		setToolTipText(BookmarkMessages.getString("SelectAll.toolTip")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(this, IBookmarkHelpContextIds.SELECT_ALL_BOOKMARK_ACTION);
-		setEnabled(true);
-	}
-	
-	public void run() {
-		Viewer viewer = getView().getViewer();
-		Control control = viewer.getControl();
-		if (control instanceof Table) {
-			((Table) control).selectAll();
-			viewer.setSelection(viewer.getSelection(), false);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/messages.properties b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/messages.properties
deleted file mode 100644
index 6c8323a..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/messages.properties
+++ /dev/null
@@ -1,73 +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 Corporation - initial API and implementation
-###############################################################################
-
-# package: org.eclipse.ui.views.bookmarkexplorer
-
-
-# ==============================================================================
-# Bookmarks View
-# ==============================================================================
-BookmarkLabel.textHasContainer = {0} (on {1} in {2})
-BookmarkLabel.textNoContainer = {0} (on {1})
-
-CopyBookmark.text = &Copy
-
-PasteBookmark.text = &Paste
-PasteBookmark.errorTitle = Error pasting bookmark(s)
-
-OpenBookmark.text = &Go To
-OpenBookmark.toolTip = Go To
-OpenBookmark.errorTitle = Problems Opening Editor
-
-RemoveBookmark.text = &Delete
-RemoveBookmark.toolTip = Delete
-RemoveBookmark.errorTitle = Error deleting bookmarks
-
-SelectAll.text = Select A&ll
-SelectAll.toolTip = Select All
-
-Properties.text = P&roperties
-
-ColumnIcon.text = 
-ColumnDescription.text = by &Description
-ColumnResource.text = by &Resource
-ColumnFolder.text = by &Folder
-ColumnLocation.text = by &Location
-ColumnCreationTime.text = by &Creation Time
-
-LineIndicator.text = line {0} 
-
-ColumnIcon.header = 
-ColumnDescription.header = Description
-ColumnResource.header = Resource
-ColumnFolder.header = In Folder
-ColumnLocation.header = Location
-
-ColumnIcon.dialogText = 
-ColumnDescription.dialogText = Description:
-ColumnResource.dialogText = Resource:
-ColumnFolder.dialogText = In Folder:
-ColumnLocation.dialogText = Location:
-
-SortMenuGroup.text = &Sort
-SortDirectionAscending.text = &Ascending
-SortDirectionDescending.text = D&escending
-
-PropertiesDialogTitle.text = Bookmark Properties
-NewBookmarkDialogTitle.text = New Bookmark
-
-MarkerCreationTime.text = &Creation Time:
-
-Error.text = &Error
-
-CopyToClipboardProblemDialog.title=Problem Copying to Clipboard
-CopyToClipboardProblemDialog.message=There was a problem when accessing the system clipboard. Retry?
-
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/package.html b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/package.html
deleted file mode 100644
index 9d24b87..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/package.html
+++ /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="Author" content="IBM">
-   <meta name="GENERATOR" content="Mozilla/4.5 [en] (Win98; I) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides the standard Bookmarks view which displays
-bookmarks on resources.
-<br>&nbsp;
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/BackAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/BackAction.java
deleted file mode 100644
index 521b2f4..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/BackAction.java
+++ /dev/null
@@ -1,71 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.framelist;
-
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Generic "Back" action which goes back one frame,
- */
-public class BackAction extends FrameAction {
-	
-	/**
-	 * Constructs a new action for the specified frame list.
-	 * 
-	 * @param frameList the frame list
-	 */
-	public BackAction(FrameList frameList) {
-		super(frameList);
-		setText(FrameListMessages.getString("Back.text")); //$NON-NLS-1$
-		ISharedImages images = PlatformUI.getWorkbench().getSharedImages();
-		setImageDescriptor(images.getImageDescriptor(ISharedImages.IMG_TOOL_BACK));
-		setDisabledImageDescriptor(images.getImageDescriptor(ISharedImages.IMG_TOOL_BACK_DISABLED));
-		WorkbenchHelp.setHelp(this, IFrameListHelpContextIds.BACK_ACTION);
-		update();
-	}
-	
-	private Frame getPreviousFrame() {
-		FrameList list = getFrameList();
-		return list.getFrame(list.getCurrentIndex() - 1);
-	}
-	
-	private String getToolTipText(Frame previousFrame) {
-		if (previousFrame != null) {
-			String text = previousFrame.getToolTipText();
-			if (text != null && text.length() > 0) {
-				return FrameListMessages.format("Back.toolTipOneArg", new Object[] { text }); //$NON-NLS-1$
-			}
-		}
-		return FrameListMessages.getString("Back.toolTip"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Calls <code>back()</code> on the frame list.
-	 */
-	public void run() {
-		getFrameList().back();
-	}
-	
-	/**
-	 * Updates this action's enabled state and tool tip text.
-	 * This action is enabled only when there is a previous frame in the frame list.
-	 * The tool tip text is "Back to " plus the tool tip text for the previous frame.
-	 */
-	public void update() {
-		super.update();
-		Frame previousFrame = getPreviousFrame();
-		setEnabled(previousFrame != null);
-		setToolTipText(getToolTipText(previousFrame));
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/ForwardAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/ForwardAction.java
deleted file mode 100644
index 5851c39..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/ForwardAction.java
+++ /dev/null
@@ -1,72 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.framelist;
-
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Generic "Forward" action which goes forward one frame.
- */
-public class ForwardAction extends FrameAction {
-
-	/**
-	 * Constructs a new action for the specified frame list.
-	 * 
-	 * @param frameList the frame list
-	 */
-	public ForwardAction(FrameList frameList) {
-		super(frameList);
-		setText(FrameListMessages.getString("Forward.text")); //$NON-NLS-1$
-		ISharedImages images = PlatformUI.getWorkbench().getSharedImages();
-		setImageDescriptor(images.getImageDescriptor(ISharedImages.IMG_TOOL_FORWARD));
-		setDisabledImageDescriptor(images.getImageDescriptor(ISharedImages.IMG_TOOL_FORWARD_DISABLED));
-		WorkbenchHelp.setHelp(this, IFrameListHelpContextIds.FORWARD_ACTION);
-		update();
-	}
-
-	private Frame getNextFrame() {
-		FrameList list = getFrameList();
-		return list.getFrame(list.getCurrentIndex() + 1);
-	}
-
-	private String getToolTipText(Frame nextFrame) {
-		if (nextFrame != null) {
-			String text = nextFrame.getToolTipText();
-			if (text != null && text.length() > 0) {
-				return FrameListMessages.format("Forward.toolTipOneArg", new Object[] { text }); //$NON-NLS-1$
-			}
-		}
-		return FrameListMessages.getString("Forward.toolTip"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Calls <code>forward()</code> on the frame list.
-	 */
-	public void run() {
-		getFrameList().forward();
-	}
-
-	/**
-	 * Updates this action's enabled state and tool tip text.
-	 * This action is enabled only when there is a next frame in the frame list.
-	 * The tool tip text is "Forward to " plus the tool tip text for the next
-	 * frame.
-	 */
-	public void update() {
-		super.update();
-		Frame nextFrame = getNextFrame();
-		setEnabled(nextFrame != null);
-		setToolTipText(getToolTipText(nextFrame));
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/Frame.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/Frame.java
deleted file mode 100644
index 10ccf4d..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/Frame.java
+++ /dev/null
@@ -1,110 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.framelist;
-
- 
-/**
- * Generic frame, which captures the state for one frame in the frame list.
- * Clients may subclass this frame to add their own state.
- */
-public class Frame {
-	
-	private int index = -1;
-	private FrameList parent;
-	private String name = ""; //$NON-NLS-1$
-	private String toolTipText;
-	
-	/**
-	 * Constructs a new frame. <p>
-	 * 
-	 * This implementation does nothing.
-	 */
-	public Frame() {
-	}
-
-	/**
-	 * Returns the index of the frame in the frame list.
-	 * Only valid once the frame has been added to the frame list.
-	 * 
-	 * @return the index of the frame in the frame list.
-	 */	
-	public int getIndex() {
-		return index;
-	}
-	
-	/**
-	 * Returns the displayable name for the frame.
-	 *
-	 * @return the displayable name for the frame.
-	 */	
-	public String getName() {
-		return name;
-	}
-	
-	/**
-	 * Returns the frame list.
-	 * 
-	 * @return the frame list
-	 */
-	public FrameList getParent() {
-		return parent;
-	}
-	
-	/**
-	 * Returns the tool tip text to show for the frame.
-	 * This can form part of the tool tip for actions like the back and forward
-	 * actions.
-	 * 
-	 * @return the tool tip text to show for the frame
-	 */
-	public String getToolTipText() {
-		return toolTipText;
-	}
-	
-	/**
-	 * Sets the index of the frame in the frame list.
-	 * Should only be called by the frame list.
-	 * 
-	 * @param index the index of the frame in the frame list
-	 */
-	public void setIndex(int index) {
-		this.index = index;
-	}
-	
-	/**
-	 * Sets the displayable name for the frame.
-	 * 
-	 * @param name the displayable name
-	 */	
-	public void setName(String name) {
-		this.name = name;
-	}
-	
-	/**
-	 * Sets the frame list.
-	 * 
-	 * @param parent the frame list
-	 */	
-	public void setParent(FrameList parent) {
-		this.parent = parent;
-	}
-	
-	/**
-	 * Sets the tool tip text to show for the frame.
-	 * This can form part of the tool tip for actions like the back and forward
-	 * actions.
-	 * 
-	 * @param toolTipText the tool tip text to show for the frame.
-	 */
-	public void setToolTipText(String toolTipText) {
-		this.toolTipText = toolTipText;
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/FrameAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/FrameAction.java
deleted file mode 100644
index d4a345d..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/FrameAction.java
+++ /dev/null
@@ -1,96 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.framelist;
-
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * Abstract superclass for actions dealing with frames or a frame list.
- * This listens for changes to the frame list and updates itself
- * accordingly.
- */
-public abstract class FrameAction extends Action {
-	private FrameList frameList;
-
-	private IPropertyChangeListener propertyChangeListener = new IPropertyChangeListener() {
-		public void propertyChange(PropertyChangeEvent event) {
-			FrameAction.this.handlePropertyChange(event);
-		}
-	};
-
-	/**
-	 * Constructs a new action for the specified frame list.
-	 * and adds a property change listener on it.
-	 * 
-	 * @param frameList the frame list
-	 */
-	protected FrameAction(FrameList frameList) {
-		this.frameList = frameList;
-		frameList.addPropertyChangeListener(propertyChangeListener);
-	}
-
-	/**
-	 * Disposes this frame action.
-	 * This implementation removes the property change listener from the frame list.
-	 */
-	public void dispose() {
-		frameList.removePropertyChangeListener(propertyChangeListener);
-	}
-
-	/**
-	 * Returns the frame list.
-	 */
-	public FrameList getFrameList() {
-		return frameList;
-	}
-
-	/**
-	 * Returns the image descriptor with the given relative path.
-	 */
-	static 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 ImageDescriptor.getMissingImageDescriptor();
-		}
-	}
-
-	/**
-	 * Handles a property change event from the frame list.
-	 * This implementation calls <code>update()</code>.
-	 */
-	protected void handlePropertyChange(PropertyChangeEvent event) {
-		update();
-	}
-
-	/**
-	 * Updates this action.  This implementation does nothing.
-	 * Most implementations will override this method.
-	 */
-	public void update() {
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/FrameList.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/FrameList.java
deleted file mode 100644
index cb9e2c6..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/FrameList.java
+++ /dev/null
@@ -1,217 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.framelist;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.util.*;
-
-/**
- * Supports a web-browser style of navigation by maintaining a list
- * of frames.  Each frame holds a snapshot of a view at some point 
- * in time.
- * <p>
- * The frame list obtains a snapshot of the current frame from a frame source
- * on creation, and whenever switching to a different frame.
- * </p>
- * <p>
- * A property change notification is sent whenever the current page changes.
- * </p>
- */
-public class FrameList {
-	
-	/** Property name constant for the current frame. */
-	public static final String P_CURRENT_FRAME = "currentFrame"; //$NON-NLS-1$
-
-	private IFrameSource source;
-	private List frames;
-	private int current;
-	private ListenerList propertyListeners = new ListenerList();
-	
-	/**
-	 * Creates a new frame list with the given source.
-	 *
-	 * @param source the frame source
-	 */
-	public FrameList(IFrameSource source) {
-		this.source = source;
-		Frame frame = source.getFrame(IFrameSource.CURRENT_FRAME, 0);
-		frame.setParent(this);
-		frame.setIndex(0);
-		frames = new ArrayList();
-		frames.add(frame);
-		current = 0;
-	}
-	
-	/**
-	 * 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) {
-		propertyListeners.add(listener);
-	}
-	
-	/**
-	 * Moves the frame pointer back by one.
-	 * Has no effect if there is no frame before the current one.
-	 * Fires a <code>P_CURRENT_FRAME</code> property change event.
-	 */
-	public void back() {
-		if (current > 0) {
-			setCurrent(current - 1);
-		}
-	}
-	
-	/**
-	 * 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 = propertyListeners.getListeners();
-		for (int i = 0; i < listeners.length; ++i) {
-			((IPropertyChangeListener) listeners[i]).propertyChange(event);
-		}
-	}
-	
-	/**
-	 * Moves the frame pointer forward by one.
-	 * Has no effect if there is no frame after the current one.
-	 * Fires a <code>P_CURRENT_FRAME</code> property change event.
-	 */
-	public void forward() {
-		if (current < frames.size() - 1) {
-			setCurrent(current + 1);
-		}
-	}
-	
-	/**
-	 * Returns the current frame.
-	 * Returns <code>null</code> if there is no current frame.
-	 *
-	 * @return the current frame, or <code>null</code>
-	 */
-	public Frame getCurrentFrame() {
-		return getFrame(current);
-	}
-	
-	/**
-	 * Returns the index of the current frame.
-	 *
-	 * @return the index of the current frame
-	 */
-	public int getCurrentIndex() {
-		return current;
-	}
-	
-	/**
-	 * Returns the frame at the given index, or <code>null</code>
-	 * if the index is &le; 0 or &ge; <code>size()</code>.
-	 *
-	 * @param index the index of the requested frame
-	 * @return the frame at the given index or <code>null</code>
-	 */
-	public Frame getFrame(int index) {
-		if (index < 0 || index >= frames.size())
-			return null;
-		return (Frame) frames.get(index);
-	}
-	
-	/**
-	 * Returns the frame source.
-	 */
-	public IFrameSource getSource() {
-		return source;
-	}
-	
-	/**
-	 * Adds the given frame after the current frame,
-	 * and advances the pointer to the new frame.
-	 * Before doing so, updates the current frame, and removes any frames following the current frame.
-	 * Fires a <code>P_CURRENT_FRAME</code> property change event.
-	 *
-	 * @param frame the frame to add
-	 */
-	public void gotoFrame(Frame frame) {
-		for (int i = frames.size(); --i > current;) {
-			frames.remove(i);
-		}
-		frame.setParent(this);
-		int index = frames.size();
-		frame.setIndex(index);
-		frames.add(frame);
-		setCurrent(index);
-	}
-	
-	/**
-	 * Removes a property change listener.
-	 * Has no effect if an identical listener is not registered.
-	 *
-	 * @param listener a property change listener
-	 */
-	public void removePropertyChangeListener(IPropertyChangeListener listener) {
-		propertyListeners.remove(listener);
-	}
-	
-	/**
-	 * Sets the current frame to the one with the given index.
-	 * Updates the old current frame, and fires a <code>P_CURRENT_FRAME</code> property change event
-	 * if the current frame changes.
-	 *
-	 * @param newCurrent the index of the frame
-	 */
-	void setCurrent(int newCurrent) {
-		Assert.isTrue(newCurrent >= 0 && newCurrent < frames.size());
-		int oldCurrent = this.current;
-		if (oldCurrent != newCurrent) {
-			updateCurrentFrame();
-			this.current = newCurrent;
-			firePropertyChange(
-				new PropertyChangeEvent(this, P_CURRENT_FRAME, getFrame(oldCurrent), getFrame(newCurrent)));
-		}
-	}
-	
-	/**
-	 * Sets the current frame to the frame with the given index.
-	 * Fires a <code>P_CURRENT_FRAME</code> property change event
-	 * if the current frame changes.
-	 */
-	public void setCurrentIndex(int index) {
-		if (index != -1 && index != current)
-			setCurrent(index);
-	}
-	
-	/**
-	 * Returns the number of frames in the frame list.
-	 */
-	public int size() {
-		return frames.size();
-	}
-	
-	/**
-	 * Replaces the current frame in this list with the current frame 
-	 * from the frame source.  No event is fired.
-	 */
-	public void updateCurrentFrame() {
-		Assert.isTrue(current >= 0);
-		Frame frame = source.getFrame(IFrameSource.CURRENT_FRAME, IFrameSource.FULL_CONTEXT);
-		frame.setParent(this);
-		frame.setIndex(current);
-		frames.set(current, frame);
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/FrameListMessages.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/FrameListMessages.java
deleted file mode 100644
index 758a227..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/FrameListMessages.java
+++ /dev/null
@@ -1,57 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.framelist;
-
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Utility class which helps with managing messages.
- */
-class FrameListMessages {
-	
-	private static final String RESOURCE_BUNDLE = "org.eclipse.ui.views.framelist.messages";	//$NON-NLS-1$
-	private static ResourceBundle bundle = ResourceBundle.getBundle(RESOURCE_BUNDLE);
-
-	private FrameListMessages() {
-		// 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.ide/src/org/eclipse/ui/views/framelist/GoIntoAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/GoIntoAction.java
deleted file mode 100644
index 4256818..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/GoIntoAction.java
+++ /dev/null
@@ -1,57 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.framelist;
-
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Generic "Go Into" action which goes to the frame for the current selection. 
- */
-public class GoIntoAction extends FrameAction {
-
-	/**
-	 * Constructs a new action for the specified frame list.
-	 * 
-	 * @param frameList the frame list
-	 */
-	public GoIntoAction(FrameList frameList) {
-		super(frameList);
-		setText(FrameListMessages.getString("GoInto.text")); //$NON-NLS-1$
-		setToolTipText(FrameListMessages.getString("GoInto.toolTip")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(this, IFrameListHelpContextIds.GO_INTO_ACTION);
-		update();
-	}
-	
-	private Frame getSelectionFrame(int flags) {
-		return getFrameList().getSource().getFrame(IFrameSource.SELECTION_FRAME, flags);
-	}
-	
-	/**
-	 * Calls <code>gotoFrame</code> on the frame list with a frame
-	 * representing the currently selected container.
-	 */
-	public void run() {
-		Frame selectionFrame = getSelectionFrame(IFrameSource.FULL_CONTEXT);
-		if (selectionFrame != null) {
-			getFrameList().gotoFrame(selectionFrame);
-		}
-	}
-	
-	/**
-	 * Updates this action's enabled state.
-	 * This action is enabled only when there is a frame for the current selection.
-	 */
-	public void update() {
-		super.update();
-		Frame selectionFrame = getSelectionFrame(0);
-		setEnabled(selectionFrame != null);
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/IFrameListHelpContextIds.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/IFrameListHelpContextIds.java
deleted file mode 100644
index a63ae24..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/IFrameListHelpContextIds.java
+++ /dev/null
@@ -1,31 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.framelist;
-
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Help context ids for the frame list.
- * <p>
- * This interface contains constants only; it is not intended to be implemented
- * or extended.
- * </p>
- * 
- */
-/*package*/ interface IFrameListHelpContextIds {
-	public static final String PREFIX = PlatformUI.PLUGIN_ID + "."; //$NON-NLS-1$
-
-	// Actions
-	public static final String BACK_ACTION = PREFIX + "back_action_context"; //$NON-NLS-1$
-	public static final String FORWARD_ACTION = PREFIX + "forward_action_context"; //$NON-NLS-1$
-	public static final String GO_INTO_ACTION = PREFIX + "go_into_action_context"; //$NON-NLS-1$
-	public static final String UP_ACTION = PREFIX + "up_action_context"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/IFrameSource.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/IFrameSource.java
deleted file mode 100644
index 8a643e1..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/IFrameSource.java
+++ /dev/null
@@ -1,56 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.framelist;
-
- 
-/**
- * A frame source is the source of frames which appear in a frame list.
- * The frame list asks for the current frame whenever it switches
- * to another frame, so that the context can be restored when the
- * frame becomes current again.
- *
- * @see FrameList
- */
-public interface IFrameSource {
-
-	/**
-	 * Frame constant indicating the current frame.
-	 */
-	public static final int CURRENT_FRAME = 0x0001;
-
-	/**
-	 * Frame constant indicating the frame for the selection.
-	 */
-	public static final int SELECTION_FRAME = 0x0002;
-
-	/**
-	 * Frame constant indicating the parent frame.
-	 */
-	public static final int PARENT_FRAME = 0x0003;
-
-	/**
-	 * Flag constant indicating that the full context should be captured.
-	 */
-	public static final int FULL_CONTEXT = 0x0001;
-	
-	/**
-	 * Returns a new frame describing the state of the source.
-	 * If the <code>FULL_CONTEXT</code> flag is specified, then the full
-	 * context of the source should be captured by the frame.
-	 * Otherwise, only the visible aspects of the frame, such as the name and tool tip text,
-	 * will be used.
-	 *
-	 * @param whichFrame one of the frame constants defined in this interface
-	 * @param flags a bit-wise OR of the flag constants defined in this interface
-	 * @return a new frame describing the current state of the source
-	 */
-	public Frame getFrame(int whichFrame, int flags);
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/TreeFrame.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/TreeFrame.java
deleted file mode 100644
index 154cea9..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/TreeFrame.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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.framelist;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.viewers.AbstractTreeViewer;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IElementFactory;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IPersistableElement;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Frame for tree viewers.  This capture the viewer's input element, selection,
- * and expanded elements.
- */
-public class TreeFrame extends Frame {
-	private static final String TAG_SELECTION = "selection"; //$NON-NLS-1$
-	private static final String TAG_EXPANDED = "expanded"; //$NON-NLS-1$
-	private static final String TAG_ELEMENT = "element"; //$NON-NLS-1$
-	private static final String TAG_FRAME_INPUT = "frameInput"; //$NON-NLS-1$
-	private static final String TAG_FACTORY_ID = "factoryID"; //$NON-NLS-1$
-	
-	private AbstractTreeViewer viewer;
-	private Object input;
-	private ISelection selection;
-	private Object[] expandedElements;
-	
-	/**
-	 * Constructs a frame for the specified tree viewer.
-	 * The frame's input, name and tool tip text are not set.
-	 * 
-	 * @param viewer the tree viewer
-	 */
-	public TreeFrame(AbstractTreeViewer viewer) {
-		this.viewer = viewer;
-	}
-
-	/**
-	 * Constructs a frame for the specified tree viewer.
-	 * The frame's input element is set to the specified input element.
-	 * The frame's name and tool tip text are set to the text for the input 
-	 * element, as provided by the viewer's label provider.
-	 * 
-	 * @param viewer the tree viewer
-	 * @param input the input element
-	 */
-	public TreeFrame(AbstractTreeViewer viewer, Object input) {
-		this(viewer);
-		setInput(input);
-		ILabelProvider provider = (ILabelProvider) viewer.getLabelProvider();
-		String name = provider.getText(input);
-		setName(name);
-		setToolTipText(name);
-	}
-	
-	/**
-	 * Returns the expanded elements.
-	 * 
-	 * @return the expanded elements
-	 */
-	public Object[] getExpandedElements() {
-		return expandedElements;
-	}
-	
-	/**
-	 * Returns the input element.
-	 * 
-	 * @return the input element
-	 */
-	public Object getInput() {
-		return input;
-	}
-	
-	/**
-	 * Returns the selection.
-	 * 
-	 * @return the selection
-	 */
-	public ISelection getSelection() {
-		return selection;
-	}
-	
-	/**
-	 * Returns the tree viewer.
-	 * 
-	 * @return the tree viewer
-	 */
-	public AbstractTreeViewer getViewer() {
-		return viewer;
-	}
-	
-	/**
-	 * Restore IPersistableElements from the specified memento.
-	 * 
-	 * @param memento memento to restore elements from
-	 * @return list of restored elements. May be empty.
-	 */
-	private List restoreElements(IMemento memento) {
-		IMemento[] elementMem = memento.getChildren(TAG_ELEMENT);
-		List elements = new ArrayList(elementMem.length);
-		
-		for (int i = 0; i < elementMem.length; i++) {
-			String factoryID = elementMem[i].getString(TAG_FACTORY_ID);
-			if (factoryID != null) {
-				IElementFactory factory = PlatformUI.getWorkbench().getElementFactory(factoryID);
-				if (factory != null)
-					elements.add(factory.createElement(elementMem[i]));
-			}
-		}
-		return elements;
-	}
-	
-	/**
-	 * Restore the frame from the specified memento.
-	 * 
-	 * @param memento memento to restore frame from
-	 */
-	public void restoreState(IMemento memento) {
-		IMemento childMem = memento.getChild(TAG_FRAME_INPUT);
-		
-		if (childMem == null)
-			return;
-		
-		String factoryID = childMem.getString(TAG_FACTORY_ID);
-		IAdaptable frameInput = null;
-		if (factoryID != null) {
-			IElementFactory factory = PlatformUI.getWorkbench().getElementFactory(factoryID);
-			if (factory != null)
-				frameInput = factory.createElement(childMem);
-		}
-		if (frameInput != null) {
-			input = frameInput;
-		}
-		IMemento expandedMem = memento.getChild(TAG_EXPANDED);
-		if (expandedMem != null) {
-			List elements = restoreElements(expandedMem);
-			expandedElements = (Object[]) elements.toArray(new Object[elements.size()]);
-		}
-		else {
-			expandedElements = new Object[0];
-		}
-		IMemento selectionMem = memento.getChild(TAG_SELECTION);
-		if (selectionMem != null) {
-			List elements = restoreElements(selectionMem);
-			selection = new StructuredSelection(elements);
-		}
-		else {
-			selection = StructuredSelection.EMPTY;
-		}		
-	}
-	
-	/**
-	 * Save the specified elements to the given memento.
-	 * The elements have to be adaptable to IPersistableElement.
-	 * 
-	 * @param elements elements to persist
-	 * @param memento memento to persist elements in
-	 */
-	private void saveElements(Object[] elements, IMemento memento) {
-		for (int i = 0; i < elements.length; i++) {
-			if (elements[i] instanceof IAdaptable) {
-				IPersistableElement persistable = (IPersistableElement) ((IAdaptable) elements[i]).getAdapter(IPersistableElement.class);
-				if (persistable != null) {
-					IMemento elementMem = memento.createChild(TAG_ELEMENT);
-					elementMem.putString(TAG_FACTORY_ID, persistable.getFactoryId());
-					persistable.saveState(elementMem);								
-				}							
-			}
-		}
-	}
-	
-	/**
-	 * Save the frame state in the given memento.
-	 * 
-	 * @param memento memento to persist the frame state in.
-	 */
-	public void saveState(IMemento memento) {
-		if (!(input instanceof IAdaptable))
-			return;
-			
-		IPersistableElement persistable = (IPersistableElement) ((IAdaptable) input).getAdapter(IPersistableElement.class);
-		if (persistable != null) {
-			IMemento frameMemento = memento.createChild(TAG_FRAME_INPUT);
-			
-			frameMemento.putString(TAG_FACTORY_ID, persistable.getFactoryId());
-			persistable.saveState(frameMemento);
-			
-			if (expandedElements.length > 0) {
-				IMemento expandedMem = memento.createChild(TAG_EXPANDED);
-				saveElements(expandedElements, expandedMem);
-			}
-			// always IStructuredSelection since we only deal with tree viewers
-			if (selection instanceof IStructuredSelection) {
-				Object[] elements = ((IStructuredSelection) selection).toArray();
-				if (elements.length > 0) {
-					IMemento selectionMem = memento.createChild(TAG_SELECTION);
-					saveElements(elements, selectionMem);
-				}
-			}
-		}	
-	}
-	
-	/**
-	 * Sets the input element.
-	 * 
-	 * @param input the input element
-	 */
-	public void setInput(Object input) {
-		this.input = input;
-	}
-	
-	/**
-	 * Sets the expanded elements.
-	 * 
-	 * @param expandedElements the expanded elements
-	 */
-	public void setExpandedElements(Object[] expandedElements) {
-		this.expandedElements = expandedElements;
-	}
-	
-	/**
-	 * Sets the selection.
-	 * 
-	 * @param selection the selection
-	 */
-	public void setSelection(ISelection selection) {
-		this.selection = selection;
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/TreeViewerFrameSource.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/TreeViewerFrameSource.java
deleted file mode 100644
index 57a80f9..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/TreeViewerFrameSource.java
+++ /dev/null
@@ -1,172 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.framelist;
-
-
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.*;
-
-/** 
- * Frame source for tree viewers, which uses <code>TreeFrame</code> to capture
- * the state of the tree viewer.
- * 
- * @see TreeFrame
- */
-public class TreeViewerFrameSource implements IFrameSource {
-
-	private AbstractTreeViewer viewer;
-
-	/**
-	 * Constructs a new tree viewer frame source for the specified tree viewer.
-	 * 
-	 * @param viewer the tree viewer
-	 */
-	public TreeViewerFrameSource(AbstractTreeViewer viewer) {
-		this.viewer = viewer;
-	}
-
-	/**
-	 * Connects this source as a listener on the frame list,
-	 * so that when the current frame changes, the viewer is updated.
-	 */
-	public void connectTo(FrameList frameList) {
-		frameList.addPropertyChangeListener(new IPropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				TreeViewerFrameSource.this.handlePropertyChange(event);
-			}
-		});
-	}
-
-	/**
-	 * Returns a new tree frame capturing the specified input element.
-	 * 
-	 * @param input the input element
-	 * @return the tree frame
-	 */
-	protected TreeFrame createFrame(Object input) {
-		return new TreeFrame(viewer, input);
-	}
-
-	/**
-	 * Updates the viewer in response to the current frame changing.
-	 * 
-	 * @param frame the new value for the current frame
-	 */
-	protected void frameChanged(TreeFrame frame) {
-		viewer.getControl().setRedraw(false);
-		viewer.setInput(frame.getInput());
-		viewer.setExpandedElements(frame.getExpandedElements());
-		viewer.setSelection(frame.getSelection(), true);
-		viewer.getControl().setRedraw(true);
-	}
-
-	/**
-	 * Returns the current frame.
-	 * 
-	 * @param flags a bit-wise OR of the frame source flag constants
-	 * @return the current frame
-	 */
-	protected Frame getCurrentFrame(int flags) {
-		Object input = viewer.getInput();
-		TreeFrame frame = createFrame(input);
-		if ((flags & IFrameSource.FULL_CONTEXT) != 0) {
-			frame.setSelection(viewer.getSelection());
-			frame.setExpandedElements(viewer.getExpandedElements());
-		}
-		return frame;
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IFrameSource.
-	 */
-	public Frame getFrame(int whichFrame, int flags) {
-		switch (whichFrame) {
-			case IFrameSource.CURRENT_FRAME :
-				return getCurrentFrame(flags);
-			case IFrameSource.PARENT_FRAME :
-				return getParentFrame(flags);
-			case IFrameSource.SELECTION_FRAME :
-				return getSelectionFrame(flags);
-			default :
-				return null;
-		}
-	}
-
-	/**
-	 * Returns the parent frame, or <code>null</code> if there is no parent frame.
-	 * 
-	 * @param flags a bit-wise OR of the frame source flag constants
-	 * @return the parent frame, or <code>null</code>
-	 */
-	protected Frame getParentFrame(int flags) {
-		Object input = viewer.getInput();
-		ITreeContentProvider provider = (ITreeContentProvider) viewer.getContentProvider();
-		Object parent = provider.getParent(input);
-		if (parent == null) {
-			return null;
-		} else {
-			TreeFrame frame = createFrame(parent);
-			if ((flags & IFrameSource.FULL_CONTEXT) != 0) {
-				frame.setSelection(viewer.getSelection());
-				// include current input in expanded set
-				Object[] expanded = viewer.getExpandedElements();
-				Object[] newExpanded = new Object[expanded.length + 1];
-				System.arraycopy(expanded, 0, newExpanded, 0, expanded.length);
-				newExpanded[newExpanded.length - 1] = input;
-				frame.setExpandedElements(newExpanded);
-			}
-			return frame;
-		}
-	}
-
-	/**
-	 * Returns the frame for the selection, or <code>null</code> if there is no
-	 * frame for the selection.
-	 * 
-	 * @param flags a bit-wise OR of the frame source flag constants
-	 * @return the selection frame, or <code>null</code>
-	 */
-	protected Frame getSelectionFrame(int flags) {
-		IStructuredSelection sel = (IStructuredSelection) viewer.getSelection();
-		if (sel.size() == 1) {
-			Object o = sel.getFirstElement();
-			if (viewer.isExpandable(o)) {
-				TreeFrame frame = createFrame(o);
-				if ((flags & IFrameSource.FULL_CONTEXT) != 0) {
-					frame.setSelection(viewer.getSelection());
-					frame.setExpandedElements(viewer.getExpandedElements());
-				}
-				return frame;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the tree viewer.
-	 * 
-	 * @return the tree viewer
-	 */
-	public AbstractTreeViewer getViewer() {
-		return viewer;
-	}
-
-	/**
-	 * Handles a property change event from the frame list.
-	 * Calls <code>frameChanged</code> when the current frame changes.
-	 */
-	protected void handlePropertyChange(PropertyChangeEvent event) {
-		if (FrameList.P_CURRENT_FRAME.equals(event.getProperty())) {
-			frameChanged((TreeFrame) event.getNewValue());
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/UpAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/UpAction.java
deleted file mode 100644
index 87b2920..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/UpAction.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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.framelist;
-
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Generic "Up" action which goes to the parent frame for the current frame.
- */
-public class UpAction extends FrameAction {
-	
-	/**
-	 * Constructs a new action for the specified frame list.
-	 * 
-	 * @param frameList the frame list
-	 */
-	public UpAction(FrameList frameList) {
-		super(frameList);
-		setText(FrameListMessages.getString("Up.text")); //$NON-NLS-1$
-		ISharedImages images = PlatformUI.getWorkbench().getSharedImages();
-		setImageDescriptor(images.getImageDescriptor(ISharedImages.IMG_TOOL_UP));
-		setDisabledImageDescriptor(images.getImageDescriptor(ISharedImages.IMG_TOOL_UP_DISABLED));
-		WorkbenchHelp.setHelp(this, IFrameListHelpContextIds.UP_ACTION);
-		update();
-	}
-	
-	Frame getParentFrame(int flags) {
-		return getFrameList().getSource().getFrame(IFrameSource.PARENT_FRAME, flags);
-	}
-	
-	String getToolTipText(Frame parentFrame) {
-		if (parentFrame != null) {
-			String text = parentFrame.getToolTipText();
-			if (text != null && text.length() > 0) {
-				return FrameListMessages.format("Up.toolTipOneArg", new Object[] { text }); //$NON-NLS-1$
-			}
-		}
-		return FrameListMessages.getString("Up.toolTip"); //$NON-NLS-1$
-
-	}
-	
-	/**
-	 * Calls <code>gotoFrame</code> on the frame list with a frame
-	 * representing the parent of the current input.
-	 */
-	public void run() {
-		Frame parentFrame = getParentFrame(IFrameSource.FULL_CONTEXT);
-		if (parentFrame != null) {
-			getFrameList().gotoFrame(parentFrame);
-		}
-	}
-	
-	/**
-	 * Updates this action's enabled state and tool tip text.
-	 * This action is enabled only when there is a parent frame for the current
-	 * frame in the frame list.
-	 * The tool tip text is "Up to " plus the tool tip text for the parent
-	 * frame.
-	 */
-	public void update() {
-		super.update();
-		Frame parentFrame = getParentFrame(0);
-		setEnabled(parentFrame != null);
-		setToolTipText(getToolTipText(parentFrame));
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/messages.properties b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/messages.properties
deleted file mode 100644
index 817c49f..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/messages.properties
+++ /dev/null
@@ -1,31 +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 Corporation - initial API and implementation
-###############################################################################
-
-# package: org.eclipse.ui.views.framelist
-
-
-# ==============================================================================
-# FrameList
-# ==============================================================================
-Back.text = &Back
-Back.toolTip = Back
-Back.toolTipOneArg = Back to {0}
-
-Forward.text = &Forward
-Forward.toolTip = Forward
-Forward.toolTipOneArg = Forward to {0}
-
-GoInto.text = Go &Into
-GoInto.toolTip = Go Into
-
-Up.text = &Up One Level
-Up.toolTip = Up
-Up.toolTipOneArg = Up to {0}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/package.html b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/package.html
deleted file mode 100644
index 2ca0f96..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/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="Microsoft FrontPage 4.0">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-<p>Provides support for a web-browser style of navigation within a view by maintaining a list
-of frames.  Each frame holds a snapshot of a view at some point in time.
-Includes support for use with a tree viewer.</p>
-<p>
-<br>&nbsp;</p>
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/MarkerViewUtil.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/MarkerViewUtil.java
deleted file mode 100644
index 75d65a0..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/MarkerViewUtil.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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.jface.viewers.StructuredSelection;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.views.markers.internal.MarkerView;
-
-/**
- * Utility class for showing markers in the marker views.
- */
-public class MarkerViewUtil {
-
-/**
- * Returns the id of the view used to show markers of the
- * same type as the given marker.
- * 
- * @param marker the marker
- * @return the view id or <code>null</code> if no appropriate view could be determined
- * @throws CoreException if an exception occurs testing the type of the marker
- */
-public static String getViewId(IMarker marker) throws CoreException {
-	if (marker.isSubtypeOf(IMarker.TASK)) {
-		return IPageLayout.ID_TASK_LIST;
-	}
-	else if (marker.isSubtypeOf(IMarker.PROBLEM)) {
-		return IPageLayout.ID_PROBLEM_VIEW;
-	}
-	else if (marker.isSubtypeOf(IMarker.BOOKMARK)) {
-		return IPageLayout.ID_BOOKMARKS;
-	}
-	return null;
-}
-
-/**
- * Shows the given marker in the appropriate view in the given page.
- * This must be called from the UI thread.
- * 
- * @param page the workbench page in which to show the marker
- * @param marker the marker to show
- * @param showView <code>true</code> if the view should be shown first
- *   <code>false</code> to only show the marker if the view is already showing 
- * @return <code>true</code> if the marker was successfully shown,
- *   <code>false</code> if not
- */
-public static boolean showMarker(IWorkbenchPage page, IMarker marker, boolean showView) {
-	try {
-		String viewId = getViewId(marker);
-		if (viewId != null) {
-			IViewPart view = showView ? page.showView(viewId) : page.findView(viewId);
-			if (view instanceof MarkerView) {
-				StructuredSelection selection = new StructuredSelection(marker);
-				MarkerView markerView = (MarkerView) view;
-				markerView.setSelection(selection, true);
-				return true;
-				
-				//return markerView.getSelection().equals(selection); 
-			}
-		}
-	}
-	catch (CoreException e) {
-		// ignore
-	}
-	return false;
-}
-	
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionAddGlobalTask.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionAddGlobalTask.java
deleted file mode 100644
index a0b8017..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionAddGlobalTask.java
+++ /dev/null
@@ -1,35 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.IWorkbenchPart;
-
-public class ActionAddGlobalTask extends Action {
-	
-	private static final String ENABLED_IMAGE_PATH = "elcl16/addtsk_tsk.gif"; //$NON-NLS-1$
-	
-	private IWorkbenchPart part;
-	
-	public ActionAddGlobalTask(IWorkbenchPart part) {
-		setText(Messages.getString("addGlobalTaskAction.title")); //$NON-NLS-1$
-		setImageDescriptor(ImageFactory.getImageDescriptor(ENABLED_IMAGE_PATH));
-		setToolTipText(Messages.getString("addGlobalTaskAction.tooltip")); //$NON-NLS-1$
-		this.part = part;
-	}
-	
-	public void run() {
-		DialogTaskProperties dialog = new DialogTaskProperties(part.getSite().getShell(), 
-				Messages.getString("addGlobalTaskDialog.title")); //$NON-NLS-1$
-		dialog.open();
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionCopyMarker.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionCopyMarker.java
deleted file mode 100644
index 7f23af9..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionCopyMarker.java
+++ /dev/null
@@ -1,169 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWTError;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.SelectionProviderAction;
-import org.eclipse.ui.part.MarkerTransfer;
-
-/**
- * Copies one or more marker to the clipboard.
- */
-public class ActionCopyMarker extends SelectionProviderAction {
-	
-	private IWorkbenchPart part;
-	private Clipboard clipboard;
-	private IField[] properties;
-
-	/**
-	 * Creates the action.
-	 */
-	public ActionCopyMarker(IWorkbenchPart part, ISelectionProvider provider) {
-		super(provider, Messages.getString("copyAction.title")); //$NON-NLS-1$
-		this.part = part;
-		setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_COPY));
-		setEnabled(false);
-	}
-	
-	/**
-	 * Sets the clipboard that the marker(s) will be copied to.
-	 * @param clipboard the clipboard
-	 */
-	void setClipboard(Clipboard clipboard) {
-		this.clipboard = clipboard;
-	}
-	
-	/**
-	 * Sets the properties to be added to the plain-text marker report that 
-	 * will be copied to the clipboard.
-	 * @param properties
-	 */
-	void setProperties(IField[] properties) {
-		this.properties = properties;
-	}
-	
-	/**
-	 * Copies the selected IMarker objects to the clipboard. If properties have 
-	 * been set, also copies a plain-text report of the selected markers to the
-	 * clipboard.
-	 */
-	public void run() {
-		IStructuredSelection selection = getStructuredSelection();
-		if (selection == null || selection.isEmpty() || clipboard == null)
-			return;
-		List list = selection.toList();
-		IMarker[] markers = new IMarker[list.size()];
-		list.toArray(markers);
-		setClipboard(markers, createMarkerReport(markers));
-	}
-
-	/** 
-	 * Updates enablement based on the current selection
-	 */
-	public void selectionChanged(IStructuredSelection selection) {
-		setEnabled(selection != null && !selection.isEmpty());
-	}
-
-	private void setClipboard(IMarker[] markers, String markerReport) {
-		try {
-			// Place the markers on the clipboard
-			Object[] data;
-			Transfer[] transferTypes;
-			if (markerReport == null) {
-				data = new Object[] {markers};
-				transferTypes = new Transfer[] {MarkerTransfer.getInstance()};
-			}
-			else {
-				data = new Object[] {
-					markers,
-					markerReport};				
-				transferTypes = new Transfer[] {
-					MarkerTransfer.getInstance(),
-					TextTransfer.getInstance()};
-			}
-			
-			clipboard.setContents(data, transferTypes);
-		} catch (SWTError e){
-			if (e.code != DND.ERROR_CANNOT_SET_CLIPBOARD)
-				throw e;
-			if (MessageDialog.openQuestion(part.getSite().getShell(), Messages.getString("CopyToClipboardProblemDialog.title"), Messages.getString("CopyToClipboardProblemDialog.message"))) //$NON-NLS-1$ //$NON-NLS-2$
-				setClipboard(markers, markerReport);
-		}	
-	}
-	
-	/**
-	 * Creates a plain-text report of the selected markers based on predefined properties.
-	 * @param markers
-	 * @return the marker report
-	 */
-	String createMarkerReport(IMarker[] rawMarkers) {
-		ConcreteMarker[] markers;
-		try {
-			markers = MarkerList.createMarkers(rawMarkers);
-		} catch (CoreException e) {
-			ErrorDialog.openError(
-					part.getSite().getShell(),
-					Messages.getString("Error"), //$NON-NLS-1$
-					null,
-					e.getStatus());
-			return ""; //$NON-NLS-1$
-		}
-		
-		StringBuffer report = new StringBuffer();
-		
-		final String NEWLINE = System.getProperty("line.separator"); //$NON-NLS-1$
-		final char DELIMITER = '\t';
-		
-		if (properties == null) {
-			return null;
-		}
-			
-		//create header
-		for (int i = 0; i < properties.length; i++) {
-			report.append(properties[i].getDescription());
-			if (i == properties.length - 1)
-				report.append(NEWLINE);
-			else
-				report.append(DELIMITER);
-		}
-		
-		for (int i = 0; i < markers.length; i++) {
-			ConcreteMarker marker = markers[i];
-			for (int j = 0; j < properties.length; j++) {
-				report.append(properties[j].getValue(marker));
-				if (j == properties.length - 1)
-					report.append(NEWLINE);
-				else
-					report.append(DELIMITER);
-			}
-		}
-		
-		return report.toString();
-	}
-}
-
-
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionDeleteCompleted.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionDeleteCompleted.java
deleted file mode 100644
index c965101..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionDeleteCompleted.java
+++ /dev/null
@@ -1,125 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-import org.eclipse.ui.actions.SelectionProviderAction;
-
-public class ActionDeleteCompleted extends SelectionProviderAction {
-	
-	private TaskView part;
-	
-
-	/**
-	 * Constructs an ActionDeleteCompleted instance
-	 * 
-	 * @param part
-	 * @param provider
-	 */
-	public ActionDeleteCompleted(TaskView part, ISelectionProvider provider) {
-		super(provider, Messages.getString("deleteCompletedAction.title")); //$NON-NLS-1$
-		this.part = part;
-		setEnabled(false);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#run()
-	 */
-	public void run() {
-		final List completed = getCompletedTasks();
-		// Check if there is anything to do
-		if (completed.size() == 0) {
-			MessageDialog.openInformation(
-				part.getSite().getShell(), 
-				Messages.getString("deleteCompletedTasks.dialogTitle"),  //$NON-NLS-1$
-				Messages.getString("deleteCompletedTasks.noneCompleted"));  //$NON-NLS-1$
-			return;
-		}
-		String message;
-		if (completed.size() == 1) {
-			message = Messages.getString("deleteCompletedTasks.permanentSingular"); //$NON-NLS-1$
-		}
-		else {
-			message = Messages.format("deleteCompletedTasks.permanentPlural", //$NON-NLS-1$
-				new Object[] { new Integer(completed.size()) } );
-		}
-		// Verify.
-		if (!MessageDialog
-			.openConfirm(
-				part.getSite().getShell(), 
-				Messages.getString("deleteCompletedTasks.dialogTitle"),  //$NON-NLS-1$
-				message)) {
-			return;
-		}
-		try {
-			ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
-				public void run(IProgressMonitor monitor) {
-					for (int i = 0; i < completed.size(); i++) {
-						IMarker marker = (IMarker) completed.get(i);
-						try {
-							marker.delete();
-						}
-						catch (CoreException e) {
-						}
-					}
-				}
-			}, null);
-		}
-		catch (CoreException e) {
-			ErrorDialog.openError(part.getSite().getShell(), Messages.getString("deleteCompletedTasks.errorMessage"), null, e.getStatus()); //$NON-NLS-1$
-		}
-	}
-	
-	private List getCompletedTasks() {
-		List completed = new ArrayList();
-		
-		ISelectionProvider sel = getSelectionProvider();
-		
-		MarkerList markerList = part.getVisibleMarkers();
-		
-		ConcreteMarker[] markers = markerList.toArray();
-		
-		for (int i = 0; i < markers.length; i++) {
-			ConcreteMarker marker = markers[i];
-			if (marker instanceof TaskMarker) {
-				TaskMarker taskMarker = (TaskMarker)marker;
-				
-				if (taskMarker.getDone() == 1) {
-					completed.add(taskMarker.getMarker());
-				}
-			}
-		}
-		
-		return completed;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.actions.SelectionProviderAction#selectionChanged(org.eclipse.jface.viewers.IStructuredSelection)
-	 */
-	public void selectionChanged(IStructuredSelection selection) {
-		setEnabled(!selection.isEmpty());
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionMarkCompleted.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionMarkCompleted.java
deleted file mode 100644
index 244a7ac..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionMarkCompleted.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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.actions.SelectionProviderAction;
-
-public class ActionMarkCompleted extends SelectionProviderAction {
-
-	/**
-	 * @param provider
-	 */
-	public ActionMarkCompleted(ISelectionProvider provider) {
-		super(provider, Messages.getString("markCompletedAction.title")); //$NON-NLS-1$
-		setEnabled(false);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#run()
-	 */
-	public void run() {
-		try {
-			ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
-				public void run(IProgressMonitor monitor) {
-					for (Iterator iterator = getStructuredSelection().iterator(); iterator.hasNext();) {
-						Object obj = iterator.next();
-						if (obj instanceof IMarker) {
-							IMarker marker = (IMarker) obj;
-							try {
-								marker.setAttribute(IMarker.DONE, true);
-							}
-							catch (CoreException e) {
-							}
-						}
-					}
-				}
-			}, null);
-		}
-		catch (CoreException e) {
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.actions.SelectionProviderAction#selectionChanged(org.eclipse.jface.viewers.IStructuredSelection)
-	 */
-	public void selectionChanged(IStructuredSelection selection) {
-		setEnabled(false);
-		if (selection == null || selection.isEmpty()) {
-			return;
-		}
-		for (Iterator iterator = selection.iterator(); iterator.hasNext();) {
-			Object obj = iterator.next();
-			if (!(obj instanceof IMarker)) {
-				return;
-			}
-			IMarker marker = (IMarker) obj;
-			if (!marker.getAttribute(IMarker.USER_EDITABLE, true)) {
-				return;
-			}
-			if (marker.getAttribute(IMarker.DONE, false)) {
-				return;
-			}
-		}
-		setEnabled(true);
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionMarkerProperties.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionMarkerProperties.java
deleted file mode 100644
index 2b46376..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionMarkerProperties.java
+++ /dev/null
@@ -1,53 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.actions.SelectionProviderAction;
-
-public class ActionMarkerProperties extends SelectionProviderAction {
-	
-	private IWorkbenchPart part;
-
-	public ActionMarkerProperties(IWorkbenchPart part, ISelectionProvider provider) {
-		super(provider, Messages.getString("propertiesAction.title")); //$NON-NLS-1$
-		setEnabled(false);
-		this.part = part;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#run()
-	 */
-	public void run() {
-		if (!isEnabled()) {
-			return;
-		}
-		Object obj = getStructuredSelection().getFirstElement();
-		if (!(obj instanceof IMarker)) {
-			return;
-		}
-		IMarker marker = (IMarker) obj;
-		DialogMarkerProperties dialog = new DialogMarkerProperties(part.getSite().getShell());
-		dialog.setMarker(marker);
-		dialog.open();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.actions.SelectionProviderAction#selectionChanged(org.eclipse.jface.viewers.IStructuredSelection)
-	 */
-	public void selectionChanged(IStructuredSelection selection) {
-		setEnabled(selection != null && selection.size() == 1);
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionOpenMarker.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionOpenMarker.java
deleted file mode 100644
index ebc6252..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionOpenMarker.java
+++ /dev/null
@@ -1,109 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.util.OpenStrategy;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.actions.SelectionProviderAction;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * Action to open an editor on the selected bookmarks.
- */
-public class ActionOpenMarker extends SelectionProviderAction {
-	
-	private final String IMAGE_PATH = "elcl16/gotoobj_tsk.gif"; //$NON-NLS-1$
-	private final String DISABLED_IMAGE_PATH = "dlcl16/gotoobj_tsk.gif"; //$NON-NLS-1$
-	
-	protected IWorkbenchPart part;
-
-	public ActionOpenMarker(IWorkbenchPart part, ISelectionProvider provider) {
-		super(provider, Messages.getString("openAction.title")); //$NON-NLS-1$
-		this.part = part;
-		setImageDescriptor(ImageFactory.getImageDescriptor(IMAGE_PATH));
-		setDisabledImageDescriptor(ImageFactory.getImageDescriptor(DISABLED_IMAGE_PATH));
-		setEnabled(false);
-	}
-	
-	public void run() {
-		IStructuredSelection selection = getStructuredSelection();
-		if (selection == null || selection.size() != 1)
-			return;
-		
-		Object obj = selection.getFirstElement();
-		if (!(obj instanceof IMarker))
-			return;
-		
-		IMarker marker = (IMarker) obj;
-		//optimization: if the active editor has the same input as the selected marker then 
-		//RevealMarkerAction would have been run and we only need to activate the editor
-		IEditorPart editor = part.getSite().getPage().getActiveEditor();
-		if (editor != null) {
-		IEditorInput input = editor.getEditorInput();
-			if (input instanceof IFileEditorInput) {
-				IFile file = ((IFileEditorInput) input).getFile();
-				if (marker.getResource().equals(file)) {
-					part.getSite().getPage().activate(editor);
-				}
-			}
-		}
-		
-		if (marker.getResource() instanceof IFile) {
-			try {
-				IDE.openEditor(part.getSite().getPage(), marker, OpenStrategy.activateOnOpen());
-			} catch (PartInitException e) {
-				// Open an error style dialog for PartInitException by
-				// including any extra information from the nested
-				// CoreException if present.
-	
-				// Check for a nested CoreException
-				CoreException nestedException = null;
-				IStatus status = e.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(
-						part.getSite().getShell(),
-						Messages.getString("OpenMarker.errorTitle"), //$NON-NLS-1$
-						e.getMessage(),
-						nestedException.getStatus());
-				} else {
-					// Open a regular error dialog since there is no
-					// extra information to display
-					MessageDialog.openError(
-						part.getSite().getShell(),
-						Messages.getString("OpenMarker.errorTitle"), //$NON-NLS-1$
-						e.getMessage());
-				}
-			}
-		}
-	}
-	
-	public void selectionChanged(IStructuredSelection selection) {
-		setEnabled(selection != null && selection.size() == 1);
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionPasteMarker.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionPasteMarker.java
deleted file mode 100644
index 59ed515..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionPasteMarker.java
+++ /dev/null
@@ -1,155 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.util.ArrayList;
-import java.util.Map;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.SelectionProviderAction;
-import org.eclipse.ui.part.MarkerTransfer;
-
-/**
- * Pastes one or more bookmark(s) from the clipboard into the bookmark navigator.
- */
-public class ActionPasteMarker extends SelectionProviderAction {
-	
-	private IWorkbenchPart part;
-	private Clipboard clipboard;
-	private String[] pastableTypes;
-
-	/**
-	 * Creates the action.
-	 */
-	public ActionPasteMarker(IWorkbenchPart part, ISelectionProvider provider) {
-		super(provider, Messages.getString("pasteAction.title")); //$NON-NLS-1$
-		this.part = part;
-		this.pastableTypes = new String[0];
-		setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_PASTE));
-		setEnabled(false);
-	}
-	
-	void setClipboard(Clipboard clipboard) {
-		this.clipboard = clipboard;
-	}
-	
-	/**
-	 * Copies the marker(s) from the clipboard to the bookmark navigator view.
-	 */
-	public void run() {
-		// Get the markers from the clipboard
-		MarkerTransfer transfer = MarkerTransfer.getInstance();
-		IMarker[] markerData = (IMarker[]) clipboard.getContents(transfer);
-		paste(markerData);
-	}
-	
-	void paste(final IMarker[] markers) {
-		if (markers == null) 
-			return;
-
-		final ArrayList newMarkers = new ArrayList();
-
-		try {
-			ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
-				public void run(IProgressMonitor monitor) throws CoreException {
-					for (int i = 0; i < markers.length; i++) {
-						String type = markers[i].getType();
-						// Paste to the same resource as the original
-						IResource resource = markers[i].getResource();
-						Map attributes = markers[i].getAttributes();
-						IMarker marker = resource.createMarker(type);
-						marker.setAttributes(attributes);
-						newMarkers.add(marker);
-					}
-				}
-			}, null);
-		} catch (CoreException e) {
-			ErrorDialog.openError(
-				part.getSite().getShell(),
-				Messages.getString("PasteMarker.errorTitle"), //$NON-NLS-1$
-				null,
-				e.getStatus());
-			return;
-		}
-
-		// Need to do this in an asyncExec, even though we're in the UI thread here,
-		// since the marker view updates itself with the addition in an asyncExec,
-		// which hasn't been processed yet.
-		// Must be done outside IWorkspaceRunnable above since notification for add is
-		// sent after IWorkspaceRunnable is run.
-		if (getSelectionProvider() != null && newMarkers.size() > 0) {
-			part.getSite().getShell().getDisplay().asyncExec(new Runnable() {
-				public void run() {
-					getSelectionProvider().setSelection(new StructuredSelection(newMarkers));
-				}
-			});
-		}
-	}
-	
-	void updateEnablement() {
-		setEnabled(false);
-		if (clipboard == null) {
-			return;
-		}
-			
-		// Paste if clipboard contains pastable markers
-		MarkerTransfer transfer = MarkerTransfer.getInstance();
-		IMarker[] markerData = (IMarker[]) clipboard.getContents(transfer);
-		if (markerData == null || markerData.length < 1 || pastableTypes == null) {
-			return;
-		}
-		for (int i = 0; i < markerData.length; i++) {
-			try {
-				IMarker marker = markerData[i];
-				if (!marker.exists()) {
-					break;
-				}
-				boolean pastable = false;
-				for (int j = 0; j < pastableTypes.length; j++) {
-					if (marker.isSubtypeOf((String) pastableTypes[j])) {
-						pastable = true;
-						break;
-					}
-				}
-				if (!pastable) {
-					return;
-				}
-				if (!Util.isEditable(marker)) {
-					return;
-				}
-			}
-			catch (CoreException e) {
-				return;
-			}
-		}
-		setEnabled(true);
-	}
-
-	/**
-	 * @param strings
-	 */
-	void setPastableTypes(String[] strings) {
-		pastableTypes = strings;
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionProblemProperties.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionProblemProperties.java
deleted file mode 100644
index 5fc39d7..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionProblemProperties.java
+++ /dev/null
@@ -1,53 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.actions.SelectionProviderAction;
-
-public class ActionProblemProperties extends SelectionProviderAction {
-
-	private IWorkbenchPart part;
-
-	public ActionProblemProperties(IWorkbenchPart part, ISelectionProvider provider) {
-		super(provider, Messages.getString("propertiesAction.title")); //$NON-NLS-1$
-		setEnabled(false);
-		this.part = part;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#run()
-	 */
-	public void run() {
-		if (!isEnabled()) {
-			return;
-		}
-		Object obj = getStructuredSelection().getFirstElement();
-		if (!(obj instanceof IMarker)) {
-			return;
-		}
-		IMarker marker = (IMarker) obj;
-		DialogMarkerProperties dialog = new DialogProblemProperties(part.getSite().getShell());
-		dialog.setMarker(marker);
-		dialog.open();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.actions.SelectionProviderAction#selectionChanged(org.eclipse.jface.viewers.IStructuredSelection)
-	 */
-	public void selectionChanged(IStructuredSelection selection) {
-		setEnabled(selection != null && selection.size() == 1);
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionRemoveMarker.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionRemoveMarker.java
deleted file mode 100644
index 1eccf91..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionRemoveMarker.java
+++ /dev/null
@@ -1,94 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.SelectionProviderAction;
-
-/**
- * Action to remove the selected bookmarks.
- */
-public class ActionRemoveMarker extends SelectionProviderAction {
-	
-	private IWorkbenchPart part;
-
-	/**
-	 * Creates the action.
-	 */
-	public ActionRemoveMarker(IWorkbenchPart part, ISelectionProvider provider) {
-		super(provider, Messages.getString("deleteAction.title")); //$NON-NLS-1$
-		this.part = part;
-		setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_DELETE));
-		setDisabledImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_DELETE_DISABLED));
-		setToolTipText(Messages.getString("deleteAction.tooltip")); //$NON-NLS-1$
-		setEnabled(false);
-	}
-	
-	/**
-	 * Delete the marker selection.
-	 */
-	public void run() {
-		if (!isEnabled()) {
-			return;
-		}
-		final IStructuredSelection selection = getStructuredSelection();
-		if (selection.isEmpty()) {
-			return;
-		}
-		try {
-			ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
-				public void run(IProgressMonitor monitor) throws CoreException {
-					for (Iterator iter = selection.iterator(); iter.hasNext();) {
-						Object o = iter.next();
-						if (o instanceof IMarker) {
-							IMarker marker = (IMarker) o;
-							marker.delete();
-						}
-					}
-				}
-			}, null);
-		} 
-		catch (CoreException e) {
-			ErrorDialog.openError(part.getSite().getShell(), Messages.getString("RemoveMarker.errorTitle"), null, e.getStatus()); //$NON-NLS-1$
-		}
-	}
-	
-	public void selectionChanged(IStructuredSelection selection) {
-		setEnabled(false);
-		if (selection == null || selection.isEmpty()) {
-			return;
-		}
-		for (Iterator iterator = selection.iterator(); iterator.hasNext();) {
-			Object obj = iterator.next();
-			if (!(obj instanceof IMarker)) {
-				return;
-			}
-			IMarker marker = (IMarker) obj;
-			if (!Util.isEditable(marker)) {
-				return;
-			}
-		}
-		setEnabled(true);			
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionResolveMarker.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionResolveMarker.java
deleted file mode 100644
index c41d2b9..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionResolveMarker.java
+++ /dev/null
@@ -1,104 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IMarkerResolution;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.actions.SelectionProviderAction;
-import org.eclipse.ui.dialogs.MarkerResolutionSelectionDialog;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * This action displays a list of resolutions for the selected marker
- * 
- * @since 2.0
- */
-public class ActionResolveMarker extends SelectionProviderAction {
-	
-	private IWorkbenchPart part;
-
-	public ActionResolveMarker(IWorkbenchPart part, ISelectionProvider provider) {
-		super(provider, Messages.getString("resolveMarkerAction.title")); //$NON-NLS-1$
-		this.part = part;
-		setEnabled(false);
-	}
-
-	/**
-	 * Displays a list of resolutions and performs the selection.
-	 */
-	public void run() {
-		if (!isEnabled()) {
-			return;
-		}
-		IMarker marker = getMarker();
-		if (marker == null) {
-			return;
-		}
-		IMarkerResolution[] resolutions = getResolutions(marker);
-		if (resolutions.length == 0) {
-			MessageDialog.openInformation(
-				part.getSite().getShell(),
-				Messages.getString("resolveMarkerAction.dialogTitle"),  //$NON-NLS-1$
-				Messages.getString("resolveMarkerAction.noResolutionsLabel")); //$NON-NLS-1$
-			return;
-		}	 
-		MarkerResolutionSelectionDialog d = new MarkerResolutionSelectionDialog(part.getSite().getShell(), resolutions);
-		if (d.open() != Dialog.OK)
-			return;
-		Object[] result = d.getResult();
-		if (result != null && result.length > 0)
-			((IMarkerResolution)result[0]).run(marker);			
-	}
-	
-	/**
-	 * Returns the resolutions for the given marker.
-	 *
-	 * @param the marker for which to obtain resolutions
-	 * @return the resolutions for the selected marker	
-	 */
-	private IMarkerResolution[] getResolutions(IMarker marker) {
-		return IDE.getMarkerHelpRegistry().getResolutions(marker);
-	}
-
-	/**
-	 * Returns the selected marker (may be <code>null</code>).
-	 * 
-	 * @return the selected marker
-	 */
-	private IMarker getMarker() {
-		IStructuredSelection selection = getStructuredSelection();
-		// only enable for single selection
-		if (selection.size() != 1)
-			return null;
-		return (IMarker) selection.getFirstElement();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.actions.SelectionProviderAction#selectionChanged(org.eclipse.jface.viewers.IStructuredSelection)
-	 */
-	public void selectionChanged(IStructuredSelection selection) {
-		setEnabled(false);
-		if (selection.size() != 1) {
-			return;
-		}
-		IMarker marker = (IMarker) selection.getFirstElement();
-		if (marker == null) {
-			return;
-		}
-		setEnabled(IDE.getMarkerHelpRegistry().hasResolutions(marker));
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionRevealMarker.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionRevealMarker.java
deleted file mode 100644
index 1054ec7..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionRevealMarker.java
+++ /dev/null
@@ -1,67 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.actions.SelectionProviderAction;
-import org.eclipse.ui.ide.IDE;
-
-public class ActionRevealMarker extends SelectionProviderAction {
-
-	protected IWorkbenchPart part;
-
-	public ActionRevealMarker(IWorkbenchPart part, ISelectionProvider provider) {
-		super(provider, ""); //$NON-NLS-1$
-		this.part = part;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#run()
-	 */
-	public void run() {
-		IStructuredSelection selection = getStructuredSelection();
-		Object obj = selection.getFirstElement();
-		if (obj == null || !(obj instanceof IMarker))
-			return;
-			
-		IMarker marker = (IMarker) obj;
-		IEditorPart editor = part.getSite().getPage().getActiveEditor();
-		if (editor == null)
-			return;
-		IEditorInput input = editor.getEditorInput();
-		if (input instanceof IFileEditorInput) {
-			IFile file = ((IFileEditorInput) input).getFile();
-			if (marker.getResource().equals(file)) {
-				try {
-					IDE.openEditor(part.getSite().getPage(), marker, false);
-				}
-				catch (CoreException e) {
-				}
-			}
-		}
-	}
-	
-	public void selectionChanged(IStructuredSelection selection) {
-		setEnabled(selection != null && selection.size() == 1);
-		if (isEnabled()) {
-			run();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionSelectAll.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionSelectAll.java
deleted file mode 100644
index b3e67f6..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionSelectAll.java
+++ /dev/null
@@ -1,51 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-
-import org.eclipse.ui.actions.SelectionProviderAction;
-
-public class ActionSelectAll extends SelectionProviderAction {
-	
-	
-	/**
-	 * @param provider
-	 */
-	public ActionSelectAll(TableViewer provider) {
-		super(provider, Messages.getString("selectAllAction.title")); //$NON-NLS-1$
-		setEnabled(true);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#run()
-	 */
-	public void run() {
-		TableViewer viewer = (TableViewer)getSelectionProvider();
-		
-		Object[] elements = ((IStructuredContentProvider)viewer.getContentProvider())
-			.getElements(viewer.getInput());
-		
-		StructuredSelection newSelection = new StructuredSelection(elements);
-		super.getSelectionProvider().setSelection(newSelection);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.actions.SelectionProviderAction#selectionChanged(org.eclipse.jface.viewers.IStructuredSelection)
-	 */
-	public void selectionChanged(IStructuredSelection selection) {
-		setEnabled(!selection.isEmpty());
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionTaskProperties.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionTaskProperties.java
deleted file mode 100644
index bb95e47..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionTaskProperties.java
+++ /dev/null
@@ -1,53 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.actions.SelectionProviderAction;
-
-public class ActionTaskProperties extends SelectionProviderAction {
-
-	private IWorkbenchPart part;
-
-	public ActionTaskProperties(IWorkbenchPart part, ISelectionProvider provider) {
-		super(provider, Messages.getString("propertiesAction.title")); //$NON-NLS-1$
-		setEnabled(false);
-		this.part = part;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#run()
-	 */
-	public void run() {
-		if (!isEnabled()) {
-			return;
-		}
-		Object obj = getStructuredSelection().getFirstElement();
-		if (!(obj instanceof IMarker)) {
-			return;
-		}
-		IMarker marker = (IMarker) obj;
-		DialogMarkerProperties dialog = new DialogTaskProperties(part.getSite().getShell());
-		dialog.setMarker(marker);
-		dialog.open();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.actions.SelectionProviderAction#selectionChanged(org.eclipse.jface.viewers.IStructuredSelection)
-	 */
-	public void selectionChanged(IStructuredSelection selection) {
-		setEnabled(selection != null && selection.size() == 1);
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/BookmarkFilter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/BookmarkFilter.java
deleted file mode 100644
index 6ba6387..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/BookmarkFilter.java
+++ /dev/null
@@ -1,101 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.dialogs.IDialogSettings;
-
-public class BookmarkFilter extends MarkerFilter {
-
-	private final static String TAG_CONTAINS = "contains"; //$NON-NLS-1$
-	private final static String TAG_DESCRIPTION = "description"; //$NON-NLS-1$
-	private final static String TAG_DIALOG_SECTION = "filter"; //$NON-NLS-1$
-
-	final static boolean DEFAULT_CONTAINS = true;
-	final static String DEFAULT_DESCRIPTION = ""; //$NON-NLS-1$
-
-	private boolean contains;
-	private String description;
-
-	public BookmarkFilter() {
-		super(new String[] { IMarker.BOOKMARK });
-	}
-	
-	/**
-	 * Returns true iff the given marker is accepted by this filter
-	 */
-	public boolean selectMarker(ConcreteMarker marker) {
-		return !isEnabled() || (super.selectMarker(marker) && selectByDescription(marker));
-	}
-
-	private boolean selectByDescription(ConcreteMarker marker) {
-		if (description == null || description.equals("")) //$NON-NLS-1$
-			return true;
-		
-		String markerDescription = marker.getDescription();
-		int index = markerDescription.indexOf(description);
-		return contains ? (index >= 0) : (index < 0); 
-	}
-	
-	boolean getContains() {
-		return contains;
-	}
-
-	String getDescription() {
-		return description;
-	}
-
-	void setContains(boolean contains) {
-		this.contains = contains;
-	}
-
-	void setDescription(String description) {
-		this.description = description;
-	}
-
-	void resetState() {
-		super.resetState();
-		contains = DEFAULT_CONTAINS;
-		description = DEFAULT_DESCRIPTION;
-	}
-
-	public void restoreState(IDialogSettings dialogSettings) {		
-		super.restoreState(dialogSettings);
-		IDialogSettings settings = dialogSettings.getSection(TAG_DIALOG_SECTION);
-		
-		if (settings != null) {
-			String setting = settings.get(TAG_CONTAINS);
-
-			if (setting != null)
-				contains = Boolean.valueOf(setting).booleanValue();
-				
-			setting = settings.get(TAG_DESCRIPTION);
-			
-			if (setting != null)			
-				description = new String(setting);
-		}
-	}
-
-	public void saveState(IDialogSettings dialogSettings) {
-		super.saveState(dialogSettings);
-		
-		if (dialogSettings != null) {
-			IDialogSettings settings = dialogSettings.getSection(TAG_DIALOG_SECTION);
-
-			if (settings == null)
-				settings = dialogSettings.addNewSection(TAG_DIALOG_SECTION);
-
-			settings.put(TAG_CONTAINS, contains);
-			settings.put(TAG_DESCRIPTION, description);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/BookmarkMarker.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/BookmarkMarker.java
deleted file mode 100644
index ab4e1ba..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/BookmarkMarker.java
+++ /dev/null
@@ -1,30 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IMarker;
-
-/**
- * Represents a marker visible in the Bookmarks view. Currently, this adds no additional
- * fields to the ConcreteMarker class. However, if additional fields were added to the
- * bookmark view that are not general to all views, these fields would be added to this
- * class.
- */
-public class BookmarkMarker extends ConcreteMarker {
-
-	/**
-	 * @param toCopy
-	 */
-	public BookmarkMarker(IMarker toCopy) {
-		super(toCopy);
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/BookmarkView.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/BookmarkView.java
deleted file mode 100644
index 040c525..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/BookmarkView.java
+++ /dev/null
@@ -1,221 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Platform;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Item;
-
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ColumnLayoutData;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jface.window.Window;
-
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.CellEditorActionHandler;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-public class BookmarkView extends MarkerView {
-
-	private final static ColumnLayoutData[] DEFAULT_COLUMN_LAYOUTS = { 
-		new ColumnWeightData(200),
-		new ColumnWeightData(75),
-		new ColumnWeightData(150),
-		new ColumnWeightData(60)
-	};
-	
-	private final static IField[] HIDDEN_FIELDS = { 
-		new FieldCreationTime() 
-	};
-	
-	private final static String[] ROOT_TYPES = { 
-		IMarker.BOOKMARK
-	};
-
-	private final static String[] TABLE_COLUMN_PROPERTIES = {
-		IMarker.MESSAGE,
-		"", //$NON-NLS-1$
-		"", //$NON-NLS-1$
-		"" //$NON-NLS-1$
-	}; 
-
-	private final static String TAG_DIALOG_SECTION = "org.eclipse.ui.views.bookmark"; //$NON-NLS-1$
-
-	private final static IField[] VISIBLE_FIELDS = { 
-		new FieldMessage(), 
-		new FieldResource(), 
-		new FieldFolder(), 
-		new FieldLineNumber() 
-	};
-
-	private ICellModifier cellModifier = new ICellModifier() {
-		public Object getValue(Object element, String property) {
-			if (element instanceof ConcreteMarker && IMarker.MESSAGE.equals(property))
-				return ((ConcreteMarker) element).getDescription();
-			else 
-				return null;
-		}
-
-		public boolean canModify(Object element, String property) {
-			return true;
-		}
-
-		public void modify(Object element, String property, Object value) {
-			if (element instanceof Item) {
-				Item item = (Item) element;
-				Object data = item.getData();
-				
-				if (data instanceof ConcreteMarker) {				
-					IMarker marker = ((ConcreteMarker)data).getMarker();
-	
-					try {
-						if (!marker.getAttribute(property).equals(value)) {
-							if (IMarker.MESSAGE.equals(property))
-								marker.setAttribute(IMarker.MESSAGE, value);
-						}
-					} catch (CoreException e) {
-						ErrorDialog.openError(getSite().getShell(), Messages.getString("errorModifyingBookmark") , null, e.getStatus()); //$NON-NLS-1$
-					}
-				}
-			}
-		}
-	};
-
-	private CellEditorActionHandler cellEditorActionHandler;
-	private BookmarkFilter bookmarkFilter = new BookmarkFilter();
-
-	public void createPartControl(Composite parent) {		
-		super.createPartControl(parent);
-		
-		// TODO: Check for possible reliance on IMarker
-		TableViewer tableViewer = getViewer();
-		CellEditor cellEditors[] = new CellEditor[tableViewer.getTable().getColumnCount()];
-		CellEditor descriptionCellEditor = new TextCellEditor(tableViewer.getTable());
-		cellEditors[0] = descriptionCellEditor;
-		tableViewer.setCellEditors(cellEditors);
-		tableViewer.setCellModifier(cellModifier);
-		tableViewer.setColumnProperties(TABLE_COLUMN_PROPERTIES);
-		
-		cellEditorActionHandler = new CellEditorActionHandler(getViewSite().getActionBars());
-		cellEditorActionHandler.addCellEditor(descriptionCellEditor);
-		cellEditorActionHandler.setCopyAction(copyAction);
-		cellEditorActionHandler.setPasteAction(pasteAction);
-		cellEditorActionHandler.setDeleteAction(deleteAction);
-		cellEditorActionHandler.setSelectAllAction(selectAllAction);
-	}
-
-	public void dispose() {
-		if (cellEditorActionHandler != null)
-			cellEditorActionHandler.dispose();
-		
-		super.dispose();
-	}
-
-	public void init(IViewSite viewSite, IMemento memento) throws PartInitException {
-		super.init(viewSite, memento);
-		IDialogSettings dialogSettings = getDialogSettings();
-		bookmarkFilter.restoreState(dialogSettings);
-	}
-
-	public void saveState(IMemento memento) {
-		IDialogSettings dialogSettings = getDialogSettings();
-		
-		bookmarkFilter.saveState(dialogSettings);
-		
-		super.saveState(memento);	
-	}
-
-	protected ColumnLayoutData[] getDefaultColumnLayouts() {
-		return DEFAULT_COLUMN_LAYOUTS;
-	}
-
-	protected IDialogSettings getDialogSettings() {
-		AbstractUIPlugin plugin = (AbstractUIPlugin) Platform.getPlugin(PlatformUI.PLUGIN_ID);
-		IDialogSettings workbenchSettings = plugin.getDialogSettings();
-		IDialogSettings settings = workbenchSettings.getSection(TAG_DIALOG_SECTION);
-		
-		if (settings == null)
-			settings = workbenchSettings.addNewSection(TAG_DIALOG_SECTION);
-
-		return settings;
-	}
-		
-	protected IField[] getHiddenFields() {
-		return HIDDEN_FIELDS;
-	}
-
-	protected String[] getRootTypes() {
-		return ROOT_TYPES;
-	}
-
-	protected Object getViewerInput() {
-		return ResourcesPlugin.getWorkspace().getRoot();
-	}
-	
-	protected IField[] getVisibleFields() {
-		return VISIBLE_FIELDS;
-	}
-
-	public void setSelection(IStructuredSelection structuredSelection, boolean reveal) {
-		// TODO: added because nick doesn't like public API inherited from internal classes
-		super.setSelection(structuredSelection, reveal);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.markers.internal.MarkerView#getMarkerTypes()
-	 */
-	protected String[] getMarkerTypes() {
-		return new String[] {IMarker.BOOKMARK};
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.markers.internal.MarkerView#openFiltersDialog()
-	 */
-	public void openFiltersDialog() {
-		DialogBookmarkFilter dialog = new DialogBookmarkFilter(getSite().getShell(), bookmarkFilter);
-		
-		if (dialog.open() == Window.OK) {
-			bookmarkFilter = (BookmarkFilter)dialog.getFilter();
-			bookmarkFilter.saveState(getDialogSettings());
-			refresh();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.markers.internal.MarkerView#getFilter()
-	 */
-	protected MarkerFilter getFilter() {
-		return bookmarkFilter;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.markers.internal.MarkerView#updateFilterSelection(org.eclipse.core.resources.IResource[])
-	 */
-	protected void updateFilterSelection(IResource[] resources) {
-		bookmarkFilter.setFocusResource(resources);
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ConcreteMarker.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ConcreteMarker.java
deleted file mode 100644
index 8d9a227..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ConcreteMarker.java
+++ /dev/null
@@ -1,147 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.markers.internal;
-
-import java.text.CollationKey;
-import java.text.Collator;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * This is a concrete class that stores the same type of information as the IMarkers
- * used by the IDE. This class exists as an optimization. The various get* methods
- * on IMarker are extremely slow, which makes it very slow to sort markers (for example,
- * in the problems view). This marker class stores the fields in the most efficient form
- * for sorting and display, but necessarily removes some generality from IMarker.
- */
-public class ConcreteMarker {
-
-	private String description;
-	private String resourceName;
-	private String inFolder;
-	private CollationKey descriptionKey;
-	private CollationKey resourceNameKey;
-	private CollationKey inFolderKey;
-	private int line;
-	private long creationTime;
-	private String type;
-	
-	private IMarker marker;
-
-	public ConcreteMarker(IMarker toCopy) {
-		marker = toCopy;
-		refresh();
-	}
-	
-	/**
-	 * Clears any cached information. This frees up some memory, but will slow down
-	 * the next comparison operation. It is a good idea to call this on a set of markers
-	 * after sorting them, in order to reduce their memory cost. 
-	 */
-	public void clearCache() {
-		resourceNameKey = null;
-		descriptionKey = null;
-		inFolderKey = null;		
-	}
-	
-	/**
-	 * Refresh the properties of this marker from the underlying IMarker instance
-	 */
-	public void refresh() {
-		clearCache();
-		
-		description = Util.getProperty(IMarker.MESSAGE, marker);
-		resourceName = marker.getResource().getName();
-		inFolder = Util.getContainerName(marker);
-		line = marker.getAttribute(IMarker.LINE_NUMBER, -1);
-		try {
-			creationTime = marker.getCreationTime();
-		} catch (CoreException e) {
-			creationTime = 0;
-		}
-		
-		try {
-			type = marker.getType();
-		} catch (CoreException e1) {
-			type = ""; //$NON-NLS-1$
-		}		
-	}
-	
-	public IResource getResource() {
-		return marker.getResource();
-	}
-	
-	public String getType() {
-		return type;
-	}
-		
-	public String getDescription() {
-		return description;
-	}
-		
-	public CollationKey getDescriptionKey() {
-		if (descriptionKey == null) {
-			descriptionKey = Collator.getInstance().getCollationKey(description);
-		}
-		
-		return descriptionKey;
-	}
-	
-	public String getResourceName() {
-		return resourceName;
-	}
-		
-	public CollationKey getResourceNameKey() {
-		if (resourceNameKey == null) {
-			resourceNameKey = Collator.getInstance().getCollationKey(resourceName);
-		}
-		return resourceNameKey;
-	}
-	
-	public int getLine() {
-		return line;
-	}
-	
-	public String getFolder() {
-		return inFolder;
-	}
-	
-	public CollationKey getFolderKey() {
-		if (inFolderKey == null) {
-			inFolderKey = Collator.getInstance().getCollationKey(inFolder);
-		}
-		return inFolderKey;
-	}
-	
-	public long getCreationTime() {
-		return creationTime;
-	}
-
-	public IMarker getMarker() {
-		return marker;
-	}
-	
-	public boolean equals(Object object) {
-		if (!(object instanceof ConcreteMarker)) {
-			return false;
-		}
-		
-		ConcreteMarker other = (ConcreteMarker)object;
-		
-		return other.getMarker().equals(getMarker());
-	}
-	
-	public int hashCode() {
-		return getMarker().hashCode();
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DefaultMarkerResourceAdapter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DefaultMarkerResourceAdapter.java
deleted file mode 100644
index 3a0b26f..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DefaultMarkerResourceAdapter.java
+++ /dev/null
@@ -1,55 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.ui.views.tasklist.ITaskListResourceAdapter;
-
-/**
- * The DefaultMarkerResourceAdapter is the default
- * implementation of the IMarkerResourceAdapter used by the
- * MarkerView for resource adaption.
- */
-class DefaultMarkerResourceAdapter implements ITaskListResourceAdapter {
-	
-	private static ITaskListResourceAdapter singleton;
-
-	/**
-	 * Constructor for DefaultMarkerResourceAdapter.
-	 */
-	DefaultMarkerResourceAdapter() {
-		super();
-	}
-	
-	/**
-	 * Return the default instance used for MarkerView adapting.
-	 */
-	static ITaskListResourceAdapter getDefault(){
-		if(singleton == null)
-			singleton = new DefaultMarkerResourceAdapter();
-		return singleton;
-	}
-
-	/**
-	 * @see IMarkerResourceAdapter#getAffectedResource(IAdaptable)
-	 */
-	public IResource getAffectedResource(IAdaptable adaptable) {
-		IResource resource = (IResource) adaptable.getAdapter(IResource.class);
-		
-		if (resource == null)
-			return (IFile) adaptable.getAdapter(IFile.class);
-		else
-			return resource;
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DeferredQueue.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DeferredQueue.java
deleted file mode 100644
index c7eafb9..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DeferredQueue.java
+++ /dev/null
@@ -1,606 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.markers.internal;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Comparator;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-import java.util.TreeSet;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-
-import org.eclipse.swt.widgets.Table;
-
-import org.eclipse.jface.viewers.TableViewer;
-
-/**
- * Contains a queue of changes to be applied to a particular TableViewer.
- * This object is not multithread-friendly. The owning object must synchronize
- * its access to this object such that no two threads attempt to access it
- * simultaneously.
- */
-final class DeferredQueue {
-	
-	private static final String SETTING_CONTENTS = Messages.getString("DeferredQueue.setting_contents"); //$NON-NLS-1$
-	/**
-	 * Maximum number of items to be added or removed from the viewer in a single update.
-	 * (Will be used for an initially empty table)
-	 */
-	private static final int MAX_UPDATE = 40;
-	
-	/**
-	 * Minimum number of items to be added or removed from the viewer in a single update
-	 * (Will be used once the table size reaches (GROWTH_LIMIT)
-	 */
-	private static final int MIN_UPDATE = 1;
-	
-	/**
-	 * Table size beyond which all updates will be approximately MIN_UPDATE
-	 */
-	private static final int GROWTH_LIMIT = 20000;
-
-	// Member variables
-	
-	/**
-	 * Current sort order (note that this object does the sorting -- not the viewer. The
-	 * view contents are sorted by controlling their insertion order and position.)
-	 */
-	private Comparator sortOrder;
-	
-	/**
-	 * Set of items currently visible in the viewer
-	 */
-	private Set visibleItems = new HashSet();
-	
-	/**
-	 * Set of pending insertions that will occur at the end of the table (if the
-	 * viewer is sorted, this will be changed into a sorted collection). This
-	 * will not contain any items currently in the visibleItems set.
-	 */
-	private Set insertionsAtEnd = new HashSet();
-	
-	/**
-	 * Set of pending insertions that will occur in the middle of the table. This
-	 * remains unsorted. Sorting will occur in the UI thread at insertion-time.
-	 * This will not contain any items currently in the visibleItems set.
-	 */
-	private Set insertionsInMiddle = new HashSet();
-	
-	/**
-	 * List of pending removals. This is a subset of visibleItems. 
-	 */
-	private Set pendingRemovals = new HashSet();
-	
-	/**
-	 * List of pending changes. This is a subset of visibleItems.
-	 */
-	private Set pendingChanges = new HashSet();
-	
-	/**
-	 * Pointer to the item currently at the end of the table, or null if
-	 * the table is currently empty.
-	 */
-	private Object lastVisible = null;
-	
-	/**
-	 * True iff there may be items inthe insertionsInMiddle queue
-	 * that can be moved to the insertionsAtEnd queue. This is set to
-	 * true when lastVisible is reduced, and set to false when 
-	 * insertionsInMiddle is repartitioned.
-	 */
-	private boolean lastDirty = false;
-	
-	/**
-	 * pointer to the viewer being populated.
-	 */
-	private TableViewer viewer;
-	
-	private boolean hasPendingChanges = false;
-	
-	/**
-	 * Constructs a new DeferredQueue.
-	 * 
-	 * @param viewer
-	 */
-	public DeferredQueue(TableViewer viewer) {
-		this.viewer = viewer;
-	}
-	
-	/**
-	 * Returns the set of items currently visible in the viewer (read-only)
-	 * 
-	 * @return the set of processed items
-	 */
-	public Object[] getVisibleItems() {
-		synchronized(visibleItems) {
-			return visibleItems.toArray();
-		}
-	}
-	
-	/**
-	 * Queues the given set of items to be refreshed in the viewer. If there
-	 * are any items in the viewer (or its queues) that compare as equal(...)
-	 * to one of these items, the new item will replace the old one. Should
-	 * be run in a background thread.
-	 * 
-	 * @param changes set if items to be refreshed in the viewer
-	 */
-	public void change(Collection changes) {
-		Iterator iter = changes.iterator();
-		
-		while (iter.hasNext()) {
-			Object next = iter.next();
-			boolean isVisible = false;
-			synchronized(visibleItems) {
-				if (visibleItems.contains(next)) {
-					visibleItems.remove(next);
-					visibleItems.add(next);
-					pendingChanges.add(next);
-					isVisible = true;
-					hasPendingChanges = true;
-				}				
-			}
-			
-			if (!isVisible) {
-				if (insertionsInMiddle.contains(next)) {
-					insertionsInMiddle.remove(next);
-					insertionsInMiddle.add(next);
-					hasPendingChanges = true;
-				} else if (insertionsAtEnd.contains(next)) {
-					insertionsAtEnd.remove(next);
-					insertionsAtEnd.add(next);
-					hasPendingChanges = true;
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Sets the desired contents of the viewer, enqueueing any additions and removals
-	 * necessary such that the final contents of the viewer will be as specified.
-	 * Should be run in a background thread. If the given montor is canceled (possibly
-	 * in another thread), the operation will be aborted without modifying the queue.
-	 * 
-	 * @param newPendingContents desired contents of the viewer
-	 * @param mon progress monitor
-	 */
-	public void set(Collection newPendingContents, IProgressMonitor mon) {
-		mon.beginTask(SETTING_CONTENTS, 100); 
-		
-		// Set of items in newPendingContents that are not currently in visibleItems
-		Set newInsertions = new HashSet();
-		
-		// New pendingRemovals queue
-		Set newPendingRemovals = new HashSet();
-		// New insertionsInMiddle queue
-		Set newInsertionsInMiddle = new HashSet();
-		// New insertionsAtEnd queue
-		Set newInsertionsAtEnd = newEndSet();
-		
-		addWithProgress(newInsertions, newPendingContents, mon, 5);
-		synchronized(visibleItems) {
-			addWithProgress(newPendingRemovals, visibleItems, mon, 5);
-			removeWithProgress(newPendingRemovals, newInsertions, mon, 5);
-			removeWithProgress(newInsertions, visibleItems, mon, 5);
-		}
-		
-		if (newInsertions.isEmpty() && newPendingRemovals.isEmpty()) {
-			return;
-		}
-		
-		SubProgressMonitor sub = new SubProgressMonitor(mon, 80);		
-		SortUtil.partition(newInsertionsInMiddle, newInsertionsAtEnd, newInsertionsAtEnd, newInsertions,
-				sortOrder, lastVisible, sub);
-		
-		// Do nothing if the operation was cancelled.
-		if (mon.isCanceled()) {
-			mon.done();
-			return;
-		}
-		
-		// Now we've computed everything. Apply all the computed changes.
-		hasPendingChanges = true;
-		lastDirty = false;
-		insertionsAtEnd.clear();
-		insertionsAtEnd = newInsertionsAtEnd;
-		
-		insertionsInMiddle.clear();
-		insertionsInMiddle = newInsertionsInMiddle;
-		
-		pendingRemovals.clear();
-		pendingRemovals = newPendingRemovals;
-				
-		mon.done();
-	}
-
-	/**
-	 * Applies the next set of changes to the table. Returns the number of items
-	 * actually refreshed. Must run in the UI thread.
-	 * 
-	 * @param maximumToChange maximum number of queued changes to apply
-	 * @return the number of changes actually applied.
-	 */
-	private int nextChange(int maximumToChange) {
-		Collection result = SortUtil.removeFirst(pendingChanges, maximumToChange);
-		
-		viewer.update(result.toArray(), null);
-		
-		return result.size();
-	}
-	
-	/**
-	 * Applies the next set of removals from the table. Must run in the UI thread.
-	 * 
-	 * @param maximumToRemove maximum number of items to remove from the table.
-	 * @return the number of items actually removed.
-	 */
-	private int nextRemoval(int maximumToRemove) {
-		ArrayList result = new ArrayList(maximumToRemove);
-			
-		int counter = maximumToRemove;
-		
-		Iterator iter = pendingRemovals.iterator();
-		while (iter.hasNext() && counter > 0) {
-			Object next = iter.next();
-			
-			result.add(next);
-			
-			if (lastVisible != null && lastVisible.equals(next)) {
-				lastDirty = true;
-			}
-			
-			iter.remove();
-			counter--;
-		}
-		
-		synchronized(visibleItems) {
-			visibleItems.removeAll(result);
-		}
-		
-		viewer.remove(result.toArray());
-		
-		if (lastDirty) {
-			lastVisible = viewer.getElementAt(viewer.getTable().getItemCount() - 1);
-		}
-		
-		return result.size();
-	}
-	
-	/**
-	 * Applies the next set of insertions into the middle of the queue.
-	 * 
-	 * @param maximumToInsert
-	 * @return
-	 */
-	private int nextInsertionInMiddle(int maximumToInsert) {
-		
-		refreshQueues(new NullProgressMonitor());
-		
-		Collection result = SortUtil.removeFirst(insertionsInMiddle, maximumToInsert);
-		
-		synchronized(visibleItems) {			
-			visibleItems.addAll(result);
-		}
-		
-		// We manually compute the insertion position because setting a sorter on 
-		// the viewer would force a refresh, which can be very slow with a large number
-		// of items.
-		
-		Iterator iter = result.iterator();
-		while (iter.hasNext()) {
-			Object element = iter.next();
-			
-			int insertionPos = getInsertPosition(element);
-			viewer.insert(element, insertionPos);
-		}
-				
-		return result.size();
-	}
-	
-	/**
-	 * Applies the next insertion at the end of the table. Returns the number of
-	 * items actually inserted.
-	 * 
-	 * @param maximumToInsert maximum number of items to insert into the end
-	 * of the table
-	 * @return the number of items actually inserted into the table
-	 */
-	private int nextInsertionAtEnd(int maximumToInsert) {
-		refreshQueues(new NullProgressMonitor());
-		
-		List result = new ArrayList(maximumToInsert);
-		
-		Iterator iter = insertionsAtEnd.iterator();
-		for (int counter = 0; counter < maximumToInsert && iter.hasNext(); counter++) {
-			lastVisible = iter.next();
-			
-			result.add(lastVisible);
-			
-			iter.remove();
-		}
-		
-		synchronized(visibleItems) {
-			visibleItems.addAll(result);
-		}
-		
-		viewer.add(result.toArray());
-		
-		return result.size();
-	}
-	
-	/**
-	 * Clears the set of visible items, and reinserts everything from scratch.
-	 */
-	public void reset() {
-		synchronized(visibleItems) {
-			visibleItems.removeAll(pendingRemovals);
-			
-			insertionsInMiddle.addAll(visibleItems);
-			lastVisible = null;
-			lastDirty = true;
-			
-			visibleItems.clear();
-		}
-		pendingRemovals.clear();
-		hasPendingChanges = true;
-	}
-	
-	/**
-	 * Returns true iff there are pending changes remaining to be applied.
-	 * 
-	 * @return true iff there are pending changes to be applied to the table
-	 */
-	public boolean hasPendingChanges() {
-		return hasPendingChanges;
-	}
-	
-	/**
-	 * Returns an estimate of the work remaining (the result is meaningful with respect
-	 * to the return value of nextUpdate())
-	 * 
-	 * @return an estimate of the work remaining
-	 */
-	public int workRemaining() {
-		return pendingRemovals.size() + insertionsAtEnd.size() + insertionsInMiddle.size() + pendingChanges.size();
-	}
-	
-	/**
-	 * 
-	 * Cancels all pending insertions and removals.
-	 */
-	public void cancelPending() {
-		insertionsAtEnd.clear();
-		insertionsInMiddle.clear();
-		pendingRemovals.clear();
-		hasPendingChanges = false;
-	}
-	
-	public void setComparator(Comparator c) {
-		if (sortOrder == c) {
-			return;
-		}
-		
-		sortOrder = c;
-		
-		lastVisible = null;
-		
-		insertionsInMiddle.addAll(insertionsAtEnd);
-		insertionsAtEnd = newEndSet();			
-		lastDirty = true;
-		
-		reset();
-	}
-
-	/**
-	 * Applies any deferred sorting. 
-	 * @param mon
-	 */
-	public void refreshQueues(IProgressMonitor mon) {
-		if (lastDirty) {
-			if (mon.isCanceled()) {
-				return;
-			}
-			HashSet newInsertionsInMiddle = new HashSet();
-			SortUtil.partition(newInsertionsInMiddle, insertionsAtEnd, insertionsAtEnd,
-					insertionsInMiddle, sortOrder, lastVisible, mon);
-			
-			if (mon.isCanceled()) {
-				insertionsInMiddle.removeAll(insertionsAtEnd);
-			} else {
-				insertionsInMiddle = newInsertionsInMiddle;
-				lastDirty = false;
-			}
-		}
-	}
-
-	/**
-	 * Determines the insertion position for the given element in the table. Note
-	 * that this is essentially the same as TableViewer.getInsertPosition, but we
-	 * need to do it here because if we set a sorter on the TableViewer, this will
-	 * force a refresh of the table which can be extremely slow.
-	 * 
-	 * @param element object whose insertion position is being computed.
-	 * @return
-	 */
-	private int getInsertPosition(Object element) {
-		Table table = viewer.getTable();
-		if(sortOrder == null)
-			return table.getItemCount();
-		int count = table.getItemCount();
-		int min = 0, max = count - 1;
-		while (min <= max) {
-			int mid = (min + max) / 2;
-			Object data = table.getItem(mid).getData();
-			int compare = sortOrder.compare(data, element);
-			if (compare == 0) {
-				// find first item > element
-				while (compare == 0) {
-					++mid;
-					if (mid >= count) {
-						break;
-					}
-					data = table.getItem(mid).getData();
-					compare = sortOrder.compare(data, element);
-				}
-				return mid;
-			}
-			if (compare < 0)
-				min = mid + 1;
-			else
-				max = mid - 1;
-		}
-		return min;		
-	}	
-	
-	/**
-	 * Performs a single update to the viewer. Based on the contents of the pending* queues,
-	 * items will either be removed, added, or refreshed in the viewer (in that order). This
-	 * should only be called within a synchronized block, since the various queues shouldn't
-	 * be modified during an update. This method is invoked repeatedly by jobs to gradually
-	 * apply the pending changes.
-	 */
-	public int nextUpdate() {
-		
-		int pendingRemovalsSize = pendingRemovals.size();
-		
-		if (pendingRemovalsSize > 0) {		
-			int currentSize = countVisibleItems();
-			// Determine if we should remove incrementally or rebuild the table from scratch.
-			int finalSize = currentSize - pendingRemovalsSize;
-			
-			if (finalSize * finalSize * 2 <= currentSize * currentSize) {
-				
-				// If we're removing enough items that it would be faster just to rebuild
-				// the table from scratch, do it that way.
-				
-				reset();
-				getViewer().refresh();
-				
-				return 0;
-			}
-			
-			return nextRemoval(nextUpdateSize());
-		} else if (insertionsInMiddle.size() > 0) {
-			return nextInsertionInMiddle(nextUpdateSize());
-		} else if (insertionsAtEnd.size() > 0) {								
-			return nextInsertionAtEnd(MAX_UPDATE);
-		} else if (pendingChanges.size() > 0) {
-			return nextChange(MAX_UPDATE);			
-		}
-		
-		hasPendingChanges = false;
-		
-		return 0;
-	}	
-		
-	/**
-	 * @return
-	 */
-	int countVisibleItems() {
-		synchronized(visibleItems) {
-			return visibleItems.size();
-		}
-	}
-
-	/**
-	 * Returns the number of items that should be added or removed in the next
-	 * incremental update. This is used for the operations whose runtime increases
-	 * with the size of the visible items.
-	 * 
-	 * @return the number of changes that should be applied in the next update
-	 */
-	private int nextUpdateSize() {
-		int size = GROWTH_LIMIT * (MAX_UPDATE - MIN_UPDATE) 
-			/ (GROWTH_LIMIT + countVisibleItems()) + MIN_UPDATE;
-		
-		return size;
-	}
-
-	/**
-	 * Returns the TableViewer that is being populated.
-	 * 
-	 * @return the TableViewer that is being modified.
-	 */
-	public TableViewer getViewer() {
-		return viewer;
-	}
-
-	/**
-	 * Returns a new empty set to be used for insertionsAtEnd
-	 * 
-	 * @return
-	 */
-	private Set newEndSet() {
-		if (sortOrder == null) {
-			return new HashSet();
-		} else {
-			return new TreeSet(sortOrder);
-		}
-	}
-	
-	
-	/**
-	 * Removes all the given items from the target collection, and updates
-	 * the given progress monitor by the given amount. If the monitor is cancelled,
-	 * no changes are made to the target collection.
-	 *  
-	 * @param target items will be removed from this collection
-	 * @param toRemove items to be removed from the collection
-	 * @param mon progress monitor to be updated 
-	 * @param worked amount to update the monitor
-	 */
-	private static void removeWithProgress(Collection target, Collection toRemove,
-										   IProgressMonitor mon, int worked) {
-		if (mon.isCanceled()) {
-			return;
-		}
-		
-		target.removeAll(toRemove);
-		
-		mon.worked(worked);
-	}
-	
-	/**
-	 * Inserts all the given items into the target collection, and updates
-	 * the progress monitor. If the monitor is cancelled, no changes will
-	 * be made to the target.
-	 * 
-	 * @param target collection into which items will be inserted
-	 * @param toInsert items to be inserted into the collection
-	 * @param mon progress monitor that will be updated
-	 * @param worked amount to update the progress monitor
-	 */
-	private static void addWithProgress(Collection target, Collection toInsert, 
-										IProgressMonitor mon, int worked) {
-		if (mon.isCanceled()) {
-			return;
-		}
-		
-		target.addAll(toInsert);
-		
-		mon.worked(worked);
-	}
-
-	/**
-	 * @return
-	 */
-	public Comparator getSorter() {
-		return sortOrder;
-	}
-	
-	
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogBookmarkFilter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogBookmarkFilter.java
deleted file mode 100644
index bf4a059..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogBookmarkFilter.java
+++ /dev/null
@@ -1,161 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-
-public class DialogBookmarkFilter extends org.eclipse.ui.views.markers.internal.DialogMarkerFilter {
-
-	private DescriptionGroup descriptionGroup;
-	
-	private class DescriptionGroup {
-		private Label descriptionLabel;
-		private Combo combo;
-		private Text description;
-		private String contains = Messages.getString("filtersDialog.contains"); //$NON-NLS-1$
-		private String doesNotContain = Messages.getString("filtersDialog.doesNotContain"); //$NON-NLS-1$
-		public DescriptionGroup(Composite parent) {
-			descriptionLabel = new Label(parent, SWT.NONE);
-			descriptionLabel.setFont(parent.getFont());
-			descriptionLabel.setText(Messages.getString("filtersDialog.descriptionLabel")); //$NON-NLS-1$
-			
-			combo = new Combo(parent, SWT.READ_ONLY);
-			combo.setFont(parent.getFont());
-			combo.add(contains);
-			combo.add(doesNotContain);
-			combo.addSelectionListener(selectionListener);
-			// Prevent Esc and Return from closing the dialog when the combo is active.
-			combo.addTraverseListener(new TraverseListener() {
-				public void keyTraversed(TraverseEvent e) {
-					if (e.detail == SWT.TRAVERSE_ESCAPE || e.detail == SWT.TRAVERSE_RETURN) {
-						e.doit = false;
-					}
-				}
-			});
-			
-			description = new Text(parent, SWT.SINGLE | SWT.BORDER);
-			description.setFont(parent.getFont());
-			GridData data = new GridData(GridData.FILL_HORIZONTAL);
-			data.horizontalSpan = 3;
-			description.setLayoutData(data);
-			description.addModifyListener(new ModifyListener() {
-				public void modifyText(ModifyEvent e) {
-					DialogBookmarkFilter.this.markDirty();
-				}
-			});
-		}
-		public boolean getContains() {
-			return combo.getSelectionIndex() == combo.indexOf(contains);
-		}
-		public void setContains(boolean value) {
-			if (value) {
-				combo.select(combo.indexOf(contains));
-			}
-			else {
-				combo.select(combo.indexOf(doesNotContain));
-			}
-		}
-		public void setDescription(String text) {
-			if (text == null) {
-				description.setText(""); //$NON-NLS-1$ 
-			}
-			else {
-				description.setText(text);
-			}
-		}
-		public String getDescription() {
-			return description.getText();
-		}
-		public void updateEnablement() {
-			descriptionLabel.setEnabled(isFilterEnabled());
-			combo.setEnabled(isFilterEnabled());
-			description.setEnabled(isFilterEnabled());
-		}
-	}
-	
-	/**
-	 * @param parentShell
-	 * @param filter
-	 */
-	public DialogBookmarkFilter(Shell parentShell, BookmarkFilter filter) {
-		super(parentShell, filter);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.markerview.FiltersDialog#createAttributesArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected void createAttributesArea(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		composite.setFont(parent.getFont());
-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		GridLayout layout = new GridLayout(5, false);
-		layout.verticalSpacing = 7;
-		composite.setLayout(layout);
-		
-		descriptionGroup = new DescriptionGroup(composite);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.markerview.FiltersDialog#updateFilterFromUI(org.eclipse.ui.views.markerview.MarkerFilter)
-	 */
-	protected void updateFilterFromUI() {
-		BookmarkFilter filter = (BookmarkFilter) getFilter();
-		
-		filter.setContains(descriptionGroup.getContains());
-		filter.setDescription(descriptionGroup.getDescription().trim());
-		
-		super.updateFilterFromUI();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.markerview.FiltersDialog#updateUIFromFilter(org.eclipse.ui.views.markerview.MarkerFilter)
-	 */
-	protected void updateUIFromFilter() {
-		BookmarkFilter filter = (BookmarkFilter) getFilter();
-		
-		descriptionGroup.setContains(filter.getContains());
-		descriptionGroup.setDescription(filter.getDescription());
-		
-		super.updateUIFromFilter();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.markerview.FiltersDialog#updateEnabledState()
-	 */
-	protected void updateEnabledState() {
-		super.updateEnabledState();
-		descriptionGroup.updateEnablement();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.markerview.FiltersDialog#resetPressed()
-	 */
-	protected void resetPressed() {
-		descriptionGroup.setContains(BookmarkFilter.DEFAULT_CONTAINS);
-		descriptionGroup.setDescription(BookmarkFilter.DEFAULT_DESCRIPTION);
-
-		super.resetPressed();
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogMarkerFilter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogMarkerFilter.java
deleted file mode 100644
index 240c0b7..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogMarkerFilter.java
+++ /dev/null
@@ -1,757 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ColumnPixelData;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.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.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.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.IWorkingSetSelectionDialog;
-
-/**
- * Dialog which allows user to modify all settings of an org.eclipse.ui.views.MarkerFilter object.
- * Not intended to be subclassed or instantiated by clients.
- */
-public class DialogMarkerFilter extends Dialog {
-	/**
-	 * button IDs
-	 */
-	static final int RESET_ID = IDialogConstants.CLIENT_ID;
-	static final int SELECT_WORKING_SET_ID = IDialogConstants.CLIENT_ID + 1;
-	static final int SELECT_ALL_ID = IDialogConstants.CLIENT_ID + 2;
-	static final int DESELECT_ALL_ID = IDialogConstants.CLIENT_ID + 3;
-	
-	private class TypesLabelProvider extends LabelProvider implements ITableLabelProvider {
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int)
-		 */
-		public Image getColumnImage(Object element, int columnIndex) {
-			return null;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
-		 */
-		public String getColumnText(Object element, int columnIndex) {
-			if (!(element instanceof MarkerType)) {
-				return ""; //$NON-NLS-1$
-			}
-			MarkerType type = (MarkerType) element;
-			if (columnIndex == 0) {
-				return type.getLabel();
-			}
-			if (columnIndex == 1) {
-				String superTypes = ""; //$NON-NLS-1$
-				MarkerType[] supers = type.getSupertypes();
-				for (int i = 0; i < supers.length; i++) {
-					superTypes += supers[i].getLabel();
-					if (i < supers.length - 1) {
-						superTypes += "; "; //$NON-NLS-1$
-					}
-				}
-				return superTypes;
-			}
-			return ""; //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Creates and manages a group of widgets for selecting a working 
-	 * set marker filter.
-	 */
-	private class WorkingSetGroup {
-		private Button button;
-		private Button selectButton;
-		/**
-		 * Creates the working set filter selection widgets.
-		 * 
-		 * @param parent the parent composite of the working set widgets
-		 */
-		WorkingSetGroup(Composite parent) {
-			// radio button has to be part of main radio button group
-			button = createRadioButton(parent, Messages.getString("filtersDialog.noWorkingSet")); //$NON-NLS-1$
-			GridData data = new GridData(GridData.FILL_HORIZONTAL);
-			button.setLayoutData(data);
-
-			Composite composite = new Composite(parent, SWT.NONE);
-			composite.setFont(parent.getFont());
-			GridLayout layout = new GridLayout();
-			Button radio = new Button(parent, SWT.RADIO);
-			layout.marginWidth = radio.computeSize(SWT.DEFAULT, SWT.DEFAULT).x;
-			layout.marginHeight = 0;
-			radio.dispose();
-			composite.setLayout(layout);
-			selectButton = createButton(composite, SELECT_WORKING_SET_ID, Messages.getString("filtersDialog.workingSetSelect"), false); //$NON-NLS-1$
-		}
-		/**
-		 * Returns wether or not a working set filter should be used
-		 * 
-		 * @return 
-		 * 	true=a working set filter should be used
-		 * 	false=a working set filter should not be used
-		 */
-		boolean getSelection() {
-			return button.getSelection();
-		}
-		/**
-		 * Returns the selected working set filter or null if none 
-		 * is selected.
-		 * 
-		 * @return the selected working set filter or null if none 
-		 * 	is selected.
-		 */
-		IWorkingSet getWorkingSet() {
-			return (IWorkingSet) button.getData();
-		}
-		/**
-		 * Sets the working set filter selection.
-		 * 
-		 * @param selected true=a working set filter should be used
-		 * 	false=no working set filter should be used
-		 */
-		void setSelection(boolean selected) {
-			button.setSelection(selected);
-			if (selected) {
-				anyResourceButton.setSelection(false);
-				anyResourceInSameProjectButton.setSelection(false);
-				selectedResourceButton.setSelection(false);
-				selectedResourceAndChildrenButton.setSelection(false);
-			}
-		}
-		/**
-		 * Opens the working set selection dialog.
-		 */
-		void selectPressed() {
-			IWorkingSetSelectionDialog dialog = PlatformUI.getWorkbench().getWorkingSetManager().createWorkingSetSelectionDialog(getShell(), false);
-			IWorkingSet workingSet = getWorkingSet();
-			
-			if (workingSet != null) {
-				dialog.setSelection(new IWorkingSet[]{workingSet});
-			}
-			if (dialog.open() == Window.OK) {
-				markDirty();
-				IWorkingSet[] result = dialog.getSelection();
-				if (result != null && result.length > 0) {
-					setWorkingSet(result[0]);
-				}
-				else {
-					setWorkingSet(null);
-				}				
-				if (getSelection() == false) {
-					setSelection(true);
-				}
-			}
-		}
-		/**
-		 * Sets the specified working set.
-		 * 
-		 * @param workingSet the working set 
-		 */
-		void setWorkingSet(IWorkingSet workingSet) {
-			button.setData(workingSet);
-			if (workingSet != null) {					
-				button.setText(Messages.format(
-					"filtersDialog.workingSet", 					//$NON-NLS-1$
-					new Object[] {workingSet.getName()})); 
-			}
-			else {
-				button.setText(Messages.getString("filtersDialog.noWorkingSet")); //$NON-NLS-1$
-			}
-		}
-		void setEnabled(boolean enabled) {
-			button.setEnabled(enabled);
-			selectButton.setEnabled(enabled);
-		}
-	}
-
-	private MarkerFilter filter;
-
-	private CheckboxTableViewer typesViewer;
-	private Button filterEnabledButton;
-	private Button filterOnMarkerLimit;
-	private Button anyResourceButton;
-	private Button anyResourceInSameProjectButton;
-	private Button selectedResourceButton;
-	private Button selectedResourceAndChildrenButton;
-	private Button selectAllButton;
-	private Button deselectAllButton;
-	private WorkingSetGroup workingSetGroup;
-	private Text markerLimit;
-	
-	private boolean dirty = false;
-	
-	protected SelectionListener selectionListener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			DialogMarkerFilter.this.widgetSelected(e);
-		}
-	};
-
-	protected ICheckStateListener checkStateListener = new ICheckStateListener() {
-		public void checkStateChanged(CheckStateChangedEvent event) {
-			DialogMarkerFilter.this.checkStateChanged(event);
-		}
-	};
-
-	/**
-	 * Creates a new filters dialog.
-	 */
-	DialogMarkerFilter(Shell parentShell, MarkerFilter filter) {
-		super(parentShell);
-		this.filter = filter;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected void buttonPressed(int buttonId) {
-		if (buttonId == RESET_ID) {
-			resetPressed();
-			markDirty();
-		}
-		else if (buttonId == SELECT_WORKING_SET_ID) {
-			workingSetGroup.selectPressed();
-		}
-		else if (buttonId == SELECT_ALL_ID) {
-			typesViewer.setAllChecked(true);
-		}
-		else if (buttonId == DESELECT_ALL_ID) {
-			typesViewer.setAllChecked(false);
-		}
-		else {
-			super.buttonPressed(buttonId);
-		}
-	}
-
-	/**
-	 * This method is called when a button is checked or unchecked. It updates the enablement
-	 * state of all widgets and marks the dialog as dirty.
-	 */
-	void checkStateChanged(CheckStateChangedEvent event) {
-		updateEnabledState();
-		markDirty();
-	}
-		
-	/**
-	 * Method declared on Window.
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		newShell.setText(Messages.getString("filtersDialog.title")); //$NON-NLS-1$
-	}
-
-	protected void createResetArea(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		composite.setFont(parent.getFont());
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 0;	
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
-		
-		Button reset = new Button(composite, SWT.PUSH);
-		reset.setText(Messages.getString("restoreDefaults.text")); //$NON-NLS-1$
-		reset.setData(new Integer(RESET_ID));
-		
-		reset.addSelectionListener(new SelectionAdapter() {
-		   public void widgetSelected(SelectionEvent event) {
-			   buttonPressed(((Integer) event.widget.getData()).intValue());
-		   }
-	   	});	
-	   	
-		reset.setFont(composite.getFont());
-	   	setButtonLayoutData(reset);
-	}
-
-	/**
-	 * Creates a check box button with the given parent and text.
-	 *
-	 * @param parent the parent composite
-	 * @param text the text for the check box
-	 * @param grabRow <code>true</code>to grab the remaining horizontal space, <code>false</code> otherwise
-	 * @return the check box button
-	 */
-	protected Button createCheckbox(Composite parent, String text, boolean grabRow) {
-		Button button = new Button(parent, SWT.CHECK);
-		if (grabRow) {
-			GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-			button.setLayoutData(gridData);
-		}
-		button.setText(text);
-		button.addSelectionListener(selectionListener);
-		button.setFont(parent.getFont());
-		return button;
-	}
-
-	/**
-	 * Creates a combo box with the given parent, items, and selection
-	 *
-	 * @param parent the parent composite
-	 * @param items the items for the combo box
-	 * @param selectionIndex the index of the item to select
-	 * @return the combo box
-	 */
-	protected Combo createCombo(Composite parent, String[] items, int selectionIndex) {
-		Combo combo = new Combo(parent, SWT.DROP_DOWN | SWT.READ_ONLY);
-		combo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		combo.setFont(parent.getFont());
-		combo.setItems(items);
-		combo.select(selectionIndex);
-		combo.addSelectionListener(selectionListener);
-		return combo;
-	}
-
-	/**
-	 * Method declared on Dialog.
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Composite composite = (Composite) super.createDialogArea(parent);
-		createOnOffArea(composite);
-		createMarkerLimitArea(composite);
-		createTypesArea(composite);
-		createResourceArea(composite);
-		createAttributesArea(composite);
-		createResetArea(composite);
-		createSeparatorLine(composite);	
-	
-		updateUIFromFilter();
-		
-		return composite;
-	}
-
-	/**
-	 * Creates a separator line above the OK/Cancel buttons bar
-	 * 
-	 * @param parent the parent composite
-	 */
-	protected void createSeparatorLine(Composite parent) {
-		// Build the separator line
-		Label separator = new Label(parent, SWT.HORIZONTAL | SWT.SEPARATOR);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 1;
-		separator.setLayoutData(gd);
-	}
-
-	/**
-	 * Creates a radio button with the given parent and text.
-	 *
-	 * @param parent the parent composite
-	 * @param text the text for the check box
-	 * @return the radio box button
-	 */
-	protected Button createRadioButton(Composite parent, String text) {
-		Button button = new Button(parent, SWT.RADIO);
-		button.setText(text);
-		button.setFont(parent.getFont());
-		button.addSelectionListener(selectionListener);
-		return button;
-	}
-
-	/**
-	 * Creates the area showing which resources should be considered.
-	 *
-	 * @param parent the parent composite
-	 */
-	protected void createResourceArea(Composite parent) {
-		Composite group = new Composite(parent, SWT.NONE);
-		group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		group.setLayout(new GridLayout());
-		group.setFont(parent.getFont());
-		anyResourceButton = createRadioButton(group, Messages.getString("filtersDialog.anyResource")); //$NON-NLS-1$
-		anyResourceInSameProjectButton = createRadioButton(group, Messages.getString("filtersDialog.anyResourceInSameProject")); //$NON-NLS-1$ // added by cagatayk@acm.org
-		selectedResourceButton = createRadioButton(group, Messages.getString("filtersDialog.selectedResource")); //$NON-NLS-1$
-		selectedResourceAndChildrenButton = createRadioButton(group, Messages.getString("filtersDialog.selectedAndChildren")); //$NON-NLS-1$
-		workingSetGroup = new WorkingSetGroup(group);
-	}
-
-	/**
-	 * Creates the area showing which marker types should be included.
-	 *
-	 * @param parent the parent composite
-	 */
-	protected void createTypesArea(Composite parent) {
-		Font font = parent.getFont();
-		Composite composite = new Composite(parent, SWT.NONE);
-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		GridLayout layout = new GridLayout();
-		composite.setLayout(layout);
-	
-		Label label = new Label(composite, SWT.NONE);
-		label.setText(Messages.getString("filtersDialog.showItemsOfType")); //$NON-NLS-1$
-		label.setFont(font);
-		
-		Table table = new Table(composite, SWT.CHECK | SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER);
-		table.setLinesVisible(true);
-		table.setHeaderVisible(true);
-		TableLayout tableLayout = new TableLayout();
-		table.setLayout(tableLayout);
-		tableLayout.addColumnData(new ColumnPixelData(150, true));
-		TableColumn tc = new TableColumn(table, SWT.NONE, 0);
-		tc.setText(Messages.getString("filtersDialog.type.columnHeader")); //$NON-NLS-1$
-		tableLayout.addColumnData(new ColumnPixelData(224, true));
-		tc = new TableColumn(table, SWT.NONE, 1);
-		tc.setText(Messages.getString("filtersDialog.superTypecolumnHeader")); //$NON-NLS-1$
-		typesViewer = new CheckboxTableViewer(table);
-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-		gridData.heightHint = 105;
-		gridData.widthHint = 350;
-		typesViewer.getTable().setFont(font);
-		typesViewer.getControl().setLayoutData(gridData);
-		typesViewer.setContentProvider(getContentProvider());
-		typesViewer.setLabelProvider(getLabelProvider());
-		typesViewer.setSorter(getSorter());
-		typesViewer.addCheckStateListener(checkStateListener);
-		typesViewer.setInput(filter.getRootTypes().toArray());
-		
-		Composite buttonComposite = new Composite(composite, SWT.NONE);
-		GridLayout buttonLayout = new GridLayout();
-		buttonLayout.marginWidth = 0;
-		buttonComposite.setLayout(buttonLayout);
-		selectAllButton = createButton(buttonComposite, 
-									   SELECT_ALL_ID, 
-									   Messages.getString("filtersDialog.selectAll"), //$NON-NLS-1$ 
-									   false);
-		deselectAllButton = createButton(buttonComposite, 
-										 DESELECT_ALL_ID, 
-										 Messages.getString("filtersDialog.deselectAll"), //$NON-NLS-1$ 
-										 false);
-	}
-
-	private IStructuredContentProvider getContentProvider() {
-		return new IStructuredContentProvider() {
-			public Object[] getElements(Object inputElement) {
-				List roots = filter.getRootTypes();
-				List elements = new ArrayList();
-				for (int i = 0; i < roots.size(); i++) {
-					Object obj = roots.get(i);
-					if (obj instanceof MarkerType) {
-						elements.add(obj);
-						MarkerType[] subTypes = ((MarkerType) obj).getAllSubTypes();
-						for (int j = 0; j < subTypes.length; j++) {
-							MarkerType subType = subTypes[j];
-							if (!elements.contains(subType)) {
-								elements.add(subType);
-							}
-						}
-					}
-				}
-				return elements.toArray();
-			}
-			public void dispose() {
-			}
-			public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-			}
-		};
-	}
-	
-	/**
-	 * Creates the filter enablement area.
-	 * 
-	 * @param parent the parent composite
-	 */
-	protected void createOnOffArea(Composite parent) {
-		Font font = parent.getFont();
-		Composite composite = new Composite(parent, SWT.NONE);
-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		composite.setFont(font);
-		composite.setLayout(new GridLayout());
-		filterEnabledButton = createCheckbox(composite,
-			Messages.getString("filtersDialog.onOff"), //$NON-NLS-1$
-			false);
-		filterEnabledButton.setFont(composite.getFont());
-		filterEnabledButton.setLayoutData(new GridData());
-		filterEnabledButton.addSelectionListener(selectionListener);
-	}
-
-	/**
-	 * Creates the area where the user can specify a maximum number of items
-	 * to display in the table.
-	 * 
-	 * @param parent the parent composite
-	 */
-	protected void createMarkerLimitArea(Composite parent) {
-		Font font = parent.getFont();
-		Composite composite = new Composite(parent, SWT.NONE);
-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		composite.setFont(font);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		composite.setLayout(layout);
-		filterOnMarkerLimit = createCheckbox(composite,
-			Messages.getString("filtersDialog.limitVisibleMarkersTo"), //$NON-NLS-1$
-			false);
-		filterOnMarkerLimit.setFont(composite.getFont());
-		filterOnMarkerLimit.setLayoutData(new GridData());
-		filterOnMarkerLimit.addSelectionListener(selectionListener);
-		markerLimit = new Text(composite, SWT.SINGLE | SWT.BORDER);
-		markerLimit.setTextLimit(6);
-		GridData gridData = new GridData();
-		gridData.widthHint = convertWidthInCharsToPixels(10);
-		markerLimit.setLayoutData(gridData);
-		markerLimit.setFont(font);
-		markerLimit.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				markDirty();
-			}
-		});
-	}
-	
-	/**
-	 * This method is intended to be overridden by subclasses of FiltersDialog. The
-	 * attributes area will be created just above the Restore Defaults button.
-	 * 
-	 * @param parent the parent Composite
-	 */
-	protected void createAttributesArea(Composite parent) {	
-	}
-
-	private ILabelProvider getLabelProvider() {
-		return new TypesLabelProvider();
-	}
-
-	/**
-	 * Returns the selected marker types.
-	 *
-	 * @return the selected marker types
-	 */
-	protected List getSelectedTypes() {
-		return Arrays.asList(typesViewer.getCheckedElements());
-	}
-
-	protected ViewerSorter getSorter() {
-		return new ViewerSorter() {
-			public int compare(Viewer viewer, Object e1, Object e2) {
-				MarkerType t1 = (MarkerType) e1;
-				MarkerType t2 = (MarkerType) e2;
-				return collator.compare(t1.getLabel(), t2.getLabel());
-			}
-		};
-	}
-
-	/**
-	 * Updates the filter from the UI state.
-	 * Must be done here rather than by extending open()
-	 * because after super.open() is called, the widgetry is disposed.
-	 */
-	protected void okPressed() {
-		try {
-			int markerLimit = Integer.parseInt(this.markerLimit.getText());
-	
-			if (markerLimit < 1) {
-				throw new NumberFormatException();
-			}			
-			
-			updateFilterFromUI();
-			super.okPressed();
-		}
-		catch (NumberFormatException eNumberFormat) {
-			MessageBox messageBox = new MessageBox(getShell(), 
-					SWT.OK | SWT.APPLICATION_MODAL | SWT.ICON_ERROR);
-			messageBox.setText(Messages.getString(
-					"filtersDialog.titleMarkerLimitInvalid")); //$NON-NLS-1$
-			messageBox.setMessage(Messages.getString(
-					"filtersDialog.messageMarkerLimitInvalid")); //$NON-NLS-1$
-			messageBox.open();
-	
-			if (markerLimit.forceFocus()) {
-				markerLimit.setSelection(0, markerLimit.getCharCount());
-				markerLimit.showSelection();
-			}
-		}
-	}
-
-	/**
-	 * Handles a press of the Reset button.
-	 * Updates the UI state to correspond to a reset filter,
-	 * but doesn't actually reset our filter.
-	 */
-	protected void resetPressed() {
-		filterEnabledButton.setSelection(MarkerFilter.DEFAULT_ACTIVATION_STATUS);
-		filterOnMarkerLimit.setSelection(MarkerFilter.DEFAULT_FILTER_ON_MARKER_LIMIT);
-		markerLimit.setText(String.valueOf(MarkerFilter.DEFAULT_MARKER_LIMIT));
-		typesViewer.setAllChecked(true);
-		int onResource = MarkerFilter.DEFAULT_ON_RESOURCE;
-		anyResourceButton.setSelection(onResource == MarkerFilter.ON_ANY_RESOURCE);
-		anyResourceInSameProjectButton.setSelection(onResource == MarkerFilter.ON_ANY_RESOURCE_OF_SAME_PROJECT);
-		selectedResourceButton.setSelection(onResource == MarkerFilter.ON_SELECTED_RESOURCE_ONLY);
-		selectedResourceAndChildrenButton.setSelection(onResource == MarkerFilter.ON_SELECTED_RESOURCE_AND_CHILDREN);
-		workingSetGroup.setSelection(onResource == MarkerFilter.ON_WORKING_SET);
-		updateEnabledState();
-	}
-
-	/**
-	 * Sets the selected marker types.
-	 *
-	 * @param markerTypes
-	 */
-	void setSelectedTypes(List markerTypes) {
-		typesViewer.setCheckedElements(new Object[0]);
-		for (int i = 0; i < markerTypes.size(); i++) {
-			Object obj = markerTypes.get(i);
-			if (obj instanceof MarkerType) {
-				typesViewer.setChecked(obj, true);
-			}
-		}
-	}
-
-	/**
-	 * Updates the enabled state of the widgetry.
-	 */
-	protected void updateEnabledState() {
-		filterOnMarkerLimit.setEnabled(isFilterEnabled());
-		markerLimit.setEnabled(isFilterEnabled() && filterOnMarkerLimit.getSelection());
-		
-		typesViewer.getTable().setEnabled(isFilterEnabled());
-		selectAllButton.setEnabled(isFilterEnabled() && typesViewer.getTable().getItemCount() > 0);
-		deselectAllButton.setEnabled(isFilterEnabled() && typesViewer.getTable().getItemCount() > 0);
-		
-		anyResourceButton.setEnabled(isFilterEnabled());
-		anyResourceInSameProjectButton.setEnabled(isFilterEnabled());
-		selectedResourceButton.setEnabled(isFilterEnabled());
-		selectedResourceAndChildrenButton.setEnabled(isFilterEnabled());
-		workingSetGroup.setEnabled(isFilterEnabled());
-	}
-	
-	/**
-	 * Updates the given filter from the UI state.
-	 */
-	protected void updateFilterFromUI() {
-		filter.setEnabled(filterEnabledButton.getSelection());
-		
-		filter.setSelectedTypes(getSelectedTypes());
-		
-		if (selectedResourceButton.getSelection())
-			filter.setOnResource(MarkerFilter.ON_SELECTED_RESOURCE_ONLY);
-		else if (selectedResourceAndChildrenButton.getSelection())
-			filter.setOnResource(MarkerFilter.ON_SELECTED_RESOURCE_AND_CHILDREN);
-		else if (anyResourceInSameProjectButton.getSelection())
-			filter.setOnResource(MarkerFilter.ON_ANY_RESOURCE_OF_SAME_PROJECT);
-		else if (workingSetGroup.getSelection())
-			filter.setOnResource(MarkerFilter.ON_WORKING_SET);
-		else
-			filter.setOnResource(MarkerFilter.ON_ANY_RESOURCE);
-	
-		filter.setWorkingSet(workingSetGroup.getWorkingSet());
-
-		int markerLimit = MarkerFilter.DEFAULT_MARKER_LIMIT;
-		
-		try {
-			markerLimit = Integer.parseInt(this.markerLimit.getText());
-		}
-		catch (NumberFormatException e) {
-		}
-	
-		filter.setMarkerLimit(markerLimit);	
-		filter.setFilterOnMarkerLimit(filterOnMarkerLimit.getSelection());
-	}
-
-	/**
-	 * Updates the UI state from the given filter.
-	 */
-	protected void updateUIFromFilter() {
-		filterEnabledButton.setSelection(filter.isEnabled());
-		
-		setSelectedTypes(filter.getSelectedTypes());
-	
-		int on = filter.getOnResource();
-		anyResourceButton.setSelection(on == MarkerFilter.ON_ANY_RESOURCE);
-		anyResourceInSameProjectButton.setSelection(on == MarkerFilter.ON_ANY_RESOURCE_OF_SAME_PROJECT);
-		selectedResourceButton.setSelection(on == MarkerFilter.ON_SELECTED_RESOURCE_ONLY);
-		selectedResourceAndChildrenButton.setSelection(on == MarkerFilter.ON_SELECTED_RESOURCE_AND_CHILDREN);
-		workingSetGroup.setSelection(on == MarkerFilter.ON_WORKING_SET);
-		workingSetGroup.setWorkingSet(filter.getWorkingSet());
-				
-		markerLimit.setText("" + filter.getMarkerLimit()); //$NON-NLS-1$
-		filterOnMarkerLimit.setSelection(filter.getFilterOnMarkerLimit());
-	
-		updateEnabledState();
-	}
-
-	/**
-	 * Handles selection on a check box or combo box.
-	 */
-	protected void widgetSelected(SelectionEvent e) {
-		updateEnabledState();
-		markDirty();
-	}
-	
-	/**
-	 * @return <code>true</code> if the dirty flag has been set otherwise
-	 * <code>false</code>.
-	 */
-	boolean isDirty() {
-		return dirty;
-	}
-
-	/**
-	 * Marks the dialog as dirty.
-	 */
-	void markDirty() {
-		dirty = true;
-	}
-
-	public void setFilter(MarkerFilter newFilter) {
-		filter = newFilter;
-		updateUIFromFilter();
-	}
-	
-	/**
-	 * @return the MarkerFilter associated with the dialog.
-	 */
-	public MarkerFilter getFilter() {
-		return filter;
-	}
-	
-	/**
-	 * @return <code>true</code> if the filter's enablement button is checked 
-	 * otherwise <code>false</code>.
-	 */
-	protected boolean isFilterEnabled() {
-		return (filterEnabledButton == null) || filterEnabledButton.getSelection();
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogMarkerProperties.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogMarkerProperties.java
deleted file mode 100644
index 09fb210..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogMarkerProperties.java
+++ /dev/null
@@ -1,584 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.swt.SWT;
-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.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.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.StatusUtil;
-
-/**
- * Shows the properties of a new or existing marker
- */
-class DialogMarkerProperties extends Dialog {
-
-	/**
-	 * The marker being shown, or <code>null</code> for a new marker
-	 */
-	private IMarker marker = null;
-
-	/**
-	 * The resource on which to create a new marker
-	 */
-	private IResource resource = null;
-	
-	/**
-	 * The type of marker to be created
-	 */
-	private String type = IMarker.MARKER;
-
-	/**
-	 * The initial attributes to use when creating a new marker
-	 */
-	private Map initialAttributes = null;
-
-	/**
-	 * The text control for the Description field.
-	 */
-	private Text descriptionText;
-
-	/**
-	 * The control for the Creation Time field.
-	 */
-	private Label creationTime;
-
-	/**
-	 * The text control for the Resource field.
-	 */
-	private Text resourceText;
-
-	/**
-	 * The text control for the Folder field.
-	 */
-	private Text folderText;
-
-	/**
-	 * The text control for the Location field.
-	 */
-	private Text locationText;
-
-	/**
-	 * Dirty flag.  True if any changes have been made.
-	 */
-	private boolean dirty;
-
-	private String title;
-
-	/**
-	 * Creates the dialog.  By default this dialog creates a new marker.
-	 * To set the resource and initial attributes for the new marker, 
-	 * use <code>setResource</code> and <code>setInitialAttributes</code>.
-	 * To show or modify an existing marker, use <code>setMarker</code>.
-	 * 
-	 * @param shell the parent shell
-	 */
-	DialogMarkerProperties(Shell parentShell) {
-		super(parentShell);
-	}
-
-	/**
-	 * Creates the dialog.  By default this dialog creates a new marker.
-	 * To set the resource and initial attributes for the new marker, 
-	 * use <code>setResource</code> and <code>setInitialAttributes</code>.
-	 * To show or modify an existing marker, use <code>setMarker</code>.
-	 * 
-	 * @param shell the parent shell
-	 * @param title the title of the dialog
-	 */
-	DialogMarkerProperties(Shell parentShell, String title) {
-		super(parentShell);
-		this.title = title;
-	}
-
-	/**
-	 * @see org.eclipse.jface.window.Window#create()
-	 */
-	public void create() {
-		super.create();
-	}
-
-	/**
-	 * Sets the marker to show or modify.
-	 * 
-	 * @param marker the marker, or <code>null</code> to create a new marker
-	 */
-	void setMarker(IMarker marker) {
-		this.marker = marker;
-		if (marker != null) {
-			try {
-				type = marker.getType();
-			}
-			catch (CoreException e) {
-			}
-		}
-	}
-
-	/**
-	 * Returns the marker being created or modified.
-	 * For a new marker, this returns <code>null</code> until
-	 * the dialog returns, but is non-null after.
-	 */
-	IMarker getMarker() {
-		return marker;
-	}
-
-	/**
-	 * Sets the resource to use when creating a new marker.
-	 * If not set, the new marker is created on the workspace root.
-	 */
-	public void setResource(IResource resource) {
-		this.resource = resource;
-	}
-
-	/**
-	 * Returns the resource to use when creating a new marker,
-	 * or <code>null</code> if none has been set.
-	 * If not set, the new marker is created on the workspace root.
-	 */
-	IResource getResource() {
-		return resource;
-	}
-
-	/**
-	 * Sets initial attributes to use when creating a new marker.
-	 * If not set, the new marker is created with default attributes.
-	 */
-	void setInitialAttributes(Map initialAttributes) {
-		this.initialAttributes = initialAttributes;
-	}
-
-	/**
-	 * Returns the initial attributes to use when creating a new marker,
-	 * or <code>null</code> if not set.
-	 * If not set, the new marker is created with default attributes.
-	 */
-	Map getInitialAttributes() {
-		if (initialAttributes == null) {
-			initialAttributes = new HashMap();
-		}
-		return initialAttributes;
-	}
-
-	/**
-	 * Method declared on Window.
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		if (title == null)
-			newShell.setText(
-				Messages.getString("propertiesDialog.title")); //$NON-NLS-1$
-		else
-			newShell.setText(title);
-	}
-
-	/**
-	 * Method declared on Dialog.
-	 */
-	protected Control createDialogArea(Composite parent) {
-		//initialize resources/properties
-		if (marker != null) {
-			resource = marker.getResource();
-			try {
-				initialAttributes = marker.getAttributes();
-			}
-			catch (CoreException e) {
-			}
-		}
-		else if (resource == null) {
-			resource = ResourcesPlugin.getWorkspace().getRoot();
-		}
-		
-		Composite composite = (Composite) super.createDialogArea(parent);
-		initializeDialogUnits(composite);
-		createDescriptionArea(composite);
-		if (marker != null) {
-			createCreationTimeArea(composite);
-		}
-		createAttributesArea(composite);
-		if (resource != null)
-			createResourceArea(composite);
-		updateDialogFromMarker();
-		updateEnablement();
-		return composite;
-	}
-	/**
-	 * Method createCreationTimeArea.
-	 * @param composite
-	 */
-	private void createCreationTimeArea(Composite parent) {
-		String creation = Messages.getString("propertiesDialog.creationTime.text");//$NON-NLS-1$
-		
-		Font font = parent.getFont();
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		composite.setLayout(layout);
-
-		Label label = new Label(composite, SWT.NONE);
-		label.setText(creation); 
-		label.setFont(font);
-
-		creationTime = new Label(composite, SWT.NONE);
-		creationTime.setFont(font);
-	}
-
-	/**
-	 * Creates the OK and Cancel buttons.
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		createButton(
-			parent,
-			IDialogConstants.OK_ID,
-			IDialogConstants.OK_LABEL,
-			true);
-		createButton(
-			parent,
-			IDialogConstants.CANCEL_ID,
-			IDialogConstants.CANCEL_LABEL,
-			false);
-	}
-
-	/**
-	 * Creates the area for the Description field.
-	 */
-	private void createDescriptionArea(Composite parent) {
-		Font font = parent.getFont();
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		composite.setLayout(layout);
-		Label label = new Label(composite, SWT.NONE);
-		label.setText(Messages.getString("propertiesDialog.description.text")); //$NON-NLS-1$
-		label.setFont(font);
-		int style = SWT.SINGLE | SWT.BORDER;
-		descriptionText = new Text(composite, style);
-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-		gridData.widthHint = convertHorizontalDLUsToPixels(400);
-		descriptionText.setLayoutData(gridData);
-		descriptionText.setFont(font);
-		
-		descriptionText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				markDirty();
-			}
-		});
-	}
-	
-	/**
-	 * This method is intended to be overridden by subclasses. The attributes area is created between
-	 * the creation time area and the resource area.
-	 * 
-	 * @param parent the parent composite
-	 */
-	protected void createAttributesArea(Composite parent) {
-	}
-
-	/**
-	 * Creates the area for the Resource field.
-	 */
-	private void createResourceArea(Composite parent) {
-		Font font = parent.getFont();
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-		composite.setLayoutData(gridData);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		composite.setLayout(layout);
-
-		Label resourceLabel = new Label(composite, SWT.NONE);
-		resourceLabel.setText(Messages.getString("propertiesDialog.resource.text")); //$NON-NLS-1$
-		resourceLabel.setFont(font);
-		resourceText =
-			new Text(
-				composite,
-				SWT.SINGLE | SWT.WRAP | SWT.READ_ONLY | SWT.BORDER);
-		gridData = new GridData(GridData.FILL_HORIZONTAL);
-		resourceText.setLayoutData(gridData);
-		resourceText.setFont(font);
-
-		Label folderLabel = new Label(composite, SWT.NONE);
-		folderLabel.setText(Messages.getString("propertiesDialog.folder.text")); //$NON-NLS-1$
-		folderLabel.setFont(font);
-		folderText =
-			new Text(
-				composite,
-				SWT.SINGLE | SWT.WRAP | SWT.READ_ONLY | SWT.BORDER);
-		gridData = new GridData(GridData.FILL_HORIZONTAL);
-		folderText.setLayoutData(gridData);
-		folderText.setFont(font);
-
-		Label locationLabel = new Label(composite, SWT.NONE);
-		locationLabel.setText(Messages.getString("propertiesDialog.location.text")); //$NON-NLS-1$
-		locationLabel.setFont(font);
-		locationText =
-			new Text(
-				composite,
-				SWT.SINGLE | SWT.WRAP | SWT.READ_ONLY | SWT.BORDER);
-		gridData = new GridData(GridData.FILL_HORIZONTAL);
-		locationText.setLayoutData(gridData);
-		locationText.setFont(font);
-	}
-
-	/**
-	 * Updates the dialog from the marker state.
-	 */
-	protected void updateDialogFromMarker() {
-		if (marker == null) {
-			updateDialogForNewMarker();
-			return;			
-		}
-		descriptionText.setText(Util.getProperty(IMarker.MESSAGE, marker));
-		if (creationTime != null)
-			creationTime.setText(Util.getCreationTime(marker));
-		if (resourceText != null)
-			resourceText.setText(Util.getResourceName(marker));
-		if (folderText != null)
-			folderText.setText(Util.getContainerName(marker));
-		if (locationText != null) {
-			String line = Util.getProperty(IMarker.LINE_NUMBER, marker);
-			if (line.equals("")) //$NON-NLS-1$
-				locationText.setText(""); //$NON-NLS-1$
-			else
-				locationText.setText(Messages.format("label.lineNumber", new String[] {line})); //$NON-NLS-1$
-		}
-
-		descriptionText.selectAll();
-	}
-	
-	/**
-	 * Updates the dialog from the predefined attributes.
-	 */
-	protected void updateDialogForNewMarker() {
-		if (resource != null && resourceText != null && folderText != null) {
-			resourceText.setText(resource.getName());
-			
-			IPath path = resource.getFullPath();
-			int n = path.segmentCount() - 1; // n is the number of segments in container, not path
-			if (n > 0) {
-				int len = 0;
-				for (int i = 0; i < n; ++i)
-					len += path.segment(i).length();
-				// account for /'s
-				if (n > 1)
-					len += n-1;
-				StringBuffer sb = new StringBuffer(len);
-				for (int i = 0; i < n; ++i) {
-					if (i != 0)
-						sb.append('/');
-					sb.append(path.segment(i));
-				}
-				folderText.setText(sb.toString());
-			}
-		}
-		
-		if (initialAttributes != null) {
-			Object description = initialAttributes.get(IMarker.MESSAGE);
-			if (description != null && description instanceof String)
-				descriptionText.setText((String) description);
-			descriptionText.selectAll();
-				
-			Object line = initialAttributes.get(IMarker.LINE_NUMBER);
-			if (line != null && line instanceof Integer && locationText != null)
-				locationText.setText(Messages.format("label.lineNumber", new Object[] {line})); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Method declared on Dialog
-	 */
-	protected void okPressed() {
-		if (marker == null || Util.isEditable(marker)) {
-			saveChanges();
-		}
-		super.okPressed();
-	}
-
-	/**
-	 * Sets the dialog's dirty flag to <code>true</code>
-	 */
-	protected void markDirty() {
-		dirty = true;
-	}
-
-	/**
-	 * @return
-	 * <ul>
-	 * <li><code>true</code> if the dirty flag has been set to true.</li>
-	 * <li><code>false</code> otherwise.</li>
-	 * </ul>
-	 */
-	protected boolean isDirty() {
-		return dirty;
-	}
-
-	/**
-	 * Saves the changes made in the dialog if needed.
-	 * Creates a new marker if needed.
-	 * Updates the existing marker only if there have been changes.
-	 */
-	private void saveChanges() {
-		
-		final CoreException[] coreExceptions = new CoreException[1];
-		
-		try{
-			final Map attrs = getMarkerAttributes();
-			
-			PlatformUI.getWorkbench().getProgressService().
-				busyCursorWhile(
-					new IRunnableWithProgress(){
-						/* (non-Javadoc)
-						 * @see org.eclipse.jface.operation.IRunnableWithProgress#run(org.eclipse.core.runtime.IProgressMonitor)
-						 */
-						public void run(IProgressMonitor monitor)
-							throws InvocationTargetException,
-							InterruptedException {
-							try{
-								
-								monitor.beginTask("",100);//$NON-NLS-1$
-								ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
-									public void run(IProgressMonitor monitor)
-									throws CoreException {
-										if (marker == null)
-											createMarker(monitor);
-										if (isDirty())
-											updateMarker(monitor,attrs);
-									}
-								}, monitor);
-								monitor.done();
-							} catch (CoreException e) {
-								coreExceptions[0] = e;
-							}
-						}
-
-				});
-		}
-		catch (InvocationTargetException e) {
-			IDEWorkbenchPlugin.log(e.getMessage(),StatusUtil.newStatus(IStatus.ERROR,e.getMessage(),e));
-			return;
-		}
-		
-		catch (InterruptedException e) {
-		}
-		
-		if(coreExceptions [0] != null)
-			ErrorDialog.openError(getShell(), Messages.getString("Error"), null, coreExceptions[0].getStatus()); //$NON-NLS-1$
-			
-	}
-
-	/**
-	 * Creates or updates the marker.  Must be called within a workspace runnable.
-	 * @param monitor the monitor we report to. 
-	 * @param attrs the attributes from the dialog
-	 */
-	private void updateMarker(IProgressMonitor monitor, Map attrs) throws CoreException {
-		// Set the marker attributes from the current dialog field values.
-		// Do not use setAttributes(Map) as that overwrites any attributes
-		// not covered by the dialog.
-		
-		int increment = 50/attrs.size();
-		
-		for (Iterator i = attrs.keySet().iterator(); i.hasNext();) {
-			monitor.worked(increment);
-			String key = (String) i.next();
-			Object val = attrs.get(key);
-			marker.setAttribute(key, val);
-		}
-	}
-
-	/**
-	 * Returns the marker attributes to save back to the marker, 
-	 * based on the current dialog fields.
-	 */
-	protected Map getMarkerAttributes() {
-		Map attrs;
-		if (initialAttributes == null) {
-			attrs = initialAttributes;
-		}
-		else {
-			attrs = new HashMap();
-		}
-		attrs.put(IMarker.MESSAGE, descriptionText.getText());
-		return attrs;
-	}
-	
-	/**
-	 * Create the marker and report progress
-	 * to the monitor.
-	 * @param monitor
-	 * @throws a CoreException
-	 */
-	private void createMarker(IProgressMonitor monitor) throws CoreException{
-		if (resource == null) 
-			return;
-		
-		monitor.worked(10);
-		marker = resource.createMarker(type);
-		monitor.worked(40);
-	}
-	
-	/**
-	 * Updates widget enablement for the dialog. Should be overridden by subclasses. 
-	 */
-	protected void updateEnablement() {
-		descriptionText.setEditable(isEditable());
-	}
-	
-	/**
-	 * @return
-	 * <ul>
-	 * <li><code>true</code> if the marker is editable or the dialog is creating a new marker.</li>
-	 * <li><code>false</code> if the marker is not editable.</li>
-	 * </ul>
-	 */
-	protected boolean isEditable() {
-		if (marker == null) {
-			return true;
-		}
-		return Util.isEditable(marker);
-	}
-	
-	/**
-	 * Sets the marker type when creating a new marker.
-	 * 
-	 * @param type the marker type
-	 */
-	void setType(String type) {
-		this.type = type;
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogProblemFilter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogProblemFilter.java
deleted file mode 100644
index f6f62cb..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogProblemFilter.java
+++ /dev/null
@@ -1,263 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-
-public class DialogProblemFilter extends org.eclipse.ui.views.markers.internal.DialogMarkerFilter {
-
-	private DescriptionGroup descriptionGroup;
-	private SeverityGroup severityGroup;
-	
-	private class DescriptionGroup {
-		private Label descriptionLabel;
-		private Combo combo;
-		private Text description;
-		private String contains = Messages.getString("filtersDialog.contains"); //$NON-NLS-1$
-		private String doesNotContain = Messages.getString("filtersDialog.doesNotContain"); //$NON-NLS-1$
-		public DescriptionGroup(Composite parent) {
-			descriptionLabel = new Label(parent, SWT.NONE);
-			descriptionLabel.setFont(parent.getFont());
-			descriptionLabel.setText(Messages.getString("filtersDialog.descriptionLabel")); //$NON-NLS-1$
-			
-			combo = new Combo(parent, SWT.READ_ONLY);
-			combo.setFont(parent.getFont());
-			combo.add(contains);
-			combo.add(doesNotContain);
-			combo.addSelectionListener(selectionListener);
-			// Prevent Esc and Return from closing the dialog when the combo is active.
-			combo.addTraverseListener(new TraverseListener() {
-				public void keyTraversed(TraverseEvent e) {
-					if (e.detail == SWT.TRAVERSE_ESCAPE || e.detail == SWT.TRAVERSE_RETURN) {
-						e.doit = false;
-					}
-				}
-			});
-			
-			description = new Text(parent, SWT.SINGLE | SWT.BORDER);
-			description.setFont(parent.getFont());
-			GridData data = new GridData(GridData.FILL_HORIZONTAL);
-			data.horizontalSpan = 3;
-			description.setLayoutData(data);
-			description.addModifyListener(new ModifyListener() {
-				public void modifyText(ModifyEvent e) {
-					DialogProblemFilter.this.markDirty();
-				}
-			});
-		}
-		public boolean getContains() {
-			return combo.getSelectionIndex() == combo.indexOf(contains);
-		}
-		public void setContains(boolean value) {
-			if (value) {
-				combo.select(combo.indexOf(contains));
-			}
-			else {
-				combo.select(combo.indexOf(doesNotContain));
-			}
-		}
-		public void setDescription(String text) {
-			if (text == null) {
-				description.setText(""); //$NON-NLS-1$ 
-			}
-			else {
-				description.setText(text);
-			}
-		}
-		public String getDescription() {
-			return description.getText();
-		}
-		public void updateEnablement() {
-			descriptionLabel.setEnabled(isFilterEnabled());
-			combo.setEnabled(isFilterEnabled());
-			description.setEnabled(isFilterEnabled());
-		}
-	}
-	
-	private class SeverityGroup {
-		private Button enablementButton;
-		private Button errorButton;
-		private Button warningButton;
-		private Button infoButton;
-		public SeverityGroup(Composite parent) {
-			SelectionListener listener = new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					updateEnablement();
-					DialogProblemFilter.this.markDirty();
-				}
-			};
-			
-			enablementButton = new Button(parent, SWT.CHECK);
-			GridData data = new GridData(GridData.FILL_HORIZONTAL);
-			data.horizontalSpan = 2;
-			enablementButton.setLayoutData(data);
-			enablementButton.setFont(parent.getFont());
-			enablementButton.setText(Messages.getString("filtersDialog.severityLabel")); //$NON-NLS-1$
-			enablementButton.addSelectionListener(listener);
-			
-			errorButton = new Button(parent, SWT.CHECK);
-			errorButton.setFont(parent.getFont());
-			errorButton.setText(Messages.getString("filtersDialog.severityError")); //$NON-NLS-1$
-			errorButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-			errorButton.addSelectionListener(selectionListener);
-			
-			warningButton = new Button(parent, SWT.CHECK);
-			warningButton.setFont(parent.getFont());
-			warningButton.setText(Messages.getString("filtersDialog.severityWarning")); //$NON-NLS-1$
-			warningButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-			warningButton.addSelectionListener(selectionListener);
-			
-			infoButton = new Button(parent, SWT.CHECK);
-			infoButton.setFont(parent.getFont());
-			infoButton.setText(Messages.getString("filtersDialog.severityInfo")); //$NON-NLS-1$
-			infoButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-			infoButton.addSelectionListener(selectionListener);
-		}
-		public boolean isEnabled() {
-			return enablementButton.getSelection();
-		}
-		public void setEnabled(boolean enabled) {
-			enablementButton.setSelection(enabled);
-		}
-		public boolean isErrorSelected() {
-			return errorButton.getSelection();
-		}
-		public void setErrorSelected(boolean selected) {
-			errorButton.setSelection(selected);
-		}
-		public boolean isWarningSelected() {
-			return warningButton.getSelection();
-		}
-		public void setWarningSelected(boolean selected) {
-			warningButton.setSelection(selected);
-		}
-		public boolean isInfoSelected() {
-			return infoButton.getSelection();
-		}
-		public void setInfoSelected(boolean selected) {
-			infoButton.setSelection(selected);
-		}
-		public void updateEnablement() {
-			enablementButton.setEnabled(isFilterEnabled());
-			errorButton.setEnabled(enablementButton.isEnabled() && isEnabled());
-			warningButton.setEnabled(enablementButton.isEnabled() && isEnabled());
-			infoButton.setEnabled(enablementButton.isEnabled() && isEnabled());
-		}
-	}
-	
-	/**
-	 * @param parentShell
-	 * @param filter
-	 */
-	public DialogProblemFilter(Shell parentShell, ProblemFilter filter) {
-		super(parentShell, filter);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.markerview.FiltersDialog#createAttributesArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected void createAttributesArea(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		composite.setFont(parent.getFont());
-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		GridLayout layout = new GridLayout(5, false);
-		layout.verticalSpacing = 7;
-		composite.setLayout(layout);
-		
-		descriptionGroup = new DescriptionGroup(composite);
-		severityGroup = new SeverityGroup(composite);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.markerview.FiltersDialog#updateFilterFromUI(org.eclipse.ui.views.markerview.MarkerFilter)
-	 */
-	protected void updateFilterFromUI() {
-		ProblemFilter filter = (ProblemFilter) getFilter();
-		
-		filter.setContains(descriptionGroup.getContains());
-		filter.setDescription(descriptionGroup.getDescription().trim());
-		
-		filter.setSelectBySeverity(severityGroup.isEnabled());
-		int severity = 0;
-		if (severityGroup.isErrorSelected()) {
-			severity = severity | ProblemFilter.SEVERITY_ERROR;
-		}
-		if (severityGroup.isWarningSelected()) {
-			severity = severity | ProblemFilter.SEVERITY_WARNING;
-		}
-		if (severityGroup.isInfoSelected()) {
-			severity = severity | ProblemFilter.SEVERITY_INFO;
-		}
-		filter.setSeverity(severity);
-		
-		super.updateFilterFromUI();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.markerview.FiltersDialog#updateUIFromFilter(org.eclipse.ui.views.markerview.MarkerFilter)
-	 */
-	protected void updateUIFromFilter() {
-		ProblemFilter filter = (ProblemFilter) getFilter();
-		
-		descriptionGroup.setContains(filter.getContains());
-		descriptionGroup.setDescription(filter.getDescription());
-		
-		severityGroup.setEnabled(filter.getSelectBySeverity());
-		int severity = filter.getSeverity();
-		severityGroup.setErrorSelected((severity & ProblemFilter.SEVERITY_ERROR) > 0);
-		severityGroup.setWarningSelected((severity & ProblemFilter.SEVERITY_WARNING) > 0);
-		severityGroup.setInfoSelected((severity & ProblemFilter.SEVERITY_INFO) > 0);
-		
-		super.updateUIFromFilter();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.markerview.FiltersDialog#updateEnabledState()
-	 */
-	protected void updateEnabledState() {
-		super.updateEnabledState();
-		descriptionGroup.updateEnablement();
-		severityGroup.updateEnablement();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.markerview.FiltersDialog#resetPressed()
-	 */
-	protected void resetPressed() {
-		descriptionGroup.setContains(ProblemFilter.DEFAULT_CONTAINS);
-		descriptionGroup.setDescription(ProblemFilter.DEFAULT_DESCRIPTION);
-		
-		severityGroup.setEnabled(ProblemFilter.DEFAULT_SELECT_BY_SEVERITY);
-		severityGroup.setErrorSelected((ProblemFilter.DEFAULT_SEVERITY & ProblemFilter.SEVERITY_ERROR) > 0);
-		severityGroup.setWarningSelected((ProblemFilter.DEFAULT_SEVERITY & ProblemFilter.SEVERITY_WARNING) > 0);
-		severityGroup.setInfoSelected((ProblemFilter.DEFAULT_SEVERITY & ProblemFilter.SEVERITY_INFO) > 0);
-
-		super.resetPressed();
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogProblemProperties.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogProblemProperties.java
deleted file mode 100644
index 1dcf7f4..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogProblemProperties.java
+++ /dev/null
@@ -1,75 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-
-
-class DialogProblemProperties extends DialogMarkerProperties {
-	
-	private Label severityLabel;
-
-	DialogProblemProperties(Shell parentShell) {
-		super(parentShell);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.markerview.MarkerPropertiesDialog#createAttributesArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected void createAttributesArea(Composite parent) {
-		super.createAttributesArea(parent);
-		
-		Composite composite = new Composite(parent, SWT.NONE);
-		composite.setFont(parent.getFont());
-		composite.setLayout(new GridLayout());
-		
-		severityLabel = new Label(composite, SWT.NONE);
-		severityLabel.setFont(composite.getFont());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.markerview.MarkerPropertiesDialog#updateDialogFromMarker()
-	 */
-	protected void updateDialogFromMarker() {
-		super.updateDialogFromMarker();
-		IMarker marker = getMarker();
-		if (marker == null) {
-			return;
-		}
-		//TODO display image rather than text
-		FieldSeverity type = new FieldSeverity();
-		severityLabel.setImage(type.getImage(marker));
-		int severity = marker.getAttribute(IMarker.SEVERITY, -1);
-		if (severity == IMarker.SEVERITY_ERROR) {
-			severityLabel.setText(Messages.format("propertiesDialog.severityLabel", //$NON-NLS-1$
-				new String[] {Messages.getString("propertiesDialog.errorLabel")})); //$NON-NLS-1$
-		}
-		else if (severity == IMarker.SEVERITY_WARNING) {
-			severityLabel.setText(Messages.format("propertiesDialog.severityLabel", //$NON-NLS-1$
-				new String[] {Messages.getString("propertiesDialog.warningLabel")})); //$NON-NLS-1$
-		}
-		else if (severity == IMarker.SEVERITY_INFO) {
-			severityLabel.setText(Messages.format("propertiesDialog.severityLabel", //$NON-NLS-1$
-				new String[] {Messages.getString("propertiesDialog.infoLabel")})); //$NON-NLS-1$
-		}
-		else {
-			severityLabel.setText(Messages.format("propertiesDialog.severityLabel", //$NON-NLS-1$
-				new String[] {Messages.getString("propertiesDialog.noseverityLabel")})); //$NON-NLS-1$
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogTaskFilter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogTaskFilter.java
deleted file mode 100644
index 020961e..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogTaskFilter.java
+++ /dev/null
@@ -1,343 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-
-public class DialogTaskFilter extends org.eclipse.ui.views.markers.internal.DialogMarkerFilter {
-	
-	private DescriptionGroup descriptionGroup;
-	private PriorityGroup priorityGroup;
-	private StatusGroup statusGroup;
-	
-	private class DescriptionGroup {
-		private Label descriptionLabel;
-		private Combo combo;
-		private Text description;
-		private String contains = Messages.getString("filtersDialog.contains"); //$NON-NLS-1$
-		private String doesNotContain = Messages.getString("filtersDialog.doesNotContain"); //$NON-NLS-1$
-		public DescriptionGroup(Composite parent) {
-			descriptionLabel = new Label(parent, SWT.NONE);
-			descriptionLabel.setFont(parent.getFont());
-			descriptionLabel.setText(Messages.getString("filtersDialog.descriptionLabel")); //$NON-NLS-1$
-			
-			combo = new Combo(parent, SWT.READ_ONLY);
-			combo.setFont(parent.getFont());
-			combo.add(contains);
-			combo.add(doesNotContain);
-			combo.addSelectionListener(selectionListener);
-			// Prevent Esc and Return from closing the dialog when the combo is active.
-			combo.addTraverseListener(new TraverseListener() {
-				public void keyTraversed(TraverseEvent e) {
-					if (e.detail == SWT.TRAVERSE_ESCAPE || e.detail == SWT.TRAVERSE_RETURN) {
-						e.doit = false;
-					}
-				}
-			});
-			
-			description = new Text(parent, SWT.SINGLE | SWT.BORDER);
-			description.setFont(parent.getFont());
-			GridData data = new GridData(GridData.FILL_HORIZONTAL);
-			data.horizontalSpan = 3;
-			description.setLayoutData(data);
-			description.addModifyListener(new ModifyListener() {
-				public void modifyText(ModifyEvent e) {
-					DialogTaskFilter.this.markDirty();
-				}
-			});
-		}
-		public boolean getContains() {
-			return combo.getSelectionIndex() == combo.indexOf(contains);
-		}
-		public void setContains(boolean value) {
-			if (value) {
-				combo.select(combo.indexOf(contains));
-			}
-			else {
-				combo.select(combo.indexOf(doesNotContain));
-			}
-		}
-		public void setDescription(String text) {
-			if (text == null) {
-				description.setText(""); //$NON-NLS-1$ 
-			}
-			else {
-				description.setText(text);
-			}
-		}
-		public String getDescription() {
-			return description.getText();
-		}
-		public void updateEnablement() {
-			descriptionLabel.setEnabled(isFilterEnabled());
-			combo.setEnabled(isFilterEnabled());
-			description.setEnabled(isFilterEnabled());
-		}
-	}
-	
-	private class PriorityGroup {
-		private Button enablementButton;
-		private Button highButton;
-		private Button normalButton;
-		private Button lowButton;
-		public PriorityGroup(Composite parent) {
-			SelectionListener listener = new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					updateEnablement();
-					DialogTaskFilter.this.markDirty();
-				}
-			};
-			
-			enablementButton = new Button(parent, SWT.CHECK);
-			GridData data = new GridData(GridData.FILL_HORIZONTAL);
-			data.horizontalSpan = 2;
-			enablementButton.setLayoutData(data);
-			enablementButton.setFont(parent.getFont());
-			enablementButton.setText(Messages.getString("filtersDialog.priorityLabel")); //$NON-NLS-1$
-			enablementButton.addSelectionListener(listener);
-			
-			highButton = new Button(parent, SWT.CHECK);
-			highButton.setFont(parent.getFont());
-			highButton.setText(Messages.getString("filtersDialog.priorityHigh")); //$NON-NLS-1$
-			highButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-			highButton.addSelectionListener(selectionListener);
-			
-			normalButton = new Button(parent, SWT.CHECK);
-			normalButton.setFont(parent.getFont());
-			normalButton.setText(Messages.getString("filtersDialog.priorityNormal")); //$NON-NLS-1$
-			normalButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-			normalButton.addSelectionListener(selectionListener);
-			
-			lowButton = new Button(parent, SWT.CHECK);
-			lowButton.setFont(parent.getFont());
-			lowButton.setText(Messages.getString("filtersDialog.priorityLow")); //$NON-NLS-1$
-			lowButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-			lowButton.addSelectionListener(selectionListener);
-		}
-		public boolean isEnabled() {
-			return enablementButton.getSelection();
-		}
-		public void setEnabled(boolean enabled) {
-			enablementButton.setSelection(enabled);
-		}
-		public boolean isHighSelected() {
-			return highButton.getSelection();
-		}
-		public void setHighSelected(boolean selected) {
-			highButton.setSelection(selected);
-		}
-		public boolean isNormalSelected() {
-			return normalButton.getSelection();
-		}
-		public void setNormalSelected(boolean selected) {
-			normalButton.setSelection(selected);
-		}
-		public boolean isLowSelected() {
-			return lowButton.getSelection();
-		}
-		public void setLowSelected(boolean selected) {
-			lowButton.setSelection(selected);
-		}
-		public void updateEnablement() {
-			enablementButton.setEnabled(isFilterEnabled());
-			highButton.setEnabled(enablementButton.isEnabled() && isEnabled());
-			normalButton.setEnabled(enablementButton.isEnabled() && isEnabled());
-			lowButton.setEnabled(enablementButton.isEnabled() && isEnabled());
-		}
-	}
-	
-	private class StatusGroup {
-		private Button enablementButton;
-		private Button completeButton;
-		private Button incompleteButton;
-		public StatusGroup(Composite parent) {
-			SelectionListener enablementListener = new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					updateEnablement();
-					DialogTaskFilter.this.markDirty();
-				}
-			};
-			
-			enablementButton = new Button(parent, SWT.CHECK);
-			GridData data = new GridData(GridData.FILL_HORIZONTAL);
-			data.horizontalSpan = 2;
-			enablementButton.setLayoutData(data);
-			enablementButton.setFont(parent.getFont());
-			enablementButton.setText(Messages.getString("filtersDialog.statusLabel")); //$NON-NLS-1$
-			enablementButton.addSelectionListener(enablementListener);
-			
-			Composite composite = new Composite(parent, SWT.NONE);
-			composite.setFont(parent.getFont());
-			GridLayout layout = new GridLayout(2, false);
-			layout.marginHeight = 0;
-			layout.marginWidth = 0;
-			composite.setLayout(layout);
-			data = new GridData(GridData.FILL_HORIZONTAL);
-			data.horizontalSpan = 3;
-			composite.setLayoutData(data);
-			
-			SelectionListener listener = new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					completeButton.setSelection(!incompleteButton.getSelection());
-					incompleteButton.setSelection(!completeButton.getSelection());
-					DialogTaskFilter.this.markDirty();
-				}
-			};
-			
-			completeButton = new Button(composite, SWT.RADIO);
-			completeButton.setFont(composite.getFont());
-			completeButton.setText(Messages.getString("filtersDialog.statusComplete")); //$NON-NLS-1$
-			completeButton.addSelectionListener(listener);
-
-			incompleteButton = new Button(composite, SWT.RADIO);
-			incompleteButton.setFont(composite.getFont());
-			incompleteButton.setText(Messages.getString("filtersDialog.statusIncomplete")); //$NON-NLS-1$
-			incompleteButton.addSelectionListener(listener);
-		}
-		public boolean isEnabled() {
-			return enablementButton.getSelection();
-		}
-		public void setEnabled(boolean enabled) {
-			enablementButton.setSelection(enabled);
-		}
-		public boolean getDone() {
-			return completeButton.getSelection();
-		}
-		public void setDone(boolean done) {
-			completeButton.setSelection(done);
-			incompleteButton.setSelection(!done);
-		}
-		public void updateEnablement() {
-			enablementButton.setEnabled(isFilterEnabled());
-			completeButton.setEnabled(enablementButton.isEnabled() && isEnabled());
-			incompleteButton.setEnabled(enablementButton.isEnabled() && isEnabled());
-		}
-	}
-
-	/**
-	 * @param parentShell
-	 * @param filter
-	 */
-	public DialogTaskFilter(Shell parentShell, TaskFilter filter) {
-		super(parentShell, filter);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.markerview.FiltersDialog#createAttributesArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected void createAttributesArea(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		composite.setFont(parent.getFont());
-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		GridLayout layout = new GridLayout(5, false);
-		layout.verticalSpacing = 7;
-		composite.setLayout(layout);
-		
-		descriptionGroup = new DescriptionGroup(composite);
-		priorityGroup = new PriorityGroup(composite);
-		statusGroup = new StatusGroup(composite);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.markerview.FiltersDialog#updateFilterFromUI(org.eclipse.ui.views.markerview.MarkerFilter)
-	 */
-	protected void updateFilterFromUI() {
-		TaskFilter filter = (TaskFilter) getFilter();
-		
-		filter.setContains(descriptionGroup.getContains());
-		filter.setDescription(descriptionGroup.getDescription().trim());
-		
-		filter.setSelectByPriority(priorityGroup.isEnabled());
-		int priority = 0;
-		if (priorityGroup.isHighSelected()) {
-			priority = priority | TaskFilter.PRIORITY_HIGH;
-		}
-		if (priorityGroup.isNormalSelected()) {
-			priority = priority | TaskFilter.PRIORITY_NORMAL;
-		}
-		if (priorityGroup.isLowSelected()) {
-			priority = priority | TaskFilter.PRIORITY_LOW;
-		}
-		filter.setPriority(priority);
-		
-		filter.setSelectByDone(statusGroup.isEnabled());
-		filter.setDone(statusGroup.getDone());
-
-		super.updateFilterFromUI();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.markerview.FiltersDialog#updateUIFromFilter(org.eclipse.ui.views.markerview.MarkerFilter)
-	 */
-	protected void updateUIFromFilter() {
-		TaskFilter filter = (TaskFilter) getFilter();
-		
-		descriptionGroup.setContains(filter.getContains());
-		descriptionGroup.setDescription(filter.getDescription());
-		
-		priorityGroup.setEnabled(filter.getSelectByPriority());
-		int priority = filter.getPriority();
-		priorityGroup.setHighSelected((priority & TaskFilter.PRIORITY_HIGH) > 0);
-		priorityGroup.setNormalSelected((priority & TaskFilter.PRIORITY_NORMAL) > 0);
-		priorityGroup.setLowSelected((priority & TaskFilter.PRIORITY_LOW) > 0);
-		
-		statusGroup.setEnabled(filter.getSelectByDone());
-		statusGroup.setDone(filter.getDone());
-		
-		super.updateUIFromFilter();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.markerview.FiltersDialog#updateEnabledState()
-	 */
-	protected void updateEnabledState() {
-		super.updateEnabledState();
-		descriptionGroup.updateEnablement();
-		priorityGroup.updateEnablement();
-		statusGroup.updateEnablement();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.markerview.FiltersDialog#resetPressed()
-	 */
-	protected void resetPressed() {
-		descriptionGroup.setContains(TaskFilter.DEFAULT_CONTAINS);
-		descriptionGroup.setDescription(TaskFilter.DEFAULT_DESCRIPTION);
-		
-		priorityGroup.setEnabled(TaskFilter.DEFAULT_SELECT_BY_PRIORITY);
-		priorityGroup.setHighSelected((TaskFilter.DEFAULT_PRIORITY & TaskFilter.PRIORITY_HIGH) > 0);
-		priorityGroup.setNormalSelected((TaskFilter.DEFAULT_PRIORITY & TaskFilter.PRIORITY_NORMAL) > 0);
-		priorityGroup.setLowSelected((TaskFilter.DEFAULT_PRIORITY & TaskFilter.PRIORITY_NORMAL) > 0);
-		
-		statusGroup.setEnabled(TaskFilter.DEFAULT_SELECT_BY_DONE);
-		statusGroup.setDone(TaskFilter.DEFAULT_DONE);
-		
-		super.resetPressed();
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogTaskProperties.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogTaskProperties.java
deleted file mode 100644
index 2aade72..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogTaskProperties.java
+++ /dev/null
@@ -1,214 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.util.Map;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-
-
-public class DialogTaskProperties extends DialogMarkerProperties {
-	
-	private static final String PRIORITY_HIGH = Messages.getString("propertiesDialog.priorityHigh"); //$NON-NLS-1$
-	private static final String PRIORITY_NORMAL = Messages.getString("propertiesDialog.priorityNormal"); //$NON-NLS-1$
-	private static final String PRIORITY_LOW = Messages.getString("propertiesDialog.priorityLow"); //$NON-NLS-1$
-
-	protected Combo priorityCombo;
-	protected Button completedCheckbox;
-
-	/**
-	 * @param parentShell
-	 */
-	public DialogTaskProperties(Shell parentShell) {
-		super(parentShell);
-		setType(IMarker.TASK);
-	}
-	
-	/**
-	 * @param parentShell
-	 */
-	DialogTaskProperties(Shell parentShell, String title) {
-		super(parentShell, title);
-		setType(IMarker.TASK);
-	}
-	
-	/**
-	 * @see DialogMarkerProperties#createAttributesArea(Composite)
-	 */
-	protected void createAttributesArea(Composite parent) {
-		super.createAttributesArea(parent);
-		Composite composite = new Composite(parent, SWT.NONE);
-		composite.setFont(parent.getFont());
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		composite.setLayout(layout);
-		
-		Label label = new Label(composite, SWT.NONE);
-		label.setFont(composite.getFont());
-		label.setText(Messages.getString("propertiesDialog.priority")); //$NON-NLS-1$
-		priorityCombo = new Combo(composite, SWT.READ_ONLY);
-		priorityCombo.setItems(new String[] {PRIORITY_HIGH, PRIORITY_NORMAL, PRIORITY_LOW});
-		// Prevent Esc and Return from closing the dialog when the combo is active.
-		priorityCombo.addTraverseListener(new TraverseListener() {
-			public void keyTraversed(TraverseEvent e) {
-				if (e.detail == SWT.TRAVERSE_ESCAPE || e.detail == SWT.TRAVERSE_RETURN) {
-					e.doit = false;
-				}
-			}
-		});
-		priorityCombo.setFont(composite.getFont());
-		priorityCombo.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (getMarker() == null) {
-					Map initialAttributes = getInitialAttributes();
-					initialAttributes.put(IMarker.PRIORITY, new Integer(getPriorityFromDialog()));
-					}
-				markDirty();
-			}
-		});
-		
-		completedCheckbox = new Button(composite, SWT.CHECK);
-		completedCheckbox.setFont(composite.getFont());
-		completedCheckbox.setText(Messages.getString("propertiesDialog.completed")); //$NON-NLS-1$
-		GridData gridData = new GridData();
-		gridData.horizontalIndent = convertHorizontalDLUsToPixels(20);
-		completedCheckbox.setLayoutData(gridData);
-		completedCheckbox.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (getMarker() == null) {
-					Map initialAttributes = getInitialAttributes();
-					initialAttributes.put(IMarker.DONE, new Boolean(completedCheckbox.getSelection()));
-				}
-				markDirty();
-			}
-		});
-	}
-	
-	protected boolean getCompleted() {
-		IMarker marker = getMarker();
-		if (marker == null) {
-			Map attributes = getInitialAttributes();
-			Object done = attributes.get(IMarker.DONE);
-			return done != null && done instanceof Boolean && ((Boolean) done).booleanValue();
-		}
-		else {
-			return marker.getAttribute(IMarker.DONE, false);
-		}
-	}
-	
-	protected int getPriority() {
-		IMarker marker = getMarker();
-		int priority = IMarker.PRIORITY_NORMAL;
-		if (marker == null) {
-			Map attributes = getInitialAttributes();
-			Object priorityObj = attributes.get(IMarker.PRIORITY);
-			if (priorityObj != null && priorityObj instanceof Integer) {
-				priority = ((Integer) priorityObj).intValue();
-			}
-		}
-		else {
-			priority = marker.getAttribute(IMarker.PRIORITY, IMarker.PRIORITY_NORMAL);
-		}
-		return priority;
-	}
-	
-	/**
-	 * @see DialogMarkerProperties#updateEnablement()
-	 */
-	protected void updateEnablement() {
-		super.updateEnablement();
-		priorityCombo.setEnabled(isEditable());
-		completedCheckbox.setEnabled(isEditable());
-	}
-	
-	/**
-	 * @see DialogMarkerProperties#updateDialogForNewMarker()
-	 */
-	protected void updateDialogForNewMarker() {
-		Map initialAttributes = getInitialAttributes();
-		int priority = getPriority();
-		initialAttributes.put(IMarker.PRIORITY, new Integer(priority));
-		if (priority == IMarker.PRIORITY_HIGH) {
-			priorityCombo.select(priorityCombo.indexOf(PRIORITY_HIGH));
-		}
-		else if (priority == IMarker.PRIORITY_LOW) {
-			priorityCombo.select(priorityCombo.indexOf(PRIORITY_LOW));
-		}
-		else {
-			priorityCombo.select(priorityCombo.indexOf(PRIORITY_NORMAL));
-		}
-		boolean completed = getCompleted();
-		initialAttributes.put(IMarker.DONE, new Boolean(completed));
-		completedCheckbox.setSelection(completed);
-		super.updateDialogForNewMarker();
-	}
-
-	/**
-	 * @see DialogMarkerProperties#updateDialogFromMarker()
-	 */
-	protected void updateDialogFromMarker() {
-		Map initialAttributes = getInitialAttributes();
-		int priority = getPriority();
-		initialAttributes.put(IMarker.PRIORITY, new Integer(priority));
-		if (priority == IMarker.PRIORITY_HIGH) {
-			priorityCombo.select(priorityCombo.indexOf(PRIORITY_HIGH));
-		}
-		else if (priority == IMarker.PRIORITY_LOW) {
-			priorityCombo.select(priorityCombo.indexOf(PRIORITY_LOW));
-		}
-		else {
-			priorityCombo.select(priorityCombo.indexOf(PRIORITY_NORMAL));
-		}
-		boolean completed = getCompleted();
-		initialAttributes.put(IMarker.DONE, new Boolean(completed));
-		completedCheckbox.setSelection(completed);
-		super.updateDialogFromMarker();
-	}
-	
-	private int getPriorityFromDialog() {
-		int priority = IMarker.PRIORITY_NORMAL;
-		if (priorityCombo.getSelectionIndex() == priorityCombo.indexOf(PRIORITY_HIGH)) {
-			priority = IMarker.PRIORITY_HIGH;
-		}
-		else if (priorityCombo.getSelectionIndex() == priorityCombo.indexOf(PRIORITY_LOW)) {
-			priority = IMarker.PRIORITY_LOW;
-		}
-		return priority;
-	}
-	
-	/**
-	 * @see DialogMarkerProperties#getMarkerAttributes()
-	 */
-	protected Map getMarkerAttributes() {
-		Map attrs = super.getMarkerAttributes();
-		attrs.put(IMarker.PRIORITY, new Integer(getPriorityFromDialog()));
-		attrs.put(IMarker.DONE, new Boolean(completedCheckbox.getSelection()));
-		Object userEditable = attrs.get(IMarker.USER_EDITABLE);
-		if (userEditable == null || !(userEditable instanceof Boolean)) {
-			attrs.put(IMarker.USER_EDITABLE, new Boolean(true));
-		}
-		return attrs;
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldCreationTime.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldCreationTime.java
deleted file mode 100644
index 2486942..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldCreationTime.java
+++ /dev/null
@@ -1,97 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.swt.graphics.Image;
-
-
-/**
- * Creation time field. Designed to display and compare creation times of IMarker objects.
- */
-public class FieldCreationTime implements IField {
-
-	private String description;
-	private Image image;
-	
-	/**
-	 * The constructor
-	 */
-	public FieldCreationTime() {
-		description = Messages.getString("description.creationTime"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getDescription()
-	 */
-	public String getDescription() {
-		return description;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getDescriptionImage()
-	 */
-	public Image getDescriptionImage() {
-		return image;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getColumnHeaderText()
-	 */
-	public String getColumnHeaderText() {
-		return description;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getColumnHeaderImage()
-	 */
-	public Image getColumnHeaderImage() {
-		return image;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getValue(java.lang.Object)
-	 */
-	public String getValue(Object obj) {
-		if (obj == null || !(obj instanceof ConcreteMarker)) {
-			return ""; //$NON-NLS-1$
-		}
-		ConcreteMarker marker = (ConcreteMarker)obj;
-		return Util.getCreationTime(marker.getCreationTime());
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getImage(java.lang.Object)
-	 */
-	public Image getImage(Object obj) {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#compare(java.lang.Object, java.lang.Object)
-	 */
-	public int compare(Object obj1, Object obj2) {
-		if (obj1 == null || obj2 == null || !(obj1 instanceof ConcreteMarker) || !(obj2 instanceof ConcreteMarker)) {
-			return 0;
-		}
-		
-		ConcreteMarker marker1 = (ConcreteMarker) obj1;
-		ConcreteMarker marker2 = (ConcreteMarker) obj2;
-		
-		long value = marker1.getCreationTime() - marker2.getCreationTime();
-		if (value < 0) {
-			return -1;
-		} else if (value > 0) {
-			return 1;
-		} else return 0;
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldDone.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldDone.java
deleted file mode 100644
index 95b81fd..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldDone.java
+++ /dev/null
@@ -1,97 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.swt.graphics.Image;
-
-public class FieldDone implements IField {
-	
-	static final String DESCRIPTION_IMAGE_PATH = "obj16/header_complete.gif"; //$NON-NLS-1$
-	static final String COMPLETE_IMAGE_PATH = "obj16/complete_tsk.gif"; //$NON-NLS-1$
-	static final String INCOMPLETE_IMAGE_PATH = "obj16/incomplete_tsk.gif"; //$NON-NLS-1$
-
-	private String description;
-	private Image image;
-	
-	public FieldDone() {
-		description = Messages.getString("completion.description"); //$NON-NLS-1$
-		image = ImageFactory.getImage(DESCRIPTION_IMAGE_PATH);
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getDescription()
-	 */
-	public String getDescription() {
-		return description;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getDescriptionImage()
-	 */
-	public Image getDescriptionImage() {
-		return image;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getColumnHeaderText()
-	 */
-	public String getColumnHeaderText() {
-		return ""; //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getColumnHeaderImage()
-	 */
-	public Image getColumnHeaderImage() {
-		return image;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getValue(java.lang.Object)
-	 */
-	public String getValue(Object obj) {
-		return ""; //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getImage(java.lang.Object)
-	 */
-	public Image getImage(Object obj) {
-		if (obj == null || !(obj instanceof TaskMarker)) {
-			return null;
-		}
-		TaskMarker marker = (TaskMarker) obj;
-		int done = marker.getDone();
-		if (done == -1) {
-			return null;
-		}
-		if (done == 1) {
-			return ImageFactory.getImage(COMPLETE_IMAGE_PATH);
-		}
-		return ImageFactory.getImage(INCOMPLETE_IMAGE_PATH);
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#compare(java.lang.Object, java.lang.Object)
-	 */
-	public int compare(Object obj1, Object obj2) {
-		if (obj1 == null || obj2 == null || !(obj1 instanceof TaskMarker) || !(obj2 instanceof TaskMarker)) {
-			return 0;
-		}
-		TaskMarker marker1 = (TaskMarker) obj1;
-		TaskMarker marker2 = (TaskMarker) obj2;
-		int value1 = marker1.getDone();
-		int value2 = marker2.getDone();
-		return value1 - value2;
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldFolder.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldFolder.java
deleted file mode 100644
index 95b715b..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldFolder.java
+++ /dev/null
@@ -1,88 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Folder field. Designed to display and compare the names of the folders that contain
- * IMarker objects.
- */
-public class FieldFolder implements IField {
-
-	private String description;
-	private Image image;
-	
-	public FieldFolder() {
-		description = Messages.getString("description.folder"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getDescription()
-	 */
-	public String getDescription() {
-		return description;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getDescriptionImage()
-	 */
-	public Image getDescriptionImage() {
-		return image;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getColumnHeaderText()
-	 */
-	public String getColumnHeaderText() {
-		return description;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getColumnHeaderImage()
-	 */
-	public Image getColumnHeaderImage() {
-		return image;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getValue(java.lang.Object)
-	 */
-	public String getValue(Object obj) {
-		if (obj == null || !(obj instanceof ConcreteMarker)) {
-			return ""; //$NON-NLS-1$
-		}
-		ConcreteMarker marker = (ConcreteMarker) obj;
-		return marker.getFolder();
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getImage(java.lang.Object)
-	 */
-	public Image getImage(Object obj) {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#compare(java.lang.Object, java.lang.Object)
-	 */
-	public int compare(Object obj1, Object obj2) {
-		if (obj1 == null || obj2 == null || !(obj1 instanceof ConcreteMarker) || !(obj2 instanceof ConcreteMarker)) {
-			return 0;
-		}
-		ConcreteMarker marker1 = (ConcreteMarker) obj1;
-		ConcreteMarker marker2 = (ConcreteMarker) obj2;
-		
-		return marker1.getFolderKey().compareTo(marker2.getFolderKey());
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldLineNumber.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldLineNumber.java
deleted file mode 100644
index f399703..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldLineNumber.java
+++ /dev/null
@@ -1,89 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.swt.graphics.Image;
-
-public class FieldLineNumber implements IField {
-
-	private String description;
-	private Image image;
-	
-	public FieldLineNumber() {
-		description = Messages.getString("description.lineNumber"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getDescription()
-	 */
-	public String getDescription() {
-		return description;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getDescriptionImage()
-	 */
-	public Image getDescriptionImage() {
-		return image;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getColumnHeaderText()
-	 */
-	public String getColumnHeaderText() {
-		return description;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getColumnHeaderImage()
-	 */
-	public Image getColumnHeaderImage() {
-		return image;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getValue(java.lang.Object)
-	 */
-	public String getValue(Object obj) {
-		if (obj == null || !(obj instanceof ConcreteMarker)) {
-			return ""; //$NON-NLS-1$
-		}
-		ConcreteMarker marker = (ConcreteMarker) obj;
-		
-		if (marker.getLine() < 0) {
-			return ""; //$NON-NLS-1$
-		}
-		
-		return Messages.format("label.lineNumber", new String[] {Integer.toString(marker.getLine())}); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getImage(java.lang.Object)
-	 */
-	public Image getImage(Object obj) {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#compare(java.lang.Object, java.lang.Object)
-	 */
-	public int compare(Object obj1, Object obj2) {
-		if (obj1 == null || obj2 == null || !(obj1 instanceof ConcreteMarker) || !(obj2 instanceof ConcreteMarker)) {
-			return 0;
-		}
-		
-		ConcreteMarker marker1 = (ConcreteMarker) obj1;
-		ConcreteMarker marker2 = (ConcreteMarker) obj2;
-		return marker1.getLine() - marker2.getLine();
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldMessage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldMessage.java
deleted file mode 100644
index 3b0553b..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldMessage.java
+++ /dev/null
@@ -1,85 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.swt.graphics.Image;
-
-public class FieldMessage implements IField {
-	
-	private String description;
-	private Image image;
-	
-	public FieldMessage() {
-		description = Messages.getString("description.message"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getDescription()
-	 */
-	public String getDescription() {
-		return description;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getDescriptionImage()
-	 */
-	public Image getDescriptionImage() {
-		return image;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getColumnHeaderText()
-	 */
-	public String getColumnHeaderText() {
-		return description;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getColumnHeaderImage()
-	 */
-	public Image getColumnHeaderImage() {
-		return image;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getValue(java.lang.Object)
-	 */
-	public String getValue(Object obj) {
-		if (obj == null || !(obj instanceof ConcreteMarker)) {
-			return ""; //$NON-NLS-1$
-		}
-		ConcreteMarker marker = (ConcreteMarker) obj;
-		return marker.getDescription();
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getImage(java.lang.Object)
-	 */
-	public Image getImage(Object obj) {
-		return null;
-	}
-	
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#compare(java.lang.Object, java.lang.Object)
-	 */
-	public int compare(Object obj1, Object obj2) {
-		if (obj1 == null || obj2 == null || !(obj1 instanceof ConcreteMarker) || !(obj2 instanceof ConcreteMarker)) {
-			return 0;
-		}
-		
-		ConcreteMarker marker1 = (ConcreteMarker) obj1;
-		ConcreteMarker marker2 = (ConcreteMarker) obj2;
-		
-		return marker1.getDescriptionKey().compareTo(marker2.getDescriptionKey());
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldPriority.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldPriority.java
deleted file mode 100644
index f0f456f..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldPriority.java
+++ /dev/null
@@ -1,101 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IMarker;
-
-import org.eclipse.swt.graphics.Image;
-
-public class FieldPriority implements IField {
-	
-	static final String DESCRIPTION_IMAGE_PATH = "obj16/header_priority.gif"; //$NON-NLS-1$
-	static final String HIGH_PRIORITY_IMAGE_PATH = "obj16/hprio_tsk.gif";  //$NON-NLS-1$
-	static final String LOW_PRIORITY_IMAGE_PATH = "obj16/lprio_tsk.gif";  //$NON-NLS-1$
-	
-	private String description;
-	private Image image;
-	
-	public FieldPriority() {
-		description = Messages.getString("priority.description"); //$NON-NLS-1$
-		image = ImageFactory.getImage(DESCRIPTION_IMAGE_PATH);
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getDescription()
-	 */
-	public String getDescription() {
-		return description;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getDescriptionImage()
-	 */
-	public Image getDescriptionImage() {
-		return image;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getColumnHeaderText()
-	 */
-	public String getColumnHeaderText() {
-		return ""; //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getColumnHeaderImage()
-	 */
-	public Image getColumnHeaderImage() {
-		return image;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getValue(java.lang.Object)
-	 */
-	public String getValue(Object obj) {
-		return ""; //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getImage(java.lang.Object)
-	 */
-	public Image getImage(Object obj) {
-		if (obj == null || !(obj instanceof TaskMarker)) {
-			return null;
-		}
-		try {
-			int priority = ((TaskMarker)obj).getPriority();
-			if (priority == IMarker.PRIORITY_HIGH) {
-				return ImageFactory.getImage(HIGH_PRIORITY_IMAGE_PATH);
-			}
-			if (priority == IMarker.PRIORITY_LOW) {
-				return ImageFactory.getImage(LOW_PRIORITY_IMAGE_PATH);
-			}
-		}
-		catch (NumberFormatException e) {	
-			return null;
-		}
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#compare(java.lang.Object, java.lang.Object)
-	 */
-	public int compare(Object obj1, Object obj2) {
-		if (obj1 == null || obj2 == null || !(obj1 instanceof TaskMarker) || !(obj2 instanceof TaskMarker)) {
-			return 0;
-		}
-		int priority1 = ((TaskMarker)obj1).getPriority();
-		int priority2 = ((TaskMarker)obj2).getPriority();
-		return priority1 - priority2;
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldResource.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldResource.java
deleted file mode 100644
index 874d7cd..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldResource.java
+++ /dev/null
@@ -1,85 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.swt.graphics.Image;
-
-public class FieldResource implements IField {
-
-	private String description;
-	private Image image;
-	
-	public FieldResource() {
-		description = Messages.getString("description.resource"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getDescription()
-	 */
-	public String getDescription() {
-		return description;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getDescriptionImage()
-	 */
-	public Image getDescriptionImage() {
-		return image;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getColumnHeaderText()
-	 */
-	public String getColumnHeaderText() {
-		return description;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getColumnHeaderImage()
-	 */
-	public Image getColumnHeaderImage() {
-		return image;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getValue(java.lang.Object)
-	 */
-	public String getValue(Object obj) {
-		if (obj == null || !(obj instanceof ConcreteMarker)) {
-			return ""; //$NON-NLS-1$
-		}
-		ConcreteMarker marker = (ConcreteMarker) obj;
-		return marker.getResourceName();
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getImage(java.lang.Object)
-	 */
-	public Image getImage(Object obj) {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#compare(java.lang.Object, java.lang.Object)
-	 */
-	public int compare(Object obj1, Object obj2) {
-		if (obj1 == null || obj2 == null || !(obj1 instanceof ConcreteMarker) || !(obj2 instanceof ConcreteMarker)) {
-			return 0;
-		}
-		
-		ConcreteMarker marker1 = (ConcreteMarker) obj1;
-		ConcreteMarker marker2 = (ConcreteMarker) obj2;
-		
-		return marker1.getResourceNameKey().compareTo(marker2.getResourceNameKey());
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldSeverity.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldSeverity.java
deleted file mode 100644
index 1e65aa7..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldSeverity.java
+++ /dev/null
@@ -1,102 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IMarker;
-
-import org.eclipse.swt.graphics.Image;
-
-public class FieldSeverity implements IField {
-	
-	private static final String IMAGE_ERROR_PATH = "obj16/error_tsk.gif"; //$NON-NLS-1$
-	private static final String IMAGE_WARNING_PATH = "obj16/warn_tsk.gif"; //$NON-NLS-1$
-	private static final String IMAGE_INFO_PATH = "obj16/info_tsk.gif"; //$NON-NLS-1$
-	
-	private String description;
-	private Image image;
-	
-	public FieldSeverity() {
-		description = Messages.getString("problemSeverity.description"); //$NON-NLS-1$
-		image = null;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getDescription()
-	 */
-	public String getDescription() {
-		return description;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getDescriptionImage()
-	 */
-	public Image getDescriptionImage() {
-		return image;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getColumnHeaderText()
-	 */
-	public String getColumnHeaderText() {
-		return ""; //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getColumnHeaderImage()
-	 */
-	public Image getColumnHeaderImage() {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getValue(java.lang.Object)
-	 */
-	public String getValue(Object obj) {
-		return "" + ((ProblemMarker)obj).getSeverity(); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#getImage(java.lang.Object)
-	 */
-	public Image getImage(Object obj) {
-		if (obj == null || !(obj instanceof ProblemMarker)) {
-			return null;
-		}
-		
-		
-		int severity = ((ProblemMarker)obj).getSeverity();
-		if (severity == IMarker.SEVERITY_ERROR) {
-			return ImageFactory.getImage(IMAGE_ERROR_PATH);
-		}
-		if (severity == IMarker.SEVERITY_WARNING) {
-			return ImageFactory.getImage(IMAGE_WARNING_PATH);
-		}
-		if (severity == IMarker.SEVERITY_INFO) {
-			return ImageFactory.getImage(IMAGE_INFO_PATH);
-		}
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.markerview.IField#compare(java.lang.Object, java.lang.Object)
-	 */
-	public int compare(Object obj1, Object obj2) {
-		if (obj1 == null || obj2 == null || !(obj1 instanceof ProblemMarker) || !(obj2 instanceof ProblemMarker)) {
-			return 0;
-		}
-
-		int severity1 = ((ProblemMarker)obj1).getSeverity();
-		int severity2 = ((ProblemMarker)obj2).getSeverity();
-		return severity1 - severity2;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FiltersAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FiltersAction.java
deleted file mode 100644
index d81d65c..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FiltersAction.java
+++ /dev/null
@@ -1,41 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.jface.action.Action;
-
-/**
- * This action opens a Filters Dialog and notifies the Marker View if the user has
- * modified the filter via the filters dialog.
- */
-class FiltersAction extends Action {
-	
-	private MarkerView view;
-
-	/**
-	 * Creates the action
-	 */
-	public FiltersAction(MarkerView view) {
-		super(Messages.getString("filtersAction.title")); //$NON-NLS-1$
-		setImageDescriptor(ImageFactory.getImageDescriptor("elcl16/filter_ps.gif")); //$NON-NLS-1$
-		setToolTipText(Messages.getString("filtersAction.tooltip")); //$NON-NLS-1$
-		this.view = view;
-		setEnabled(true);
-	}
-	
-	/**
-	 * Opens the dialog. Notifies the view if the filter has been modified.
-	 */
-	public void run() {
-		view.openFiltersDialog();
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IDeferredTableContentProvider.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IDeferredTableContentProvider.java
deleted file mode 100644
index b8455cb..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IDeferredTableContentProvider.java
+++ /dev/null
@@ -1,20 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * 
- */
-public interface IDeferredTableContentProvider {
-	public Object[] getElements(IProgressMonitor monitor);
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IField.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IField.java
deleted file mode 100644
index b0ab74b..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IField.java
+++ /dev/null
@@ -1,60 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.swt.graphics.Image;
-
-public interface IField {
-
-	/**
-	 * @return the description of the field.
-	 */
-	String getDescription();
-
-	/**
-	 * @return the image associated with the description of the field or <code>null<code>.
-	 */
-	Image getDescriptionImage();
-	
-	/**
-	 * @return The text to be displayed in the column header for this field.
-	 */
-	String getColumnHeaderText();
-	
-	/**
-	 * @return The image to be displayed in the column header for this field or <code>null<code>.
-	 */
-	Image getColumnHeaderImage();
-	
-	/**
-	 * @param obj
-	 * @return The String value of the object for this particular field to be displayed to the user.  
-	 */
-	String getValue(Object obj);
-
-	/**
-	 * @param obj
-	 * @return The image value of the object for this particular field to be displayed to the user
-	 * or <code>null<code>.
-	 */
-	Image getImage(Object obj);
-	
-	/**
-	 * @param obj1
-	 * @param obj2
-	 * @return Either:
-	 * 	<li>a negative number if the value of obj1 is less than the value of obj2 for this field.
-	 *  <li><code>0</code> if the value of obj1 and the value of obj2 are equal for this field.
-	 *  <li>a positive number if the value of obj1 is greater than the value of obj2 for this field.
-	 */
-	int compare(Object obj1, Object obj2);
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IFilter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IFilter.java
deleted file mode 100644
index 7bb897d..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IFilter.java
+++ /dev/null
@@ -1,37 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-
-/**
- * Generic filtering interface.
- */
-public interface IFilter {
-	
-	/**
-	 * Filters the list of elements. Removes the elements that need to filtered out from the list.
-	 * 
-	 * @param elements
-	 */
-	public Object[] filter(Object[] elements);
-	
-	/**
-	 * @param item
-	 * @return
-	 * <ul>
-	 * <li><code>true</code> if the item will make it through the filter.</li>
-	 * <li><code>false</code> if the item will not make it through the filter.</li>
-	 * </ul>
-	 */
-	public boolean select(Object item);
-	
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IItemsChangedListener.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IItemsChangedListener.java
deleted file mode 100644
index c28ca8b..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IItemsChangedListener.java
+++ /dev/null
@@ -1,26 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.util.List;
-
-
-public interface IItemsChangedListener {
-
-	/**
-	 * @param additions new items added
-	 * @param removals items removed
-	 * @param changes changed items
-	 */
-	public void itemsChanged(List additions, List removals, List changes);
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IMarkerChangedListener.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IMarkerChangedListener.java
deleted file mode 100644
index 3eec4f9..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IMarkerChangedListener.java
+++ /dev/null
@@ -1,29 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.util.List;
-
-
-/**
- * Listener interface that listens for changes in resource markers.
- */
-public interface IMarkerChangedListener {
-	
-	/**
-	 * @param additions new markers added
-	 * @param removals markers removed
-	 * @param changes changed markers
-	 */
-	public void markerChanged(List additions, List removals, List changes);
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IMarkerResourceAdapter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IMarkerResourceAdapter.java
deleted file mode 100644
index dfa1d8e..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IMarkerResourceAdapter.java
+++ /dev/null
@@ -1,37 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * <code>IMarkerResourceAdapter</code> is an adapter interface that
- * supplies the resource to query for markers to display in the marker view
- * or any of its subclasses.
- * 
- * Implementors of this interface are typically registered with an
- * IAdapterFactory for lookup via the getAdapter() mechanism.
- */
-public interface IMarkerResourceAdapter {
-
-	/**
-	 * Returns the resource to query for the markers to display
-	 * for the given adaptable.
-	 * 
-	 * @param adaptable the adaptable being queried.
-	 * @return the resource or <code>null</code> if there
-	 * 	is no adapted resource for this object.
-	 */
-	public IResource getAffectedResource(IAdaptable adaptable);
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ITableListener.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ITableListener.java
deleted file mode 100644
index 157579e..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ITableListener.java
+++ /dev/null
@@ -1,22 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.markers.internal;
-
-import java.util.Collection;
-
-/**
- * 
- */
-public interface ITableListener {
-	public void contentsFound(Collection contents);
-	public void invalid();
-	public void drawable();
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ITableViewContentProvider.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ITableViewContentProvider.java
deleted file mode 100644
index 5fb0969..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ITableViewContentProvider.java
+++ /dev/null
@@ -1,24 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-
-
-public interface ITableViewContentProvider {
-	
-	public Object[] getElements();
-	public IFilter getFilter();
-	public void setFilter(IFilter filter);
-	public void addItemsChangedListener(IItemsChangedListener listener);
-	public void removeItemsChangedListener(IItemsChangedListener listener);
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ImageFactory.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ImageFactory.java
deleted file mode 100644
index 832a373..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ImageFactory.java
+++ /dev/null
@@ -1,88 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-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;
-
-/**
- * Manages images and image descriptors.
- */
-public class ImageFactory {
-
-	private static ImageRegistry imageRegistry = new ImageRegistry();
-	private static Map map = new HashMap();
-	
-	private static ImageDescriptor create(String path) {
-		try {
-			URL url = Platform.getPlugin(PlatformUI.PLUGIN_ID).getDescriptor().getInstallURL();
-			url = new URL(url, "icons/full/" + path); //$NON-NLS-1$
-			return ImageDescriptor.createFromURL(url);
-		} catch (MalformedURLException eMalformedURL) {
-			return null;
-		}
-	}
-
-	/**
-	 * Returns an image for the given path or <code>null</code> if an image could 
-	 * not be created. 
-	 * 
-	 * @param path the path of the image relative to "org.eclipse.ui/icons/full"
-	 * @return the image located at the specified path or <code>null</code> if 
-	 * no image could be created.
-	 */
-	public static Image getImage(String path) {
-		Image image = (Image) imageRegistry.get(path);
-
-		if (image == null) {
-			ImageDescriptor imageDescriptor = getImageDescriptor(path);
-
-			if (imageDescriptor != null) {
-				image = imageDescriptor.createImage(false);
-
-				if (image == null)
-					System.err.println(ImageFactory.class + ": error creating image for " + path); //$NON-NLS-1$
-
-				imageRegistry.put(path, image);
-			}
-		}
-
-		return image;
-	}
-
-	/**
-	 * Returns an image descriptor for the given path or <code>null</code> if no
-	 * image could be found.
-	 * 
-	 * @param path the path of the image relative to "org.eclipse.ui/icons/full"
-	 * @return an image descriptor or <code>null</code> if no image was found at the
-	 * specified path.
-	 */
-	public static ImageDescriptor getImageDescriptor(String path) {
-		ImageDescriptor imageDescriptor = (ImageDescriptor) map.get(path);
-
-		if (imageDescriptor == null) {
-			imageDescriptor = create(path);
-			map.put(path, imageDescriptor);
-		}
-
-		return imageDescriptor;
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerFilter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerFilter.java
deleted file mode 100644
index 17c65b5..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerFilter.java
+++ /dev/null
@@ -1,696 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-
-public class MarkerFilter {
-	
-	private static final String TAG_DIALOG_SECTION = "filter"; //$NON-NLS-1$
-	private static final String TAG_ENABLED = "enabled"; //$NON-NLS-1$
-	private static final String TAG_FILTER_ON_MARKER_LIMIT = "filterOnMarkerLimit"; //$NON-NLS-1$
-	private static final String TAG_MARKER_LIMIT = "markerLimit"; //$NON-NLS-1$
-	private static final String TAG_ON_RESOURCE = "onResource"; //$NON-NLS-1$
-	private static final String TAG_SELECTED_TYPES = "selectedType"; //$NON-NLS-1$
-	private static final String TAG_WORKING_SET = "workingSet"; //$NON-NLS-1$
-	private static final String TAG_TYPES_DELIMITER = ":"; //$NON-NLS-1$
-	
-	static final int ON_ANY_RESOURCE = 0;
-	static final int ON_SELECTED_RESOURCE_ONLY = 1;
-	static final int ON_SELECTED_RESOURCE_AND_CHILDREN = 2;
-	static final int ON_ANY_RESOURCE_OF_SAME_PROJECT = 3;
-	static final int ON_WORKING_SET = 4;
-
-	static final int DEFAULT_MARKER_LIMIT = 100;
-	static final boolean DEFAULT_FILTER_ON_MARKER_LIMIT = true;
-	static final int DEFAULT_ON_RESOURCE = ON_ANY_RESOURCE;
-	static final boolean DEFAULT_ACTIVATION_STATUS = true;
-
-	protected List rootTypes = new ArrayList();
-	protected List selectedTypes = new ArrayList();
-	protected IWorkingSet workingSet;
-	protected int onResource;
-	protected boolean filterOnMarkerLimit;
-	protected boolean enabled;
-	protected int markerLimit;
-	
-	private MarkerTypesModel typesModel;
-	
-	private IResource[] focusResource;
-	private Set cachedWorkingSet;
-	
-	MarkerFilter(String[] rootTypes) {
-		typesModel = new MarkerTypesModel();
-		
-		for (int i = 0; i < rootTypes.length; i++) {
-			MarkerType type = typesModel.getType(rootTypes[i]);
-			
-			if (!this.rootTypes.contains(type))
-				this.rootTypes.add(type);
-		}
-	}
-	
-	private void addAllSubTypes() {
-		for (int i = 0; i < rootTypes.size(); i++) {
-			MarkerType rootType = (MarkerType) rootTypes.get(i);
-			addAllSubTypes(rootType);
-		}
-	}
-	
-	private void addAllSubTypes(MarkerType type) {
-		if (type == null)
-			return;
-	
-		if (!selectedTypes.contains(type))
-			selectedTypes.add(type);
-	
-		MarkerType[] subTypes = type.getSubtypes();
-		
-		for (int i = 0; i < subTypes.length; i++)
-			addAllSubTypes(subTypes[i]);
-	} 
-	
-	/**
-	 * Adds all markers in the given set of resources to the given list
-	 * 
-	 * @param resultList
-	 * @param resources
-	 * @param markerTypeId
-	 * @param depth
-	 * @throws CoreException
-	 */
-	private List findMarkers(IResource[] resources, int depth, int limit, IProgressMonitor mon, boolean ignoreExceptions) throws CoreException {		
-		if (resources == null) {
-			return Collections.EMPTY_LIST;
-		}
-		
-		List resultList = new ArrayList(resources.length * 2);
-		
-		// Optimization: if a type appears in the selectedTypes list along with all of its
-		// subtypes, then combine these in a single search.
-		
-		// List of types that haven't been replaced by one of their supertypes
-		HashSet typesToSearch = new HashSet(selectedTypes.size());
-		
-		// List of types that appeared in selectedTypes along with all of their subtypes
-		HashSet includeAllSubtypes = new HashSet(selectedTypes.size());
-		
-		typesToSearch.addAll(selectedTypes);
-		
-		Iterator iter = selectedTypes.iterator();
-		
-		while (iter.hasNext()) {
-			MarkerType type = (MarkerType)iter.next();
-			
-			Collection subtypes = Arrays.asList(type.getAllSubTypes());
-			
-			if (selectedTypes.containsAll(subtypes)) {
-				typesToSearch.removeAll(subtypes);
-				
-				includeAllSubtypes.add(type);
-			}
-		}
-		
-		mon.beginTask(Messages.getString("MarkerFilter.searching"), typesToSearch.size() * resources.length); //$NON-NLS-1$
-		
-		// Use this hash set to determine if there are any resources in the
-		// list that appear along with their parent.
-		HashSet resourcesToSearch = new HashSet();
-		
-		// Insert all the resources into the hashset
-		for (int idx = 0; idx < resources.length; idx++) {
-			IResource next = resources[idx];
-			
-			if (!next.exists()) {
-				continue;
-			}
-			
-			if (resourcesToSearch.contains(next)) {
-				mon.worked(typesToSearch.size());								
-			} else {
-				resourcesToSearch.add(next);
-			}
-		}
-		
-		// Iterate through all the selected resources
-		for (int resourceIdx = 0; resourceIdx < resources.length; resourceIdx++) {
-			iter = typesToSearch.iterator(); 
-			
-			IResource resource = resources[resourceIdx];
-			
-			// Skip resources that don't exist
-			if (!resource.isAccessible()) {
-				continue;
-			}
-			
-			if (depth == IResource.DEPTH_INFINITE) {
-				// Determine if any parent of this resource is also in our filter 
-				IResource parent = resource.getParent();
-				boolean found = false;
-				while (parent != null) {
-					if (resourcesToSearch.contains(parent)) {
-						found = true;
-					}
-						
-					parent = parent.getParent();
-				}
-				
-				// If a parent of this resource is also in the filter, we can skip it
-				// because we'll pick up its markers when we search the parent.
-				if (found) {
-					continue;
-				}
-			}
-						
-			// Iterate through all the marker types
-			while (iter.hasNext()) {
-				MarkerType markerType = (MarkerType)iter.next();
-			
-				// Only search for subtypes of the marker if we found all of its
-				// subtypes in the filter criteria.
-				IMarker[] markers = resource.findMarkers(
-						markerType.getId(), includeAllSubtypes.contains(markerType), depth);
-
-				mon.worked(1);
-				
-				for (int idx = 0; idx < markers.length; idx++) {
-					ConcreteMarker marker;
-					try {
-						marker = MarkerList.createMarker(markers[idx]);
-					} catch (CoreException e) {
-						if (ignoreExceptions) {
-							continue;
-						} else {
-							throw e;
-						}
-					}
-					
-					if (limit != -1 && resultList.size() >= limit) {
-						return resultList;
-					}
-					
-					if (selectMarker(marker)) {
-						resultList.add(marker);
-					}
-				}
-			}
-		}
-		
-		mon.done();
-		
-		return resultList;
-	}
-	
-	/**
-	 * Subclasses should override to determine if the given marker passes the filter.
-	 * 
-	 * @param marker
-	 * @return <code>true</code> if the marker passes the filter and <code>false</code> otherwise
-	 */
-	protected boolean selectMarker(ConcreteMarker marker) {
-		return true;
-	}
-	
-	/**
-	 * Searches the workspace for markers that pass this filter.
-	 * 
-	 * @return
-	 */
-	ConcreteMarker[] findMarkers(IProgressMonitor mon, boolean ignoreExceptions) throws CoreException {
-
-		List unfiltered = Collections.EMPTY_LIST;
-		
-		if (!isEnabled()) {
-			unfiltered = findMarkers(new IResource[] {ResourcesPlugin.getWorkspace().getRoot()}, 
-			IResource.DEPTH_INFINITE, -1, mon, ignoreExceptions);
-		} else {
-			//int limit = getFilterOnMarkerLimit() ? getMarkerLimit() + 1 : -1;
-			int limit = -1;
-			
-			switch (getOnResource()) {
-				case ON_ANY_RESOURCE: {
-						unfiltered = findMarkers(new IResource[] {ResourcesPlugin.getWorkspace().getRoot()}, 
-						IResource.DEPTH_INFINITE, limit, mon, ignoreExceptions);
-						break;
-					}
-				case ON_SELECTED_RESOURCE_ONLY: {
-						unfiltered = findMarkers(focusResource, IResource.DEPTH_ZERO, limit, mon, ignoreExceptions);					
-						break;
-					}
-				case ON_SELECTED_RESOURCE_AND_CHILDREN: {
-						unfiltered = findMarkers(focusResource, IResource.DEPTH_INFINITE, limit, mon, ignoreExceptions);
-						break;					
-					}
-				case ON_ANY_RESOURCE_OF_SAME_PROJECT: {
-						unfiltered = findMarkers(getProjects(focusResource), IResource.DEPTH_INFINITE, limit, mon, ignoreExceptions);					
-						break;					
-					}
-				case ON_WORKING_SET: {
-						unfiltered = findMarkers(getResourcesInWorkingSet(), IResource.DEPTH_INFINITE, limit, mon, ignoreExceptions);
-					}
-			}
-		}
-		
-		if (unfiltered == null) {
-			unfiltered = Collections.EMPTY_LIST;
-		}
-		
-		return (ConcreteMarker[])unfiltered.toArray(new ConcreteMarker[unfiltered.size()]);		
-	}
-	
-	IResource[] getResourcesInWorkingSet() {
-		if (workingSet == null) {
-			return new IResource[0];
-		}
-		
-		IAdaptable[] elements = workingSet.getElements();
-		List result = new ArrayList(elements.length);
-		
-		for (int idx = 0; idx < elements.length; idx++) {
-			IResource next = (IResource)elements[idx].getAdapter(IResource.class);
-			
-			if (next != null) {
-				result.add(next);
-			}
-		}
-		
-		return (IResource[])result.toArray(new IResource[result.size()]);
-	}
-	
-	/**
-	 * Returns a set of strings representing the full pathnames to every resource directly
-	 * or indirectly contained in the working set. A resource is in the working set iff its
-	 * path name can be found in this set.
-	 * 
-	 * @return
-	 */
-	private Set getWorkingSetAsSetOfPaths() {
-		if (cachedWorkingSet == null) {
-			HashSet result = new HashSet();
-			
-			addResourcesAndChildren(result, getResourcesInWorkingSet());
-			
-			cachedWorkingSet = result;
-		}
-		
-		return cachedWorkingSet;
-	}
-	
-	/***
-	 * Adds the paths of all resources in the given array to the given set. 
-	 */
-	private void addResourcesAndChildren(HashSet result, IResource[] resources) {
-		for (int idx = 0; idx < resources.length; idx++) {
-			
-			IResource currentResource = resources[idx];
-			
-			result.add(currentResource.getFullPath().toString());
-	
-			if (currentResource instanceof IContainer) {
-				IContainer cont = (IContainer)currentResource;
-				
-				try {
-					addResourcesAndChildren(result, cont.members());
-				} catch (CoreException e) {
-					// Ignore errors
-				}
-			}
-			
-		}
-	}
-		
-	/**
-	 * Returns the set of projects that contain the given set of resources.
-	 * 
-	 * @param resources
-	 * @return
-	 */
-	static IProject[] getProjects(IResource[] resources) {
-		if (resources == null) {
-			return new IProject[0];
-		}
-	
-		Collection projects = getProjectsAsCollection(resources);
-		
-		return (IProject[])projects.toArray(new IProject[projects.size()]);
-	}
-	
-	static Collection getProjectsAsCollection(IResource[] resources) {
-		HashSet projects = new HashSet();
-		
-		for (int idx = 0; idx < resources.length; idx++) {
-			projects.add(resources[idx].getProject());
-		}
-		
-		return projects;
-	}
-		
-	public boolean select(ConcreteMarker marker) {
-		if (!isEnabled()) {
-			return true;
-		}
-		
-		return selectByType(marker) && selectBySelection(marker) && selectMarker(marker);
-	}
-	
-	private boolean selectByType(ConcreteMarker marker) {
-		return selectedTypes.contains(typesModel.getType(marker.getType()));
-	}
-	
-	/**
-	 * Returns whether the specified marker should be filter out or not.
-	 * 
-	 * @param marker the marker to test
-	 * @return 
-	 * 	true=the marker should not be filtered out
-	 * 	false=the marker should be filtered out
-	 */
-	private boolean selectBySelection(ConcreteMarker marker) {
-		if (onResource == ON_ANY_RESOURCE || marker == null)
-			return true;
-	
-		if (focusResource == null)
-			return true;
-	
-		IResource resource = marker.getResource();
-		
-		if (onResource == ON_WORKING_SET) {
-			if (workingSet == null)
-				return true;
-				
-			if (resource != null) 
-				return isEnclosed(resource);
-			
-		} else if (onResource == ON_ANY_RESOURCE_OF_SAME_PROJECT) {
-			IProject project = resource.getProject();
-			
-			if (project == null) {
-				return false;
-			}
-			
-			for (int i = 0; i < focusResource.length; i++) {
-				IProject selectedProject = focusResource[i].getProject();
-				
-				if (selectedProject == null) {
-					continue;
-				}
-				
-				if (project.equals(selectedProject))
-					return true;
-			}
-		} else if (onResource == ON_SELECTED_RESOURCE_ONLY) {
-			for (int i = 0; i < focusResource.length; i++) {
-				if (resource.equals(focusResource[i]))
-					return true;
-			}
-		} else if (onResource == ON_SELECTED_RESOURCE_AND_CHILDREN) {
-			for (int i = 0; i < focusResource.length; i++) {
-				IResource parentResource = resource;
-				
-				while (parentResource != null) {
-					if (parentResource.equals(focusResource[i]))
-						return true;
-				
-					parentResource = parentResource.getParent();
-				}
-			}
-		}
-		
-		return false;
-	}
-
-	/**
-	 * Returns if the given resource is enclosed by a working set element.
-	 * Previous versions of this method used IContainmentAdapter for 
-	 * containment tests. For performance reasons, this is no longer possible.
-	 * Code that relies on this behavior should be updated appropriately.
-	 * 
-	 * @param element resource to test for enclosure by a working set
-	 * 	element 
-	 * @return true if element is enclosed by a working set element and 
-	 * 	false otherwise. 
-	 */
-	private boolean isEnclosed(IResource element) {
-		if (workingSet == null) {
-			return false;
-		}
-		Set workingSetPaths = getWorkingSetAsSetOfPaths();
-		
-		return workingSetPaths.contains(element.getFullPath().toString());
-	}
-
-	/**
-	 * @return the defined limit on the number of markers to be displayed.
-	 */
-	int getMarkerLimit() {
-		return markerLimit;
-	}
-
-	/**
-	 * Sets the limit on the number of markers to be displayed.
-	 * 
-	 * @param the new limit
-	 */
-	void setMarkerLimit(int markerLimit) {
-		this.markerLimit = markerLimit;
-	}
-
-	/**
-	 * @return <ul>
-	 * <li><code>MarkerFilter.ON_ANY_RESOURCE</code> if showing items associated with any resource.</li>
-	 * <li><code>MarkerFilter.ON_SELECTED_RESOURCE_ONLY</code> if showing items associated with
-	 * the selected resource within the workbench.</li>
-	 * <li><code>MarkerFilter.ON_SELECTED_RESOURCE_AND_CHILDREN</code> if showing items associated with
-	 * the selected resource within the workbench and its children.</li>
-	 * <li><code>MarkerFilter.ON_ANY_RESOURCE_OF_SAME_PROJECT</code> if showing items in the same project
-	 * as the selected resource within the workbench.</li>
-	 * <li><code>MarkerFilter.ON_WORKING_SET</code> if showing items in some working set.</li>
-	 * </ul>
-	 */
-	int getOnResource() {
-		return onResource;
-	}
-
-	/**
-	 * Sets the type of filtering by selection.
-	 * 
-	 * @param onResource must be one of:
-	 * <ul>
-	 * <li><code>MarkerFilter.ON_ANY_RESOURCE</code></li>
-	 * <li><code>MarkerFilter.ON_SELECTED_RESOURCE_ONLY</code></li>
-	 * <li><code>MarkerFilter.ON_SELECTED_RESOURCE_AND_CHILDREN</code></li>
-	 * <li><code>MarkerFilter.ON_ANY_RESOURCE_OF_SAME_PROJECT</code></li>
-	 * <li><code>MarkerFilter.ON_WORKING_SET</code></li>
-	 * </ul>
-	 */
-	void setOnResource(int onResource) {
-		if (onResource >= ON_ANY_RESOURCE && onResource <= ON_WORKING_SET)
-			this.onResource = onResource;
-	}
-
-	/**
-	 * @return the selected resource(s) withing the workbench.
-	 */
-	IResource[] getFocusResource() {
-		return focusResource;
-	}
-
-	/**
-	 * Sets the focused resources.
-	 */
-	public void setFocusResource(IResource[] resources) {
-		focusResource = resources;
-	}
-
-	/**
-	 * @return
-	 * <ul>
-	 * <li><code>true</code> if the filter is enabled.</li>
-	 * <li><code>false</code> if the filter is not enabled.</li>
-	 * </ul>
-	 */
-	boolean isEnabled() {
-		return enabled;
-	}
-
-	/**
-	 * @return
-	 * <ul>
-	 * <li><code>true</code> if filtering by marker limit is enabled.</li>
-	 * <li><code>false</code> if filtering by marker limit is not enabled.</li>
-	 * </ul>
-	 */
-	boolean getFilterOnMarkerLimit() {
-		return filterOnMarkerLimit;
-	}
-
-	/**
-	 * @return the root marker types.
-	 */
-	List getRootTypes() {
-		return rootTypes;
-	}
-
-	/**
-	 * @return the selected marker types to be displayed.
-	 */
-	List getSelectedTypes() {
-		return selectedTypes;
-	}
-
-	/**
-	 * @return the current working set or <code>null</code> if no working set is defined.
-	 */
-	IWorkingSet getWorkingSet() {
-		return workingSet;
-	}
-
-	/**
-	 * Sets the enablement state of the filter.
-	 */
-	void setEnabled(boolean enabled) {
-		this.enabled = enabled;
-	}
-
-	/**
-	 * Sets the enablement state of filtering by marker limit.
-	 */
-	void setFilterOnMarkerLimit(boolean filterOnMarkerLimit) {
-		this.filterOnMarkerLimit = filterOnMarkerLimit;
-	}
-
-	/**
-	 * Sets the selected marker types to be displayed. The List <b>MUST ONLY</b> contain 
-	 * <code>MarkerType</code> objects.
-	 */
-	void setSelectedTypes(List selectedTypes) {
-		this.selectedTypes = selectedTypes;
-	}
-
-	/**
-	 * Sets the current working set.
-	 */
-	void setWorkingSet(IWorkingSet workingSet) {
-		this.workingSet = workingSet;
-		cachedWorkingSet = null;
-	}
-	
-	void resetState() {
-		enabled = DEFAULT_ACTIVATION_STATUS;
-		filterOnMarkerLimit = DEFAULT_FILTER_ON_MARKER_LIMIT;
-		markerLimit = DEFAULT_MARKER_LIMIT;
-		onResource = DEFAULT_ON_RESOURCE;
-		selectedTypes.clear();
-		addAllSubTypes();
-		setWorkingSet( null );
-	}
-	
-	public void restoreState(IDialogSettings dialogSettings) {
-		resetState();		
-		IDialogSettings settings = dialogSettings.getSection(TAG_DIALOG_SECTION);
-		
-		if (settings != null) {
-			String setting = settings.get(TAG_ENABLED);
-
-			if (setting != null)
-				enabled = Boolean.valueOf(setting).booleanValue();
-
-			setting = settings.get(TAG_FILTER_ON_MARKER_LIMIT);
-			
-			if (setting != null)
-				filterOnMarkerLimit = Boolean.valueOf(setting).booleanValue();
-				
-			setting = settings.get(TAG_MARKER_LIMIT);
-
-			if (setting != null)
-				try {
-					markerLimit = Integer.parseInt(setting);		
-				}
-				catch (NumberFormatException eNumberFormat) {
-				}
-
-			setting = settings.get(TAG_ON_RESOURCE);
-
-			if (setting != null)
-				try {
-					onResource = Integer.parseInt(setting);		
-				}
-				catch (NumberFormatException eNumberFormat) {
-				}
-
-			setting = settings.get(TAG_SELECTED_TYPES);
-			
-			if (setting != null) {
-				selectedTypes.clear();
-				StringTokenizer stringTokenizer = new StringTokenizer(setting);
-				
-				while (stringTokenizer.hasMoreTokens()) {				
-					MarkerType markerType = typesModel.getType(stringTokenizer.nextToken(TAG_TYPES_DELIMITER));
-					
-					if (markerType != null && !selectedTypes.contains(markerType))
-						selectedTypes.add(markerType);
-				}
-			}
-
-			setting = settings.get(TAG_WORKING_SET);
-
-			if (setting != null)
-				setWorkingSet( WorkbenchPlugin.getDefault().getWorkingSetManager().getWorkingSet(setting) );					
-		}		
-	}
-	
-	public void saveState(IDialogSettings dialogSettings) {		
-		if (dialogSettings != null) {
-			IDialogSettings settings = dialogSettings.getSection(TAG_DIALOG_SECTION);
-
-			if (settings == null)
-				settings = dialogSettings.addNewSection(TAG_DIALOG_SECTION);
-
-			settings.put(TAG_ENABLED, enabled);
-			settings.put(TAG_FILTER_ON_MARKER_LIMIT, filterOnMarkerLimit);
-			settings.put(TAG_MARKER_LIMIT, markerLimit);
-			settings.put(TAG_ON_RESOURCE, onResource);
-
-			String markerTypeIds = ""; //$NON-NLS-1$
-		
-			for (int i = 0; i < selectedTypes.size(); i++) {
-				MarkerType markerType = (MarkerType) selectedTypes.get(i);
-				markerTypeIds += markerType.getId() + TAG_TYPES_DELIMITER;
-			}
-		
-			settings.put(TAG_SELECTED_TYPES, markerTypeIds);
-		
-			if (workingSet != null)
-				settings.put(TAG_WORKING_SET, workingSet.getName());
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerLabelProvider.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerLabelProvider.java
deleted file mode 100644
index adbbe70..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerLabelProvider.java
+++ /dev/null
@@ -1,40 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-
-class MarkerLabelProvider extends LabelProvider implements ITableLabelProvider {
-	
-	IField[] properties;
-	
-	public MarkerLabelProvider(IField[] properties) {
-		this.properties = properties;
-	}
-
-	public Image getColumnImage(Object element, int columnIndex) {
-		if (element == null || !(element instanceof IMarker) || properties == null || columnIndex >= properties.length)
-			return null;
-			
-		return properties[columnIndex].getImage(element);
-	}
-
-	public String getColumnText(Object element, int columnIndex) {
-		if (element == null || !(element instanceof IMarker) || properties == null || columnIndex >= properties.length)
-			return ""; //$NON-NLS-1$
-
-		return properties[columnIndex].getValue(element);
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerList.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerList.java
deleted file mode 100644
index 22e93db..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerList.java
+++ /dev/null
@@ -1,261 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.markers.internal;
-
-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.Map;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * Represents a list of ConcreteMarkers.
- */
-public class MarkerList {
-	//private static final String SEARCHING_FOR_MARKERS = Messages.getString("MarkerList.0"); //$NON-NLS-1$
-	//private Collection markers;
-	private int[] markerCounts = null;
-	private ConcreteMarker[] markers;
-	
-	/**
-	 * Lazily created marker table - maps IMarkers onto ConcreteMarkers.
-	 * Null if not created
-	 */
-	private Map markerTable;
-	
-	/**
-	 * Creates an initially empty marker list
-	 */
-	public MarkerList() {
-		this(new ConcreteMarker[0]);
-	}
-	
-	public MarkerList(Collection markers) {
-		this((ConcreteMarker[])markers.toArray(new ConcreteMarker[markers.size()]));
-	}
-	
-	/**
-	 * Creates a list containing the given set of markers
-	 * 
-	 * @param markerList
-	 */
-	public MarkerList(ConcreteMarker[] markers) {
-		this.markers = markers;
-	}
-	
-	/**
-	 * Clears any cached collation keys. Use to free up some memory if the markers in this
-	 * list won't be sorted for awhile. 
-	 */
-	public void clearCache() {
-		for (int i = 0; i < markers.length; i++) {
-			ConcreteMarker marker = (ConcreteMarker) markers[i];
-			
-			marker.clearCache();
-		}
-		
-		markerTable = null;
-	}
-	
-	/**
-	 * Returns the marker table or lazily creates it if it doesn't exist yet
-	 * 
-	 * @return a map of IMarker onto ConcreteMarker, containing all the ConcreteMarkers in the list
-	 */
-	private Map getMarkerMap() {
-		if (markerTable == null) {
-			markerTable = new HashMap();
-			
-			for (int idx = 0; idx < markers.length; idx++) {
-				ConcreteMarker marker = markers[idx];
-				markerTable.put(marker.getMarker(), marker);
-			}
-		}
-		
-		return markerTable;
-	}
-	
-	/**
-	 * Returns an existing marker from the list that is associated with
-	 * the given IMarker
-	 *  
-	 * @param toFind the IMarker to lookup in the list
-	 * @return the ConcreteMarker that corresponds to the given IMarker
-	 */
-	public ConcreteMarker getMarker(IMarker toFind) {
-		return (ConcreteMarker) getMarkerMap().get(toFind);
-	}
-	
-	public static ConcreteMarker createMarker(IMarker marker) throws CoreException {
-		if (marker.isSubtypeOf(IMarker.TASK)) {
-			return new TaskMarker(marker);
-		} else if (marker.isSubtypeOf(IMarker.BOOKMARK)) {
-			return new BookmarkMarker(marker);
-		} else if (marker.isSubtypeOf(IMarker.PROBLEM)) {
-			return new ProblemMarker(marker);
-		} else return new ConcreteMarker(marker);
-	}
-	
-	public void refresh() {
-		for (int markerIdx = 0; markerIdx < markers.length; markerIdx++) {
-			ConcreteMarker next = markers[markerIdx];
-			next.refresh();
-		}
-	}
-	
-	public List asList() {
-		return Arrays.asList(markers);
-	}
-	
-	public MarkerList findMarkers(Collection ofIMarker) {
-		List result = new ArrayList(ofIMarker.size());
-		
-		Iterator iter = ofIMarker.iterator();
-		while (iter.hasNext()) {
-			IMarker next = (IMarker)iter.next();
-			
-			ConcreteMarker marker = getMarker(next);
-			if (marker != null) {
-				result.add(marker);
-			}
-		}
-				
-		return new MarkerList(result);		
-	}
-		
-	public static ConcreteMarker[] createMarkers(IMarker[] source) throws CoreException {
-		ConcreteMarker[] result = new ConcreteMarker[source.length];
-		
-		for (int idx = 0; idx < source.length; idx++) {
-			result[idx] = createMarker(source[idx]);
-		}
-		
-		return result;
-	}
-	
-	/**
-	 * Computes the set of markers that match the given filter
-	 * 
-	 * @param filter
-	 * @param mon
-	 */
-	public static MarkerList compute(MarkerFilter filter, IProgressMonitor mon, 
-									 boolean ignoreExceptions) throws CoreException {
-		return new MarkerList(filter.findMarkers(mon, ignoreExceptions));
-	}
-	
-	/**
-	 * Returns a new MarkerList containing all markers in the workspace of the specified types
-	 * 
-	 * @param types
-	 * @param mon
-	 * @return IMarker[] array of markers 
-	 */
-	public static IMarker[] compute(String[] types) throws CoreException {
-		
-		ArrayList result = new ArrayList();
-		IResource input = ResourcesPlugin.getWorkspace().getRoot();
-
-		for (int i = 0; i < types.length; i++) {
-			IMarker[] newMarkers = input.findMarkers(types[i], true, IResource.DEPTH_INFINITE);
-			result.addAll(Arrays.asList(newMarkers));
-		}
-
-		return (IMarker[])result.toArray(new IMarker[result.size()]);
-	}
-	
-	/**
-	 * Returns the markers in the list. Read-only.
-	 * 
-	 * @return an array of markers in the list
-	 */
-	public ConcreteMarker[] toArray() {
-		return markers;
-	}
-	
-	/**
-	 * Returns the markers in this list. Read-only.
-	 * 
-	 * @return the markers in the list
-	 */
-	//public Collection getMarkers() {
-	//	return markers;
-	//}
-	
-	/**
-	 * Returns the number of items in the list
-	 *  
-	 * @return the number of items 
-	 */
-	public int getItemCount() {
-		return markers.length;
-	}
-	
-	/**
-	 * Returns the number of error markers in the list
-	 * 
-	 * @return the number of errors 
-	 */
-	public int getErrors() {
-		return getMarkerCounts()[IMarker.SEVERITY_ERROR];
-	}
-	
-	/**
-	 * Returns the number of info markers in the list
-	 * 
-	 * @return the number of info markers
-	 */
-	public int getInfos() {
-		return getMarkerCounts()[IMarker.SEVERITY_INFO];
-	}
-	
-	/**
-	 * Returns the number of warning markers in the list 
-	 * 
-	 * @return the number of warning markers
-	 */
-	public int getWarnings() {
-		return getMarkerCounts()[IMarker.SEVERITY_WARNING];
-	}
-	
-	/**
-	 * Returns an array of marker counts where getMarkerCounts()[severity] is the number
-	 * of markers in the list with the given severity. 
-	 * 
-	 * @return an array of marker counts
-	 */
-	private int[] getMarkerCounts() {
-		if (markerCounts == null) {
-			markerCounts = new int[] {0,0,0};
-
-			for (int idx = 0; idx < markers.length; idx++) {
-				ConcreteMarker marker = markers[idx];
-				
-				if (marker instanceof ProblemMarker) {
-					int severity = ((ProblemMarker)markers[idx]).getSeverity();
-					if (severity >= 0 && severity <= 2) {
-						markerCounts[severity]++;					
-					}
-				}
-
-			}
-		}
-		return markerCounts;
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerRegistry.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerRegistry.java
deleted file mode 100644
index 67c2624..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerRegistry.java
+++ /dev/null
@@ -1,277 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-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.runtime.CoreException;
-
-import org.eclipse.jface.util.ListenerList;
-
-
-/**
- * Registry that tracks resource markers and maintains a sorted, filtered list of the markers. 
- * Notifies listeners of changes in these markers.
- */
-public class MarkerRegistry implements IResourceChangeListener, ITableViewContentProvider {
-	
-	private IFilter filter;
-	private IResource input;
-	private String[] types = new String[0];
-	private ListenerList listeners = new ListenerList();
-	
-	public MarkerRegistry() {
-	}
-	
-	/** 
-	 * Disposes the registry, releasing all listeners 
-	 * and any other allocated resources.
-	 */
-	public void dispose() {
-		listeners.clear();
-		setInput(null);
-	}
-	
-	/**
-	 * @return a filtered, sorted list of markers.
-	 */
-	public Object[] getElements() {
-		Object[] elements = getUnfilteredElements();
-		if (filter != null) {
-			Object[] filteredItems = filter.filter(elements);
-			return filteredItems;
-		}
-		return elements;
-	}
-	
-	/**
-	 * @return an unfiltered list of elements
-	 */
-	public Object[] getUnfilteredElements() {
-		if (input == null) {
-			return new Object[0];
-		}
-		List elements = new ArrayList();
-		for (int i = 0; i < types.length; i++) {
-			try {
-				IMarker[] newMarkers = input.findMarkers(types[i], true, IResource.DEPTH_INFINITE);
-				elements.addAll(Arrays.asList(newMarkers));
-			}
-			catch (CoreException e) {
-			}
-		}
-		return elements.toArray();
-	}
-
-	/**
-	 * @return the registry's filter or <code>null</code> if no filter has been assigned 
-	 * to the registry.
-	 */
-	public IFilter getFilter() {
-		return filter;
-	}
-
-	/**
-	 * @return the registry's input resource
-	 */
-	public IResource getInput() {
-		return input;
-	}
-
-	/**
-	 * Sets the registry's filter
-	 * 
-	 * @param filter 
-	 */
-	public void setFilter(IFilter filter) {
-		if (this.filter == null || !this.filter.equals(filter)) {
-			this.filter = filter;
-		}
-	}
-
-	/**
-	 * Sets the registry's input resource
-	 * 
-	 * @param resource
-	 */
-	public void setInput(IResource resource) {
-		if (input != null) {
-			if (input.equals(resource))
-				return;
-			input.getWorkspace().removeResourceChangeListener(this);
-		}
-		input = resource;
-		if (input != null)
-			resource.getWorkspace().addResourceChangeListener(this);
-	}
-
-	/**
-	 * @return the base marker types that the registry is tracking
-	 */
-	public String[] getTypes() {
-		return types;
-	}
-
-	/**
-	 * Sets the base marker types to track. By default the registry will search for
-	 * all markers of these types and their subtypes.
-	 * 
-	 * @param types
-	 */
-	public void setTypes(String[] types) {
-		if (types == null) 
-			this.types = new String[0];
-		else
-			this.types = types;
-	}
-	
-	/**
-	 * Convenience method used if only interested in one base marker type.
-	 * 
-	 * @param type
-	 */
-	public void setType(String type) {
-		setTypes(new String[] { type });
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.IResourceChangeListener#resourceChanged(org.eclipse.core.resources.IResourceChangeEvent)
-	 */
-	public void resourceChanged(IResourceChangeEvent event) {
-	
-		// gather all marker changes from the delta.
-		// be sure to do this in the calling thread, 
-		// as the delta is destroyed when this method returns
-		final List additions = new ArrayList();
-		final List removals = new ArrayList();
-		final List changes = new ArrayList();
-		
-		IResourceDelta delta = event.getDelta();
-		if (delta == null) 
-			return;
-		getMarkerDeltas(delta, additions, removals, changes);
-		//filter additions and changes but not removals since they have already been deleted
-		filterList(additions);
-		filterList(changes);
-		notifyListeners(additions, removals, changes);
-	}
-	
-	/**
-	 * Recursively walks over the resource delta and gathers all marker deltas.  Marker
-	 * deltas are placed into one of the two given lists depending on the type of delta 
-	 * (add or remove).
-	 */
-	private void getMarkerDeltas(IResourceDelta delta, List additions, List removals, List changes) {
-		IMarkerDelta[] markerDeltas = delta.getMarkerDeltas();
-		for (int i = 0; i < markerDeltas.length; i++) {
-			IMarkerDelta markerDelta = markerDeltas[i];
-			IMarker marker = markerDelta.getMarker();
-			switch (markerDelta.getKind()) {
-				case IResourceDelta.ADDED: {
-					boolean added = false;
-					for (int j = 0; j < types.length && !added; j++) {
-						if (markerDelta.isSubtypeOf(types[j])) {
-							additions.add(marker);
-							added = true;
-						}
-					}
-					break;
-				}
-				case IResourceDelta.REMOVED: {
-					boolean added = false;
-					for (int j = 0; j < types.length && !added; j++) {
-						if (markerDelta.isSubtypeOf(types[j])) {
-							removals.add(marker);
-							added = true;
-						}
-					}
-					break;
-				}
-				case IResourceDelta.CHANGED: {
-					boolean added = false;
-					for (int j = 0; j < types.length && !added; j++) {
-						if (markerDelta.isSubtypeOf(types[j])) {
-							changes.add(marker);
-							added = true;
-						}
-					}
-					break;
-				}
-			}
-		}
-	
-		//recurse on child deltas
-		IResourceDelta[] children = delta.getAffectedChildren();
-		for (int i = 0; i < children.length; i++) {
-			getMarkerDeltas(children[i], additions, removals, changes);
-		}
-	}
-	
-	private void notifyListeners(List additions, List removals, List changes) {
-		Object[] listeners = this.listeners.getListeners();
-		for (int i = 0; i < listeners.length; i++) {
-			IItemsChangedListener listener = (IItemsChangedListener) listeners[i];
-			listener.itemsChanged(additions, removals, changes);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.internal.tableview.ITableViewContentProvider#addItemsChangedListener(org.eclipse.ui.views.internal.tableview.IItemsChangedListener)
-	 */
-	public void addItemsChangedListener(IItemsChangedListener listener) {
-		listeners.add(listener);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.internal.tableview.ITableViewContentProvider#removeItemsChangedListener(org.eclipse.ui.views.internal.tableview.IItemsChangedListener)
-	 */
-	public void removeItemsChangedListener(IItemsChangedListener listener) {
-		listeners.remove(listener);
-	}
-	
-	/**
-	 * @return the number of items
-	 */
-	public int getItemCount() {
-		//TODO do this more efficiently
-		return getElements().length;
-	}
-	
-	public int getRawItemCount() {
-		//TODO do this more efficiently
-		return getUnfilteredElements().length;
-	}
-	
-	private void filterList(List list) {
-		if (filter == null || list == null) {
-			return;
-		}
-		int i = 0;
-		while (i < list.size()) {
-			if (filter.select(list.get(i))) {
-				i++;
-			}
-			else {
-				list.remove(i);
-			}
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerType.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerType.java
deleted file mode 100644
index 4bf717e..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerType.java
+++ /dev/null
@@ -1,158 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Represents a marker type.
- */
-class MarkerType {
-	private MarkerTypesModel model;
-	private String id;
-	private String label;
-	private String[] supertypeIds;
-
-	/**
-	 * Creates a new marker type.
-	 */
-	public MarkerType(MarkerTypesModel model, String id, String label, String[] supertypeIds) {
-		this.model = model;
-		this.id = id;
-		this.label = label;
-		this.supertypeIds = supertypeIds;
-	}
-
-	/**
-	 * Returns all this type's supertypes.
-	 */
-	public MarkerType[] getAllSupertypes() {
-		ArrayList result = new ArrayList();
-		getAllSupertypes(result);
-		return (MarkerType[]) result.toArray(new MarkerType[result.size()]);
-	}
-
-	/**
-	 * Appends all this type's supertypes to the given list.
-	 */
-	private void getAllSupertypes(ArrayList result) {
-		MarkerType[] supers = getSupertypes();
-		for (int i = 0; i < supers.length; ++i) {
-			MarkerType sup = supers[i];
-			if (!result.contains(sup)) {
-				result.add(sup);
-				sup.getAllSupertypes(result);
-			}
-		}
-	}
-
-	/**
-	 * Returns the marker type id.
-	 */
-	public String getId() {
-		return id;
-	}
-
-	/**
-	 * Returns the human-readable label for this marker type.
-	 */
-	public String getLabel() {
-		return label;
-	}
-
-	/**
-	 * Returns the types which have this type as a direct supertype.
-	 *
-	 * @return the direct subtypes of this type
-	 */
-	public MarkerType[] getSubtypes() {
-		MarkerType[] types = model.getTypes();
-		ArrayList result = new ArrayList();
-		for (int i = 0; i < types.length; ++i) {
-			MarkerType type = types[i];
-			String[] supers = type.getSupertypeIds();
-			for (int j = 0; j < supers.length; ++j) {
-				if (supers[j].equals(id)) {
-					result.add(type);
-				}
-			}
-		}
-		return (MarkerType[]) result.toArray(new MarkerType[result.size()]);
-	}
-	
-	public MarkerType[] getAllSubTypes() {
-		List subTypes = new ArrayList();
-		addSubTypes(subTypes, this);
-		MarkerType[] subs = new MarkerType[subTypes.size()];
-		subTypes.toArray(subs);
-		return subs;
-	}
-	
-	private void addSubTypes(List list, MarkerType superType) {
-		MarkerType[] subTypes = superType.getSubtypes();
-		for (int i = 0; i < subTypes.length; i++) {
-			MarkerType subType = subTypes[i];
-			if (!list.contains(subType)) {
-				list.add(subType);
-			}
-			addSubTypes(list, subType);
-		}
-	}
-
-	/**
-	 * Returns the marker type ids for this type's supertypes.
-	 */
-	public String[] getSupertypeIds() {
-		return supertypeIds;
-	}
-
-	/**
-	 * Returns this type's direct supertypes.
-	 */
-	public MarkerType[] getSupertypes() {
-		ArrayList result = new ArrayList();
-		for (int i = 0; i < supertypeIds.length; ++i) {
-			MarkerType sup = model.getType(supertypeIds[i]);
-			if (sup != null) {
-				result.add(sup);
-			}
-		}
-		return (MarkerType[]) result.toArray(new MarkerType[result.size()]);
-	}
-
-	/**
-	 * Returns whether this marker type is considered to be a subtype of
-	 * the given marker type. 
-	 *
-	 * @return boolean <code>true</code>if this type is the same as (or a subtype of) the given type
-	 */
-	public boolean isSubtypeOf(MarkerType superType) {
-		if (id.equals(superType.getId())) {
-			return true;
-		}
-		for (int i = 0; i < supertypeIds.length; ++i) {
-			MarkerType sup = model.getType(supertypeIds[i]);
-			if (sup != null && sup.isSubtypeOf(superType)) {
-				return true;
-			}
-		}
-		return false;
-	}
-	
-	public boolean equals(Object other) {
-		if (!(other instanceof MarkerType)) {
-			return false;
-		}
-		return ((MarkerType) other).getId().equals(this.id);
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerTypesModel.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerTypesModel.java
deleted file mode 100644
index d39accc..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerTypesModel.java
+++ /dev/null
@@ -1,105 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.Platform;
-
-/**
- * Maintains a model of all known marker types.
- */ 
-class MarkerTypesModel {
-	/**
-	 * Maps from marker type id to MarkerType.
-	 */
-	private HashMap types;
-	
-	/**
-	 * Creates a new marker types model.
-	 */
-	public MarkerTypesModel() {
-		types = readTypes();
-	}
-
-	/**
-	 * Returns the marker type with the given id, or <code>null</code> if there is no such marker type.
-	 */
-	public MarkerType getType(String id) {
-		return (MarkerType) types.get(id);
-	}
-
-	/**
-	 * Returns all known marker types.
-	 */
-	public MarkerType[] getTypes() {
-		MarkerType[] result = new MarkerType[types.size()];
-		types.values().toArray(result);
-		return result;
-	}
-
-	/**
-	 * Returns the label for the given marker type.
-	 * Workaround until we have labels in XML.
-	 */
-	private String getWellKnownLabel(String type) {
-		if (type.equals(IMarker.PROBLEM))
-			return "Problem";//$NON-NLS-1$
-		if (type.equals(IMarker.TASK))
-			return "Task";//$NON-NLS-1$
-		if (type.equals("org.eclipse.jdt.core.problem"))//$NON-NLS-1$
-			return "Java Problem";//$NON-NLS-1$
-		return type;
-	}
-
-	/**
-	 * Reads the marker types from the registry.
-	 */
-	private HashMap readTypes() {
-		HashMap types = new HashMap();
-		IExtensionPoint point = Platform.getPluginRegistry().getExtensionPoint(ResourcesPlugin.PI_RESOURCES, ResourcesPlugin.PT_MARKERS);
-		if (point != null) {
-			// Gather all registered marker types.
-			IExtension[] extensions = point.getExtensions();
-			for (int i = 0; i < extensions.length; ++i) {
-				IExtension ext = extensions[i];
-				String id = ext.getUniqueIdentifier();
-				String label = ext.getLabel();
-				if (label.equals("")) {//$NON-NLS-1$
-					label = getWellKnownLabel(id);
-				}
-				ArrayList supersList = new ArrayList();
-				IConfigurationElement[] configElements = ext.getConfigurationElements();
-				for (int j = 0; j < configElements.length; ++j) {
-					IConfigurationElement elt = configElements[j];
-					if (elt.getName().equalsIgnoreCase("super")) {//$NON-NLS-1$
-						String sup = elt.getAttribute("type");//$NON-NLS-1$
-						if (sup != null) {
-							supersList.add(sup);
-						}
-					}
-				}
-				String[] superTypes = new String[supersList.size()];
-				supersList.toArray(superTypes);
-				MarkerType type = new MarkerType(this, id, label, superTypes);
-				types.put(id, type);
-			}
-		}
-		return types;
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerView.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerView.java
deleted file mode 100644
index 6e16e41..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerView.java
+++ /dev/null
@@ -1,784 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-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.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.core.runtime.jobs.IJobManager;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.OpenEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DragSourceAdapter;
-import org.eclipse.swt.dnd.DragSourceEvent;
-import org.eclipse.swt.dnd.DragSourceListener;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.SelectionProviderAction;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.part.MarkerTransfer;
-import org.eclipse.ui.progress.WorkbenchJob;
-import org.eclipse.ui.views.navigator.ShowInNavigatorAction;
-import org.eclipse.ui.views.tasklist.ITaskListResourceAdapter;
-
-public abstract class MarkerView extends TableView {
-
-	private static final String WAITING_FOR_WORKSPACE_CHANGES_TO_FINISH = Messages.getString("MarkerView.waiting_on_changes"); //$NON-NLS-1$
-	private static final String SEARCHING_FOR_MARKERS = Messages.getString("MarkerView.searching_for_markers"); //$NON-NLS-1$
-	private static final String REFRESHING_MARKER_COUNTS = Messages.getString("MarkerView.refreshing_counts"); //$NON-NLS-1$
-	private static final String QUEUEING_VIEWER_UPDATES = Messages.getString("MarkerView.queueing_updates"); //$NON-NLS-1$
-	private static final String FILTERING_ON_MARKER_LIMIT = Messages.getString("MarkerView.18"); //$NON-NLS-1$
-	
-	private static final String TAG_SELECTION = "selection"; //$NON-NLS-1$
-	private static final String TAG_MARKER = "marker"; //$NON-NLS-1$
-	private static final String TAG_RESOURCE = "resource"; //$NON-NLS-1$
-	private static final String TAG_ID = "id"; //$NON-NLS-1$
-	
-	//A private field for keeping track of the number of markers
-	//before the busy testing started
-	private int preBusyMarkers = 0;
-
-	protected IResource[] focusResources;
-
-	private Clipboard clipboard;
-
-	IResourceChangeListener resourceListener = new IResourceChangeListener() {
-		public void resourceChanged(IResourceChangeEvent event) {
-			String[] markerTypes = getMarkerTypes();
-
-			boolean refreshNeeded = false;
-			
-			for (int idx = 0; idx < markerTypes.length; idx++) {					
-				IMarkerDelta[] markerDeltas = event.findMarkerDeltas(markerTypes[idx], true);
-				List changes = new ArrayList(markerDeltas.length);
-				
-				examineDelta(markerDeltas, changes);
-				
-				if (markerDeltas.length != changes.size()) {
-					refreshNeeded = true;
-				}
-				
-				MarkerList changed = currentMarkers.findMarkers(changes);
-				changed.refresh();
-				
-				change(changed.asList());
-			}
-			
-			// Refresh everything if markers were added or removed
-			if (refreshNeeded) {
-				markerCountDirty = true;
-				refresh();
-			}
-		}
-	};
-	
-	protected ActionCopyMarker copyAction;
-	protected ActionPasteMarker pasteAction;
-	protected SelectionProviderAction revealAction;
-	protected SelectionProviderAction openAction;
-	protected SelectionProviderAction showInNavigatorAction;
-	protected SelectionProviderAction deleteAction;
-	protected SelectionProviderAction selectAllAction;
-	protected SelectionProviderAction propertiesAction;
-	
-	private ISelectionListener focusListener = new ISelectionListener() {
-		public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-			MarkerView.this.focusSelectionChanged(part, selection);
-		}
-	};
-	
-	private MarkerList currentMarkers = new MarkerList();
-	private int totalMarkers = 0;
-	private boolean markerCountDirty = true;
-
-	WorkbenchJob uiJob;
-	
-	/**
-	 * This job is scheduled whenever a filter or resource change occurs. It computes the new
-	 * set of markers and schedules a UI Job to cause the changes to be reflected in the UI.
-	 */
-	
-	private RestartableJob refreshJob = null;
-
-	private void internalRefresh(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-		int markerLimit = getMarkerLimit();
-		monitor.beginTask(Messages.getString("MarkerView.19"), markerLimit == -1? 60 : 100); //$NON-NLS-1$
-		
-		haltTableUpdates();
-		IJobManager jobMan = Platform.getJobManager();
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		
-		try {
-			monitor.subTask(WAITING_FOR_WORKSPACE_CHANGES_TO_FINISH);
-			
-			jobMan.beginRule(root, monitor);
-			
-			if (monitor.isCanceled()) {
-				return;
-			}
-			
-			monitor.subTask(SEARCHING_FOR_MARKERS);
-			SubProgressMonitor subMonitor = new SubProgressMonitor(monitor, 10);
-			currentMarkers = MarkerList.compute(getFilter(), subMonitor, true);
-			
-			if (monitor.isCanceled()) {
-				return;								
-			}
-			if (markerCountDirty) {
-				monitor.subTask(REFRESHING_MARKER_COUNTS);
-				totalMarkers = MarkerList.compute(getMarkerTypes()).length;
-				markerCountDirty = false;
-			}
-			
-		} catch (CoreException e) {
-			throw new InvocationTargetException(e);
-		} finally {
-			jobMan.endRule(root);
-		}
-		
-		if (monitor.isCanceled()) {
-			return;
-		}
-		
-		// Exit immediately if the markers have changed in the meantime.
-			
-		Collection markers = Arrays.asList(currentMarkers.toArray());
-		
-		if (markerLimit != -1) {
-			
-			monitor.subTask(FILTERING_ON_MARKER_LIMIT);
-			SubProgressMonitor mon = new SubProgressMonitor(monitor, 40);
-			
-			markers = SortUtil.getFirst(markers, getSorter(), markerLimit, mon);
-			if (monitor.isCanceled()) return;
-			currentMarkers = new MarkerList(markers);
-		}
-
-		monitor.subTask(QUEUEING_VIEWER_UPDATES);
-		
-		SubProgressMonitor sub = new SubProgressMonitor(monitor, 50);
-		setContents(markers, sub);
-		if (monitor.isCanceled()) return;
-		
-		uiJob.schedule();
-		try {
-			uiJob.join();
-		} catch (InterruptedException e) {
-			monitor.done();
-		}
-		
-		monitor.done();
-	}
-	
-	/**
-	 * Causes the view to re-sync its contents with the workspace. Note that
-	 * changes will be scheduled in a background job, and may not take effect
-	 * immediately. 
-	 */
-	protected void refresh() {
-		
-		if(uiJob == null)
-			createUIJob();
-	
-		if (refreshJob == null) {
-			
-			refreshJob = new RestartableJob(
-				Messages.format("MarkerView.refreshTitle", new Object[] {getTitle()}),//$NON-NLS-1$
-				new IRunnableWithProgress() {
-					public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-						internalRefresh(monitor);
-					}
-				},
-				getProgressService());			
-		}
-		
-		refreshJob.restart();		
-	}	
-	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.internal.tableview.TableView#init(org.eclipse.ui.IViewSite, org.eclipse.ui.IMemento)
-	 */
-	public void init(IViewSite site, IMemento memento) throws PartInitException {
-		super.init(site, memento);
-		getProgressService().showBusyForFamily(ResourcesPlugin.FAMILY_MANUAL_BUILD);
-		getProgressService().showBusyForFamily(ResourcesPlugin.FAMILY_AUTO_BUILD);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.internal.tableview.TableView#createPartControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createPartControl(Composite parent) {
-		clipboard = new Clipboard(parent.getDisplay());
-
-		super.createPartControl(parent);
-
-		initDragAndDrop();
-
-		getSite().getPage().addSelectionListener(focusListener);
-		focusSelectionChanged(getSite().getPage().getActivePart(), 
-				getSite().getPage().getSelection());
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceListener);
-		refresh();
-	}
-
-	protected void viewerSelectionChanged(IStructuredSelection selection) {
-		
-			Object[] rawSelection = selection.toArray();
-			
-			IMarker[] markers = new IMarker[rawSelection.length];
-			
-			for (int idx = 0; idx < rawSelection.length; idx++) {
-				markers[idx] = ((ConcreteMarker)rawSelection[idx]).getMarker();
-			}
-			
-			setSelection(new StructuredSelection(markers));
-			
-			updateStatusMessage(selection);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.internal.tableview.TableView#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		ResourcesPlugin.getWorkspace().removeResourceChangeListener(resourceListener);
-		getSite().getPage().removeSelectionListener(focusListener);
-
-		//dispose of selection provider actions
-		openAction.dispose();
-		copyAction.dispose();
-		selectAllAction.dispose();
-		deleteAction.dispose();
-		revealAction.dispose();
-		showInNavigatorAction.dispose();
-		propertiesAction.dispose();
-		clipboard.dispose();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.internal.tableview.TableView#createActions()
-	 */
-	protected void createActions() {
-		TableViewer viewer = getViewer();
-		revealAction = new ActionRevealMarker(this, getSelectionProvider());
-		openAction = new ActionOpenMarker(this, getSelectionProvider());
-		copyAction = new ActionCopyMarker(this, getSelectionProvider());
-		copyAction.setClipboard(clipboard);
-		copyAction.setProperties(getFields());
-		pasteAction = new ActionPasteMarker(this, getSelectionProvider());
-		pasteAction.setClipboard(clipboard);
-		pasteAction.setPastableTypes(getMarkerTypes());
-		deleteAction = new ActionRemoveMarker(this, getSelectionProvider());
-		selectAllAction = new ActionSelectAll(viewer);
-		showInNavigatorAction = new ShowInNavigatorAction(getViewSite().getPage(), getSelectionProvider());
-		propertiesAction = new ActionMarkerProperties(this, getSelectionProvider());
-		
-		super.createActions();
-		
-		putAction(FILTERS_ACTION_ID, new FiltersAction(this));
-	}
-	
-	protected abstract String[] getMarkerTypes();
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.internal.tableview.TableView#initToolBar(org.eclipse.jface.action.IToolBarManager)
-	 */
-	protected void initToolBar(IToolBarManager tbm) {
-		tbm.add(deleteAction);
-		tbm.add(getAction(TableView.FILTERS_ACTION_ID));
-		tbm.update(false);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.internal.tableview.TableView#registerGlobalActions(org.eclipse.ui.IActionBars)
-	 */
-	protected void registerGlobalActions(IActionBars actionBars) {
-		actionBars.setGlobalActionHandler(ActionFactory.COPY.getId(), copyAction);
-		actionBars.setGlobalActionHandler(ActionFactory.PASTE.getId(), pasteAction);
-		actionBars.setGlobalActionHandler(ActionFactory.DELETE.getId(), deleteAction);
-		actionBars.setGlobalActionHandler(ActionFactory.SELECT_ALL.getId(), selectAllAction);
-		actionBars.setGlobalActionHandler(ActionFactory.PROPERTIES.getId(), propertiesAction);
-	}
-
-	protected void initDragAndDrop() {
-		int operations = DND.DROP_COPY;
-		Transfer[] transferTypes = new Transfer[] { MarkerTransfer.getInstance(), TextTransfer.getInstance()};
-		DragSourceListener listener = new DragSourceAdapter() {
-			public void dragSetData(DragSourceEvent event) {
-				performDragSetData(event);
-			}
-			public void dragFinished(DragSourceEvent event) {
-			}
-		};
-
-		getViewer().addDragSupport(operations, transferTypes, listener);
-	}
-
-	/**
-	 * The user is attempting to drag marker data.  Add the appropriate
-	 * data to the event depending on the transfer type.
-	 */
-	private void performDragSetData(DragSourceEvent event) {
-		if (MarkerTransfer.getInstance().isSupportedType(event.dataType)) {
-			event.data = ((IStructuredSelection) getViewer().getSelection()).toArray();
-			return;
-		}
-		if (TextTransfer.getInstance().isSupportedType(event.dataType)) {
-			List selection = ((IStructuredSelection) getViewer().getSelection()).toList();
-			try {
-				IMarker[] markers = new IMarker[selection.size()];
-				selection.toArray(markers);
-				if (markers != null) {
-					event.data = copyAction.createMarkerReport(markers);
-				}
-			} catch (ArrayStoreException e) {
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.internal.tableview.TableView#fillContextMenu(org.eclipse.jface.action.IMenuManager)
-	 */
-	protected void fillContextMenu(IMenuManager manager) {
-		if (manager == null)
-			return;
-		manager.add(openAction);
-		manager.add(showInNavigatorAction);
-		manager.add(new Separator());
-		manager.add(copyAction);
-		pasteAction.updateEnablement();
-		manager.add(pasteAction);
-		manager.add(deleteAction);
-		manager.add(selectAllAction);
-		fillContextMenuAdditions(manager);
-		manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-		manager.add(new Separator());
-		manager.add(propertiesAction);
-	}
-
-	protected void fillContextMenuAdditions(IMenuManager manager) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.internal.tableview.TableView#getFilter()
-	 */
-	protected abstract MarkerFilter getFilter();
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.internal.tableview.TableView#handleKeyPressed(org.eclipse.swt.events.KeyEvent)
-	 */
-	protected void handleKeyPressed(KeyEvent event) {
-		if (event.character == SWT.DEL && event.stateMask == 0 && deleteAction.isEnabled()) {
-			deleteAction.run();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.internal.tableview.TableView#handleOpenEvent(org.eclipse.jface.viewers.OpenEvent)
-	 */
-	protected void handleOpenEvent(OpenEvent event) {
-		openAction.run();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.internal.tableview.TableView#saveSelection(org.eclipse.ui.IMemento)
-	 */
-	protected void saveSelection(IMemento memento) {
-		IStructuredSelection selection = (IStructuredSelection)getViewer().getSelection();
-		IMemento selectionMem = memento.createChild(TAG_SELECTION);
-		for (Iterator iterator = selection.iterator(); iterator.hasNext();) {
-			ConcreteMarker marker = (ConcreteMarker) iterator.next();
-			IMemento elementMem = selectionMem.createChild(TAG_MARKER);
-			elementMem.putString(TAG_RESOURCE, marker.getMarker().getResource().getFullPath().toString());
-			elementMem.putString(TAG_ID, String.valueOf(marker.getMarker().getId()));
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.internal.tableview.TableView#restoreSelection(org.eclipse.ui.IMemento)
-	 */
-	protected IStructuredSelection restoreSelection(IMemento memento) {
-		if (memento == null) {
-			return new StructuredSelection();
-		}
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		IMemento selectionMemento = memento.getChild(TAG_SELECTION);
-		if (selectionMemento == null) {
-			return new StructuredSelection();
-		}
-		ArrayList selectionList = new ArrayList();
-		IMemento[] markerMems = selectionMemento.getChildren(TAG_MARKER);
-		for (int i = 0; i < markerMems.length; i++) {
-			try {
-				long id = new Long(markerMems[i].getString(TAG_ID)).longValue();
-				IResource resource = root.findMember(markerMems[i].getString(TAG_RESOURCE));
-				if (resource != null) {
-					IMarker marker = resource.findMarker(id);
-					if (marker != null)
-						selectionList.add(currentMarkers.getMarker(marker));
-				}
-			} catch (CoreException e) {
-			}
-		}
-		return new StructuredSelection(selectionList);
-	}
-
-	protected abstract String[] getRootTypes();
-
-	/**
-	 * @param part
-	 * @param selection
-	 */
-	protected void focusSelectionChanged(IWorkbenchPart part, ISelection selection) {
-
-		List resources = new ArrayList();
-		if (part instanceof IEditorPart) {
-			IEditorInput input = ((IEditorPart) part).getEditorInput();
-			if (input instanceof FileEditorInput) {
-				resources.add(((FileEditorInput) input).getFile());
-			}
-		} else {
-			if (selection instanceof IStructuredSelection) {
-				for (Iterator iterator = ((IStructuredSelection) selection).iterator(); iterator.hasNext();) {
-					Object object = iterator.next();
-					if (object instanceof IAdaptable) {
-						ITaskListResourceAdapter taskListResourceAdapter;
-						Object adapter = ((IAdaptable) object).getAdapter(ITaskListResourceAdapter.class);
-						if (adapter != null && adapter instanceof ITaskListResourceAdapter) {
-							taskListResourceAdapter = (ITaskListResourceAdapter) adapter;
-						} else {
-							taskListResourceAdapter = DefaultMarkerResourceAdapter.getDefault();
-						}
-
-						IResource resource = taskListResourceAdapter.getAffectedResource((IAdaptable) object);
-						if (resource != null) {
-							resources.add(resource);
-						}
-					}
-				}
-			}
-		}
-
-		IResource[] focus = new IResource[resources.size()];
-		resources.toArray(focus);
-		updateFocusResource(focus);
-	}
-
-	/**
-	 * 
-	 * @param resources
-	 */
-	protected abstract void updateFilterSelection(IResource[] resources);
-	
-	void updateFocusResource(IResource[] resources) {
-		boolean updateNeeded = updateNeeded(focusResources, resources);
-		focusResources = resources;
-		updateFilterSelection(resources);
-		if (updateNeeded) {
-			refresh();
-		}
-	}
-
-	private boolean updateNeeded(IResource[] oldResources, IResource[] newResources) {
-		//determine if an update if refiltering is required
-		MarkerFilter filter = getFilter();
-		if (!filter.isEnabled()) {
-			return false;
-		}
-		
-		int onResource = filter.getOnResource();
-		if (onResource == MarkerFilter.ON_ANY_RESOURCE || onResource == MarkerFilter.ON_WORKING_SET) {
-			return false;
-		}
-		if (newResources == null || newResources.length < 1) {
-			return false;
-		}
-		if (oldResources == null || oldResources.length < 1) {
-			return true;
-		}
-		if (Arrays.equals(oldResources, newResources)) {
-			return false;
-		}
-		if (onResource == MarkerFilter.ON_ANY_RESOURCE_OF_SAME_PROJECT) {
-			Collection oldProjects = MarkerFilter.getProjectsAsCollection(oldResources);
-			Collection newProjects = MarkerFilter.getProjectsAsCollection(newResources);
-			
-			if (oldProjects.size() == newProjects.size()) {
-				return !newProjects.containsAll(oldProjects);
-			} else {
-				return true;
-			}
-		} 
-		
-		return true;
-	}
-
-	/**
-	 * Returns the marker limit or -1 if unlimited
-	 *  
-	 * @return
-	 */
-	private int getMarkerLimit() {
-		MarkerFilter filter = getFilter();
-
-		if (!filter.isEnabled() || !filter.getFilterOnMarkerLimit()) {
-			return -1;
-		}
-		
-		return filter.getMarkerLimit();			
-	}
-	
-	private boolean withinMarkerLimit(int toTest) {
-		int limit = getMarkerLimit();
-		
-		return (limit == -1 || toTest <= limit);
-	}
-	
-	void updateTitle() {
-		String currentTitle = getTitle();
-		String viewName = getConfigurationElement().getAttribute("name"); //$NON-NLS-1$
-		String status = ""; //$NON-NLS-1$
-		int filteredCount = currentMarkers.getItemCount();
-		int totalCount = getTotalMarkers();
-		if (filteredCount == totalCount) {
-			status = Messages.format("filter.itemsMessage", new Object[] { new Integer(totalCount)}); //$NON-NLS-1$
-		} else {
-			status = Messages.format("filter.matchedMessage", new Object[] { new Integer(filteredCount), new Integer(totalCount)}); //$NON-NLS-1$
-		}
-		setContentDescription(status);
-	}
-	
-	/**
-	 * Updates the message displayed in the status line.  This method is
-	 * invoked in the following cases:
-	 * <ul>
-	 * <li>when this view is first created</li>
-	 * <li>when new elements are added</li>
-	 * <li>when something is deleted</li>
-	 * <li>when the filters change</li>
-	 * </ul>
-	 * <p>
-	 * By default, this method calls <code>updateStatusMessage(IStructuredSelection)</code>
-	 * with the current selection or <code>null</code>.  Classes wishing to override
-	 * this functionality, should just override the method
-	 * <code>updateStatusMessage(IStructuredSelection)</code>.
-	 * </p>
-	 */
-	protected void updateStatusMessage() {
-		ISelection selection = getViewer().getSelection();
-		
-		if (selection instanceof IStructuredSelection)
-			updateStatusMessage((IStructuredSelection) selection);
-		else 
-			updateStatusMessage(null);
-	}
-
-	/**
-	 * Updates that message displayed in the status line.  If the
-	 * selection parameter is <code>null</code> or its size is 0, the status 
-	 * area is blanked out.  If only 1 marker is selected, the
-	 * status area is updated with the contents of the message
-	 * attribute of this marker.  In other cases (more than one marker
-	 * is selected) the status area indicates how many items have
-	 * been selected.
-	 * <p>
-	 * This method may be overwritten.
-	 * </p><p>
-	 * This method is called whenever a selection changes in this view.
-	 * </p>
-	 * @param selection a valid selection or <code>null</code>
-	 */
-	protected void updateStatusMessage(IStructuredSelection selection) {
-		String message = ""; //$NON-NLS-1$
-		
-		if (selection == null || selection.size() == 0){
-			// Show stats on all items in the view
-			message = updateSummaryVisible();
-		} else if (selection.size() == 1) {
-			// Use the Message attribute of the marker
-			ConcreteMarker marker = (ConcreteMarker)selection.getFirstElement();
-			message = marker.getDescription(); //$NON-NLS-1$
-		} else if (selection.size() > 1) {
-			// Show stats on only those items in the selection
-			message = updateSummarySelected(selection);
-		}
-		getViewSite().getActionBars().getStatusLineManager().setMessage(message);		
-	}
-
-	/**
-	 * @param selection
-	 * @return the summary status message
-	 */
-	protected String updateSummarySelected(IStructuredSelection selection) {
-		// Show how many items selected
-		return Messages.format("marker.statusSummarySelected", new Object[] {new Integer(selection.size()), ""}); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/**
-	 * @return the update summary 
-	 */
-	protected String updateSummaryVisible() {
-		return ""; //$NON-NLS-1$
-	}
-
-	public abstract void openFiltersDialog();
-	
-	/**
-	 * Given a selection of IMarker, reveals the corresponding elements in the viewer
-	 * 
-	 * @param structuredSelection
-	 * @param reveal
-	 */
-	public void setSelection(IStructuredSelection structuredSelection, boolean reveal) {
-		TableViewer viewer = getViewer();
-		
-		List newSelection = new ArrayList(structuredSelection.size());
-		
-		for (Iterator i = structuredSelection.iterator(); i.hasNext();) {
-			Object next = i.next();
-			if (next instanceof IMarker) {
-				ConcreteMarker marker = currentMarkers.getMarker((IMarker)next);
-				if (marker != null) {
-					newSelection.add(marker);
-				}
-			}
-		}
-
-		if (viewer != null)
-			viewer.setSelection(new StructuredSelection(newSelection), reveal);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.markers.internal.TableView#setContents(java.util.Collection)
-	 */
-	void setContents(Collection contents, IProgressMonitor mon) {		
-		if (withinMarkerLimit(contents.size())) {
-			super.setContents(contents, mon);	
-		} else {
-			super.setContents(Collections.EMPTY_LIST, mon);
-		}
-	}
-
-	protected MarkerList getVisibleMarkers() {
-		return currentMarkers;
-	}
-	
-	/**
-	 * Returns the total number of markers. Should not be called while the marker
-	 * list is still updating.
-	 * 
-	 * @return the total number of markers in the workspace (including everything that doesn't pass the filters)
-	 */
-	int getTotalMarkers() {
-		// The number of visible markers should never exceed the total number of markers in
-		// the workspace. If this assertation fails, it probably indicates some sort of concurrency problem
-		// (most likely, getTotalMarkers was called while we were still computing the marker lists)
-		Assert.isTrue(totalMarkers >= currentMarkers.getItemCount());
-
-		return totalMarkers;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.markers.internal.TableView#sorterChanged()
-	 */
-	protected void sorterChanged() {
-		refresh();
-	}
-
-	private static void examineDelta(IMarkerDelta[] deltas, List changes) {
-		for (int idx = 0; idx < deltas.length; idx++) {
-			IMarkerDelta delta = deltas[idx];
-			int kind = delta.getKind();
-			
-			if (kind == IResourceDelta.CHANGED) {
-				changes.add(deltas[idx].getMarker());
-			}
-		}
-	}
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.part.WorkbenchPart#showBusy(boolean)
-     */
-    public void showBusy(boolean busy) {
-        super.showBusy(busy);
-        
-        if(busy){
-        	preBusyMarkers = totalMarkers;
-        }
-        else{//Only bold if there has been a change in count
-        	if(totalMarkers != preBusyMarkers)
-        		getProgressService().warnOfContentChange();
-        }
-        
-    }
-    
-    /**
-     * Create the UIJob used in the receiver for updates.
-     *
-     */
-    private void createUIJob(){
-    	uiJob = new WorkbenchJob(Messages.getString("MarkerView.refreshProgress")) { //$NON-NLS-1$
-    		
-    		public IStatus runInUIThread(IProgressMonitor monitor) {						
-    			updateStatusMessage();
-    			updateTitle();
-    			return Status.OK_STATUS;
-    		}
-    	};
-    	uiJob.setPriority(Job.INTERACTIVE);
-		uiJob.setSystem(true);
-    }
-	
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/Messages.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/Messages.java
deleted file mode 100644
index 4a1dd46..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/Messages.java
+++ /dev/null
@@ -1,32 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.text.MessageFormat;
-import java.util.ResourceBundle;
-
-public class Messages {
-
-	private final static ResourceBundle bundle = ResourceBundle.getBundle(Messages.class.getName());
-	
-	private Messages() {
-		super();
-	}
-
-	public static String format(String key, Object[] args) {
-		return MessageFormat.format(getString(key), args);
-	}
-
-	public static String getString(String key) {
-		return Util.getString(bundle, key);
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/Messages.properties b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/Messages.properties
deleted file mode 100644
index c12e9fc..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/Messages.properties
+++ /dev/null
@@ -1,172 +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 Corporation - initial API and implementation
-###############################################################################
-
-sortAction.title = &Sorting...
-filtersAction.title = &Filters...
-filtersAction.tooltip = Filters...
-
-sortDialog.title = Sorting
-sortDialog.label = Sort by:
-sortDialog.columnLabel = &{0}. 
-sortDirectionAscending.text = &Ascending
-sortDirectionDescending.text = &Descending
-restoreDefaults.text = Restore &Defaults
-
-Error = Error: 
-
-columnHeader.message = Description
-columnHeader.location = Location
-columnHeader.lineNumber = Location
-columnHeader.charStart = Char Start
-columnHeader.charEnd = Char End
-columnHeader.transient = Transient
-columnHeader.userEditable = User Editable
-columnHeader.severity = 
-columnHeader.priority =
-columnHeader.done = 
-
-description.message = Description
-description.resource = Resource
-description.folder = In Folder
-description.lineNumber = Location
-description.creationTime = Creation Time
-description.priority = Priority
-description.completion = Completion
-
-label.lineNumber = line {0}
-
-openAction.title = &Go To
-copyAction.title = &Copy
-pasteAction.title = &Paste
-deleteAction.title = &Delete
-deleteAction.tooltip = Delete
-selectAllAction.title = Select &All
-propertiesAction.title = P&roperties
-
-filtersDialog.title = Filters
-filtersDialog.onOff = &Enabled
-filtersDialog.limitVisibleMarkersTo = Limit visi&ble items to:
-filtersDialog.showItemsOfType = Show items of &type:
-filtersDialog.anyResource = On any &resource
-filtersDialog.anyResourceInSameProject = On any resource in same &project
-filtersDialog.selectedResource = On selected resource &only
-filtersDialog.selectedAndChildren = On selected resource and its &children
-filtersDialog.workingSet = On wor&king set:  {0}
-filtersDialog.workingSetSelect = &Select...
-filtersDialog.noWorkingSet = On wor&king set:  <no working set selected>
-filtersDialog.selectAll = Select &All
-filtersDialog.deselectAll = &Deselect All
-filtersDialog.type.columnHeader = Type
-filtersDialog.superTypecolumnHeader = Parent types
-filtersDialog.titleMarkerLimitInvalid = Error
-filtersDialog.messageMarkerLimitInvalid = The visible item limit must be a positive integer.
-filtersDialog.descriptionLabel = Where &description 
-filtersDialog.contains = contains
-filtersDialog.doesNotContain = does not contain
-filtersDialog.severityLabel = Where se&verity is:
-filtersDialog.severityError = &Error
-filtersDialog.severityWarning = Warnin&g
-filtersDialog.severityInfo = &Info
-filtersDialog.priorityLabel = Where priorit&y is: 
-filtersDialog.priorityHigh = &High
-filtersDialog.priorityNormal = &Normal
-filtersDialog.priorityLow = Lo&w
-filtersDialog.statusLabel = Where stat&us is: 
-filtersDialog.statusComplete = Co&mpleted
-filtersDialog.statusIncomplete = Not Comp&leted
-
-propertiesDialog.creationTime.text = Creation &Time: 
-propertiesDialog.description.text = &Description: 
-propertiesDialog.folder.text = In &Folder: 
-propertiesDialog.location.text = &Location: 
-propertiesDialog.resource.text = On &Resource: 
-propertiesDialog.title = Properties
-propertiesDialog.severityLabel = &Severity: {0}
-propertiesDialog.errorLabel = Error
-propertiesDialog.warningLabel = Warning
-propertiesDialog.infoLabel = Info
-propertiesDialog.noseverityLabel = Not defined
-propertiesDialog.priority = &Priority
-propertiesDialog.priorityHigh = High
-propertiesDialog.priorityNormal = Normal
-propertiesDialog.priorityLow = Low
-propertiesDialog.completed = &Completed
-
-restoreDefaults.text = Restore &Defaults
-
-markerLimitExceeded.title = There are too many items to display.\n\
-	To see items in this window, adjust the filter settings.
-	
-filter.matchedMessage = Filter matched {0} of {1} items
-filter.itemsMessage = {0} items
-problem.filter.matchedMessage = {0} (Filter matched {1} of {2} items)
-view.title = {0} ({1})
-
-errorModifyingBookmark = Error Modifying Bookmark
-errorModifyingTask = Error Modifying Task
-
-problemSeverity.description = Severity
-problem.statusSummaryVisible = {0,choice,0#0 items|1#{0,number,integer} item|1<{0,number,integer} items}: {1}
-problem.statusSummaryBreakdown = {0,choice,0#0 errors|1#{0,number,integer} error|1<{0,number,integer} errors}, {1,choice,0#0 warnings|1#{1,number,integer} warning|1<{1,number,integer} warnings}, {2,choice,0#0 infos|1#{2,number,integer} info|1<{2,number,integer} infos}
-problem.statusSummarySelected = {0,choice,0#0 items|1#{0,number,integer} item|1<{0,number,integer} items} selected: {1}
-marker.statusSummarySelected = {0,choice,0#0 items|1#{0,number,integer} item|1<{0,number,integer} items} selected.
-
-deleteCompletedAction.title = Delete Completed &Tasks
-
-filtersAction.title = &Filters...
-
-markCompletedAction.title = &Mark Completed
-
-resolveMarkerAction.title = &Quick Fix
-resolveMarkerAction.dialogTitle = Quick Fix
-resolveMarkerAction.noResolutionsLabel = There are no quick fixes available for the selected marker.
-
-deleteCompletedTasks.dialogTitle = Delete Completed Tasks
-deleteCompletedTasks.noneCompleted = No user-editable completed tasks to delete.
-deleteCompletedTasks.permanentPlural = Do you want to permanently delete the {0} completed tasks?
-deleteCompletedTasks.permanentSingular = Do you want to permanently delete the completed task?
-deleteCompletedTasks.errorMessage = Error deleting completed tasks
-
-addGlobalTaskAction.title = &Add Task
-addGlobalTaskAction.tooltip = Add Task
-
-addGlobalTaskDialog.title = Add Task
-
-completion.description = Completed
-priority.description = Priority
-
-priority.high = High
-priority.normal = Normal
-priority.low = Low
-
-CopyToClipboardProblemDialog.title=Problem Copying to Clipboard
-CopyToClipboardProblemDialog.message=There was a problem when accessing the system clipboard. Retry?
-
-MarkerList.0=Searching for markers
-
-TableContentProvider.TableSynchronization=Table synchronization
-TableContentProvider.Updating=Updating table widget
-
-MarkerFilter.searching=Searching for markers
-MarkerView.refreshProgress=Refreshing marker view
-MarkerView.refreshTitle=Updating {0} view
-TableView.populating=Populating {0} view
-
-MarkerView.waiting_on_changes=Waiting for workspace changes to finish
-MarkerView.searching_for_markers=Searching for markers
-MarkerView.refreshing_counts=Refreshing marker counts
-MarkerView.queueing_updates=Queueing viewer updates
-DeferredQueue.setting_contents=Setting contents
-DeferredQueue.enqueueing_items=Enqueueing items
-MarkerView.18=Filtering on marker limit
-MarkerView.19=Refreshing view
-SortUtil.finding_first=Finding first items
-SortUtil.partitioning=Partitioning items
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ProblemFilter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ProblemFilter.java
deleted file mode 100644
index 02a3e11..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ProblemFilter.java
+++ /dev/null
@@ -1,164 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IMarker;
-
-import org.eclipse.jface.dialogs.IDialogSettings;
-
-public class ProblemFilter extends MarkerFilter {
-
-	private static final String TAG_CONTAINS = "contains"; //$NON-NLS-1$
-	private static final String TAG_DESCRIPTION = "description"; //$NON-NLS-1$
-	private static final String TAG_DIALOG_SECTION = "filter"; //$NON-NLS-1$
-	private static final String TAG_SELECT_BY_SEVERITY = "selectBySeverity"; //$NON-NLS-1$
-	private static final String TAG_SEVERITY = "severity"; //$NON-NLS-1$
-
-	final static boolean DEFAULT_CONTAINS = true;
-	final static String DEFAULT_DESCRIPTION = ""; //$NON-NLS-1$	
-	final static boolean DEFAULT_SELECT_BY_SEVERITY = false;
-	final static int DEFAULT_SEVERITY = 0;
-
-	final static int SEVERITY_ERROR = 1 << 2;
-	final static int SEVERITY_WARNING = 1 << 1;
-	final static int SEVERITY_INFO = 1 << 0;
-
-	private boolean contains;
-	private String description;
-	private boolean selectBySeverity;
-	private int severity;
-
-	public ProblemFilter() {
-		super(new String[] { IMarker.PROBLEM });
-	}
-	
-	public boolean selectMarker(ConcreteMarker marker) {
-		if (!(marker instanceof ProblemMarker)) {
-			return false;
-		}
-		
-		ProblemMarker problemMarker = (ProblemMarker)marker;
-		
-		return !isEnabled() || (super.selectMarker(problemMarker) && selectByDescription(problemMarker) && selectBySeverity(problemMarker));
-	}
-	
-	private boolean selectByDescription(ConcreteMarker item) {
-		if (description == null || description.equals("")) //$NON-NLS-1$
-			return true;
-		
-		String markerDescription = item.getDescription();
-		int index = markerDescription.indexOf(description);
-		return contains ? (index >= 0) : (index < 0);		
-	}
-	
-	private boolean selectBySeverity(ProblemMarker item) {
-		if (selectBySeverity) {
-			int markerSeverity = item.getSeverity(); 
-		
-			if (markerSeverity == IMarker.SEVERITY_ERROR)
-				return (severity & SEVERITY_ERROR) > 0;		
-			else if (markerSeverity == IMarker.SEVERITY_WARNING)
-				return (severity & SEVERITY_WARNING) > 0;
-			else if (markerSeverity == IMarker.SEVERITY_INFO)
-				return (severity & SEVERITY_INFO) > 0;
-		}
-		
-		return true;
-	}
-	
-	public boolean getContains() {
-		return contains;
-	}
-
-	public String getDescription() {
-		return description;
-	}
-
-	public boolean getSelectBySeverity() {
-		return selectBySeverity;
-	}
-
-	public int getSeverity() {
-		return severity;
-	}
-
-	public void setContains(boolean contains) {
-		this.contains = contains;
-	}
-
-	public void setDescription(String description) {
-		this.description = description;
-	}
-
-	public void setSelectBySeverity(boolean selectBySeverity) {
-		this.selectBySeverity = selectBySeverity;
-	}
-
-	public void setSeverity(int severity) {
-		this.severity = severity;
-	}
-
-	public void resetState() {
-		super.resetState();
-		contains = DEFAULT_CONTAINS;
-		description = DEFAULT_DESCRIPTION;		
-		selectBySeverity = DEFAULT_SELECT_BY_SEVERITY;
-		severity = DEFAULT_SEVERITY;		
-	}
-
-	public void restoreState(IDialogSettings dialogSettings) {		
-		super.restoreState(dialogSettings);
-		IDialogSettings settings = dialogSettings.getSection(TAG_DIALOG_SECTION);
-		
-		if (settings != null) {
-			String setting = settings.get(TAG_CONTAINS);
-
-			if (setting != null)
-				contains = Boolean.valueOf(setting).booleanValue();
-				
-			setting = settings.get(TAG_DESCRIPTION);
-			
-			if (setting != null)			
-				description = new String(setting);
-
-			setting = settings.get(TAG_SELECT_BY_SEVERITY);
-			
-			if (setting != null)
-				selectBySeverity = Boolean.valueOf(setting).booleanValue();
-
-			setting = settings.get(TAG_SEVERITY);
-
-			if (setting != null)
-				try {
-					severity = Integer.parseInt(setting);		
-				}
-				catch (NumberFormatException eNumberFormat) {
-				}
-		}
-	}
-
-	public void saveState(IDialogSettings dialogSettings) {
-		super.saveState(dialogSettings);
-		
-		if (dialogSettings != null) {
-			IDialogSettings settings = dialogSettings.getSection(TAG_DIALOG_SECTION);
-
-			if (settings == null)
-				settings = dialogSettings.addNewSection(TAG_DIALOG_SECTION);
-
-			settings.put(TAG_CONTAINS, contains);
-			settings.put(TAG_DESCRIPTION, description);
-			settings.put(TAG_SELECT_BY_SEVERITY, selectBySeverity);
-			settings.put(TAG_SEVERITY, severity);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ProblemMarker.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ProblemMarker.java
deleted file mode 100644
index f5a1d15..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ProblemMarker.java
+++ /dev/null
@@ -1,38 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IMarker;
-
-/**
- * 
- */
-public class ProblemMarker extends ConcreteMarker {
-
-	private int severity;
-
-	public ProblemMarker(IMarker toCopy) {
-		super(toCopy);
-
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.markers.internal.ConcreteMarker#refresh()
-	 */
-	public void refresh() {
-		super.refresh();
-		severity = getMarker().getAttribute(IMarker.SEVERITY, -1);
-	}
-	
-	public int getSeverity() {
-		return severity;
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ProblemView.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ProblemView.java
deleted file mode 100644
index 71d8009..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ProblemView.java
+++ /dev/null
@@ -1,265 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.ColumnLayoutData;
-import org.eclipse.jface.viewers.ColumnPixelData;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-public class ProblemView extends MarkerView {
-	
-	private final static ColumnLayoutData[] DEFAULT_COLUMN_LAYOUTS = { 
-		new ColumnPixelData(19, false), 
-		new ColumnWeightData(200), 
-		new ColumnWeightData(75), 
-		new ColumnWeightData(150), 
-		new ColumnWeightData(60) 
-	};
-		
-	// Direction constants - use the ones on TableSorter to stay sane
-	private final static int ASCENDING = TableSorter.ASCENDING;
-	private final static int DESCENDING = TableSorter.DESCENDING;
-	
-	private final static IField[] VISIBLE_FIELDS = { 
-		new FieldSeverity(), 
-		new FieldMessage(), 
-		new FieldResource(), 
-		new FieldFolder(), 
-		new FieldLineNumber() 
-	};
-	
-	private final static IField[] HIDDEN_FIELDS = { 
-		new FieldCreationTime() 
-	};
-	
-	// Field Tags
-	// These tags MUST occur in the same order as the VISIBLE_FIELDS +
-	// HIDDEN_FIELDS appear.  The TableSorter holds the priority and
-	// direction order as a set of indices into an array of fields.  This
-	// array of fields is set on instantiation of TableSorter (see method
-	// getSorter() in this (i.e. ProblemView) class).  When we instantiate
-	// TableSorter, we use the method TableView.getFields() as it is 
-	// inherited and we don't override it.  TableView.getFields() will
-	// return VISIBLE_FIELDS and then HIDDEN_FIELDS
-	private final static int SEVERITY = 0;
-	private final static int DESCRIPTION = 1;
-	private final static int RESOURCE = 2;
-	private final static int FOLDER = 3;
-	private final static int LOCATION = 4;
-	private final static int CREATION_TIME = 5;
-	
-	private final static int[] DEFAULT_PRIORITIES = 
-		{ SEVERITY,
-		  FOLDER,
-		  RESOURCE,
-		  LOCATION,
-		  DESCRIPTION,
-		  CREATION_TIME };
-
-	private final static int[] DEFAULT_DIRECTIONS = 
-		{ DESCENDING,	// severity
-		  ASCENDING,    // folder
-		  ASCENDING,	// resource
-		  ASCENDING,	// location
-		  ASCENDING,	// description
-		  ASCENDING, };	// creation time
-									
-	private final static String[] ROOT_TYPES = { 
-		IMarker.PROBLEM 
-	};
-	
-	private final static String TAG_DIALOG_SECTION = "org.eclipse.ui.views.problem"; //$NON-NLS-1$
-	
-	private ProblemFilter problemFilter = new ProblemFilter();
-	private ActionResolveMarker resolveMarkerAction;
-	private TableSorter sorter;
-
-	public void dispose() {
-		if (resolveMarkerAction != null)
-			resolveMarkerAction.dispose();
-		
-		super.dispose();
-	}
-
-	public void init(IViewSite viewSite, IMemento memento) throws PartInitException {
-		super.init(viewSite, memento);
-		problemFilter.restoreState(getDialogSettings());
-	}
-
-	public void saveState(IMemento memento) {	
-		problemFilter.saveState(getDialogSettings());
-		
-		super.saveState(memento);	
-	}
-
-	protected ColumnLayoutData[] getDefaultColumnLayouts() {
-		return DEFAULT_COLUMN_LAYOUTS;
-	}
-
-	protected IDialogSettings getDialogSettings() {
-		AbstractUIPlugin plugin = (AbstractUIPlugin) Platform.getPlugin(PlatformUI.PLUGIN_ID);
-		IDialogSettings workbenchSettings = plugin.getDialogSettings();
-		IDialogSettings settings = workbenchSettings.getSection(TAG_DIALOG_SECTION);
-		
-		if (settings == null)
-			settings = workbenchSettings.addNewSection(TAG_DIALOG_SECTION);
-
-		return settings;
-	}
-
-	protected void createActions() {
-		super.createActions();
-		propertiesAction = new ActionProblemProperties(this, getSelectionProvider());
-		resolveMarkerAction = new ActionResolveMarker(this, getSelectionProvider());
-	}
-	
-	protected void createColumns(Table table) {
-		super.createColumns(table);
-		TableColumn[] columns = table.getColumns();
-		
-		if (columns != null && columns.length >= 1)
-			columns[0].setResizable(false);
-	}
-	
-	protected void fillContextMenuAdditions(IMenuManager manager) {
-		manager.add(new Separator());
-		manager.add(resolveMarkerAction);
-	}
-	
-	protected DialogMarkerFilter getFiltersDialog() {
-		return new DialogProblemFilter(getViewer().getControl().getShell(), problemFilter);
-	}
-	
-	protected IField[] getHiddenFields() {
-		return HIDDEN_FIELDS;
-	}
-
-	protected String[] getRootTypes() {
-		return ROOT_TYPES;
-	}
-	
-	protected TableSorter getSorter() {
-		if (sorter == null)
-			sorter = new TableSorter(getFields(), DEFAULT_PRIORITIES, DEFAULT_DIRECTIONS);
-		return sorter;
-	}
-
-	protected Object getViewerInput() {
-		return ResourcesPlugin.getWorkspace().getRoot();
-	}
-	
-	protected IField[] getVisibleFields() {
-		return VISIBLE_FIELDS;
-	}
-	
-	protected void initMenu(IMenuManager menu ) {
-		super.initMenu(menu);
-	}
-	
-	void updateTitle() {
-		MarkerList visibleMarkers = getVisibleMarkers();
-		String breakdown = formatSummaryBreakDown(visibleMarkers);
-		int filteredCount = visibleMarkers.getItemCount();
-		int totalCount = getTotalMarkers();
-		if (filteredCount != totalCount) 
-			breakdown = Messages.format("problem.filter.matchedMessage", //$NON-NLS-1$
-					new Object[] { 
-						breakdown, 
-						new Integer(filteredCount), 
-						new Integer(totalCount)});
-		setContentDescription(breakdown);
-	}
-	
-	private String formatSummaryBreakDown(MarkerList visibleMarkers) {
-		return Messages.format(
-				"problem.statusSummaryBreakdown", //$NON-NLS-1$
-				new Object[] {
-						new Integer(visibleMarkers.getErrors()),
-						new Integer(visibleMarkers.getWarnings()),
-						new Integer(visibleMarkers.getInfos())
-				});
-	}
-
-	private String getSummary(MarkerList markers, String messageKey) {
-		String message = Messages.format(
-				messageKey,
-				new Object[] {
-						   new Integer(markers.getItemCount()),
-						   		formatSummaryBreakDown(markers)
-				});
-		return message;
-	}
-	
-	/**
-	 * Retrieves statistical information (the total number of markers with each
-	 * severity type) for the markers contained in the selection passed in.
-	 * This information is then massaged into a string which may be displayed
-	 * by the caller.
-	 * 
-	 * @param selection a valid selection or <code>null</code>
-	 * @return a message ready for display
-	 */
-	protected String updateSummarySelected(IStructuredSelection selection) {		
-		return getSummary(new MarkerList(selection.toList()), "problem.statusSummarySelected"); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.markers.internal.MarkerView#getMarkerTypes()
-	 */
-	protected String[] getMarkerTypes() {
-		return new String[] {IMarker.PROBLEM};
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.markers.internal.MarkerView#getFilter()
-	 */
-	protected MarkerFilter getFilter() {
-		return problemFilter;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.markers.internal.MarkerView#openFiltersDialog()
-	 */
-	public void openFiltersDialog() {
-		DialogProblemFilter dialog = new DialogProblemFilter(getViewer().getControl().getShell(), problemFilter);
-		
-		if (dialog.open() == Window.OK) {
-			problemFilter = (ProblemFilter)dialog.getFilter();
-			problemFilter.saveState(getDialogSettings());
-			refresh();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.markers.internal.MarkerView#updateFilterSelection(org.eclipse.core.resources.IResource[])
-	 */
-	protected void updateFilterSelection(IResource[] resources) {
-		problemFilter.setFocusResource(resources);
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/RestartableJob.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/RestartableJob.java
deleted file mode 100644
index 25b3e5a..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/RestartableJob.java
+++ /dev/null
@@ -1,156 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.markers.internal;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.IJobChangeEvent;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.core.runtime.jobs.JobChangeAdapter;
-
-import org.eclipse.jface.operation.IRunnableWithProgress;
-
-import org.eclipse.ui.progress.IWorkbenchSiteProgressService;
-
-import org.eclipse.ui.internal.ide.StatusUtil;
-
-/**
- * Represents a job that can be restarted. When a job is "restarted", the currently running
- * instance is cancelled and a new instance is scheduled once the previous one terminates.
- * This does not inherit from the Jobs API. Instead of subclassing this class, a pointer to
- * a IRunnableWithProgress should be passed into the constructor. 
- */
-public final class RestartableJob {
-	IRunnableWithProgress runnable;
-	
-	Job theJob;
-	boolean restartNeeded = false;
-	private Object lock = new Object();
-	private IProgressMonitor currentMonitor = null;
-	IWorkbenchSiteProgressService progressService;
-	
-	/**
-	 * Constructs a new RestartableJob with the given name that will run the given
-	 * runnable.
-	 * 
-	 * @param name
-	 * @param newRunnable
-	 * @param IWorkbenchSiteProgressService the service we are
-	 * going to use to show progress or <code>null</code>.
-	 */
-	public RestartableJob(
-			String name, 
-			IRunnableWithProgress newRunnable,
-			IWorkbenchSiteProgressService service) {
-		this.runnable = newRunnable;
-		progressService = service;
-
-		createJob(name);
-		
-		theJob.addJobChangeListener(new JobChangeAdapter() {
-			public void done(IJobChangeEvent e) {
-				synchronized(lock) {
-					currentMonitor = null;
-					if (restartNeeded) {
-						scheduleInService();
-					}
-				}
-			}
-		});
-	}
-	
-	/**
-	 * Instantiates the actual Job object.
-	 * 
-	 * @param name
-	 */
-	private void createJob(String name) {
-		theJob = new Job(name) {
-			protected IStatus run(IProgressMonitor innerMonitor) {
-				try {
-					synchronized(lock) {
-						restartNeeded = false;
-						currentMonitor = innerMonitor;
-					}
-					runnable.run(innerMonitor);
-				} catch (InvocationTargetException e) {
-					return StatusUtil.newStatus(IStatus.ERROR, e.toString(), e.getTargetException());
-				} catch (InterruptedException e) {
-					return Status.CANCEL_STATUS;
-				}
-				if (innerMonitor.isCanceled()) {
-					return Status.CANCEL_STATUS;
-				} else {
-					return Status.OK_STATUS;
-				}
-			}
-		};
-		
-		theJob.setPriority(Job.DECORATE);
-		theJob.setSystem(true);
-	}
-	
-	/**
-	 * Aborts the currently running job (if any) by cancelling its progress
-	 * monitor, and reschedules it. If there is no currently running job,
-	 * it will be started.
-	 */
-	public void restart() {
-		synchronized(lock) {
-			if (currentMonitor == null) {
-				scheduleInService();
-			} else if (!restartNeeded) {
-				restartNeeded = true;
-				theJob.cancel();
-			}
-		}
-	}
-
-	/**
-	 * Schedules the job. Does nothing if the job is already running. 
-	 */
-	public void schedule() {
-		synchronized(lock) {
-			if (currentMonitor == null) {
-				scheduleInService();
-			} else {
-				if (currentMonitor.isCanceled()) {
-					restartNeeded = true;
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Schedule theJob using the progress service if there
-	 * is one.
-	 */
-	private void scheduleInService() {
-		if(progressService == null)
-			theJob.schedule();
-		else
-			progressService.schedule(theJob,0,true);
-	}
-
-	/**
-	 * Cancels the job. If the job is currently running, it will be
-	 * terminated as soon as possible.
-	 */
-	public void cancel() {
-		synchronized(lock) {
-			theJob.cancel();
-			restartNeeded = false;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/SelectionProviderAdapter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/SelectionProviderAdapter.java
deleted file mode 100644
index 280aad0..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/SelectionProviderAdapter.java
+++ /dev/null
@@ -1,54 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.markers.internal;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-
-/**
- * 
- */
-class SelectionProviderAdapter implements ISelectionProvider {
-
-	List listeners = new ArrayList();
-	ISelection theSelection = null;
-		
-	public void addSelectionChangedListener(ISelectionChangedListener listener) {
-		listeners.add(listener);
-	}
-
-	public ISelection getSelection() {
-		return theSelection;
-	}
-
-	public void removeSelectionChangedListener(ISelectionChangedListener listener) {
-		listeners.remove(listener);
-	}
-
-	public void setSelection(ISelection selection) {
-		theSelection = selection;
-		SelectionChangedEvent e = new SelectionChangedEvent(this, selection);
-		Iterator iter = listeners.iterator();
-		
-		while (iter.hasNext()) {
-			ISelectionChangedListener next = (ISelectionChangedListener)iter.next();
-			
-			next.selectionChanged(e);
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/SortUtil.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/SortUtil.java
deleted file mode 100644
index b97ce1a..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/SortUtil.java
+++ /dev/null
@@ -1,226 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.markers.internal;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-import java.util.SortedSet;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * 
- */
-class SortUtil {
-	
-	/**
-	 * Returns the k smallest items in the given collection. Runs in
-	 * O(n) time, average case. The resulting collection is not sorted.
-	 *  
-	 * @param elements
-	 * @param c
-	 * @return
-	 */
-	public static Collection getFirst(Collection elements, Comparator c, int k, IProgressMonitor mon) {
-		Collection result = new ArrayList(elements.size());
-
-		mon.beginTask(Messages.getString("SortUtil.finding_first"), 1000); //$NON-NLS-1$
-		
-		getFirst(result, elements, c, k, mon, 1000);
-		
-		mon.done();
-		
-		return result;
-	}
-	
-	private static void getFirst(Collection result, Collection elements, Comparator c, int k, IProgressMonitor mon, int totalWork) {		
-		
-		if (mon.isCanceled()) {
-			return;
-		}
-		
-		if (elements.size() <= k) {
-			result.addAll(elements);
-			mon.worked(totalWork);
-			return;
-		}
-		
-		Object pivot;
-		
-		if (elements instanceof ArrayList) {
-			pivot = ((ArrayList)elements).get(elements.size() / 2);
-		} else {
-			pivot = elements.iterator().next();
-		}
-		Collection more = new ArrayList(elements.size());
-		Collection less = new ArrayList(elements.size());
-		Collection equal = new ArrayList();
-		
-		partitionHelper(less, more, equal, elements, c, pivot, mon, totalWork / 2);
-
-		if (less.size() >= k) {
-			getFirst(result, less, c, k, mon, totalWork / 2);
-		} else if (less.size() + equal.size() >= k) {
-			
-			int count = k - less.size();
-			
-			result.addAll(less);		
-			
-			Iterator iter = equal.iterator();
-			while (iter.hasNext() && count > 0) {
-				Object next = iter.next();
-				
-				result.add(next);
-				count--;
-			}
-			mon.worked(totalWork / 2);
-		} else if (less.size() + equal.size() + more.size() >= k) {
-			result.addAll(less);
-			result.addAll(equal);
-				
-			getFirst(result, more, c, k - less.size() - equal.size(), mon, totalWork / 2);
-		}
-	}
-	
-	private static void partitionHelper(Collection less, Collection more, Collection equal, Collection input, Comparator c, Object toTest, IProgressMonitor mon, int totalWork) {
-		int workRemaining = totalWork;
-		int counter = 0;
-		int totalItems = input.size();
-		
-		Iterator iter = input.iterator();
-		
-		while (iter.hasNext()) {
-			Object next = iter.next();
-			
-			int compareResult = c.compare(next, toTest); 
-			
-			if (compareResult < 0) {
-				less.add(next);
-			} else if (compareResult > 0) {
-				more.add(next);
-			} else {
-				equal.add(next);
-			}
-			
-			counter++;
-			if (counter > 100) {
-				if (mon.isCanceled()) {
-					return;
-				}
-				int nextWorked = counter * workRemaining / totalItems;
-				mon.worked(nextWorked);
-				workRemaining -= nextWorked;
-				totalItems -= counter;
-				counter = 0;
-			}
-		}
-		
-		mon.worked(workRemaining);
-	}
-	
-	/**
-	 * Divides the items in the input collection into three sets based on whether they are less than,
-	 * equal to, or greater than the test item.
-	 * 
-	 * If the given monitor is cancelled (possibly by another thread), the operation will
-	 * be aborted. In this case, the insertions may only be partially complete. 
-	 * 
-	 * @param less
-	 * @param more
-	 * @param equal
-	 * @param input
-	 * @param c
-	 * @param toTest
-	 * @param mon
-	 */
-	public static void partition(Collection less, Collection more, Collection equal, Collection input, Comparator c, Object toTest, IProgressMonitor mon) {		
-		mon.beginTask(Messages.getString("SortUtil.partitioning"), input.size()); //$NON-NLS-1$
-
-		if (toTest == null || c == null ) {
-			int counter = 0;
-			Iterator iter = input.iterator();
-			while (iter.hasNext()) {
-				Object next = iter.next();
-				
-				counter++;
-				if (counter >= 20) {
-					mon.worked(counter);
-					counter = 0;
-					if (mon.isCanceled()) {
-						return;
-					}
-				}
-				
-				more.add(next);
-			}
-			mon.worked(counter);
-		} else {
-			partitionHelper(less, more, equal, input, c, toTest, mon, input.size());
-		}
-		
-		mon.done();
-	}
-	
-	/**
-	 * Removes and returns the first n items from the given collection.
-	 * 
-	 * @param collection
-	 * @param numToRemove
-	 * @return
-	 */
-	public static List removeFirst(Collection collection, int numToRemove) {
-		int toRemove = Math.min(collection.size(), numToRemove);
-		
-		List removed = new ArrayList(toRemove);
-		
-		Iterator iter = collection.iterator();
-		
-		for (int idx = 0; idx < toRemove; idx++) {
-			removed.add(iter.next());
-			
-			iter.remove();
-		}
-		
-		return removed;
-	}
-	
-	/**
-	 * Finds and returns the greatest element in the given collection, or null if the collection
-	 * is empty.
-	 *  
-	 * @param toSearch collection to search
-	 * @param c comparator used to determine the greatest item
-	 * @return the greatest item in the collection
-	 */
-	public static Object findGreatest(Collection toSearch, Comparator c) {
-		// If this set is already sorted using the given comparator, just return the last element
-		if (toSearch instanceof SortedSet && ((SortedSet)toSearch).comparator().equals(c)) {
-			return ((SortedSet)toSearch).last();
-		}
-		
-		// Otherwise, exhaustively search for the greatest element
-		Object result = null;
-		Iterator iter = toSearch.iterator();
-		
-		while (iter.hasNext()) {
-			Object next = iter.next();
-			
-			if (result == null || c.compare(result, next) > 0) {
-				result = next;
-			}
-		}
-		
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableContentProvider.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableContentProvider.java
deleted file mode 100644
index ca0ed93..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableContentProvider.java
+++ /dev/null
@@ -1,450 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.Collection;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.core.runtime.jobs.ILock;
-import org.eclipse.core.runtime.jobs.Job;
-
-import org.eclipse.swt.widgets.Control;
-
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.progress.IWorkbenchSiteProgressService;
-import org.eclipse.ui.progress.WorkbenchJob;
-
-/**
- * Provides a threaded content provider for efficiently handling large tables.
- * The owner of this object is responsible for adding and removing the items in the
- * table (by invoking the add, remove, set, and change methods, respectively). However,
- * the changes are buffered and applied to the actual table incrementally
- * using a background thread. This keeps the UI responsive when manipulating very
- * large tables. 
- * 
- * <p>
- * Other objects should set the contents of the table by manipulating
- * this object rather than manipulating the table itself. Threading issues
- * are encapsulated internally.
- * </p>
- *
- */
-class TableContentProvider implements IStructuredContentProvider {
-
-	// NLS strings
-	private static final String TABLE_SYNCHRONIZATION = Messages.getString("TableContentProvider.TableSynchronization"); //$NON-NLS-1$
-	private static final String UPDATING_TABLE_WIDGET = Messages.getString("TableContentProvider.Updating"); //$NON-NLS-1$
-
-	/**
-	 * Currently running update job.
-	 */
-	private String description = ""; //$NON-NLS-1$
-	
-	/**
-	 * Comparator to use for sorting the view
-	 */
-	private TableSorter sortOrder = null;
-		
-	// Pending changes
-	private DeferredQueue queues;
-		
-	/**
-	 * This job disables redraw on the table
-	 */
-	private Job disableUpdatesJob = new WorkbenchJob(TABLE_SYNCHRONIZATION) {
-		public IStatus runInUIThread(IProgressMonitor monitor) {
-			if (controlExists()) {
-				getViewer().getTable().setRedraw(false);
-			}
-			
-			return Status.OK_STATUS;
-		}
-	};
-	
-	/**
-	 * This job re-enables redraw on the table
-	 */
-	private Job enableUpdatesJob = new WorkbenchJob(TABLE_SYNCHRONIZATION) {
-		public IStatus runInUIThread(IProgressMonitor monitor) {
-			if (controlExists()) {
-				getViewer().getTable().setRedraw(true);
-			}
-			
-			return Status.OK_STATUS;
-		}
-	};
-	
-	/**
-	 * This job is responsible for performing a single incremental update to the
-	 * viewer. It will either add, remove, or change items in the viewer depending
-	 * on the contents of the pending* sets, above. It is scheduled repeatedly by 
-	 * the OverallUpdateJob, below.
-	 */
-	private class WidgetRefreshJob extends WorkbenchJob {
-				
-		/**
-		 * Number of items modified in the last update
-		 */
-		int lastWorked = 0;
-		
-		/**
-		 * Remembers whether the viewer existed the last time this job was run
-		 */
-		boolean controlExists = true;
-		
-		WidgetRefreshJob(String title) {
-			super(title);
-		}
-		
-		/**
-		 * Will be executed each time the update thread wakes up. This makes
-		 * a single incremental update to the viewer (ie: adds or removes a few items)
-		 */ 
-		public IStatus runInUIThread(IProgressMonitor monitor) {
-			
-			// If we can't get the lock, terminate without blocking the UI thread.
-			if (lock.getDepth() > 0) {
-				lastWorked = 0;
-				return Status.OK_STATUS;
-			}
-			
-			lock.acquire();			
-			try {
-				if (!PlatformUI.isWorkbenchRunning()) {
-					controlExists = false;
-				} else {	
-					controlExists = controlExists();
-					if (controlExists) {
-						lastWorked = updateViewer();
-					}
-				}
-			} finally {
-				lock.release();
-			}
-			
-			return Status.OK_STATUS;
-		}
-	}
-
-	/**
-	 * Job that does the real work for individual updates
-	 */
-	WidgetRefreshJob uiJob;
-	
-	/**
-	 * This job incrementally updates the viewer until all pending changes have
-	 * been applied. It repeatedly schedules WidgetRefreshJobs until there are no more
-	 * changes to apply. This job doesn't actually do any real work -- it simply
-	 * schedules updates and updates the progress bar.
-	 */
-	RestartableJob updateJob;
-	
-	private ILock lock; 
-		
-	/**
-	 * Creates a new TableContentProvider that will control the contents of the given
-	 * viewer. 
-	 * 
-	 * @param viewer
-	 * @param description user-readable string that will be included in progress monitors
-	 * @param service IWorkbenchSiteProgressService or <code>null</null>
-	 * 	 the service that this content provider will inform of 
-	 * 	updates.
-	 */
-	public TableContentProvider(TableViewer viewer, String description, IWorkbenchSiteProgressService service) {
-		this.queues = new DeferredQueue(viewer);
-		this.description = description;
-		
-		uiJob = new WidgetRefreshJob(UPDATING_TABLE_WIDGET);
-		uiJob.setPriority(Job.LONG);
-		uiJob.setSystem(true);
-		
-		updateJob = new RestartableJob(TABLE_SYNCHRONIZATION, 
-				new IRunnableWithProgress() {
-					public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-						doUpdate(monitor);
-					}
-			}, service);
-		
-		lock = Platform.getJobManager().newLock();
-	}
-
-	/**
-	 * Sets the view's sorter (or null if no sorting is to be used)
-	 * 
-	 * @param c comparator that controls the view's sort order (or null if no sorting)
-	 */
-	public void setSorter(TableSorter c) {
-		if (sortOrder != c) {
-			sortOrder = c;
-			scheduleUpdate();
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-	 */
-	public Object[] getElements(Object inputElement) {
-		return queues.getVisibleItems();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-	 */
-	public void dispose() {
-		//No state to dispose here
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
-	 */
-	public void inputChanged(Viewer inputViewer, Object oldInput, Object newInput) {		
-		scheduleUpdate();
-	}
-	
-	/**
-	 * Sets the contents of the table. Note that the changes may not become visible
-	 * immediately, as the viewer will actually be updated in a background thread.
-	 * 
-	 * @param newVisibleItems
-	 */
-	public void set(Collection newVisibleItems, IProgressMonitor mon) {
-		lock.acquire();
-		
-		try {
-			queues.set(newVisibleItems, mon);
-				
-			scheduleUpdate();
-		} finally {
-			lock.release();
-		}
-	}
-	
-	/**
-	 * If the contents of the viewer have somehow become out-of-sync with the "visibleItems"
-	 * set, this method will restore synchronization.
-	 */
-	private void resync() {
-		if (controlExists()) {
-			int count = queues.getViewer().getTable().getItemCount();
-			if (count != queues.countVisibleItems()) {
-				queues.getViewer().refresh();
-			}
-		}
-	}
-	
-	/**
-	 * Causes the given collection of items to be refreshed
-	 * 
-	 * @param changes collection of objects that have changed
-	 */
-	void change(Collection changes) {		
-
-		lock.acquire();
-		try {		
-			// Ensure that this is never done in the user interface thread.
-			//Assert.isTrue(Display.getCurrent() == null);
-			
-			queues.change(changes);
-			scheduleUpdate();
-		} finally {
-			lock.release();
-		}
-	}
-	
-	/**
-	 * Returns the TableViewer being populated by this content provider
-	 * 
-	 * @return the TableViewer being populated by this content provider
-	 */
-	private TableViewer getViewer() {
-		return queues.getViewer();
-	}
-	
-	/**
-	 * Returns true iff the control exists and has not yet been disposed
-	 * 
-	 * @return
-	 */
-	private boolean controlExists() {
-		Control control = getViewer().getControl();
-		
-		if (control == null || control.isDisposed()) {
-			return false;
-		}
-		
-		return true;
-	}
-	
-	/**
-	 * Returns true iff this content provider contains changes that are not yet
-	 * reflected in the viewer.
-	 * 
-	 * @return true iff the reciever has unprocessed changes
-	 */
-	public boolean hasPendingChanges() {
-		return queues.hasPendingChanges() || sortOrder != queues.getSorter();
-	}
-	
-	/**
-	 * Returns an estimate of the total work remaining (used for progress monitors)
-	 * 
-	 * @return
-	 */
-	private int totalWork() {
-		return queues.workRemaining() + 1;
-	}
-	
-	/**
-	 * Starts the update thread... this will continue to make incremental changes
-	 * to the viewer until the pending* sets become empty. Does nothing if the
-	 * update thread is already running or if there are no changes to process.
-	 */
-	private void scheduleUpdate() {		
-		if (hasPendingChanges()) {
-			updateJob.schedule();
-		}
-	}
-	
-	/**
-	 * Cancels any pending changes to the viewer. The contents of the viewer
-	 * will be left in whatever state they are in at the time. Any changes that
-	 * have not yet been applied will be lost. It is a good idea to call this
-	 * method before performing a long computation that will ultimately invalidate
-	 * the contents of the viewer.
-	 */
-	public void cancelPendingChanges() {
-		updateJob.cancel();
-		
-		lock.acquire();
-		try {
-			queues.cancelPending();
-		} finally {
-			lock.release();
-		}
-	}
-
-	private void doUpdate(IProgressMonitor monitor) throws InterruptedException {
-		
-		//Do not update if the workbench is shutdown
-		if(!PlatformUI.isWorkbenchRunning())
-			return;
-		
-		// This counter represents how many work units remain unused in the progress monitor.
-		int remainingWorkUnits = 100000;
-		
-		monitor.beginTask(description, remainingWorkUnits); 
-
-		disableUpdatesJob.schedule();
-		disableUpdatesJob.join();
-		try {
-			
-			// Loop until there are no more changes to apply, the control is destroyed, the monitor is cancelled,
-			// or another job takes over.
-			while (hasPendingChanges() && !monitor.isCanceled()) {
-				
-				// Ensure that we aren't running in the UI thread
-				//Assert.isTrue(Display.getCurrent() == null);
-				
-				try {
-
-					int totalWork;
-					lock.acquire();
-					try {
-						totalWork = totalWork();
-						if (sortOrder != queues.getSorter()) {
-							queues.setComparator(sortOrder);
-						}
-					
-						SubProgressMonitor sub = new SubProgressMonitor(monitor, 0);
-						queues.refreshQueues(sub);
-					} finally {
-						lock.release();
-					}
-					
-					try {
-						uiJob.schedule();
-						// Wait for the current update job to complete before scheduling another
-						uiJob.join();				
-					} catch (IllegalStateException e) {
-						// Ignore this exception -- it means that the Job manager was shut down, which is expected
-						// at the end of the application. Note that we need to check for this by catching the exception
-						// rather than using something like if (jobManagerIsShutDown())... since the job manager might
-						// be shut down in another thread between the time we evaluate the if statement and when
-						// we schedule the job.
-					}
-					
-					// Estimate how much of the remaining work we'll be doing in this update,
-					// and update the progress bar appropriately.
-					int consumedUnits = uiJob.lastWorked * remainingWorkUnits / totalWork;
-					monitor.worked(consumedUnits);
-					remainingWorkUnits -= consumedUnits;
-					
-				} catch (InterruptedException e) {
-					monitor.setCanceled(true);
-				}
-				
-				if (!uiJob.controlExists) {
-					break;
-				}
-			}
-		} finally {
-			//Only send updates if we can send them to the workbench
-			if(PlatformUI.isWorkbenchRunning()){
-				enableUpdatesJob.schedule();
-				enableUpdatesJob.join();
-			}
-			
-			monitor.done();
-		}	
-	}
-	
-	/**
-	 * Performs a single update to the viewer. Based on the contents of the pending* queues,
-	 * items will either be removed, added, or refreshed in the viewer (in that order). This
-	 * should only be called within a synchronized block, since the various queues shouldn't
-	 * be modified during an update. This method is invoked repeatedly by jobs to gradually
-	 * apply the pending changes.
-	 */
-	private int updateViewer() {
-		
-		int result;
-		
-		// Note that this method is only called when we have the lock so acquiring it here
-		// does nothing... but we re-acquire it anyway in case future refactoring causes
-		// this to be called when we don't own the lock.
-		lock.acquire();
-		try {
-			if (getViewer().getSorter() != null) {
-				getViewer().setSorter(null);
-			}
-			
-			resync();
-			
-			result = queues.nextUpdate();
-		} finally {
-			lock.release();
-		}
-		
-		return result;
-	}	
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableSortAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableSortAction.java
deleted file mode 100644
index 0997682..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableSortAction.java
+++ /dev/null
@@ -1,35 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.window.Window;
-
-
-public class TableSortAction extends Action {
-	
-	private TableView view;
-	private TableSortDialog dialog;
-	
-	public TableSortAction(TableView view, TableSortDialog dialog) {
-		super(Messages.getString("sortAction.title")); //$NON-NLS-1$
-		this.view = view;
-		this.dialog = dialog;
-		setEnabled(true);
-	}
-
-	public void run() {
-		if (dialog.open() == Window.OK && dialog.isDirty()) {
-			view.setSorter(dialog.getSorter());
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableSortDialog.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableSortDialog.java
deleted file mode 100644
index 3728b8d..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableSortDialog.java
+++ /dev/null
@@ -1,293 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Comparator;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-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.Shell;
-
-public class TableSortDialog extends Dialog {
-	
-	private TableSorter sorter;
-	private Combo[] priorityCombos;
-	private String[] propertyText;
-	private IField[] properties;
-	private Button[] ascendingButtons;
-	private Button[] descendingButtons;
-	private boolean dirty;
-	private final Comparator columnComparator = new Comparator() {
-		public int compare(Object arg0, Object arg1) {
-			int index0 = -1;
-			int index1 = -1;
-			for (int i = 0; i < propertyText.length; i++) {
-				if (propertyText[i].equals(arg0))
-					index0 = i;
-				if (propertyText[i].equals(arg1))
-					index1 = i;
-			}
-			return index0 - index1;
-		}
-	};
-
-	
-	public TableSortDialog(Shell parentShell, TableSorter sorter) {
-		super(parentShell);
-		this.sorter = sorter;
-		dirty = false;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on Window.
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		newShell.setText(Messages.getString("sortDialog.title")); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Composite composite = (Composite) super.createDialogArea(parent);
-		if (sorter == null)
-			return composite;
-			
-		createPrioritiesArea(composite);
-		createRestoreDefaultsButton(composite);
-		createSeparatorLine(composite);
-		
-		return composite;
-	}
-	
-	private void createPrioritiesArea(Composite parent) {
-		Composite prioritiesArea = new Composite(parent, SWT.NULL);
-		prioritiesArea.setLayout(new GridLayout(3, false));
-
-		int[] priorities = sorter.getPriorities();
-		
-		ascendingButtons = new Button[priorities.length];
-		descendingButtons = new Button[priorities.length];
-		priorityCombos = new Combo[Math.min(priorities.length, TableSorter.MAX_DEPTH)];
-		initPriotityText();
-		
-		Label sortByLabel = new Label(prioritiesArea, SWT.NULL);
-		sortByLabel.setText(Messages.getString("sortDialog.label")); //$NON-NLS-1$
-		GridData data = new GridData();
-		data.horizontalSpan = 3;
-		sortByLabel.setLayoutData(data);
-		
-		for (int i = 0; i < priorityCombos.length; i++) {
-			final int index = i;
-			Label numberLabel = new Label(prioritiesArea, SWT.NULL);
-			numberLabel.setText(Messages.format("sortDialog.columnLabel", new Object[] {new Integer(i + 1)})); //$NON-NLS-1$
-			
-			priorityCombos[i] = new Combo(prioritiesArea, SWT.READ_ONLY);
-			priorityCombos[i].setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-			
-			Composite directionGroup = new Composite(prioritiesArea, SWT.NONE);
-			directionGroup.setLayout(new GridLayout(2, false));
-			ascendingButtons[i] = new Button(directionGroup, SWT.RADIO);
-			ascendingButtons[i].setText(Messages.getString("sortDirectionAscending.text")); //$NON-NLS-1$
-			ascendingButtons[i].addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					markDirty();
-				}
-			});
-			descendingButtons[i] = new Button(directionGroup, SWT.RADIO);
-			descendingButtons[i].setText(Messages.getString("sortDirectionDescending.text")); //$NON-NLS-1$
-			descendingButtons[i].addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					markDirty();
-				}
-			});
-			
-			if (i < priorityCombos.length - 1) {
-				priorityCombos[i].addSelectionListener(new SelectionAdapter() {
-					public void widgetSelected(SelectionEvent e) {
-						int oldSelectionDirection = TableSorter.ASCENDING;
-						if (descendingButtons[index].getSelection())
-							oldSelectionDirection = TableSorter.DESCENDING;
-						ArrayList oldSelectionList = new ArrayList(Arrays.asList(priorityCombos[index].getItems()));
-						oldSelectionList.removeAll(Arrays.asList(priorityCombos[index + 1].getItems()));
-						if (oldSelectionList.size() != 1)
-							return;
-						String oldSelection = (String) oldSelectionList.get(0);
-						String newSelection = priorityCombos[index].getItem(priorityCombos[index].getSelectionIndex());
-						if (oldSelection.equals(newSelection)) {
-							return;
-						}
-						for (int j = index + 1; j < priorityCombos.length; j++) {
-							int newSelectionIndex = priorityCombos[j].indexOf(newSelection);
-							//this combo's current selection is equal to newSelection
-							if (priorityCombos[j].getSelectionIndex() == newSelectionIndex) {
-								priorityCombos[j].remove(newSelection);
-								int insertionPoint = -1 - Arrays.binarySearch(priorityCombos[j].getItems(), oldSelection, columnComparator);
-								if (insertionPoint >= 0 && insertionPoint <= priorityCombos[j].getItemCount())
-									priorityCombos[j].add(oldSelection, insertionPoint);
-								else
-									priorityCombos[j].add(oldSelection);
-								priorityCombos[j].select(priorityCombos[j].indexOf(oldSelection));
-								ascendingButtons[index].setSelection(ascendingButtons[j].getSelection());
-								descendingButtons[index].setSelection(descendingButtons[j].getSelection());
-								ascendingButtons[j].setSelection(oldSelectionDirection == TableSorter.ASCENDING);
-								descendingButtons[j].setSelection(oldSelectionDirection == TableSorter.DESCENDING);
-							}
-							//this combo contains newSelection
-							else if (newSelectionIndex >= 0) {
-								priorityCombos[j].remove(newSelection);
-								int insertionPoint = -1 - Arrays.binarySearch(priorityCombos[j].getItems(), oldSelection, columnComparator);
-								if (insertionPoint >= 0 && insertionPoint <= priorityCombos[j].getItemCount())
-									priorityCombos[j].add(oldSelection, insertionPoint);
-								else
-									priorityCombos[j].add(oldSelection);
-							}
-						}
-						markDirty();
-					}
-				});
-			}
-			else {
-				priorityCombos[i].addSelectionListener(new SelectionAdapter() {
-					public void widgetSelected(SelectionEvent e) {
-						markDirty();
-					}
-				});
-			}
-		}
-		updateUIFromSorter();
-	}
-	
-	private void createRestoreDefaultsButton(Composite parent) {
-		Button defaultsButton = new Button(parent, SWT.PUSH);
-		defaultsButton.setText(Messages.getString("restoreDefaults.text")); //$NON-NLS-1$
-		setButtonSize(defaultsButton, new GridData(GridData.HORIZONTAL_ALIGN_END | GridData.FILL_HORIZONTAL));
-		defaultsButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				restoreDefaults();
-				markDirty();
-			}
-		});
-	}
-
-	private void createSeparatorLine(Composite parent) {
-		Label separator = new Label(parent, SWT.SEPARATOR | SWT.HORIZONTAL);
-		separator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_CENTER));
-//		separator.setForeground(new Color(parent.getDisplay(), 150, 150, 150));
-//		separator.setBackground(new Color(parent.getDisplay(), 150, 150, 150));
-	}
-	
-	private void restoreDefaults() {
-		updateUI(sorter.getDefaultPriorities(), sorter.getDefaultDirections());
-	}
-	
-	private void updateUIFromSorter() {
-		updateUI(sorter.getPriorities(), sorter.getDirections());
-	}
-	
-	private void updateUI(int[] priorities, int[] directions) {
-		ArrayList availablePriorities = new ArrayList(Arrays.asList(propertyText));
-		
-		for (int i = 0; i < priorityCombos.length; i++) {
-			priorityCombos[i].removeAll();
-			for (int j = 0; j < availablePriorities.size(); j++)
-				priorityCombos[i].add((String) availablePriorities.get(j));
-			priorityCombos[i].select(priorityCombos[i].indexOf(propertyText[priorities[i]]));
-			availablePriorities.remove(propertyText[priorities[i]]);
-
-			ascendingButtons[i].setSelection(directions[priorities[i]] == TableSorter.ASCENDING);
-			descendingButtons[i].setSelection(directions[priorities[i]] == TableSorter.DESCENDING);
-		}
-	}
-	
-	protected void okPressed() {
-		if (isDirty()) {
-			for (int i = priorityCombos.length - 1; i >= 0; i--) {
-				String column = priorityCombos[i].getItem(priorityCombos[i].getSelectionIndex());
-				int index = -1;
-				for (int j = 0; j < propertyText.length && index == -1; j++) {
-					if (propertyText[j].equals(column))
-						index = j;
-				}
-				if (index == -1) {
-					sorter.resetState();
-					return;
-				}
-				sorter.setTopPriority(properties[index]);
-				int direction = TableSorter.ASCENDING;
-				if (descendingButtons[i].getSelection())
-					direction = TableSorter.DESCENDING;
-				sorter.setTopPriorityDirection(direction);
-			}
-		}
-		super.okPressed();
-	}
-	
-	/**
-	 * @return boolean
-	 */
-	public boolean isDirty() {
-		return dirty;
-	}
-
-	/**
-	 * Sets the dirty flag to true;
-	 * @param dirty The dirty to set
-	 */
-	public void markDirty() {
-		dirty = true;
-	}
-
-	/**
-	 * Set the layout data of the button to a GridData with 
-	 * appropriate heights and widths.
-	 * @param button
-	 */
-	private void setButtonSize(Button button, GridData buttonData) {
-		buttonData.heightHint =
-			convertVerticalDLUsToPixels(IDialogConstants.BUTTON_HEIGHT);
-		int widthHint =
-			convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-		buttonData.widthHint =
-			Math.max(
-				widthHint,
-				button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-		button.setLayoutData(buttonData);
-	}
-	
-	private void initPriotityText() {
-		IField[] unorderedProperties = sorter.getFields();
-		properties = new IField[unorderedProperties.length];
-		System.arraycopy(unorderedProperties, 0, properties, 0, properties.length);
-		propertyText = new String[properties.length];
-		for (int i = 0; i < properties.length; i++) {
-			propertyText[i] = properties[i].getDescription();
-		}
-	}
-	
-	public TableSorter getSorter() {
-		return sorter;
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableSorter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableSorter.java
deleted file mode 100644
index 2dd3378..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableSorter.java
+++ /dev/null
@@ -1,267 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.text.Collator;
-import java.util.Arrays;
-import java.util.Comparator;
-
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-
-
-public class TableSorter extends ViewerSorter implements Comparator {
-
-	public static final int MAX_DEPTH = 4; 
-	public static final int ASCENDING = 1;
-	public static final int DESCENDING = -1; 
-	
-	protected IField[] fields;
-	protected Collator collator = Collator.getInstance();
-	
-	protected int[] priorities; 
-	protected int[] directions;
-	protected int[] defaultPriorities;
-	protected int[] defaultDirections;
-	
-	private final String TAG_DIALOG_SECTION = "sorter"; //$NON-NLS-1$
-	private final String TAG_PRIORITY = "priority"; //$NON-NLS-1$ 
-	private final String TAG_DIRECTION = "direction"; //$NON-NLS-1$
-	private final String TAG_DEFAULT_PRIORITY = "defaultPriority"; //$NON-NLS-1$
-	private final String TAG_DEFAULT_DIRECTION = "defaultDirection"; //$NON-NLS-1$
-	
-	public TableSorter(TableSorter other) {
-		this(other.getFields(), other.getDefaultPriorities(), other.getDefaultDirections());
-		priorities = other.getPriorities();
-		directions = other.getDirections();
-	}
-	
-	public TableSorter(IField[] properties, final int[] defaultPriorities, final int[] defaultDirections) {
-		super();
-		this.fields = properties;
-		if (properties == null || defaultPriorities == null || defaultDirections == null ||
-			!(properties.length == defaultPriorities.length && properties.length == defaultDirections.length) ||
-			!verifyPriorities(defaultPriorities) || !verifyDirections(defaultDirections)) {
-				this.priorities = new int[0];
-				this.directions = new int[0];
-				this.defaultPriorities = new int[0];
-				this.defaultDirections = new int[0];
-			}
-		else {
-			this.priorities = new int[defaultPriorities.length];
-			System.arraycopy(defaultPriorities, 0, this.priorities, 0, priorities.length);
-			this.directions = new int[defaultDirections.length];
-			System.arraycopy(defaultDirections, 0, this.directions, 0, directions.length);
-			this.defaultPriorities = new int[defaultPriorities.length];
-			System.arraycopy(defaultPriorities, 0, this.defaultPriorities, 0, defaultPriorities.length);
-			this.defaultDirections = new int[defaultDirections.length];
-			System.arraycopy(defaultDirections, 0, this.defaultDirections, 0, defaultDirections.length);
-		}
-	}
-	
-	protected void resetState() {
-		System.arraycopy(defaultPriorities, 0, priorities, 0, priorities.length);
-		System.arraycopy(defaultDirections, 0, directions, 0, directions.length);
-	}
-
-	public void reverseTopPriority() {
-		directions[priorities[0]] *= -1;
-	}
-	
-	public void setTopPriority(IField property) {
-		for (int i = 0; i < fields.length; i++) {
-			if (fields[i].equals(property)) {
-				setTopPriority(i);
-				return;
-			}
-		}
-	}
-	
-	public void setTopPriority(int priority) {
-		if (priority < 0 || priority >= priorities.length)
-			return;
-		
-		int index = -1;
-		for (int i = 0; i < priorities.length; i++) {
-			if (priorities[i] == priority)
-				index = i;
-		}
-		
-		if (index == -1) {
-			resetState();
-			return;
-		}
-			
-		//shift the array
-		for (int i = index; i > 0; i--) {
-			priorities[i] = priorities[i - 1];
-		}
-		priorities[0] = priority;
-		directions[priority] = defaultDirections[priority];
-	}
-	
-	public void setTopPriorityDirection(int direction) {
-		if (direction == ASCENDING || direction == DESCENDING)
-			directions[priorities[0]] = direction;
-	}
-	
-	public int getTopPriorityDirection() {
-		return directions[priorities[0]];
-	}
-	
-	public int getTopPriority() {
-		return priorities[0];
-	}
-	
-	public int[] getPriorities() {
-		int[] copy = new int[priorities.length];
-		System.arraycopy(priorities, 0, copy, 0, copy.length);
-		return copy;
-	}
-	
-	public int[] getDirections() {
-		int[] copy = new int[directions.length];
-		System.arraycopy(directions, 0, copy, 0, copy.length);
-		return copy;
-	}
-	
-	public int[] getDefaultPriorities() {
-		int[] copy = new int[defaultPriorities.length];
-		System.arraycopy(defaultPriorities, 0, copy, 0, copy.length);
-		return copy;
-	}
-	
-	public int[] getDefaultDirections() {
-		int[] copy = new int[defaultDirections.length];
-		System.arraycopy(defaultDirections, 0, copy, 0, copy.length);
-		return copy;
-	}
-	
-	public int compare(Viewer viewer, Object e1, Object e2) {
-		return compare(e1, e2, 0);
-	}
-
-	protected int compare(Object obj1, Object obj2, int depth) {
-		if (depth >= priorities.length) {
-			return 0;
-		}
-		
-		int column = priorities[depth];
-		IField property = fields[column];
-		int result = property.compare(obj1, obj2);
-		if (result == 0)
-			return compare(obj1, obj2, depth + 1);
-		return result * directions[column];
-	}
-	
-	/**
-	 * @return IField[]  an array of fields
-	 */
-	public IField[] getFields() {
-		return fields;
-	}
-	
-	private boolean verifyPriorities(int[] priorities) {
-		int length = priorities.length;
-		boolean[] included = new boolean[length];
-		Arrays.fill(included, false);
-		for (int i = 0; i < length; i++) {
-			int priority = priorities[i];
-			if (priority < 0 || priority >= length)
-				return false;
-			if (included[priority])
-				return false;
-			included[priority] = true;
-		}
-		return true;
-	}
-	
-	private boolean verifyDirections(int[] directions) {
-		for (int i = 0; i < directions.length; i++) {
-			if (directions[i] != ASCENDING && directions[i] != DESCENDING)
-				return false;
-		}
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
-	 */
-	public int compare(Object o1, Object o2) {
-		return compare(null, o1, o2);
-	}
-	
-	public void saveState(IDialogSettings dialogSettings) {
-		if (dialogSettings == null) {
-			return;
-		}
-
-		IDialogSettings settings = dialogSettings.getSection(TAG_DIALOG_SECTION);
-		if (settings == null) {
-			settings = dialogSettings.addNewSection(TAG_DIALOG_SECTION);
-		}
-		
-		for (int i = 0; i < priorities.length; i++) { 
-			settings.put(TAG_PRIORITY + i, priorities[i]);
-			settings.put(TAG_DIRECTION + i, directions[i]);
-			settings.put(TAG_DEFAULT_PRIORITY + i, defaultPriorities[i]);
-			settings.put(TAG_DEFAULT_DIRECTION + i, defaultDirections[i]);
-		}
-	}
-
-	public void restoreState(IDialogSettings dialogSettings) {
-		if (dialogSettings == null) {
-			resetState();
-			return;
-		}
-		
-		IDialogSettings settings = dialogSettings.getSection(TAG_DIALOG_SECTION);
-		if (settings == null) {
-			resetState();
-			return;
-		}
-		
-		try {
-			for (int i = 0; i < priorities.length; i++) {
-				String priority = settings.get(TAG_PRIORITY + i);
-				if (priority == null) {
-					resetState();
-					return;
-				}
-				priorities[i] = Integer.parseInt(priority);
-				String direction = settings.get(TAG_DIRECTION + i);
-				if (direction == null) {
-					resetState();
-					return;
-				}
-				directions[i] = Integer.parseInt(direction);
-				String defaultPriority = settings.get(TAG_DEFAULT_PRIORITY + i);
-				if (defaultPriority == null) {
-					resetState();
-					return;
-				}
-				defaultPriorities[i] = Integer.parseInt(defaultPriority);
-				String defaultDirection = settings.get(TAG_DEFAULT_DIRECTION + i);
-				if (defaultDirection == null) {
-					resetState();
-					return;
-				}
-				defaultDirections[i] = Integer.parseInt(defaultDirection);
-			}
-		}
-		catch (NumberFormatException e) {
-			resetState();
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableView.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableView.java
deleted file mode 100644
index 9daf002..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableView.java
+++ /dev/null
@@ -1,458 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.ScrollBar;
-import org.eclipse.swt.widgets.Scrollable;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.ColumnLayoutData;
-import org.eclipse.jface.viewers.ColumnPixelData;
-import org.eclipse.jface.viewers.IOpenListener;
-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.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
-
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.part.ViewPart;
-import org.eclipse.ui.progress.IWorkbenchSiteProgressService;
-
-public abstract class TableView extends ViewPart {
-	
-	private TableContentProvider content;
-
-	private static final String TAG_COLUMN_WIDTH = "columnWidth"; //$NON-NLS-1$
-	private static final String TAG_VERTICAL_POSITION = "verticalPosition"; //$NON-NLS-1$
-	private static final String TAG_HORIZONTAL_POSITION = "horizontalPosition"; //$NON-NLS-1$
-
-	public static final String SORT_ACTION_ID = "sort"; //$NON-NLS-1$
-	public static final String FILTERS_ACTION_ID = "filters"; //$NON-NLS-1$
-	
-	private TableViewer viewer;
-	private IMemento memento;
-	protected ColumnLayoutData[] columnLayouts;
-	
-	private Map actions = new HashMap();
-
-	private ISelectionProvider selectionProvider = new SelectionProviderAdapter();
-	
-	private TableSorter sorter;
-
-	/* (non-Javadoc)
-	 * Method declared on IViewPart.
-	 */
-	public void init(IViewSite site, IMemento memento) throws PartInitException {
-		super.init(site, memento);
-		this.memento = memento;
-	}
-	
-	/**
-	 * 
-	 */
-	void haltTableUpdates() {
-		content.cancelPendingChanges();
-	}	
-	
-	void change(Collection toRefresh) {
-		content.change(toRefresh);
-	}
-	
-	void setContents(Collection contents, IProgressMonitor mon) {
-		content.set(contents, mon);			
-	}
-	
-	protected ISelectionProvider getSelectionProvider() {
-		return selectionProvider;
-	}
-	
-	abstract protected void viewerSelectionChanged(IStructuredSelection selection);
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createPartControl(Composite parent) {
-		parent.setLayout(new FillLayout());
-		
-		viewer = new TableViewer(createTable(parent));
-		restoreColumnWidths(memento);
-		createColumns(viewer.getTable());
-		content = new TableContentProvider(
-					viewer, 
-					Messages.format("TableView.populating", //$NON-NLS-1$
-							new Object[] {getTitle()}),
-					getProgressService());
-		
-		
-		viewer.setContentProvider(content);
-		
-		viewer.setLabelProvider(new TableViewLabelProvider(getVisibleFields()));
-	
-		viewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				IStructuredSelection selection = (IStructuredSelection)event.getSelection();
-				viewerSelectionChanged(selection);
-			}});
-	
-		setSorter(getSorter());
-		
-		//create the actions before the input is set on the viewer but after the 
-		//sorter and filter are set so the actions will be enabled correctly.
-		createActions();
-
-		viewer.setInput(getViewerInput());
-		
-		viewer.setSelection(restoreSelection(memento));
-
-		Scrollable scrollable = (Scrollable) viewer.getControl();
-		ScrollBar bar = scrollable.getVerticalBar();
-		if (bar != null) {
-			bar.setSelection(restoreVerticalScrollBarPosition(memento));
-		}
-		bar = scrollable.getHorizontalBar();
-		if (bar != null) {
-			bar.setSelection(restoreHorizontalScrollBarPosition(memento));
-		}
-		
-		MenuManager mgr = initContextMenu();
-		Menu menu = mgr.createContextMenu(viewer.getControl());
-		viewer.getControl().setMenu(menu);
-		getSite().registerContextMenu(mgr, getSelectionProvider());
-		
-		getSite().setSelectionProvider(getSelectionProvider());
-		
-		initActionBars(getViewSite().getActionBars());
-		registerGlobalActions(getViewSite().getActionBars());
-		
-		viewer.addOpenListener(new IOpenListener() {
-			public void open(OpenEvent event) {
-				handleOpenEvent(event);
-			}
-		});
-		viewer.getControl().addKeyListener(new KeyAdapter() {
-			public void keyPressed(KeyEvent e) {
-				handleKeyPressed(e);
-			}
-		});
-	}
-	
-	/**
-	 * @param selection
-	 */
-	protected void setSelection(IStructuredSelection selection) {
-		getSelectionProvider().setSelection(selection);
-	}
-
-	/**
-	 * @param sorter2
-	 */
-	void setSorter(TableSorter sorter2) {
-		TableSorter newSorter = new TableSorter(sorter2);
-		
-		sorter = newSorter;
-		content.setSorter(newSorter);
-		newSorter.saveState(getDialogSettings());
-		sorterChanged();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#dispose()
-	 */
-	public void dispose() {
-		
-	}
-	
-	/**
-	 * Creates the table control.
-	 */
-	protected Table createTable(Composite parent) {
-		Table table = new Table(parent, SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION);
-		table.setLinesVisible(true);
-		table.setFont(parent.getFont());
-		return table;
-	}
-	
-	protected void createColumns(final Table table) {
-		SelectionListener headerListener = getHeaderListener();
-		TableLayout layout = new TableLayout();
-		table.setLayout(layout);
-		table.setHeaderVisible(true);
-		final IField[] fields = getVisibleFields();
-		ColumnLayoutData[] columnWidths = columnLayouts;
-		if (columnWidths == null) {
-			columnWidths = getDefaultColumnLayouts();
-		}
-		for (int i = 0; i < fields.length; i++) {
-			if (columnWidths == null || i >= columnWidths.length || columnWidths[i] == null) {
-				layout.addColumnData(new ColumnPixelData(504 / fields.length, true));
-			}
-			else {
-				layout.addColumnData(columnWidths[i]);
-			}
-			TableColumn tc = new TableColumn(table, SWT.NONE,i);
-			tc.setText(fields[i].getColumnHeaderText());
-			tc.setImage(fields[i].getColumnHeaderImage());
-			tc.addSelectionListener(headerListener);
-		}
-	}
-	
-	protected void createActions() {
-		if (getSortDialog() != null) {
-			putAction(SORT_ACTION_ID, new TableSortAction(this, getSortDialog()));
-		}
-	}
-	
-	protected IAction getAction(String id) {
-		return (IAction) actions.get(id);
-	}
-	
-	protected void putAction(String id, IAction action) {
-		actions.put(id, action);
-	}
-	
-	protected MenuManager initContextMenu() {
-		MenuManager mgr = new MenuManager();
-		mgr.setRemoveAllWhenShown(true);
-		mgr.addMenuListener(new IMenuListener() {
-			public void menuAboutToShow(IMenuManager mgr) {
-				
-				getViewer().cancelEditing();
-				fillContextMenu(mgr);
-			}
-		});
-		return mgr;
-	}
-	
-	protected abstract void initToolBar(IToolBarManager tbm);
-	
-	protected void initActionBars(IActionBars actionBars) {
-		initMenu(actionBars.getMenuManager());
-		initToolBar(actionBars.getToolBarManager());
-	}
-	
-	protected void initMenu(IMenuManager menu) {
-		IAction sortAction = getAction(SORT_ACTION_ID);
-		if (sortAction != null)
-			menu.add(sortAction);
-		IAction filtersAction = getAction(FILTERS_ACTION_ID);
-		if (filtersAction != null)
-			menu.add(filtersAction);
-	}
-
-	protected abstract void registerGlobalActions(IActionBars actionBars);
-	
-	protected abstract void fillContextMenu(IMenuManager manager);
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.WorkbenchPart#setFocus()
-	 */
-	public void setFocus() {
-		TableViewer viewer = getViewer();
-		if (viewer != null && !viewer.getControl().isDisposed()) {
-			
-			viewer.getControl().setFocus();
-		}
-	}
-
-	protected TableSorter getSorter() {
-		if (sorter == null) {
-			int[] priorities = new int[getFields().length];
-			int[] directions = new int[getFields().length];
-			for (int i = 0; i < getFields().length; i++) {
-				priorities[i] = i;
-			}
-			Arrays.fill(directions, TableSorter.ASCENDING);
-			sorter = new TableSorter(getFields(), priorities, directions);
-			sorter.restoreState(getDialogSettings());
-		}
-		return sorter;
-	}
-	
-	//protected abstract ITableViewContentProvider getContentProvider();
-	
-	protected IField[] getFields() {
-		IField[] vProps = getVisibleFields();
-		IField[] hProps = getHiddenFields();
-		IField[] fields = new IField[vProps.length + hProps.length];
-		System.arraycopy(vProps, 0, fields, 0, vProps.length);
-		System.arraycopy(hProps, 0, fields, vProps.length, hProps.length);
-		return fields;
-	}
-	
-	protected abstract Object getViewerInput();
-	
-	protected abstract IField[] getVisibleFields();
-	
-	protected abstract IField[] getHiddenFields();
-
-	protected abstract IDialogSettings getDialogSettings();
-	
-	protected TableViewer getViewer() {
-		return viewer;
-	}
-	
-	protected SelectionListener getHeaderListener() {
-		return new SelectionAdapter() {
-			/**
-			 * Handles the case of user selecting the
-			 * header area.
-			 */
-			public void widgetSelected(SelectionEvent e) {
-				
-				int column = getViewer().getTable().indexOf((TableColumn) e.widget);
-				if (column == getSorter().getTopPriority())
-					getSorter().reverseTopPriority();
-				else {
-					getSorter().setTopPriority(column);
-				}
-				setSorter(getSorter());
-			}
-		};
-	}
-	
-	protected abstract ColumnLayoutData[] getDefaultColumnLayouts();
-	
-	protected TableSortDialog getSortDialog() {
-		if (getSorter() != null) {
-			return new TableSortDialog(getSite().getShell(), getSorter());
-		}
-		return null;
-	}
-		
-	protected void sorterChanged() {
-		
-		viewer.setSorter(getSorter());
-		
-		final TableViewer viewer = getViewer();
-		if (viewer == null) {
-			return;
-		}
-		
-		getSite().getShell().getDisplay().asyncExec(new Runnable() {
-			public void run() {
-				viewer.getControl().setRedraw(false);
-				viewer.refresh(false);
-				viewer.getControl().setRedraw(true);
-			}
-		});
-	}
-	
-	protected abstract void handleKeyPressed(KeyEvent event);
-	
-	protected abstract void handleOpenEvent(OpenEvent event);
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.ViewPart#saveState(org.eclipse.ui.IMemento)
-	 */
-	public void saveState(IMemento memento) {
-		super.saveState(memento);
-
-		//save column widths
-		TableColumn[] columns = viewer.getTable().getColumns();
-		for (int i = 0; i < columns.length; i++) {
-			memento.putInteger(TAG_COLUMN_WIDTH + i, columns[i].getWidth());
-		}
-		
-		saveSelection(memento);
-		
-		//save vertical position
-		Scrollable scrollable = (Scrollable) viewer.getControl();
-		ScrollBar bar = scrollable.getVerticalBar();
-		int position = (bar != null) ? bar.getSelection() : 0;
-		memento.putInteger(TAG_VERTICAL_POSITION, position);
-		//save horizontal position
-		bar = scrollable.getHorizontalBar();
-		position = (bar != null) ? bar.getSelection() : 0;
-		memento.putInteger(TAG_HORIZONTAL_POSITION, position);
-	}
-	
-	protected abstract void saveSelection(IMemento memento);
-
-	private void restoreColumnWidths(IMemento memento) {
-		if (memento == null) {
-			return;
-		}
-		columnLayouts = new ColumnLayoutData[getFields().length];
-		for (int i = 0; i < columnLayouts.length; i++) {
-			Integer width = memento.getInteger(TAG_COLUMN_WIDTH + i);
-			if (width == null) {
-				columnLayouts = null;
-				break;
-			}
-			else {
-				columnLayouts[i] = new ColumnPixelData(width.intValue(), true);
-			}
-		}
-	}
-	
-	protected abstract IStructuredSelection restoreSelection(IMemento memento);
-	
-	private int restoreVerticalScrollBarPosition(IMemento memento) {
-		if (memento == null) {
-			return 0;
-		}
-		Integer position = memento.getInteger(TAG_VERTICAL_POSITION);
-		return (position == null) ? 0 : position.intValue();
-	}
-	
-	private int restoreHorizontalScrollBarPosition(IMemento memento) {
-		if (memento == null) {
-			return 0;
-		}
-		Integer position = memento.getInteger(TAG_HORIZONTAL_POSITION);
-		return (position == null) ? 0 : position.intValue();
-	}
-	
-	/**
-	 * Get the IWorkbenchSiteProgressService for the receiver.
-	 * @return IWorkbenchSiteProgressService or <code>null</code>.
-	 */
-	protected IWorkbenchSiteProgressService getProgressService() {
-		IWorkbenchSiteProgressService service = null;
-		Object siteService =
-			getSite().getAdapter(IWorkbenchSiteProgressService.class);
-		if(siteService != null)
-			service = (IWorkbenchSiteProgressService) siteService;
-		return service;
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableViewLabelProvider.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableViewLabelProvider.java
deleted file mode 100644
index 1d910df..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableViewLabelProvider.java
+++ /dev/null
@@ -1,47 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-
-
-public class TableViewLabelProvider extends LabelProvider implements ITableLabelProvider {
-
-	IField[] fields;
-	
-	public TableViewLabelProvider(IField[] fields) {
-		this.fields = fields;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int)
-	 */
-	public Image getColumnImage(Object element, int columnIndex) {
-		if (fields == null || columnIndex < 0 || columnIndex >= fields.length) {
-			return null;
-		}
-		return fields[columnIndex].getImage(element);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
-	 */
-	public String getColumnText(Object element, int columnIndex) {
-		if (fields == null || columnIndex < 0 || columnIndex >= fields.length) {
-			return null;
-		}
-		return fields[columnIndex].getValue(element);
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TaskFilter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TaskFilter.java
deleted file mode 100644
index 5673619..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TaskFilter.java
+++ /dev/null
@@ -1,206 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.dialogs.IDialogSettings;
-
-public class TaskFilter extends MarkerFilter {
-
-	private static final String TAG_CONTAINS = "contains"; //$NON-NLS-1$
-	private static final String TAG_DESCRIPTION = "description"; //$NON-NLS-1$
-	private static final String TAG_DIALOG_SECTION = "filter"; //$NON-NLS-1$	
-	private static final String TAG_DONE = "done"; //$NON-NLS-1$
-	private static final String TAG_PRIORITY = "priority"; //$NON-NLS-1$
-	private static final String TAG_SELECT_BY_DONE = "selectByDone"; //$NON-NLS-1$
-	private static final String TAG_SELECT_BY_PRIORITY = "selectByPriority"; //$NON-NLS-1$
-
-	final static boolean DEFAULT_CONTAINS = true;
-	final static String DEFAULT_DESCRIPTION = ""; //$NON-NLS-1$	
-	final static boolean DEFAULT_DONE = false;
-	final static int DEFAULT_PRIORITY = 0;
-	final static boolean DEFAULT_SELECT_BY_DONE = false;
-	final static boolean DEFAULT_SELECT_BY_PRIORITY = false;
-	
-	final static int PRIORITY_HIGH = 1 << 2;
-	final static int PRIORITY_NORMAL = 1 << 1;
-	final static int PRIORITY_LOW = 1 << 0;
-
-	private boolean contains;
-	private String description;
-	private boolean done;
-	private int priority;
-	private boolean selectByPriority;
-	private boolean selectByDone;
-
-	public TaskFilter() {
-		super(new String[] { IMarker.TASK });
-	}
-	
-	public boolean selectMarker(ConcreteMarker marker) {
-		if (!(marker instanceof TaskMarker)) {
-			return false;
-		}
-		
-		TaskMarker taskMarker = (TaskMarker)marker;
-		
-		return !isEnabled() || (super.selectMarker(taskMarker) && selectByDescription(taskMarker) 
-				&& selectByDone(taskMarker) && selectByPriority(taskMarker));
-	}
-	
-	private boolean selectByDescription(ConcreteMarker marker) {
-		if (description == null || description.equals("")) //$NON-NLS-1$
-			return true;
-		
-		int index = marker.getDescription().indexOf(description);
-		return contains ? (index >= 0) : (index < 0);		
-	}
-
-	private boolean selectByDone(TaskMarker item) {
-		if (selectByDone)
-			return done == (item.getDone() == 1);
-			
-		return true;
-	}
-
-	private boolean selectByPriority(TaskMarker marker) {
-		if (priority != 0 && selectByPriority) {
-			int markerPriority = marker.getPriority();
-		
-			if (markerPriority == IMarker.PRIORITY_HIGH)
-				return (priority & PRIORITY_HIGH) > 0;		
-			else if (markerPriority == IMarker.PRIORITY_NORMAL)
-				return (priority & PRIORITY_NORMAL) > 0;
-			else if (markerPriority == IMarker.PRIORITY_LOW)
-				return (priority & PRIORITY_LOW) > 0;
-		}
-		
-		return true;
-	}
-
-	public boolean getContains() {
-		return contains;
-	}
-
-	public String getDescription() {
-		return description;
-	}
-
-	public boolean getDone() {
-		return done;
-	}
-
-	public int getPriority() {
-		return priority;
-	}
-
-	public boolean getSelectByDone() {
-		return selectByDone;
-	}
-
-	public boolean getSelectByPriority() {
-		return selectByPriority;
-	}
-
-	public void setContains(boolean contains) {
-		this.contains = contains;
-	}
-
-	public void setDescription(String description) {
-		this.description = description;
-	}
-	
-	public void setDone(boolean done) {
-		this.done = done;
-	}
-
-	public void setPriority(int priority) {
-		this.priority = priority;
-	}
-
-	public void setSelectByDone(boolean selectByDone) {
-		this.selectByDone = selectByDone;
-	}
-	
-	public void setSelectByPriority(boolean selectByPriority) {
-		this.selectByPriority = selectByPriority;
-	}
-
-	public void resetState() {
-		super.resetState();
-		contains = DEFAULT_CONTAINS;
-		description = DEFAULT_DESCRIPTION;		
-		done = DEFAULT_DONE;
-		priority = DEFAULT_PRIORITY;
-		selectByDone = DEFAULT_SELECT_BY_DONE;
-		selectByPriority = DEFAULT_SELECT_BY_PRIORITY;
-	}
-
-	public void restoreState(IDialogSettings dialogSettings) {		
-		super.restoreState(dialogSettings);
-		IDialogSettings settings = dialogSettings.getSection(TAG_DIALOG_SECTION);
-		
-		if (settings != null) {
-			String setting = settings.get(TAG_CONTAINS);
-
-			if (setting != null)
-				contains = Boolean.valueOf(setting).booleanValue();
-				
-			setting = settings.get(TAG_DESCRIPTION);
-			
-			if (setting != null)			
-				description = new String(setting);
-
-			setting = settings.get(TAG_DONE);
-			
-			if (setting != null)
-				done = Boolean.valueOf(setting).booleanValue();
-
-			setting = settings.get(TAG_PRIORITY);
-
-			if (setting != null)
-				try {
-					priority = Integer.parseInt(setting);		
-				}
-				catch (NumberFormatException eNumberFormat) {
-				}
-
-			setting = settings.get(TAG_SELECT_BY_DONE);
-			
-			if (setting != null)
-				selectByDone = Boolean.valueOf(setting).booleanValue();
-
-			setting = settings.get(TAG_SELECT_BY_PRIORITY);
-			
-			if (setting != null)
-				selectByPriority = Boolean.valueOf(setting).booleanValue();
-		}
-	}
-
-	public void saveState(IDialogSettings dialogSettings) {
-		super.saveState(dialogSettings);
-		
-		if (dialogSettings != null) {
-			IDialogSettings settings = dialogSettings.getSection(TAG_DIALOG_SECTION);
-
-			if (settings == null)
-				settings = dialogSettings.addNewSection(TAG_DIALOG_SECTION);
-
-			settings.put(TAG_CONTAINS, contains);
-			settings.put(TAG_DESCRIPTION, description);
-			settings.put(TAG_DONE, done);		
-			settings.put(TAG_PRIORITY, priority);
-			settings.put(TAG_SELECT_BY_DONE, selectByDone);
-			settings.put(TAG_SELECT_BY_PRIORITY, selectByPriority);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TaskMarker.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TaskMarker.java
deleted file mode 100644
index 25cf900..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TaskMarker.java
+++ /dev/null
@@ -1,53 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IMarker;
-
-/**
- * Represents a marker visible in the Tasks view. Additional members should be added
- * to this class if new fields are added to the Tasks view. Such members should be
- * initialized in the constructor, and accessed via get methods rather than accessing
- * the IMarker instance directly. This is necessary to support sorting in a reasonable
- * time bound.
- */
-public class TaskMarker extends ConcreteMarker {
-
-	private int priority;
-	private int done;
-	
-	/**
-	 * @param toCopy
-	 */
-	public TaskMarker(IMarker toCopy) {
-		super(toCopy);
-	}
-
-	public void refresh() {
-		super.refresh();
-		priority = getMarker().getAttribute(IMarker.PRIORITY, IMarker.PRIORITY_NORMAL);
-		done = -1;
-		if (getMarker().getAttribute(IMarker.USER_EDITABLE, true)) {
-			done = 0;
-			if (getMarker().getAttribute(IMarker.DONE, false)) {
-				done = 1;
-			}
-		}
-	}
-	
-	public int getPriority() {
-		return priority;
-	}
-	
-	public int getDone() {
-		return done;
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TaskView.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TaskView.java
deleted file mode 100644
index 807cca8..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TaskView.java
+++ /dev/null
@@ -1,318 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Platform;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.CheckboxCellEditor;
-import org.eclipse.jface.viewers.ColumnLayoutData;
-import org.eclipse.jface.viewers.ColumnPixelData;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ComboBoxCellEditor;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jface.window.Window;
-
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.CellEditorActionHandler;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-public class TaskView extends MarkerView {
-
-	private static final String COMPLETION = "completion"; //$NON-NLS-1$
-	private final static ColumnLayoutData[] DEFAULT_COLUMN_LAYOUTS = { 
-		new ColumnPixelData(19, false),
-		new ColumnPixelData(19, false),
-		new ColumnWeightData(200),
-		new ColumnWeightData(75),
-		new ColumnWeightData(150),
-		new ColumnWeightData(60)
-	};
-		
-	private final static IField[] HIDDEN_FIELDS = { 
-		new FieldCreationTime() 
-	};
-	
-	private final static String[] ROOT_TYPES = { 
-		IMarker.TASK
-	};
-
-	private final static String[] TABLE_COLUMN_PROPERTIES = {
-		COMPLETION,
-		IMarker.PRIORITY,
-		IMarker.MESSAGE,
-		"", //$NON-NLS-1$
-		"", //$NON-NLS-1$
-		"" //$NON-NLS-1$
-	}; 
-	
-	private final static String TAG_DIALOG_SECTION = "org.eclipse.ui.views.task"; //$NON-NLS-1$
-
-	private final static IField[] VISIBLE_FIELDS = { 
-		new FieldDone(),
-		new FieldPriority(), 
-		new FieldMessage(), 
-		new FieldResource(), 
-		new FieldFolder(), 
-		new FieldLineNumber() 
-	};
-
-	private ICellModifier cellModifier = new ICellModifier() {
-		public Object getValue(Object element, String property) {							
-			if (element instanceof ConcreteMarker) {
-				IMarker marker = ((ConcreteMarker)element).getMarker();
-				
-				if (COMPLETION.equals(property))
-					return new Boolean(marker.getAttribute(IMarker.DONE, false));
-
-				if (IMarker.PRIORITY.equals(property))
-					return new Integer(IMarker.PRIORITY_HIGH - marker.getAttribute(IMarker.PRIORITY, IMarker.PRIORITY_NORMAL));
-				
-				if (IMarker.MESSAGE.equals(property))
-					return marker.getAttribute(IMarker.MESSAGE, ""); //$NON-NLS-1$
-			}
-
-			return null;				
-		}
-
-		public boolean canModify(Object element, String property) {
-			return Util.isEditable(((ConcreteMarker) element).getMarker());
-		}
-
-		public void modify(Object element, String property, Object value) {
-			if (element instanceof Item) {
-				Item item = (Item) element;
-				Object data = item.getData();
-				
-				if (data instanceof ConcreteMarker) {
-					ConcreteMarker concreteMarker = (ConcreteMarker)data;
-					
-					IMarker marker = concreteMarker.getMarker();
-					
-					try {
-						Object oldValue = getValue(data, property); 
-						if (oldValue != null && !oldValue.equals(value)) {
-							if (COMPLETION.equals(property))
-								marker.setAttribute(IMarker.DONE, value);
-							else if (IMarker.PRIORITY.equals(property))
-								marker.setAttribute(IMarker.PRIORITY, IMarker.PRIORITY_HIGH - ((Integer) value).intValue());
-							else if (IMarker.MESSAGE.equals(property))
-								marker.setAttribute(IMarker.MESSAGE, value);
-						}
-						
-						concreteMarker.refresh();
-					} catch (CoreException e) {
-						ErrorDialog.openError(getSite().getShell(), Messages.getString("errorModifyingTask") , null, e.getStatus()); //$NON-NLS-1$
-					}
-				}
-			}
-		}
-	};
-
-	private CellEditorActionHandler cellEditorActionHandler;	
-	private TaskFilter taskFilter;
-	private ActionAddGlobalTask addGlobalTaskAction;
-	private ActionDeleteCompleted deleteCompletedAction;
-	private ActionMarkCompleted markCompletedAction;
-
-	public void createPartControl(Composite parent) {
-		super.createPartControl(parent);
-
-		TableViewer tableViewer = getViewer();
-		CellEditor cellEditors[] = new CellEditor[tableViewer.getTable().getColumnCount()];
-		cellEditors[0] = new CheckboxCellEditor(tableViewer.getTable());
-		
-		String[] priorities = new String[] { 
-			Messages.getString("priority.high"), //$NON-NLS-1$
-			Messages.getString("priority.normal"), //$NON-NLS-1$
-			Messages.getString("priority.low") //$NON-NLS-1$
-		};
-		
-		cellEditors[1] = new ComboBoxCellEditor(tableViewer.getTable(), priorities, SWT.READ_ONLY);
-		CellEditor descriptionCellEditor = new TextCellEditor(tableViewer.getTable());
-		cellEditors[2] = descriptionCellEditor;
-		tableViewer.setCellEditors(cellEditors);
-		tableViewer.setCellModifier(cellModifier);
-		tableViewer.setColumnProperties(TABLE_COLUMN_PROPERTIES);
-		
-		cellEditorActionHandler = new CellEditorActionHandler(getViewSite().getActionBars());
-		cellEditorActionHandler.addCellEditor(descriptionCellEditor);
-		cellEditorActionHandler.setCopyAction(copyAction);
-		cellEditorActionHandler.setPasteAction(pasteAction);
-		cellEditorActionHandler.setDeleteAction(deleteAction);
-		cellEditorActionHandler.setSelectAllAction(selectAllAction);
-	}
-
-	public void dispose() {
-		if (cellEditorActionHandler != null)
-			cellEditorActionHandler.dispose();		
-		
-		if (markCompletedAction != null)
-			markCompletedAction.dispose();
-		
-		super.dispose();
-	}
-
-	public void init(IViewSite viewSite, IMemento memento) throws PartInitException {
-		super.init(viewSite, memento);
-		taskFilter = new TaskFilter();
-		IDialogSettings dialogSettings = getDialogSettings();
-		
-		if (taskFilter != null)
-			taskFilter.restoreState(dialogSettings);
-	}
-
-	public void saveState(IMemento memento) {
-		IDialogSettings dialogSettings = getDialogSettings();
-		
-		if (taskFilter != null)
-			taskFilter.saveState(dialogSettings);
-		
-		super.saveState(memento);	
-	}
-
-	protected ColumnLayoutData[] getDefaultColumnLayouts() {
-		return DEFAULT_COLUMN_LAYOUTS;
-	}
-
-	protected IDialogSettings getDialogSettings() {
-		AbstractUIPlugin plugin = (AbstractUIPlugin) Platform.getPlugin(PlatformUI.PLUGIN_ID);
-		IDialogSettings workbenchSettings = plugin.getDialogSettings();
-		IDialogSettings settings = workbenchSettings.getSection(TAG_DIALOG_SECTION);
-		
-		if (settings == null)
-			settings = workbenchSettings.addNewSection(TAG_DIALOG_SECTION);
-
-		return settings;
-	}
-
-	protected void createActions() {
-		super.createActions();
-		
-		ISelectionProvider selProvider = getSelectionProvider();
-		
-		addGlobalTaskAction = new ActionAddGlobalTask(this);
-		deleteCompletedAction = new ActionDeleteCompleted(this, selProvider);
-		markCompletedAction = new ActionMarkCompleted(selProvider);
-		propertiesAction = new ActionTaskProperties(this, selProvider);
-	}
-
-	protected void createColumns(Table table) {
-		super.createColumns(table);
-		TableColumn[] columns = table.getColumns();
-		
-		if (columns != null && columns.length >= 1) {
-			columns[0].setResizable(false);
-		
-			if (columns.length >= 2)
-				columns[1].setResizable(false);	
-		}
-	}
-
-	protected void fillContextMenu(IMenuManager manager) {
-		manager.add(addGlobalTaskAction);
-		manager.add(new Separator());
-		super.fillContextMenu(manager);
-	}
-
-	protected void fillContextMenuAdditions(IMenuManager manager) {
-		manager.add(new Separator());
-		manager.add(markCompletedAction);
-		manager.add(deleteCompletedAction);
-	}
-	
-	protected DialogMarkerFilter getFiltersDialog() {
-		return new DialogTaskFilter(getSite().getShell(), taskFilter);
-	}
-	
-	protected IField[] getHiddenFields() {
-		return HIDDEN_FIELDS;
-	}
-
-	protected String[] getRootTypes() {
-		return ROOT_TYPES;
-	}
-
-	protected Object getViewerInput() {
-		return ResourcesPlugin.getWorkspace().getRoot();
-	}
-	
-	protected IField[] getVisibleFields() {
-		return VISIBLE_FIELDS;
-	}
-
-	protected void initToolBar(IToolBarManager toolBarManager) {
-		toolBarManager.add(addGlobalTaskAction);
-		super.initToolBar(toolBarManager);
-	}
-
-	public void setSelection(IStructuredSelection structuredSelection, boolean reveal) {
-		// TODO: added because nick doesn't like public API inherited from internal classes
-		super.setSelection(structuredSelection, reveal);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.markers.internal.MarkerView#getMarkerTypes()
-	 */
-	protected String[] getMarkerTypes() {
-		return new String[] {IMarker.TASK};
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.markers.internal.MarkerView#getFilter()
-	 */
-	protected MarkerFilter getFilter() {
-		return taskFilter;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.markers.internal.MarkerView#openFiltersDialog()
-	 */
-	public void openFiltersDialog() {
-		DialogTaskFilter dialog = new DialogTaskFilter(getSite().getShell(), taskFilter);
-		
-		if (dialog.open() == Window.OK) {
-			taskFilter = (TaskFilter)dialog.getFilter();
-			taskFilter.saveState(getDialogSettings());
-			refresh();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.views.markers.internal.MarkerView#updateFilterSelection(org.eclipse.core.resources.IResource[])
-	 */
-	protected void updateFilterSelection(IResource[] resources) {
-		taskFilter.setFocusResource(resources);
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/Util.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/Util.java
deleted file mode 100644
index 3974c82..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/Util.java
+++ /dev/null
@@ -1,108 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.text.DateFormat;
-import java.util.Date;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-
-public final class Util {
-
-	public static String getString(ResourceBundle resourceBundle, String key)
-		throws IllegalArgumentException {
-		if (resourceBundle == null || key == null)
-			throw new IllegalArgumentException();
-
-		String value = key;
-
-		try {
-			value = resourceBundle.getString(key);
-		} catch (MissingResourceException eMissingResource) {
-			System.err.println(eMissingResource);
-		}
-		
-		return value != null ? value.trim() : null;
-	}
-
-	public static String getProperty(String property, IMarker marker) {
-		if (marker == null)
-			return ""; //$NON-NLS-1$
-		try {
-			Object obj = marker.getAttribute(property);
-			if (obj != null)
-				return obj.toString();
-			return ""; //$NON-NLS-1$
-		}
-		catch (CoreException e) {
-			return ""; //$NON-NLS-1$
-		}
-	}
-	
-	public static String getCreationTime(long timestamp) {
-		return DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.MEDIUM).format(new Date(timestamp));
-	}
-	
-	public static String getCreationTime(IMarker marker) {
-		try {
-			return getCreationTime(marker.getCreationTime());
-		} catch (CoreException e) {
-			return ""; //$NON-NLS-1$
-		}
-	}
-	
-	public static String getContainerName(IMarker marker) {
-		IPath path = marker.getResource().getFullPath();
-		int n = path.segmentCount() - 1; // n is the number of segments in container, not path
-		if (n <= 0)
-			return ""; //$NON-NLS-1$
-		int len = 0;
-		for (int i = 0; i < n; ++i)
-			len += path.segment(i).length();
-		// account for /'s
-		if (n > 1)
-			len += n-1;
-		StringBuffer sb = new StringBuffer(len);
-		for (int i = 0; i < n; ++i) {
-			if (i != 0)
-				sb.append('/');
-			sb.append(path.segment(i));
-		}
-		return sb.toString();
-	}
-	
-	public static String getResourceName(IMarker marker) {
-		return marker.getResource().getName();
-	}
-	
-	public static boolean isEditable(IMarker marker) {
-		if (marker == null) {
-			return false;
-		}
-		try {
-			return marker.isSubtypeOf(IMarker.BOOKMARK) || 
-				   (marker.isSubtypeOf(IMarker.TASK) && 
-				   marker.getAttribute(IMarker.USER_EDITABLE, true));
-		}
-		catch (CoreException e) {
-			return false;
-		}
-	}
-
-	private Util() {
-		super();
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/package.html b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/package.html
deleted file mode 100644
index dc9191d..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/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>
-Utility classes for working with markers in views
-<br>&nbsp;
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/CollapseAllAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/CollapseAllAction.java
deleted file mode 100644
index c443bc3f..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/CollapseAllAction.java
+++ /dev/null
@@ -1,39 +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 Corporation - initial API and implementation 
- *   Sebastian Davids <sdavids@gmx.de> - Collapse all action (25826)
- ******************************************************************************/ 
-package org.eclipse.ui.views.navigator;
-
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Collapse all project nodes.
- */
-public class CollapseAllAction extends ResourceNavigatorAction {
-	
-/**
- * Creates the action.
- * 
- * @param navigator the resource navigator
- * @param label the label for the action
- */
-public CollapseAllAction(IResourceNavigator navigator, String label) {
-	super(navigator, label);
-	WorkbenchHelp.setHelp(this, INavigatorHelpContextIds.COLLAPSE_ALL_ACTION);
-	setEnabled(true);
-}
-
-/*
- * Implementation of method defined on <code>IAction</code>.
- */
-public void run() {
-	getNavigator().getViewer().collapseAll();
-}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/CopyAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/CopyAction.java
deleted file mode 100644
index a64be0c..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/CopyAction.java
+++ /dev/null
@@ -1,206 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWTError;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.SelectionListenerAction;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.part.ResourceTransfer;
-
-/**
- * Standard action for copying the currently selected resources to the clipboard.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * 
- * @since 2.0
- */
-/*package*/ class CopyAction extends SelectionListenerAction {
-
-	/**
-	 * The id of this action.
-	 */
-	public static final String ID = PlatformUI.PLUGIN_ID + ".CopyAction"; //$NON-NLS-1$
-	
-	/**
-	 * The shell in which to show any dialogs.
-	 */
-	private Shell shell;
-	
-	/**
-	 * System clipboard
-	 */
-	private Clipboard clipboard;
-
-	/**
-	 * Associated paste action. May be <code>null</code>
-	 */
-	private PasteAction pasteAction;
-
-/**
- * Creates a new action.
- *
- * @param shell the shell for any dialogs
- * @param clipboard a platform clipboard
- */
-public CopyAction(Shell shell, Clipboard clipboard) {
-	super(ResourceNavigatorMessages.getString("CopyAction.title")); //$NON-NLS-1$
-	Assert.isNotNull(shell);
-	Assert.isNotNull(clipboard);
-	this.shell = shell;
-	this.clipboard = clipboard;
-	setToolTipText(ResourceNavigatorMessages.getString("CopyAction.toolTip")); //$NON-NLS-1$
-	setId(CopyAction.ID);
-	WorkbenchHelp.setHelp(this, INavigatorHelpContextIds.COPY_ACTION);
-}
-/**
- * Creates a new action.
- *
- * @param shell the shell for any dialogs
- * @param clipboard a platform clipboard
- * @param pasteAction a paste action
- * 
- * @since 2.0
- */
-public CopyAction(Shell shell, Clipboard clipboard, PasteAction pasteAction) {
-	this(shell, clipboard);
-	this.pasteAction = pasteAction;
-}	
-/**
- * The <code>CopyAction</code> implementation of this method defined 
- * on <code>IAction</code> copies the selected resources to the 
- * clipboard.
- */
-public void run(){	
-	List selectedResources = getSelectedResources();
-	IResource[] resources = (IResource[]) selectedResources.toArray(new IResource[selectedResources.size()]);
-	
-	// Get the file names and a string representation
-	final int length = resources.length;
-	int actualLength = 0;	
-	String[] fileNames = new String[length];
-	StringBuffer buf = new StringBuffer();
-	for (int i = 0; i < length; i++) {
-		IPath location = resources[i].getLocation();
-		// location may be null. See bug 29491.
-		if (location != null)
-			fileNames[actualLength++] = location.toOSString();
-		if (i > 0)
-			buf.append("\n"); //$NON-NLS-1$
-		buf.append(resources[i].getName());
-	}
-	// was one or more of the locations null?
-	if (actualLength < length) {
-		String[] tempFileNames = fileNames;
-		fileNames = new String[actualLength];
-		for (int i = 0; i < actualLength; i++)
-			fileNames[i] = tempFileNames[i];
-	}
-	setClipboard(resources, fileNames, buf.toString());
-			
-	// update the enablement of the paste action
-	// workaround since the clipboard does not suppot callbacks
-	if (pasteAction != null && pasteAction.getStructuredSelection() != null) 
-		pasteAction.selectionChanged(pasteAction.getStructuredSelection());
-}
-/**
- * Set the clipboard contents. Prompt to retry if clipboard is busy.
- * 
- * @param resources the resources to copy to the clipboard
- * @param fileNames file names of the resources to copy to the clipboard
- * @param names string representation of all names
- */
-private void setClipboard(IResource[] resources, String[] fileNames, String names) {
-	try {
-		// set the clipboard contents
-		if (fileNames.length > 0) {
-			clipboard.setContents(
-				new Object[]{
-					resources, 
-					fileNames, 
-					names}, 
-				new Transfer[]{
-					ResourceTransfer.getInstance(), 
-					FileTransfer.getInstance(), 
-					TextTransfer.getInstance()});
-		} else {
-			clipboard.setContents(
-				new Object[]{
-					resources, 
-					names}, 
-				new Transfer[]{
-					ResourceTransfer.getInstance(), 
-					TextTransfer.getInstance()});
-		}
-	} catch (SWTError e){
-		if (e.code != DND.ERROR_CANNOT_SET_CLIPBOARD)
-			throw e;
-		if (MessageDialog.openQuestion(shell, ResourceNavigatorMessages.getString("CopyToClipboardProblemDialog.title"), ResourceNavigatorMessages.getString("CopyToClipboardProblemDialog.message"))) //$NON-NLS-1$ //$NON-NLS-2$
-			setClipboard(resources, fileNames, names);
-	}	
-}
-/**
- * The <code>CopyAction</code> implementation of this
- * <code>SelectionListenerAction</code> method enables this action if 
- * one or more resources of compatible types are selected.
- */
-protected boolean updateSelection(IStructuredSelection selection) {
-	if (!super.updateSelection(selection))
-		return false;
-	
-	if (getSelectedNonResources().size() > 0) 
-		return false;
-
-	List selectedResources = getSelectedResources();
-	if (selectedResources.size() == 0)
-		return false;
-	
-	boolean projSelected = selectionIsOfType(IResource.PROJECT);
-	boolean fileFoldersSelected = selectionIsOfType(IResource.FILE | IResource.FOLDER);
-	if (!projSelected && !fileFoldersSelected)
-		return false;
-
-	// selection must be homogeneous
-	if (projSelected && fileFoldersSelected)
-		return false;
-	
-	// must have a common parent	
-	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.getParent().equals(firstParent))
-			return false;
-		// resource location must exist
-		if (currentResource.getLocation() == null)
-			return false;
-	}
-	
-	return true;
-}
-
-}
-
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/FilterSelectionAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/FilterSelectionAction.java
deleted file mode 100644
index eb45bce..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/FilterSelectionAction.java
+++ /dev/null
@@ -1,73 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.navigator;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.ui.dialogs.ListSelectionDialog;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * The FilterSelectionAction opens the filters dialog.
- */
-public class FilterSelectionAction extends ResourceNavigatorAction {
-	private static final String FILTER_TOOL_TIP = ResourceNavigatorMessages.getString("FilterSelection.toolTip"); //$NON-NLS-1$
-	private static final String FILTER_SELECTION_MESSAGE = ResourceNavigatorMessages.getString("FilterSelection.message"); //$NON-NLS-1$
-	private static final String FILTER_TITLE_MESSAGE = ResourceNavigatorMessages.getString("FilterSelection.title"); //$NON-NLS-1$
-	
-/**
- * Creates the action.
- * 
- * @param navigator the resource navigator
- * @param label the label for the action
- */
-public FilterSelectionAction(IResourceNavigator navigator, String label) {
-	super(navigator, label);
-	setToolTipText(FILTER_TOOL_TIP);
-	WorkbenchHelp.setHelp(this, INavigatorHelpContextIds.FILTER_SELECTION_ACTION);
-	setEnabled(true);
-}
-
-/*
- * Implementation of method defined on <code>IAction</code>.
- */
-public void run() {
-	IResourceNavigator navigator = getNavigator();
-	ResourcePatternFilter filter = navigator.getPatternFilter();
-	FiltersContentProvider contentProvider = new FiltersContentProvider(filter);
-
-	ListSelectionDialog dialog =
-		new ListSelectionDialog(
-			getShell(),
-			getViewer(),
-			contentProvider,
-			new LabelProvider(),
-			FILTER_SELECTION_MESSAGE);
-
-	dialog.setTitle(FILTER_TITLE_MESSAGE);
-	dialog.setInitialSelections(contentProvider.getInitialSelections());
-	dialog.open();
-	if (dialog.getReturnCode() == Dialog.OK) {
-		Object[] results = dialog.getResult();
-		String[] selectedPatterns = new String[results.length];
-		System.arraycopy(results, 0, selectedPatterns, 0, results.length);
-		filter.setPatterns(selectedPatterns);
-		navigator.setFiltersPreference(selectedPatterns);
-		Viewer viewer = getViewer();
-		viewer.getControl().setRedraw(false);
-		viewer.refresh();
-		viewer.getControl().setRedraw(true);
-	}
-}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/FiltersContentProvider.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/FiltersContentProvider.java
deleted file mode 100644
index 34cf59d..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/FiltersContentProvider.java
+++ /dev/null
@@ -1,109 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * The FiltersContentProvider provides the elements for use by the list dialog
- * for selecting the patterns to apply.
- */
-/* package */ class FiltersContentProvider implements IStructuredContentProvider {
-
-	private static List definedFilters;
-	private static List defaultFilters;
-	
-
-	private ResourcePatternFilter resourceFilter;
-/**
- * Create a FiltersContentProvider using the selections from the suppliec
- * resource filter.
- */
-public FiltersContentProvider(ResourcePatternFilter filter) {
-	this.resourceFilter = filter;
-}
-/* (non-Javadoc)
- * Method declared on IContentProvider.
- */
-public void dispose() {}
-/**
- * Returns the filters which are enabled by default.
- *
- * @return a list of strings
- */
-public static List getDefaultFilters() {
-	if (defaultFilters == null) {
-		readFilters();
-	}
-	return defaultFilters;
-}
-/**
- * Returns the filters currently defined for the navigator.
- *
- * @return a list of strings
- */
-public static List getDefinedFilters() {
-	if (definedFilters == null) {
-		readFilters();
-	}
-	return definedFilters;
-}
-/* (non-Javadoc)
- * Method declared on IStructuredContentProvider.
- */
-public Object[] getElements(Object inputElement) {
-	return getDefinedFilters().toArray();
-}
-/**
- * Return the initially selected elements.
- */
-public String[] getInitialSelections() {
-	return this.resourceFilter.getPatterns();
-}
-/* (non-Javadoc)
- * Method declared on IContentProvider.
- */
-public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-}
-/**
- * Reads the filters currently defined for the workbench. 
- */
-private static void readFilters() {
-	definedFilters = new ArrayList();
-	defaultFilters = new ArrayList();
-	AbstractUIPlugin plugin =
-		(AbstractUIPlugin) Platform.getPlugin(IDEWorkbenchPlugin.IDE_WORKBENCH);
-	if (plugin != null) {
-		IExtensionPoint extension = plugin.getDescriptor().getExtensionPoint(ResourcePatternFilter.FILTERS_TAG);
-		if (extension != null) {
-			IExtension[] extensions =  extension.getExtensions();
-			for(int i = 0; i < extensions.length; i++){
-				IConfigurationElement [] configElements = extensions[i].getConfigurationElements();
-				for(int j = 0; j < configElements.length; j++){
-					String pattern = configElements[j].getAttribute("pattern");//$NON-NLS-1$
-					if (pattern != null)
-						definedFilters.add(pattern);
-					String selected = configElements[j].getAttribute("selected");//$NON-NLS-1$
-					if (selected != null && selected.equalsIgnoreCase("true"))//$NON-NLS-1$
-						defaultFilters.add(pattern);
-				}
-			}
-		}		
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/GotoActionGroup.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/GotoActionGroup.java
deleted file mode 100644
index ce07239..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/GotoActionGroup.java
+++ /dev/null
@@ -1,120 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.actions.ActionContext;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.views.framelist.BackAction;
-import org.eclipse.ui.views.framelist.ForwardAction;
-import org.eclipse.ui.views.framelist.FrameList;
-import org.eclipse.ui.views.framelist.GoIntoAction;
-import org.eclipse.ui.views.framelist.UpAction;
-
-/**
- * This is the action group for the goto actions.
- */
-public class GotoActionGroup extends ResourceNavigatorActionGroup {
-
-	private BackAction backAction;
-	private ForwardAction forwardAction;
-	private GoIntoAction goIntoAction;
-	private UpAction upAction;
-	private GotoResourceAction goToResourceAction;
-	
-	public GotoActionGroup(IResourceNavigator navigator) {
-		super(navigator);
-	}
-
-	public void fillContextMenu(IMenuManager menu) {
-		IStructuredSelection selection =
-			(IStructuredSelection) getContext().getSelection();
-		if (selection.size() == 1) {
-			if (ResourceSelectionUtil.allResourcesAreOfType(selection, IResource.FOLDER)) {
-				menu.add(goIntoAction);
-			} else {
-				IStructuredSelection resourceSelection = ResourceSelectionUtil.allResources(selection, IResource.PROJECT);
-				if (resourceSelection != null && !resourceSelection.isEmpty()) {
-					IProject project = (IProject)resourceSelection.getFirstElement();
-					if (project.isOpen())
-						menu.add(goIntoAction);
-				}
-			}
-		}
-	}
-	
-	public void fillActionBars(IActionBars actionBars) {
-		actionBars.setGlobalActionHandler(
-			IWorkbenchActionConstants.GO_INTO,
-			goIntoAction);
-		actionBars.setGlobalActionHandler(
-			ActionFactory.BACK.getId(),
-			backAction);
-		actionBars.setGlobalActionHandler(
-			ActionFactory.FORWARD.getId(),
-			forwardAction);
-		actionBars.setGlobalActionHandler(
-			IWorkbenchActionConstants.UP,
-			upAction);
-		actionBars.setGlobalActionHandler(
-			IWorkbenchActionConstants.GO_TO_RESOURCE,
-			goToResourceAction);
-			
-		IToolBarManager toolBar = actionBars.getToolBarManager();
-		toolBar.add(backAction);
-		toolBar.add(forwardAction);
-		toolBar.add(upAction);
-	}
-
-	protected void makeActions() {
-		FrameList frameList = navigator.getFrameList();
-		goIntoAction = new GoIntoAction(frameList);
-		backAction = new BackAction(frameList);
-		forwardAction = new ForwardAction(frameList);
-		upAction = new UpAction(frameList);
-		goToResourceAction = new GotoResourceAction(navigator, ResourceNavigatorMessages.getString("GoToResource.label")); //$NON-NLS-1$
-	}	
-
-	public void updateActionBars() {
-		ActionContext context = getContext();
-		boolean enable = false;
-
-		// Fix for bug 26126. Resource change listener could call
-		// updateActionBars without a context being set.
-		// This should never happen because resource navigator sets
-		// context immediately after this group is created.
-		if (context != null) {
-			IStructuredSelection selection =
-				(IStructuredSelection) context.getSelection();
-	
-			if (selection.size() == 1) {
-				Object object = selection.getFirstElement();
-				if (object instanceof IProject) {
-					enable = ((IProject) object).isOpen();
-				}
-				else
-				if (object instanceof IFolder) {
-					enable = true;
-				}
-			}
-		}	
-		goIntoAction.setEnabled(enable);
-		// the rest of the actions update by listening to frame list changes
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/GotoResourceAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/GotoResourceAction.java
deleted file mode 100644
index 126f158..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/GotoResourceAction.java
+++ /dev/null
@@ -1,48 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Implements the go to resource action. Opens a dialog and set
- * the navigator selection with the resource selected by
- * the user.
- */
-public class GotoResourceAction extends ResourceNavigatorAction {
-/**
- * Creates a new instance of the class.
- * @since 2.0
- */
-public GotoResourceAction(IResourceNavigator navigator, String label) {
-	super(navigator, label);
-	WorkbenchHelp.setHelp(this, INavigatorHelpContextIds.GOTO_RESOURCE_ACTION);
-}
-/**
- * Collect all resources in the workbench open a dialog asking
- * the user to select a resource and change the selection in
- * the navigator.
- */
-public void run() {
-	IContainer container = (IContainer)getViewer().getInput();
-	GotoResourceDialog dialog = new GotoResourceDialog(getShell(),container, IResource.FILE | IResource.FOLDER | IResource.PROJECT);
- 	dialog.open();
- 	Object[] result = dialog.getResult();
- 	if (result == null || result.length == 0 || result[0] instanceof IResource == false)
- 		return;
-	 
-	IResource selection = (IResource) result[0];
-	getViewer().setSelection(new StructuredSelection(selection),true);
-}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/GotoResourceDialog.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/GotoResourceDialog.java
deleted file mode 100644
index d1fb5d6..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/GotoResourceDialog.java
+++ /dev/null
@@ -1,33 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.dialogs.ResourceListSelectionDialog;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Shows a list of resources to the user with a text entry field
- * for a string pattern used to filter the list of resources.
- *
- */
-/*package*/ class GotoResourceDialog extends ResourceListSelectionDialog {
-
-/**
- * Creates a new instance of the class.
- */
-protected GotoResourceDialog(Shell parentShell, IContainer container, int typesMask) {
-	super(parentShell, container, typesMask);
-	setTitle(ResourceNavigatorMessages.getString("Goto.title")); //$NON-NLS-1$
-	WorkbenchHelp.setHelp(parentShell, INavigatorHelpContextIds.GOTO_RESOURCE_DIALOG);
-}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/INavigatorHelpContextIds.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/INavigatorHelpContextIds.java
deleted file mode 100644
index 507f7ac..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/INavigatorHelpContextIds.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.eclipse.ui.views.navigator;
-
-/******************************************************************************* 
- * 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 Corporation - initial API and implementation 
- *   Sebastian Davids <sdavids@gmx.de> - Collapse all action (25826)
- ******************************************************************************/ 
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Help context ids for the resource navigator view.
- * <p>
- * This interface contains constants only; it is not intended to be implemented
- * or extended.
- * </p>
- * 
- */
-/*package*/ interface INavigatorHelpContextIds {
-	public static final String PREFIX = PlatformUI.PLUGIN_ID + "."; //$NON-NLS-1$
-
-	// Actions
-	public static final String FILTER_SELECTION_ACTION = PREFIX + "filter_selection_action_context"; //$NON-NLS-1$
-	public static final String GOTO_RESOURCE_ACTION = PREFIX + "goto_resource_action_context"; //$NON-NLS-1$
-	public static final String RESOURCE_NAVIGATOR_MOVE_ACTION = PREFIX + "resource_navigator_move_action_context"; //$NON-NLS-1$
-	public static final String RESOURCE_NAVIGATOR_RENAME_ACTION = PREFIX + "resource_navigator_rename_action_context"; //$NON-NLS-1$
-	public static final String SHOW_IN_NAVIGATOR_ACTION = PREFIX + "show_in_navigator_action_context"; //$NON-NLS-1$
-	public static final String SORT_VIEW_ACTION = PREFIX + "sort_view_action_context"; //$NON-NLS-1$
-	public static final String COPY_ACTION = PREFIX + "resource_navigator_copy_action_context"; //$NON-NLS-1$
-	public static final String PASTE_ACTION = PREFIX + "resource_navigator_paste_action_context"; //$NON-NLS-1$
-	public static final String COLLAPSE_ALL_ACTION = PREFIX + "collapse_all_action_context"; //$NON-NLS-1$
-
-
-	// Dialogs
-	public static final String GOTO_RESOURCE_DIALOG = PREFIX + "goto_resource_dialog_context"; //$NON-NLS-1$
-	
-	// Views
-	public static final String RESOURCE_VIEW = PREFIX + "resource_view_context"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/IResourceNavigator.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/IResourceNavigator.java
deleted file mode 100644
index 8cd0b27..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/IResourceNavigator.java
+++ /dev/null
@@ -1,95 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.views.framelist.FrameList;
-
-/**
- * This interface defines the API for the resource navigator.
- * The action groups should restrict themselves to using this API.
- * <p>
- * This interface is not intended to be implemented by clients.
- * Subclass <code>org.eclipse.ui.views.ResourceNavigator</code> 
- * instead.   
- * </p>
- * 
- * @since 2.0
- */
-public interface IResourceNavigator extends IViewPart {
-
-	/**
-	 * Returns the pattern filter.
-	 *
-	 * @return the pattern filter
-	 */
-	ResourcePatternFilter getPatternFilter();
-
-	/**
-	 * Returns the active working set, or <code>null<code> if none.
-	 *
-	 * @return the active working set, or <code>null<code> if none
-	 * @since 2.0
-	 */
-	IWorkingSet getWorkingSet();
-
-	/**
-	 * Returns the current sorter.
-	 */
-	ResourceSorter getSorter();
-
-	/**
-	 * Sets the current sorter.
-	 */
-	void setSorter(ResourceSorter sorter);
-
-	/**
-	 * Sets the values of the filter preference to be the 
-	 * strings in preference values
-	 */
-	void setFiltersPreference(String[] patterns);
-	
-	/**
-	 * Returns the viewer which shows the resource tree.
-	 */
-	TreeViewer getViewer();
-	
-	/**
-	 * Returns the frame list for this navigator.
-	 */
-	FrameList getFrameList();
-	
-	/**
-	 * Returns whether this navigator's selection automatically tracks the active editor.
-	 * 
-	 * @return <code>true</code> if linking is enabled, <code>false</code> if not
-	 * @since 2.1
-	 */
-	boolean isLinkingEnabled();
-	
-	/**
-	 * Sets the working set for this view, or <code>null</code> to clear it.
-	 * 
-	 * @param workingSet the working set, or <code>null</code> to clear it
-	 * @since 2.0
-	 */
-	void setWorkingSet(IWorkingSet workingSet);
-	
-	/**
-	 * Sets whether this navigator's selection automatically tracks the active editor.
-	 * 
-	 * @param enabled <code>true</code> to enable, <code>false</code> to disable
-	 * @since 2.1
-	 */
-	void setLinkingEnabled(boolean enabled);
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/LocalSelectionTransfer.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/LocalSelectionTransfer.java
deleted file mode 100644
index 2d4c77d..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/LocalSelectionTransfer.java
+++ /dev/null
@@ -1,154 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.dnd.ByteArrayTransfer;
-import org.eclipse.swt.dnd.TransferData;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-
-/**
- * A LocalSelectionTransfer may be used for drag and drop operations
- * within the same instance of Eclipse.
- * The selection is made available directly for use in the DropTargetListener.
- * dropAccept method. The DropTargetEvent passed to dropAccept does not contain
- * the drop data. The selection may be used for validation purposes so that the
- * drop can be aborted if appropriate.
- *
- * This class is not intended to be subclassed.
- * 
- * @since 2.1
- */
-public class LocalSelectionTransfer extends ByteArrayTransfer {
-
-	// First attempt to create a UUID for the type name to make sure that
-	// different Eclipse applications use different "types" of
-	// <code>LocalSelectionTransfer</code>
-	private static final String TYPE_NAME= "local-selection-transfer-format" + (new Long(System.currentTimeMillis())).toString(); //$NON-NLS-1$;
-	private static final int TYPEID= registerType(TYPE_NAME);
-	
-	private static final LocalSelectionTransfer INSTANCE= new LocalSelectionTransfer();
-	
-	private ISelection selection;
-	private long selectionSetTime;
-	
-	/**
-	 * Only the singleton instance of this class may be used. 
-	 */
-	private LocalSelectionTransfer() {
-	}
-	/**
-	 * Returns the singleton.
-	 */
-	public static LocalSelectionTransfer getInstance() {
-		return INSTANCE;
-	}
-	/**
-	 * Returns the local transfer data.
-	 * 
-	 * @return the local transfer data
-	 */
-	public ISelection getSelection() {
-		return selection;
-	}
-	/**
-	 * Tests whether native drop data matches this transfer type.
-	 * 
-	 * @param result result of converting the native drop data to Java
-	 * @return true if the native drop data does not match this transfer type.
-	 * 	false otherwise.
-	 */
-	private boolean isInvalidNativeType(Object result) {
-		return !(result instanceof byte[]) || !TYPE_NAME.equals(new String((byte[])result));
-	}
-	/**
-	 * Returns the type id used to identify this transfer.
-	 * 
-	 * @return the type id used to identify this transfer.
-	 */
-	protected int[] getTypeIds() {
-		return new int[] {TYPEID};
-	}
-	/**
-	 * Returns the type name used to identify this transfer.
-	 * 
-	 * @return the type name used to identify this transfer.
-	 */
-	protected String[] getTypeNames(){
-		return new String[] {TYPE_NAME};
-	}	
-	/**
-	 * Overrides org.eclipse.swt.dnd.ByteArrayTransfer#javaToNative(Object,
-	 * TransferData).
-	 * Only encode the transfer type name since the selection is read and
-	 * written in the same process.
-	 * 
-	 * @see org.eclipse.swt.dnd.ByteArrayTransfer#javaToNative(java.lang.Object, org.eclipse.swt.dnd.TransferData)
-	 */
-	public void javaToNative(Object object, TransferData transferData) {
-		byte[] check= TYPE_NAME.getBytes();
-		super.javaToNative(check, transferData);
-	}
-	/**
-	 * Overrides org.eclipse.swt.dnd.ByteArrayTransfer#nativeToJava(TransferData).
-	 * Test if the native drop data matches this transfer type.
-	 * 
-	 * @see org.eclipse.swt.dnd.ByteArrayTransfer#nativeToJava(TransferData)
-	 */
-	public Object nativeToJava(TransferData transferData) {
-		Object result= super.nativeToJava(transferData);
-		if (isInvalidNativeType(result)) {
-			ILog log = IDEWorkbenchPlugin.getDefault().getLog();
-			log.log(
-				new Status(
-					IStatus.ERROR, 
-					IDEWorkbenchPlugin.IDE_WORKBENCH, 
-					IStatus.ERROR, 
-					ResourceNavigatorMessages.getString("LocalSelectionTransfer.errorMessage"), null));	//$NON-NLS-1$
-		}
-		return selection;
-	}
-	/**
-	 * Sets the transfer data for local use.
-	 * 
-	 * @param s the transfer data
-	 */	
-	public void setSelection(ISelection s) {
-		selection = s;
-	}
-	
-	/**
-	 * Returns the time when the selection operation
-	 * this transfer is associated with was started.
-	 * 
-	 * @return the time when the selection operation has started
-	 * 
-	 * @see org.eclipse.swt.events.TypedEvent#time
-	 */
-	public long getSelectionSetTime() {
-		return selectionSetTime;
-	}
-
-	/**
-	 * Sets the time when the selection operation this
-	 * transfer is associated with was started.
-	 * If assigning this from an SWT event, be sure to use
-	 * <code>setSelectionTime(event.time & 0xFFFF)</code>
-	 * 
-	 * @param time the time when the selection operation was started
-	 * 
-	 * @see org.eclipse.swt.events.TypeddEvent#time
-	 */
-	public void setSelectionSetTime(long time) {
-		selectionSetTime = time;
-	}	
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/MainActionGroup.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/MainActionGroup.java
deleted file mode 100644
index 94e1591..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/MainActionGroup.java
+++ /dev/null
@@ -1,326 +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 Corporation - initial API and implementation 
- *   Sebastian Davids <sdavids@gmx.de> - Collapse all action (25826)
- *   Sebastian Davids <sdavids@gmx.de> - Images for menu items (27481)
- ************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import java.util.List;
-
-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.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.actions.ActionContext;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.AddBookmarkAction;
-import org.eclipse.ui.actions.AddTaskAction;
-import org.eclipse.ui.actions.ExportResourcesAction;
-import org.eclipse.ui.actions.ImportResourcesAction;
-import org.eclipse.ui.actions.NewWizardMenu;
-import org.eclipse.ui.actions.WorkingSetFilterActionGroup;
-import org.eclipse.ui.dialogs.PropertyDialogAction;
-import org.eclipse.ui.ide.IDEActionFactory;
-
-/**
- * The main action group for the navigator.
- * This contains a few actions and several subgroups.
- */
-public class MainActionGroup extends ResourceNavigatorActionGroup {
-
-	protected AddBookmarkAction addBookmarkAction;
-	protected AddTaskAction addTaskAction;	
-	protected PropertyDialogAction propertyDialogAction;
-	protected ImportResourcesAction importAction;
-	protected ExportResourcesAction exportAction;
-	protected CollapseAllAction collapseAllAction;
-	protected ToggleLinkingAction toggleLinkingAction;
-	
-	protected GotoActionGroup gotoGroup;
-	protected OpenActionGroup openGroup;
-	protected RefactorActionGroup refactorGroup;
-	protected WorkingSetFilterActionGroup workingSetGroup;
-	protected SortAndFilterActionGroup sortAndFilterGroup;
-	protected WorkspaceActionGroup workspaceGroup;
-
-	private IResourceChangeListener resourceChangeListener;
-	
-	/**
-	 * Constructs the main action group.
-	 */
-	public MainActionGroup(IResourceNavigator navigator) {
-		super(navigator);
-		resourceChangeListener = new IResourceChangeListener() {
-			public void resourceChanged(IResourceChangeEvent event) {
-				handleResourceChanged(event);
-			}
-		};
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceChangeListener, IResourceChangeEvent.POST_CHANGE);
-		makeSubGroups();
-	}
-
-	/**
-	 * Handles a resource changed event by updating the enablement
-	 * if one of the selected projects is opened or closed.
-	 */
-	protected void handleResourceChanged(IResourceChangeEvent event) {
-		ActionContext context = getContext();
-		if (context == null) {
-			return;
-		}
-		
-		final IStructuredSelection selection = (IStructuredSelection) context.getSelection();
-		if (ResourceSelectionUtil.allResourcesAreOfType(selection, IResource.PROJECT) == false) {
-			return;
-		}			
-		List sel = selection.toList();
-		IResourceDelta delta = event.getDelta();
-		if (delta == null) {
-			return;
-		}
-		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())) {
-					getNavigator().getSite().getShell().getDisplay().syncExec(new Runnable() {
-						public void run() {
-							addTaskAction.selectionChanged(selection);
-							gotoGroup.updateActionBars();
-							refactorGroup.updateActionBars();
-							workspaceGroup.updateActionBars();
-						}
-					});
-				}
-			}
-		}
-	}	
-
-	/**
-	 * Makes the actions contained directly in this action group.
-	 */
-	protected void makeActions() {
-		Shell shell = navigator.getSite().getShell();
-		
-		addBookmarkAction = new AddBookmarkAction(shell);
-		addTaskAction = new AddTaskAction(shell);		
-		propertyDialogAction =
-			new PropertyDialogAction(shell, navigator.getViewer());
-		
-		importAction = new ImportResourcesAction(navigator.getSite().getWorkbenchWindow());
-		importAction.setDisabledImageDescriptor(getImageDescriptor("dtool16/import_wiz.gif")); //$NON-NLS-1$
-		importAction.setImageDescriptor(getImageDescriptor("etool16/import_wiz.gif")); //$NON-NLS-1$		
-
-		exportAction = new ExportResourcesAction(navigator.getSite().getWorkbenchWindow());
-		exportAction.setDisabledImageDescriptor(getImageDescriptor("dtool16/export_wiz.gif")); //$NON-NLS-1$
-		exportAction.setImageDescriptor(getImageDescriptor("etool16/export_wiz.gif")); //$NON-NLS-1$
-
-		collapseAllAction = new CollapseAllAction(navigator, ResourceNavigatorMessages.getString("CollapseAllAction.title"));//$NON-NLS-1$
-		collapseAllAction.setToolTipText(ResourceNavigatorMessages.getString("CollapseAllAction.toolTip")); //$NON-NLS-1$
-		collapseAllAction.setImageDescriptor(getImageDescriptor("elcl16/collapseall.gif")); //$NON-NLS-1$
-
-		toggleLinkingAction = new ToggleLinkingAction(
-			navigator, 
-			ResourceNavigatorMessages.getString("ToggleLinkingAction.text")); //$NON-NLS-1$
-		toggleLinkingAction.setToolTipText(
-			ResourceNavigatorMessages.getString("ToggleLinkingAction.toolTip")); //$NON-NLS-1$
-		toggleLinkingAction.setImageDescriptor(getImageDescriptor("elcl16/synced.gif"));//$NON-NLS-1$
-	}
-	
-	/**
-	 * Makes the sub action groups.
-	 */
-	protected void makeSubGroups() {
-		gotoGroup = new GotoActionGroup(navigator);
-		openGroup = new OpenActionGroup(navigator);
-		refactorGroup = new RefactorActionGroup(navigator);
-		IPropertyChangeListener workingSetUpdater = new IPropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				String property = event.getProperty();
-				
-				if (WorkingSetFilterActionGroup.CHANGE_WORKING_SET.equals(property)) {
-					IResourceNavigator navigator = getNavigator();
-					Object newValue = event.getNewValue();
-					
-					if (newValue instanceof IWorkingSet) {	
-						navigator.setWorkingSet((IWorkingSet) newValue);
-					}
-					else 
-					if (newValue == null) {
-						navigator.setWorkingSet(null);
-					}
-				}
-			}
-		};
-		TreeViewer treeView = navigator.getViewer(); 
-		Shell shell = treeView.getControl().getShell();
-		workingSetGroup = new WorkingSetFilterActionGroup(shell, workingSetUpdater);
-		workingSetGroup.setWorkingSet(navigator.getWorkingSet());
-		sortAndFilterGroup = new SortAndFilterActionGroup(navigator);
-		workspaceGroup = new WorkspaceActionGroup(navigator);
-	}
-	
-	/**
-	 * Extends the superclass implementation to set the context in the subgroups.
-	 */
-	public void setContext(ActionContext context) {
-		super.setContext(context);
-		gotoGroup.setContext(context);
-		openGroup.setContext(context);
-		refactorGroup.setContext(context);
-		sortAndFilterGroup.setContext(context);
-		workspaceGroup.setContext(context);
-	}
-	
-	/**
-	 * Fills the context menu with the actions contained in this group
-	 * and its subgroups.
-	 * 
-	 * @param menu the context menu
-	 */
-	public void fillContextMenu(IMenuManager menu) {
-		IStructuredSelection selection =
-			(IStructuredSelection) getContext().getSelection();
-		boolean onlyFilesSelected =
-			!selection.isEmpty()
-				&& ResourceSelectionUtil.allResourcesAreOfType(selection, IResource.FILE);
-		
-	
-		MenuManager newMenu =
-			new MenuManager(ResourceNavigatorMessages.getString("ResourceNavigator.new")); //$NON-NLS-1$
-		menu.add(newMenu);
-		new NewWizardMenu(newMenu, navigator.getSite().getWorkbenchWindow(), false);
-		
-		gotoGroup.fillContextMenu(menu);
-		openGroup.fillContextMenu(menu);
-		menu.add(new Separator());
-		
-		refactorGroup.fillContextMenu(menu);
-		menu.add(new Separator());
-		
-		menu.add(importAction);
-		menu.add(exportAction);
-		importAction.selectionChanged(selection);
-		exportAction.selectionChanged(selection);
-		menu.add(new Separator());
-		
-		workspaceGroup.fillContextMenu(menu);
-		
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS + "-end")); //$NON-NLS-1$
-		menu.add(new Separator());
-	
-		if (selection.size() == 1) {
-			propertyDialogAction.selectionChanged(selection);
-			menu.add(propertyDialogAction);
-		}
-	}
-			
-	/**
-	 * Adds the actions in this group and its subgroups to the action bars.
-	 */
-	public void fillActionBars(IActionBars actionBars) {
-		actionBars.setGlobalActionHandler(
-			ActionFactory.PROPERTIES.getId(),
-			propertyDialogAction);
-		actionBars.setGlobalActionHandler(
-			IDEActionFactory.BOOKMARK.getId(),
-			addBookmarkAction);
-		actionBars.setGlobalActionHandler(
-			IDEActionFactory.ADD_TASK.getId(),
-			addTaskAction);
-			
-		gotoGroup.fillActionBars(actionBars);
-		openGroup.fillActionBars(actionBars);
-		refactorGroup.fillActionBars(actionBars);
-		workingSetGroup.fillActionBars(actionBars);
-		sortAndFilterGroup.fillActionBars(actionBars);
-		workspaceGroup.fillActionBars(actionBars);
-		
-		IMenuManager menu = actionBars.getMenuManager();
-		menu.add(toggleLinkingAction);
-		
-		IToolBarManager toolBar = actionBars.getToolBarManager();
-		toolBar.add(new Separator());
-		toolBar.add(collapseAllAction);		
-		toolBar.add(toggleLinkingAction);
-	}
-	
-	/**
-	 * Updates the actions which were added to the action bars,
-	 * delegating to the subgroups as necessary.
-	 */
-	public void updateActionBars() {
-		IStructuredSelection selection =
-			(IStructuredSelection) getContext().getSelection();
-		propertyDialogAction.setEnabled(selection.size() == 1);
-		addBookmarkAction.selectionChanged(selection);
-		addTaskAction.selectionChanged(selection);		
-		
-		gotoGroup.updateActionBars();
-		openGroup.updateActionBars();
-		refactorGroup.updateActionBars();
-		workingSetGroup.updateActionBars();
-		sortAndFilterGroup.updateActionBars();
-		workspaceGroup.updateActionBars();
-	} 
-	
-	/**
-	 * Runs the default action (open file) by delegating the open group.
-	 */
-	public void runDefaultAction(IStructuredSelection selection) {
-		openGroup.runDefaultAction(selection);
-	}
-	
-	/**
- 	 * Handles a key pressed event by invoking the appropriate action,
- 	 * delegating to the subgroups as necessary.
- 	 */
-	public void handleKeyPressed(KeyEvent event) {
-		refactorGroup.handleKeyPressed(event);
-		workspaceGroup.handleKeyPressed(event);
-	}
-	
-	/**
-	 * Extends the superclass implementation to dispose the 
-	 * actions in this group and its subgroups.
-	 */
-	public void dispose() {
-		ResourcesPlugin.getWorkspace().removeResourceChangeListener(resourceChangeListener);
-
-		collapseAllAction.dispose();
-		exportAction.dispose();
-		importAction.dispose();
-		propertyDialogAction.dispose();
-		toggleLinkingAction.dispose();
-		
-		gotoGroup.dispose();
-		openGroup.dispose();
-		refactorGroup.dispose();
-		sortAndFilterGroup.dispose();
-		workingSetGroup.dispose();
-		workspaceGroup.dispose();
-		super.dispose();
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/NavigatorDragAdapter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/NavigatorDragAdapter.java
deleted file mode 100644
index 2c90a71..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/NavigatorDragAdapter.java
+++ /dev/null
@@ -1,200 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.actions.ReadOnlyStateChecker;
-import org.eclipse.ui.part.ResourceTransfer;
-
-/**
- * Implements drag behaviour when items are dragged out of the
- * resource navigator.
- * 
- * @since 2.0
- */
-public class NavigatorDragAdapter extends DragSourceAdapter {
-	private static final String CHECK_MOVE_TITLE = ResourceNavigatorMessages.getString("DragAdapter.title"); //$NON-NLS-1$
-	private static final String CHECK_DELETE_MESSAGE = ResourceNavigatorMessages.getString("DragAdapter.checkDeleteMessage"); //$NON-NLS-1$
-
-	ISelectionProvider selectionProvider;
-
-	private TransferData lastDataType; 	
-
-	/**
-	 * Constructs a new drag adapter.
-	 */
-	public NavigatorDragAdapter(ISelectionProvider provider) {
-		selectionProvider = provider;
-	}
-	/*
-	 * @see DragSourceListener#dragFinished(org.eclipse.swt.dnd.DragSourceEvent)
-	 */
-	public void dragFinished(DragSourceEvent event) {
-		LocalSelectionTransfer.getInstance().setSelection(null);
-
-		if (event.doit == false)
-			return;
-
-		final int typeMask = IResource.FOLDER | IResource.FILE;
-		if (event.detail == DND.DROP_MOVE) {
-			//never delete resources when dragging outside Eclipse. 
-			//workaround for bug 30543.
-			if (lastDataType != null && FileTransfer.getInstance().isSupportedType(lastDataType))
-				return;
-			
-			IResource[] resources = getSelectedResources(typeMask);	
-			DragSource dragSource = (DragSource) event.widget;
-			Control control = dragSource.getControl();
-			Shell shell = control.getShell();
-			ReadOnlyStateChecker checker;
-			
-			if (resources == null || resources.length == 0)
-				return;
-			
-			checker = new ReadOnlyStateChecker(shell, CHECK_MOVE_TITLE, CHECK_DELETE_MESSAGE);
-			resources = checker.checkReadOnlyResources(resources);		
-			//delete the old elements
-			for (int i = 0; i < resources.length; i++) {
-				try {
-					resources[i].delete(IResource.KEEP_HISTORY | IResource.FORCE, null);
-				} catch (CoreException e) {
-					e.printStackTrace();
-				}
-			}
-		} else if (event.detail == DND.DROP_TARGET_MOVE) {
-			IResource[] resources = getSelectedResources(typeMask);
-
-			// file moved for us by OS, no need to delete the resources, just
-			// update the view
-			if (resources == null)
-				return;
-			for (int i = 0; i < resources.length; i++) {
-				try {
-					resources[i].refreshLocal(IResource.DEPTH_INFINITE, null);
-				} catch (CoreException e) {
-					e.printStackTrace();
-				}
-			}
-		}
-	}
-	/*
-	 * @see DragSourceListener#dragSetData(org.eclipse.swt.dnd.DragSourceEvent)
-	 */
-	public void dragSetData(DragSourceEvent event) {
-		final int typeMask = IResource.FILE | IResource.FOLDER;
-		IResource[] resources = getSelectedResources(typeMask);
-		
-		if (resources == null || resources.length == 0)
-			return;
-
-		lastDataType = event.dataType;
-		//use local selection transfer if possible
-		if (LocalSelectionTransfer.getInstance().isSupportedType(event.dataType)) {
-			event.data = LocalSelectionTransfer.getInstance().getSelection();
-			return;
-		}
-		//use resource transfer if possible
-		if (ResourceTransfer.getInstance().isSupportedType(event.dataType)) {
-			event.data = resources;
-			return;
-		}
-		//resort to a file transfer
-		if (!FileTransfer.getInstance().isSupportedType(event.dataType))
-			return;
-
-		// Get the path of each file and set as the drag data
-		final int length = resources.length;
-		int actualLength = 0; 
-		String[] fileNames = new String[length];
-		for (int i = 0; i < length; i++) {
-			IPath location = resources[i].getLocation();
-			// location may be null. See bug 29491.
-			if (location != null) 
-				fileNames[actualLength++] = location.toOSString();
-		}
-		if (actualLength == 0)
-			return;
-		// was one or more of the locations null?
-		if (actualLength < length) {
-			String[] tempFileNames = fileNames;
-			fileNames = new String[actualLength];
-			for (int i = 0; i < actualLength; i++)
-				fileNames[i] = tempFileNames[i];
-		}
-		event.data = fileNames;
-	}
-
-	/*
-	 * @see DragSourceListener#dragStart(org.eclipse.swt.dnd.DragSourceEvent)
-	 */
-	public void dragStart(DragSourceEvent event) {
-		lastDataType = null;
-		// Workaround for 1GEUS9V
-		DragSource dragSource = (DragSource) event.widget;
-		Control control = dragSource.getControl();
-		if (control != control.getDisplay().getFocusControl()) {
-			event.doit = false;
-			return;
-		}
-
-		IStructuredSelection selection =
-			(IStructuredSelection) selectionProvider.getSelection();
-		for (Iterator i = selection.iterator(); i.hasNext();) {
-			Object next = i.next();
-			if (!(next instanceof IFile || next instanceof IFolder)) {
-				event.doit = false;
-				return;
-			}
-		}
-		if (selection.isEmpty()) {
-			event.doit = false;
-			return;
-		}
-		LocalSelectionTransfer.getInstance().setSelection(selection);
-		event.doit = true;
-	}
-	
-	private IResource[] getSelectedResources(int resourceTypes) {
-		List resources = new ArrayList();
-		IResource[] result = new IResource[0];
-
-		ISelection selection = selectionProvider.getSelection();
-		if (!(selection instanceof IStructuredSelection) || selection.isEmpty()) {
-			return null;
-		}
-		IStructuredSelection structuredSelection = (IStructuredSelection) selection;
-		if (structuredSelection == null)
-			return null;
-
-		// loop through list and look for matching items
-		Iterator enum = structuredSelection.iterator();
-		while (enum.hasNext()) {
-			Object obj = enum.next();
-			if (obj instanceof IResource) {
-				IResource res = (IResource) obj;
-				if ((res.getType() & resourceTypes) == res.getType()) {
-					resources.add(res);
-				}
-			}
-		}
-		result = new IResource[resources.size()];
-		resources.toArray(result);
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/NavigatorDropAdapter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/NavigatorDropAdapter.java
deleted file mode 100644
index 2a09bbb..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/NavigatorDropAdapter.java
+++ /dev/null
@@ -1,377 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.*;
-import org.eclipse.ui.dialogs.IOverwriteQuery;
-import org.eclipse.ui.part.PluginDropAdapter;
-import org.eclipse.ui.part.ResourceTransfer;
-
-/**
- * Implements drop behaviour for drag and drop operations
- * that land on the resource navigator.
- * 
- * @since 2.0
- */
-public class NavigatorDropAdapter
-	extends PluginDropAdapter
-	implements IOverwriteQuery {
-		
-	/**
-	 * A flag indicating that overwrites should always occur.
-	 */
-	private boolean alwaysOverwrite = false;
-	
-	/**
-	 * The last valid operation.
-	 */
-	private int lastValidOperation = DND.DROP_NONE;
-
-	/**
-	 * Constructs a new drop adapter.
-	 */
-	public NavigatorDropAdapter(StructuredViewer viewer) {
-		super(viewer);
-	}
-
-	/*
-	 * @see org.eclipse.swt.dnd.DropTargetListener#dragEnter(org.eclipse.swt.dnd.DropTargetEvent)
-	 */
-	public void dragEnter(DropTargetEvent event) {
-		if (FileTransfer.getInstance().isSupportedType(event.currentDataType) &&
-			event.detail == DND.DROP_DEFAULT) {
-			// default to copy when dragging from outside Eclipse. Fixes bug 16308.
-			event.detail = DND.DROP_COPY;
-		}		
-		super.dragEnter(event);
-	}
-	/**
-	 * Returns an error status with the given info.
-	 */
-	private IStatus error(String message) {
-		return error(message, null);
-	}
-	
-	/**
-	 * Returns an error status with the given info.
-	 */
-	private IStatus error(String message, Throwable exception) {
-		return new Status(IStatus.ERROR, PlatformUI.PLUGIN_ID, 0, message, exception);
-	}
-
-	/**
-	 * Returns the actual target of the drop, given the resource
-	 * under the mouse.  If the mouse target is a file, then the drop actually 
-	 * occurs in its parent.  If the drop location is before or after the
-	 * mouse target and feedback is enabled, the target is also the parent.
-	 */
-	private IContainer getActualTarget(IResource mouseTarget) {
-		/* if cursor is before or after mouseTarget, set target to parent */
-		if (getFeedbackEnabled()) {
-			if (getCurrentLocation() == LOCATION_BEFORE
-				|| getCurrentLocation() == LOCATION_AFTER) {
-				return mouseTarget.getParent();
-			}
-		}
-		/* if cursor is on a file, return the parent */
-		if (mouseTarget.getType() == IResource.FILE) {
-			return mouseTarget.getParent();
-		}
-		/* otherwise the mouseTarget is the real target */
-		return (IContainer) mouseTarget;
-	}
-
-	
-	/**
-	 * Returns the display
-	 */
-	private Display getDisplay() {
-		return getViewer().getControl().getDisplay();
-	}
-	/**
-	 * Returns the resource selection from the LocalSelectionTransfer.
-	 * 
-	 * @return the resource selection from the LocalSelectionTransfer
-	 */
-	private IResource[] getSelectedResources() {
-		IResource[] selectedResources = null;
-		
-		ISelection selection = LocalSelectionTransfer.getInstance().getSelection();
-		if (selection instanceof IStructuredSelection) {
-			List selectionList = ((IStructuredSelection) selection).toList();
-			selectedResources = (IResource[]) selectionList.toArray(new IResource[selectionList.size()]);
-		}
-		return selectedResources;		
-	}
-	
-	/**
-	 * Returns the shell
-	 */
-	private Shell getShell() {
-		return getViewer().getControl().getShell();
-	}
-	
-	/**
-	 * Returns an error status with the given info.
-	 */
-	private IStatus info(String message) {
-		return new Status(IStatus.INFO, PlatformUI.PLUGIN_ID, 0, message, null);
-	}
-	
-	/**
-	 * Adds the given status to the list of problems.  Discards
-	 * OK statuses.  If the status is a multi-status, only its children
-	 * are added.
-	 */
-	private void mergeStatus(MultiStatus status, IStatus toMerge) {
-		if (!toMerge.isOK()) {
-			status.merge(toMerge);
-		}
-	}
-	
-	/**
-	 * Returns an status indicating success.
-	 */
-	private IStatus ok() {
-		return new Status(Status.OK, PlatformUI.PLUGIN_ID, 0, ResourceNavigatorMessages.getString("DropAdapter.ok"), null); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Opens an error dialog if necessary.  Takes care of
-	 * complex rules necessary for making the error dialog look nice.
-	 */
-	private void openError(IStatus status) {
-		if (status == null)
-			return;
-
-		String genericTitle = ResourceNavigatorMessages.getString("DropAdapter.title"); //$NON-NLS-1$
-		int codes = IStatus.ERROR | IStatus.WARNING;
-
-		//simple case: one error, not a multistatus
-		if (!status.isMultiStatus()) {
-			ErrorDialog.openError(getShell(), genericTitle, null, status, codes);
-			return;
-		}
-
-		//one error, single child of multistatus
-		IStatus[] children = status.getChildren();
-		if (children.length == 1) {
-			ErrorDialog.openError(
-				getShell(),
-				status.getMessage(),
-				null,
-				children[0],
-				codes);
-			return;
-		}
-		//several problems
-		ErrorDialog.openError(getShell(), genericTitle, null, status, codes);
-	}
-	
-	/**
-	 * Perform the drop.
-	 * @see DropTargetListener#drop(org.eclipse.swt.dnd.DropTargetEvent)
-	 */
-	public boolean performDrop(final Object data) {
-		alwaysOverwrite = false;
-		if (getCurrentTarget() == null || data == null) {
-			return false;
-		}
-		boolean result = false;
-		IStatus status = null;
-		IResource[] resources = null;
-		TransferData currentTransfer = getCurrentTransfer();
-		if (LocalSelectionTransfer.getInstance().isSupportedType(currentTransfer)) {
-			resources = getSelectedResources();
-		} else if (ResourceTransfer.getInstance().isSupportedType(currentTransfer)) {
-			resources = (IResource[]) data;
-		} else if (FileTransfer.getInstance().isSupportedType(currentTransfer)) {
-			status = performFileDrop(data);
-			result = status.isOK();
-		} else {
-			result = NavigatorDropAdapter.super.performDrop(data);
-		}
-		if (resources != null) {
-			if (getCurrentOperation() == DND.DROP_COPY)
-				status = performResourceCopy(getShell(), resources);
-			else
-				status = performResourceMove(resources);
-		}
-		openError(status);
-		return result;
-	}
-	
-	/**
-	 * Performs a drop using the FileTransfer transfer type.
-	 */
-	private IStatus performFileDrop(Object data) {
-		MultiStatus problems = new MultiStatus(PlatformUI.PLUGIN_ID, 0, ResourceNavigatorMessages.getString("DropAdapter.problemImporting"), null); //$NON-NLS-1$
-		mergeStatus(problems, validateTarget(getCurrentTarget(), getCurrentTransfer()));
-
-		final IContainer target = getActualTarget((IResource) getCurrentTarget());
-		final String[] names = (String[]) data;
-		// Run the import operation asynchronously. 
-		// Otherwise the drag source (e.g., Windows Explorer) will be blocked 
-		// while the operation executes. Fixes bug 16478.
-		Display.getCurrent().asyncExec(new Runnable() {
-			public void run() {
-				getShell().forceActive();
-				CopyFilesAndFoldersOperation operation = new CopyFilesAndFoldersOperation(getShell());
-				operation.copyFiles(names, target);
-			}
-		});
-		return problems;
-	}
-
-	/**
-	 * Performs a resource copy
-	 */
-	private IStatus performResourceCopy(Shell shell, IResource[] sources) {
-		MultiStatus problems = new MultiStatus(PlatformUI.PLUGIN_ID, 1, ResourceNavigatorMessages.getString("DropAdapter.problemsMoving"), null); //$NON-NLS-1$
-		mergeStatus(problems, validateTarget(getCurrentTarget(), getCurrentTransfer()));
-
-		IContainer target = getActualTarget((IResource) getCurrentTarget());
-		CopyFilesAndFoldersOperation operation = new CopyFilesAndFoldersOperation(shell);
-		operation.copyResources(sources, target);
-		
-		return problems;
-	}
-
-	/**
-	 * Performs a resource move
-	 */
-	private IStatus performResourceMove(IResource[] sources) {
-		MultiStatus problems = new MultiStatus(PlatformUI.PLUGIN_ID, 1, ResourceNavigatorMessages.getString("DropAdapter.problemsMoving"), null); //$NON-NLS-1$
-		mergeStatus(problems, validateTarget(getCurrentTarget(), getCurrentTransfer()));
-
-		IContainer target = getActualTarget((IResource) getCurrentTarget());
-		ReadOnlyStateChecker checker = new ReadOnlyStateChecker(
-			getShell(), 
-			ResourceNavigatorMessages.getString("MoveResourceAction.title"),			//$NON-NLS-1$
-			ResourceNavigatorMessages.getString("MoveResourceAction.checkMoveMessage"));//$NON-NLS-1$	
-		sources = checker.checkReadOnlyResources(sources);
-		MoveFilesAndFoldersOperation operation = new MoveFilesAndFoldersOperation(getShell());
-		operation.copyResources(sources, target);
-		
-		return problems;
-	}
-	
-	/*
-	 * @see IOverwriteQuery#queryOverwrite(String)
-	 */
-	public String queryOverwrite(String pathString) {
-		if (alwaysOverwrite)
-			return ALL;
-
-		final String returnCode[] = { CANCEL };
-		final String msg = ResourceNavigatorMessages.format("DropAdapter.overwriteQuery", new Object[] { pathString }); //$NON-NLS-1$
-		final String[] options =
-			{
-				IDialogConstants.YES_LABEL,
-				IDialogConstants.YES_TO_ALL_LABEL,
-				IDialogConstants.NO_LABEL,
-				IDialogConstants.CANCEL_LABEL };
-		getDisplay().syncExec(new Runnable() {
-			public void run() {
-				MessageDialog dialog = new MessageDialog(getShell(), ResourceNavigatorMessages.getString("DropAdapter.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 < 0 ? CANCEL : returnCodes[returnVal];
-			}
-		});
-		if (returnCode[0] == ALL)
-			alwaysOverwrite = true;
-		return returnCode[0];
-	}
-	
-	/**
-	 * This method is used to notify the action that some aspect of
-	 * the drop operation has changed.
-	 */
-	public boolean validateDrop(
-		Object target,
-		int dragOperation,
-		TransferData transferType) {
-		
-		if (dragOperation != DND.DROP_NONE) {
-			lastValidOperation = dragOperation;
-		}
-		if (FileTransfer.getInstance().isSupportedType(transferType) &&
-			lastValidOperation != DND.DROP_COPY) {
-			// only allow copying when dragging from outside Eclipse
-			return false;
-		}
-		if (super.validateDrop(target, dragOperation, transferType)) {
-			return true;
-		}
-		return validateTarget(target, transferType).isOK();
-	}
-	
-	/**
-	 * Ensures that the drop target meets certain criteria
-	 */
-	private IStatus validateTarget(Object target, TransferData transferType) {
-		if (!(target instanceof IResource)) {
-			return info(ResourceNavigatorMessages.getString("DropAdapter.targetMustBeResource")); //$NON-NLS-1$
-		}
-		IResource resource = (IResource) target;
-		if (!resource.isAccessible()) {
-			return error(ResourceNavigatorMessages.getString("DropAdapter.canNotDropIntoClosedProject")); //$NON-NLS-1$
-		}
-		IContainer destination = getActualTarget(resource);
-		if (destination.getType() == IResource.ROOT) {
-			return error(ResourceNavigatorMessages.getString("DropAdapter.resourcesCanNotBeSiblings")); //$NON-NLS-1$
-		}
-		String message = null;
-		// drag within Eclipse?
-		if (LocalSelectionTransfer.getInstance().isSupportedType(transferType)) {
-			IResource[] selectedResources = getSelectedResources();
-			
-			if (selectedResources == null)
-				message = ResourceNavigatorMessages.getString("DropAdapter.dropOperationErrorOther"); //$NON-NLS-1$
-			else {
-				CopyFilesAndFoldersOperation operation;
-				if (lastValidOperation == DND.DROP_COPY) {
-					operation = new CopyFilesAndFoldersOperation(getShell());
-				}
-				else {
-					operation = new MoveFilesAndFoldersOperation(getShell());
-				}
-				message = operation.validateDestination(destination, selectedResources);
-			}
-		} // file import?
-		else if (FileTransfer.getInstance().isSupportedType(transferType)) {
-			String[] sourceNames = (String[]) FileTransfer.getInstance().nativeToJava(transferType);
-			if (sourceNames == null) {
-				// source names will be null on Linux. Use empty names to do destination validation.
-				// Fixes bug 29778
-				sourceNames = new String[0];
-			}				
-			CopyFilesAndFoldersOperation copyOperation = new CopyFilesAndFoldersOperation(getShell());
-			message = copyOperation.validateImportDestination(destination, sourceNames);
-		}		
-		if (message != null) {
-			return error(message);
-		}
-		return ok();
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/NavigatorFrameSource.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/NavigatorFrameSource.java
deleted file mode 100644
index c999fc9..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/NavigatorFrameSource.java
+++ /dev/null
@@ -1,67 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.views.framelist.TreeFrame;
-import org.eclipse.ui.views.framelist.TreeViewerFrameSource;
-
-/**
- * Frame source for the resource navigator.
- */
-public class NavigatorFrameSource extends TreeViewerFrameSource {
-	
-	private ResourceNavigator navigator;
-
-/**
- * Constructs a new frame source for the specified resource navigator.
- * 
- * @param navigator the resource navigator
- */
-public NavigatorFrameSource(ResourceNavigator navigator) {
-	super(navigator.getTreeViewer());
-	this.navigator = navigator;
-}
-
-/**
- * Returns a new frame.  This implementation extends the super implementation
- * by setting the frame's tool tip text to show the full path for the input
- * element.
- */
-protected TreeFrame createFrame(Object input) {
-	TreeFrame frame = super.createFrame(input);
-	frame.setName(navigator.getFrameName(input));
-	frame.setToolTipText(navigator.getFrameToolTipText(input));
-	return frame;
-}
-
-/**
- * Also updates the navigator's title.
- */
-protected void frameChanged(TreeFrame frame) {
-	IResource resource = (IResource) frame.getInput();
-	IProject project = resource.getProject();
-	
-	if (project != null && project.isOpen() == false) {
-		MessageDialog.openInformation(
-			navigator.getViewSite().getShell(), 
-			ResourceNavigatorMessages.getString("NavigatorFrameSource.closedProject.title"), //$NON-NLS-1$
-			ResourceNavigatorMessages.format("NavigatorFrameSource.closedProject.message", new Object[]{project.getName()})); //$NON-NLS-1$
-		navigator.getFrameList().back();
-	}
-	else {
-		super.frameChanged(frame);
-		navigator.updateTitle();
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/OpenActionGroup.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/OpenActionGroup.java
deleted file mode 100644
index be84f73..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/OpenActionGroup.java
+++ /dev/null
@@ -1,114 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-
-import org.eclipse.core.resources.*;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.*;
-
-/**
- * This is the action group for the open actions.
- */
-public class OpenActionGroup extends ResourceNavigatorActionGroup {
-
-	private OpenFileAction openFileAction;
-
-	/**
-	 * The id for the Open With submenu.
-	 */
-	public static final String OPEN_WITH_ID = PlatformUI.PLUGIN_ID + ".OpenWithSubMenu"; //$NON-NLS-1$
-
-	public OpenActionGroup(IResourceNavigator navigator) {
-		super(navigator);
-	}
-
-	protected void makeActions() {
-		openFileAction = new OpenFileAction(navigator.getSite().getPage());
-	}
-
-	public void fillContextMenu(IMenuManager menu) {
-		IStructuredSelection selection = (IStructuredSelection) getContext().getSelection();
-
-		boolean anyResourceSelected =
-			!selection.isEmpty()
-				&& ResourceSelectionUtil.allResourcesAreOfType(
-					selection,
-					IResource.PROJECT | IResource.FOLDER | IResource.FILE);
-		boolean onlyFilesSelected =
-			!selection.isEmpty() && ResourceSelectionUtil.allResourcesAreOfType(selection, IResource.FILE);
-
-		if (onlyFilesSelected) {
-			openFileAction.selectionChanged(selection);
-			menu.add(openFileAction);
-			fillOpenWithMenu(menu, selection);
-		}
-
-		if (anyResourceSelected) {
-			addNewWindowAction(menu, selection);
-		}
-	}
-
-	/**
-	 * Adds the OpenWith submenu to the context menu.
-	 * 
-	 * @param menu the context menu
-	 * @param selection the current selection
-	 */
-	private void fillOpenWithMenu(IMenuManager menu, IStructuredSelection selection) {
-
-		// Only supported if exactly one file is selected.
-		if (selection.size() != 1)
-			return;
-		Object element = selection.getFirstElement();
-		if (!(element instanceof IFile))
-			return;
-
-		MenuManager submenu =
-			new MenuManager(ResourceNavigatorMessages.getString("ResourceNavigator.openWith"), OPEN_WITH_ID); //$NON-NLS-1$
-		submenu.add(new OpenWithMenu(navigator.getSite().getPage(), (IFile) element));
-		menu.add(submenu);
-	}
-
-	/**
-	 * Adds the Open in New Window action to the context menu.
-	 * 
-	 * @param menu the context menu
-	 * @param selection the current selection
-	 */
-	private void addNewWindowAction(IMenuManager menu, IStructuredSelection selection) {
-
-		// Only supported if exactly one container (i.e open project or folder) is selected.
-		if (selection.size() != 1)
-			return;
-		Object element = selection.getFirstElement();
-		if (!(element instanceof IContainer))
-			return;
-		if (element instanceof IProject && !(((IProject)element).isOpen()))
-			return;				
-
-		menu.add(new OpenInNewWindowAction(navigator.getSite().getWorkbenchWindow(), (IContainer) element));
-	}
-
-	/**
-	 * Runs the default action (open file).
-	 */
-	public void runDefaultAction(IStructuredSelection selection) {
-		Object element = selection.getFirstElement();
-		if (element instanceof IFile) {
-			openFileAction.selectionChanged(selection);
-			openFileAction.run();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/PasteAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/PasteAction.java
deleted file mode 100644
index 48909c9..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/PasteAction.java
+++ /dev/null
@@ -1,229 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.part.ResourceTransfer;
-
-/**
- * Standard action for pasting resources on the clipboard to the selected resource's location.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * 
- * @since 2.0
- */
-/*package*/ class PasteAction extends SelectionListenerAction {
-
-	/**
-	 * The id of this action.
-	 */
-	public static final String ID = PlatformUI.PLUGIN_ID + ".PasteAction";//$NON-NLS-1$
-	
-	/**
-	 * The shell in which to show any dialogs.
-	 */
-	private Shell shell;
-
-	/**
-	 * System clipboard
-	 */
-	private Clipboard clipboard;
-
-/**
- * Creates a new action.
- *
- * @param shell the shell for any dialogs
- */
-public PasteAction(Shell shell, Clipboard clipboard) {
-	super(ResourceNavigatorMessages.getString("PasteAction.title")); //$NON-NLS-1$
-	Assert.isNotNull(shell);
-	Assert.isNotNull(clipboard);
-	this.shell = shell;
-	this.clipboard = clipboard;
-	setToolTipText(ResourceNavigatorMessages.getString("PasteAction.toolTip")); //$NON-NLS-1$
-	setId(PasteAction.ID);
-	WorkbenchHelp.setHelp(this, INavigatorHelpContextIds.PASTE_ACTION);
-}
-/**
- * Returns the actual target of the paste action. Returns null
- * if no valid target is selected.
- * 
- * @return the actual target of the paste action
- */
-private IResource getTarget() {
-	List selectedResources = getSelectedResources();
-	
-	for (int i = 0; i < selectedResources.size(); i++) {
-		IResource resource = (IResource)selectedResources.get(i);
-		
-		if (resource instanceof IProject && !((IProject)resource).isOpen())
-			return null;
-		if (resource.getType() == IResource.FILE)
-			resource = resource.getParent();
-		if (resource != null)
-			return resource;
-	}
-	return null;
-}
-/**
- * Returns whether any of the given resources are linked resources.
- * 
- * @param resources resource to check for linked type. may be null
- * @return true=one or more resources are linked. false=none of the 
- * 	resources are linked
- */
-private boolean isLinked(IResource[] resources) {
-	for (int i = 0; i < resources.length; i++) {
-		if (resources[i].isLinked())
-			return true;
-	}
-	return false;
-}
-/**
- * Implementation of method defined on <code>IAction</code>.
- */
-public void run() {
-	// try a resource transfer
-	ResourceTransfer resTransfer = ResourceTransfer.getInstance();
-	IResource[] resourceData = (IResource[])clipboard.getContents(resTransfer);
-	
-	if (resourceData != null && resourceData.length > 0) {
-		if (resourceData[0].getType() == IResource.PROJECT) {
-			// enablement checks for all projects
-			for (int i = 0; i < resourceData.length; i++) {
-				CopyProjectOperation operation = new CopyProjectOperation(this.shell);
-				operation.copyProject((IProject) resourceData[i]);
-			}
-		} else {
-			// enablement should ensure that we always have access to a container
-			IContainer container = getContainer();
-				
-			CopyFilesAndFoldersOperation operation = new CopyFilesAndFoldersOperation(this.shell);
-			operation.copyResources(resourceData, container);
-		}
-		return;
-	}
-	
-	// try a file transfer
-	FileTransfer fileTransfer = FileTransfer.getInstance();
-	String[] fileData = (String[])clipboard.getContents(fileTransfer);
-	
-	if (fileData != null) {
-		// enablement should ensure that we always have access to a container
-		IContainer container = getContainer();
-				
-		CopyFilesAndFoldersOperation operation = new CopyFilesAndFoldersOperation(this.shell);
-		operation.copyFiles(fileData, container);
-	}
-}
-/**
- * Returns the container to hold the pasted resources.
- */
-private IContainer getContainer() {
-	List selection = getSelectedResources();
-	if (selection.get(0) instanceof IFile)
-		return ((IFile)selection.get(0)).getParent();
-	else 
-		return (IContainer)selection.get(0);
-}
-/**
- * The <code>PasteAction</code> implementation of this
- * <code>SelectionListenerAction</code> method enables this action if 
- * a resource compatible with what is on the clipboard is selected.
- * 
- * -Clipboard must have IResource or java.io.File
- * -Projects can always be pasted if they are open
- * -Workspace folder may not be copied into itself
- * -Files and folders may be pasted to a single selected folder in open 
- * 	project or multiple selected files in the same folder 
- */
-protected boolean updateSelection(IStructuredSelection selection) {
-	if (!super.updateSelection(selection)) 
-		return false;
-	
-	final IResource[][] clipboardData = new IResource[1][];
-	shell.getDisplay().syncExec(new Runnable() {
-		public void run() {
-			// clipboard must have resources or files
-			ResourceTransfer resTransfer = ResourceTransfer.getInstance();
-			clipboardData[0] = (IResource[])clipboard.getContents(resTransfer);		
-		}
-	});	
-	IResource[] resourceData = clipboardData[0];
-	boolean isProjectRes = resourceData != null
-		&& resourceData.length > 0
-		&& resourceData[0].getType() == IResource.PROJECT;
-
-	if (isProjectRes) {
-		for (int i = 0; i < resourceData.length; i++) {
-			// make sure all resource data are open projects
-			// can paste open projects regardless of selection
-			if (resourceData[i].getType() != IResource.PROJECT || ((IProject) resourceData[i]).isOpen() == false)
-				return false;
-		}
-		return true;
-	} 
-	 
-	if (getSelectedNonResources().size() > 0) 
-		return false;
-	
-	IResource targetResource = getTarget();
-	// targetResource is null if no valid target is selected (e.g., open project) 
-	// or selection is empty	
-	if (targetResource == null)
-		return false;
-
-	// can paste files and folders to a single selection (file, folder, 
-	// open project) or multiple file selection with the same parent
-	List selectedResources = getSelectedResources();
-	if (selectedResources.size() > 1) {
-		for (int i = 0; i < selectedResources.size(); i++) {
-			IResource resource = (IResource)selectedResources.get(i);
-			if (resource.getType() != IResource.FILE)
-				return false;
-			if (!targetResource.equals(resource.getParent()))
-				return false;
-		}
-	}
-	if (resourceData != null)  {
-		// linked resources can only be pasted into projects
-		if (isLinked(resourceData) && targetResource.getType() != IResource.PROJECT) 
-			return false;
-			
-		if (targetResource.getType() == IResource.FOLDER) {
-			// don't try to copy folder to self
-			for (int i = 0; i < resourceData.length; i++) {
-				if (targetResource.equals(resourceData[i]))
-					return false;
-			}
-		}
-		return true;
-	}		
-	TransferData[] transfers = clipboard.getAvailableTypes();
-	FileTransfer fileTransfer = FileTransfer.getInstance();
-	for (int i = 0; i < transfers.length; i++) {
-		if (fileTransfer.isSupportedType(transfers[i])) 
-			return true;		
-	}
-	return false;
-}
-}
-
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/RefactorActionGroup.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/RefactorActionGroup.java
deleted file mode 100644
index a047c21..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/RefactorActionGroup.java
+++ /dev/null
@@ -1,149 +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 Corporation - initial API and implementation 
- *     Sebastian Davids <sdavids@gmx.de> - Images for menu items (27481)
-************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.DeleteResourceAction;
-import org.eclipse.ui.actions.TextActionHandler;
-
-/**
- * This is the action group for refactor actions,
- * including global action handlers for copy, paste and delete.
- * 
- * @since 2.0
- */
-public class RefactorActionGroup extends ResourceNavigatorActionGroup {
-
-	private Clipboard clipboard;
-
-	private CopyAction copyAction;
-	private DeleteResourceAction deleteAction;
-	private PasteAction pasteAction;
-	private ResourceNavigatorRenameAction renameAction;
-	private ResourceNavigatorMoveAction moveAction;
-	private TextActionHandler textActionHandler;
-	
-	public RefactorActionGroup(IResourceNavigator navigator) {
-		super(navigator);
-	}
-
-	public void dispose() {
-		if (clipboard != null) {
-			clipboard.dispose();
-			clipboard = null;
-		}
-		super.dispose();
-	}
-
-	public void fillContextMenu(IMenuManager menu) {
-		IStructuredSelection selection =
-			(IStructuredSelection) getContext().getSelection();
-
-		boolean anyResourceSelected =
-			!selection.isEmpty()
-				&& ResourceSelectionUtil.allResourcesAreOfType(
-					selection,
-					IResource.PROJECT | IResource.FOLDER | IResource.FILE);
-
-		copyAction.selectionChanged(selection);
-		menu.add(copyAction);
-		pasteAction.selectionChanged(selection);
-		menu.add(pasteAction);
-
-		if (anyResourceSelected) {
-			deleteAction.selectionChanged(selection);
-			menu.add(deleteAction);
-			moveAction.selectionChanged(selection);
-			menu.add(moveAction);
-			renameAction.selectionChanged(selection);
-			menu.add(renameAction);
-		}
-	}
-
-	public void fillActionBars(IActionBars actionBars) {
-		textActionHandler = new TextActionHandler(actionBars); // hooks handlers
-		textActionHandler.setCopyAction(copyAction);
-		textActionHandler.setPasteAction(pasteAction);
-		textActionHandler.setDeleteAction(deleteAction);
-		renameAction.setTextActionHandler(textActionHandler);
-		
-		actionBars.setGlobalActionHandler(ActionFactory.MOVE.getId(), moveAction);
-		actionBars.setGlobalActionHandler(ActionFactory.RENAME.getId(), renameAction);
-	}
-
-	/**
- 	 * Handles a key pressed event by invoking the appropriate action.
- 	 */
-	public void handleKeyPressed(KeyEvent event) {
-		if (event.character == SWT.DEL && event.stateMask == 0) {
-			if (deleteAction.isEnabled()) {
-				deleteAction.run();
-			}
-			
-			// Swallow the event.
-			event.doit = false;
-			
-		} else if (event.keyCode == SWT.F2 && event.stateMask == 0) {
-			if (renameAction.isEnabled()) {
-				renameAction.run();
-			}
-			
-			// Swallow the event.
-			event.doit = false;
-		}
-	}
-
-	protected void makeActions() {
-		TreeViewer treeViewer = (TreeViewer) navigator.getViewer();
-		Shell shell = navigator.getSite().getShell();
-		clipboard = new Clipboard(shell.getDisplay());
-		
-		pasteAction = new PasteAction(shell, clipboard);
-		ISharedImages images = PlatformUI.getWorkbench().getSharedImages();
-		pasteAction.setDisabledImageDescriptor(images.getImageDescriptor(ISharedImages.IMG_TOOL_PASTE_DISABLED));
-		pasteAction.setImageDescriptor(images.getImageDescriptor(ISharedImages.IMG_TOOL_PASTE));
-				
-		copyAction = new CopyAction(shell, clipboard, pasteAction);
-		copyAction.setDisabledImageDescriptor(images.getImageDescriptor(ISharedImages.IMG_TOOL_COPY_DISABLED));
-		copyAction.setImageDescriptor(images.getImageDescriptor(ISharedImages.IMG_TOOL_COPY));
-		
-		moveAction = new ResourceNavigatorMoveAction(shell, treeViewer);
-		renameAction = new ResourceNavigatorRenameAction(shell, treeViewer);
-		
-		deleteAction = new DeleteResourceAction(shell);
-		deleteAction.setDisabledImageDescriptor(images.getImageDescriptor(ISharedImages.IMG_TOOL_DELETE_DISABLED));
-		deleteAction.setImageDescriptor(images.getImageDescriptor(ISharedImages.IMG_TOOL_DELETE));		
-	}
-
-	public void updateActionBars() {
-		IStructuredSelection selection =
-			(IStructuredSelection) getContext().getSelection();
-
-		copyAction.selectionChanged(selection);
-		pasteAction.selectionChanged(selection);
-		deleteAction.selectionChanged(selection);
-		moveAction.selectionChanged(selection);
-		renameAction.selectionChanged(selection);
-	}
-	
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigator.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigator.java
deleted file mode 100644
index 126f1bc..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigator.java
+++ /dev/null
@@ -1,1307 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.navigator;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-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.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-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.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.jface.viewers.ViewerSorter;
-
-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.IWorkbenchPreferenceConstants;
-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.ui.actions.ActionContext;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-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.plugin.AbstractUIPlugin;
-import org.eclipse.ui.views.framelist.FrameList;
-import org.eclipse.ui.views.framelist.TreeFrame;
-
-/**
- * Implements the Resource Navigator view.
- */
-public class ResourceNavigator
-	extends ViewPart
-	implements ISetSelectionTarget, IResourceNavigator {
-
-	private TreeViewer viewer;
-	private IDialogSettings settings;
-	private IMemento memento;
-	private FrameList frameList;
-	private ResourceNavigatorActionGroup actionGroup;
-	private ResourcePatternFilter patternFilter = new ResourcePatternFilter();
-	private ResourceWorkingSetFilter workingSetFilter =
-		new ResourceWorkingSetFilter();
-	private boolean linkingEnabled;
-	private boolean dragDetected;
-	private Listener dragDetectListener;
-
-	/** 
-	 * Settings constant for section name (value <code>ResourceNavigator</code>).
-	 */
-	private static final String STORE_SECTION = "ResourceNavigator"; //$NON-NLS-1$
-	/** 
-	 * Settings constant for sort order (value <code>ResourceViewer.STORE_SORT_TYPE</code>).
-	 */
-	private static final String STORE_SORT_TYPE = "ResourceViewer.STORE_SORT_TYPE"; //$NON-NLS-1$
-	/** 
-	 * Settings constant for working set (value <code>ResourceWorkingSetFilter.STORE_WORKING_SET</code>).
-	 */
-	private static final String STORE_WORKING_SET = "ResourceWorkingSetFilter.STORE_WORKING_SET"; //$NON-NLS-1$
-	
-	/**
-	 * @deprecated No longer used but preserved to avoid an api change.
-	 */
-	public static final String NAVIGATOR_VIEW_HELP_ID =
-		INavigatorHelpContextIds.RESOURCE_VIEW;
-
-	// Persistance tags.
-	private static final String TAG_SORTER = "sorter"; //$NON-NLS-1$
-	private static final String TAG_FILTERS = "filters"; //$NON-NLS-1$
-	private static final String TAG_FILTER = "filter"; //$NON-NLS-1$
-	private static final String TAG_SELECTION = "selection"; //$NON-NLS-1$
-	private static final String TAG_EXPANDED = "expanded"; //$NON-NLS-1$
-	private static final String TAG_ELEMENT = "element"; //$NON-NLS-1$
-	private static final String TAG_IS_ENABLED = "isEnabled"; //$NON-NLS-1$
-	private static final String TAG_PATH = "path"; //$NON-NLS-1$
-	private static final String TAG_CURRENT_FRAME = "currentFrame"; //$NON-NLS-1$
-
-	private IPartListener partListener = new IPartListener() {
-		public void partActivated(IWorkbenchPart part) {
-			if (part instanceof IEditorPart)
-				editorActivated((IEditorPart) part);
-		}
-		public void partBroughtToTop(IWorkbenchPart part) {
-		}
-		public void partClosed(IWorkbenchPart part) {
-		}
-		public void partDeactivated(IWorkbenchPart part) {
-		}
-		public void partOpened(IWorkbenchPart part) {
-		}
-	};
-
-	private IPropertyChangeListener propertyChangeListener =
-		new IPropertyChangeListener() {
-		public void propertyChange(PropertyChangeEvent event) {
-			String property = event.getProperty();
-			Object newValue = event.getNewValue();
-			Object oldValue = event.getOldValue();
-			IWorkingSet filterWorkingSet = workingSetFilter.getWorkingSet();
-
-			if (IWorkingSetManager.CHANGE_WORKING_SET_REMOVE.equals(property)
-				&& oldValue == filterWorkingSet) {
-				setWorkingSet(null);
-			} else if (
-				IWorkingSetManager.CHANGE_WORKING_SET_NAME_CHANGE.equals(property)
-					&& newValue == filterWorkingSet) {
-				updateTitle();
-			} else if (
-				IWorkingSetManager.CHANGE_WORKING_SET_CONTENT_CHANGE.equals(property)
-					&& newValue == filterWorkingSet) {
-				getViewer().refresh();
-			}
-		}
-	};
-	
-	/**
-	 * Constructs a new resource navigator view.
-	 */
-	public ResourceNavigator() {
-		IDialogSettings viewsSettings = getPlugin().getDialogSettings();
-		
-		settings = viewsSettings.getSection(STORE_SECTION);
-		if (settings == null) {
-			settings = viewsSettings.addNewSection(STORE_SECTION);
-			migrateDialogSettings();
-		}
-		
-		initLinkingEnabled();
-	}
-	/**
-	 * Converts the given selection into a form usable by the viewer,
-	 * where the elements are resources.
-	 */
-	private StructuredSelection convertSelection(ISelection selection) {
-		ArrayList list = new ArrayList();
-		if (selection instanceof IStructuredSelection) {
-			IStructuredSelection ssel = (IStructuredSelection) selection;
-			for (Iterator i = ssel.iterator(); i.hasNext();) {
-				Object o = i.next();
-				IResource resource = null;
-				if (o instanceof IResource) {
-					resource = (IResource) o;
-				} else {
-					if (o instanceof IAdaptable) {
-						resource = (IResource) ((IAdaptable) o).getAdapter(IResource.class);
-					}
-				}
-				if (resource != null) {
-					list.add(resource);
-				}
-			}
-		}
-		return new StructuredSelection(list);
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IWorkbenchPart.
-	 */
-	public void createPartControl(Composite parent) {
-		TreeViewer viewer = createViewer(parent);
-		this.viewer = viewer;
-
-		if (memento != null) {
-			restoreFilters();
-			restoreLinkingEnabled();
-		}
-		frameList = createFrameList();
-		initDragAndDrop();
-		updateTitle();
-
-		initContextMenu();
-
-		initResourceSorter();
-		initWorkingSetFilter();
-		
-		// make sure input is set after sorters and filters,
-		// to avoid unnecessary refreshes
-		viewer.setInput(getInitialInput());
-
-		// make actions after setting input, because some actions
-		// look at the viewer for enablement (e.g. the Up action)
-		makeActions();
-
-		// Fill the action bars and update the global action handlers'
-		// enabled state to match the current selection.
-		getActionGroup().fillActionBars(getViewSite().getActionBars());
-		updateActionBars((IStructuredSelection) viewer.getSelection());
-
-		getSite().setSelectionProvider(viewer);
-		getSite().getPage().addPartListener(partListener);
-		IWorkingSetManager workingSetManager =
-			getPlugin().getWorkbench().getWorkingSetManager();
-		workingSetManager.addPropertyChangeListener(propertyChangeListener);
-
-		if (memento != null)
-			restoreState(memento);
-		memento = null;
-
-		// Set help for the view 
-		WorkbenchHelp.setHelp(viewer.getControl(), getHelpContextId());
-	}
-
-	/**
-	 * Returns the help context id to use for this view.
-	 * 
-	 * @since 2.0
-	 */
-	protected String getHelpContextId() {
-		return INavigatorHelpContextIds.RESOURCE_VIEW;
-	}
-
-	/**
-	 * Initializes and registers the context menu.
-	 * 
-	 * @since 2.0
-	 */
-	protected void initContextMenu() {
-		MenuManager menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$
-		menuMgr.setRemoveAllWhenShown(true);
-		menuMgr.addMenuListener(new IMenuListener() {
-			public void menuAboutToShow(IMenuManager manager) {
-				ResourceNavigator.this.fillContextMenu(manager);
-			}
-		});
-		TreeViewer viewer = getTreeViewer();
-		Menu menu = menuMgr.createContextMenu(viewer.getTree());
-		viewer.getTree().setMenu(menu);
-		getSite().registerContextMenu(menuMgr, viewer);
-	}
-
-	/**
-	 * Creates the viewer.
-	 * 
-	 * @param parent the parent composite
-	 * @since 2.0
-	 */
-	protected TreeViewer createViewer(Composite parent) {
-		TreeViewer viewer =
-			new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
-		viewer.setUseHashlookup(true);
-		initContentProvider(viewer);
-		initLabelProvider(viewer);
-		initFilters(viewer);
-		initListeners(viewer);
-
-		return viewer;
-	}
-
-	/**
-	 * Sets the content provider for the viewer.
-	 * 
-	 * @param viewer the viewer
-	 * @since 2.0
-	 */
-	protected void initContentProvider(TreeViewer viewer) {
-		viewer.setContentProvider(new WorkbenchContentProvider());
-	}
-
-	/**
-	 * Sets the label provider for the viewer.
-	 * 
-	 * @param viewer the viewer
-	 * @since 2.0
-	 */
-	protected void initLabelProvider(TreeViewer viewer) {
-		viewer.setLabelProvider(
-			new DecoratingLabelProvider(
-				new WorkbenchLabelProvider(),
-				getPlugin().getWorkbench().getDecoratorManager().getLabelDecorator()));
-	}
-
-	/**
-	 * Adds the filters to the viewer.
-	 * 
-	 * @param viewer the viewer
-	 * @since 2.0
-	 */
-	protected void initFilters(TreeViewer viewer) {
-		viewer.addFilter(patternFilter);
-		viewer.addFilter(workingSetFilter);
-	}
-
-	/**
-	 * Initializes the linking enabled setting from the preference store.
-	 */
-	private void initLinkingEnabled() {
-		// Try the dialog settings first, which remember the last choice.
-		String setting = settings.get(IWorkbenchPreferenceConstants.LINK_NAVIGATOR_TO_EDITOR);
-		if (setting != null) {
-			linkingEnabled = setting.equals("true");  //$NON-NLS-1$
-			return;
-		}
-		// If not in the dialog settings, check the preference store for the default setting. 
-		// Use the UI plugin's preference store since this is a public preference.
-		AbstractUIPlugin uiPlugin =
-			(AbstractUIPlugin) Platform.getPlugin(PlatformUI.PLUGIN_ID);
-		linkingEnabled =
-			uiPlugin.getPreferenceStore().getBoolean(
-				IWorkbenchPreferenceConstants.LINK_NAVIGATOR_TO_EDITOR);
-	}
-	
-	/**
-	 * Adds the listeners to the viewer.
-	 * 
-	 * @param viewer the viewer
-	 * @since 2.0
-	 */
-	protected void initListeners(TreeViewer viewer) {
-		viewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				handleSelectionChanged(event);
-			}
-		});
-		viewer.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				handleDoubleClick(event);
-			}
-		});
-		viewer.addOpenListener(new IOpenListener() {
-			public void open(OpenEvent event) {
-				handleOpen(event);
-			}
-		});
-		viewer.getControl().addKeyListener(new KeyListener() {
-			public void keyPressed(KeyEvent event) {
-				handleKeyPressed(event);
-			}
-			public void keyReleased(KeyEvent event) {
-				handleKeyReleased(event);
-			}
-		});
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IWorkbenchPart.
-	 */
-	public void dispose() {
-		getSite().getPage().removePartListener(partListener);
-
-		IWorkingSetManager workingSetManager =
-			getPlugin().getWorkbench().getWorkingSetManager();
-		workingSetManager.removePropertyChangeListener(propertyChangeListener);
-
-		if (getActionGroup() != null) {
-			getActionGroup().dispose();
-		}
-		Control control = viewer.getControl();
-		if (dragDetectListener != null && control != null && control.isDisposed() == false) {
-			control.removeListener(SWT.DragDetect, dragDetectListener);
-		}
-		super.dispose();
-	}
-
-	/**
-	 * An editor has been activated.  Sets the selection in this navigator
-	 * to be the editor's input, if linking is enabled.
-	 * 
-	 * @param editor the active editor
-	 * @since 2.0
-	 */
-	protected void editorActivated(IEditorPart editor) {
-		if (!isLinkingEnabled()) {
-			return;
-		}
-
-		IEditorInput input = editor.getEditorInput();
-		if (input instanceof IFileEditorInput) {
-			IFileEditorInput fileInput = (IFileEditorInput) input;
-			IFile file = fileInput.getFile();
-			ISelection newSelection = new StructuredSelection(file);
-			if (getTreeViewer().getSelection().equals(newSelection)) {
-				getTreeViewer().getTree().showSelection();
-			}
-			else {
-				getTreeViewer().setSelection(newSelection, true);
-			}
-		}
-	}
-
-	/**
-	 * Called when the context menu is about to open.
-	 * Delegates to the action group using the viewer's selection as the action context.
-	 * @since 2.0
-	 */
-	protected void fillContextMenu(IMenuManager menu) {
-		IStructuredSelection selection =
-			(IStructuredSelection) getViewer().getSelection();
-		getActionGroup().setContext(new ActionContext(selection));
-		getActionGroup().fillContextMenu(menu);
-	}
-
-	/*
-	 * @see IResourceNavigatorPart
-	 * @since 2.0
-	 */
-	public FrameList getFrameList() {
-		return frameList;
-	}
-
-	/** 
-	 * Returns the initial input for the viewer.
-	 * Tries to convert the page input to a resource, either directly or via IAdaptable.
-	 * If the resource is a container, it uses that.
-	 * If the resource is a file, it uses its parent folder.
-	 * If a resource could not be obtained, it uses the workspace root.
-	 * 
-	 * @since 2.0
-	 */
-	protected IAdaptable getInitialInput() {
-		IAdaptable input = getSite().getPage().getInput();
-		if (input != null) {
-			IResource resource = null;
-			if (input instanceof IResource) {
-				resource = (IResource) input;
-			} else {
-				resource = (IResource) input.getAdapter(IResource.class);
-			}
-			if (resource != null) {
-				switch (resource.getType()) {
-					case IResource.FILE :
-						return resource.getParent();
-					case IResource.FOLDER :
-					case IResource.PROJECT :
-					case IResource.ROOT :
-						return (IContainer) resource;
-					default :
-						// Unknown resource type.  Fall through.
-						break;
-				}
-			}
-		}
-		return ResourcesPlugin.getWorkspace().getRoot();
-	}
-
-	/**
-	 * Returns the pattern filter for this view.
-	 *
-	 * @return the pattern filter
-	 * @since 2.0
-	 */
-	public ResourcePatternFilter getPatternFilter() {
-		return this.patternFilter;
-	}
-
-	/**
-	 * Returns the working set for this view.
-	 *
-	 * @return the working set
-	 * @since 2.0
-	 */
-	public IWorkingSet getWorkingSet() {
-		return workingSetFilter.getWorkingSet();
-	}
-
-	/**
-	 * Returns the navigator's plugin.
-	 */
-	public AbstractUIPlugin getPlugin() {
-		return (AbstractUIPlugin) Platform.getPlugin(IDEWorkbenchPlugin.IDE_WORKBENCH);
-	}
-
-	/**
-	 * Returns the sorter.
-	 * @since 2.0
-	 */
-	public ResourceSorter getSorter() {
-		return (ResourceSorter) getTreeViewer().getSorter();
-	}
-
-	/**
-	 * Returns the resource viewer which shows the resource hierarchy.
-	 * @since 2.0
-	 */
-	public TreeViewer getViewer() {
-		return viewer;
-	}
-
-	/**
-	 * Returns the tree viewer which shows the resource hierarchy.
-	 * @since 2.0
-	 */
-	public TreeViewer getTreeViewer() {
-		return viewer;
-	}
-
-	/**
-	 * Returns the shell to use for opening dialogs.
-	 * Used in this class, and in the actions.
-	 * 
-	 * @deprecated use getViewSite().getShell()
-	 */
-	public Shell getShell() {
-		return getViewSite().getShell();
-	}
-
-	/**
-	 * Returns the message to show in the status line.
-	 *
-	 * @param selection the current selection
-	 * @return the status line message
-	 * @since 2.0
-	 */
-	protected String getStatusLineMessage(IStructuredSelection selection) {
-		if (selection.size() == 1) {
-			Object o = selection.getFirstElement();
-			if (o instanceof IResource) {
-				return ((IResource) o).getFullPath().makeRelative().toString();
-			} else {
-				return ResourceNavigatorMessages.getString("ResourceNavigator.oneItemSelected"); //$NON-NLS-1$
-			}
-		}
-		if (selection.size() > 1) {
-			return ResourceNavigatorMessages.format("ResourceNavigator.statusLine", //$NON-NLS-1$
-			new Object[] { new Integer(selection.size())});
-		}
-		return ""; //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns the name for the given element.
-	 * Used as the name for the current frame. 
-	 */
-	String getFrameName(Object element) {
-		if (element instanceof IResource) {
-			return ((IResource) element).getName();
-		} else {
-			return ((ILabelProvider) getTreeViewer().getLabelProvider()).getText(element);
-		}
-	}
-
-	/**
-	 * Returns the tool tip text for the given element.
-	 * Used as the tool tip text for the current frame, and for the view title tooltip.
-	 */
-	String getFrameToolTipText(Object element) {
-		if (element instanceof IResource) {
-			IPath path = ((IResource) element).getFullPath();
-			if (path.isRoot()) {
-				return ResourceNavigatorMessages.getString("ResourceManager.toolTip"); //$NON-NLS-1$
-			} else {
-				return path.makeRelative().toString();
-			}
-		} else {
-			return ((ILabelProvider) getTreeViewer().getLabelProvider()).getText(element);
-		}
-	}
-
-	/**
-	 * Handles an open event from the viewer.
-	 * Opens an editor on the selected file.
-	 * 
-	 * @param event the open event
-	 * @since 2.0
-	 */
-	protected void handleOpen(OpenEvent event) {
-		IStructuredSelection selection = (IStructuredSelection) event.getSelection();
-		getActionGroup().runDefaultAction(selection);
-	}
-
-	/**
-	 * Handles a double-click event from the viewer.
-	 * Expands or collapses a folder when double-clicked.
-	 * 
-	 * @param event the double-click event
-	 * @since 2.0
-	 */
-	protected void handleDoubleClick(DoubleClickEvent event) {
-		IStructuredSelection selection = (IStructuredSelection) event.getSelection();
-		Object element = selection.getFirstElement();
-
-		// 1GBZIA0: ITPUI:WIN2000 - Double-clicking in navigator should expand/collapse containers
-		TreeViewer viewer = getTreeViewer();
-		if (viewer.isExpandable(element)) {
-			viewer.setExpandedState(element, !viewer.getExpandedState(element));
-		}
-
-	}
-
-	/**
-	 * Handles a selection changed event from the viewer.
-	 * Updates the status line and the action bars, and links to editor (if option enabled).
-	 * 
-	 * @param event the selection event
-	 * @since 2.0
-	 */
-	protected void handleSelectionChanged(SelectionChangedEvent event) {
-		final IStructuredSelection sel = (IStructuredSelection) event.getSelection();
-		updateStatusLine(sel);
-		updateActionBars(sel);
-		dragDetected = false;
-		if (isLinkingEnabled()) {
-			getShell().getDisplay().asyncExec(new Runnable() {
-				public void run() {
-					if (dragDetected == false) {
-						// only synchronize with editor when the selection is not the result 
-						// of a drag. Fixes bug 22274.
-						linkToEditor(sel);
-					}
-				}
-			});
-		}
-	}
-
-	/**
-	 * Handles a key press event from the viewer.
-	 * Delegates to the action group.
-	 * 
-	 * @param event the key event
-	 * @since 2.0
-	 */
-	protected void handleKeyPressed(KeyEvent event) {
-		getActionGroup().handleKeyPressed(event);
-	}
-
-	/**
-	 * Handles a key release in the viewer.  Does nothing by default.
-	 * 
-	 * @param event the key event
-	 * @since 2.0
-	 */
-	protected void handleKeyReleased(KeyEvent event) {
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IViewPart.
-	 */
-	public void init(IViewSite site, IMemento memento) throws PartInitException {
-		super.init(site, memento);
-		this.memento = memento;
-	}
-
-	/**
-	 * Adds drag and drop support to the navigator.
-	 * 
-	 * @since 2.0
-	 */
-	protected void initDragAndDrop() {
-		int ops = DND.DROP_COPY | DND.DROP_MOVE;
-		Transfer[] transfers =
-			new Transfer[] {
-				LocalSelectionTransfer.getInstance(),
-				ResourceTransfer.getInstance(),
-				FileTransfer.getInstance(),
-				PluginTransfer.getInstance()};
-		TreeViewer viewer = getTreeViewer();
-		viewer.addDragSupport(
-			ops,
-			transfers,
-			new NavigatorDragAdapter((ISelectionProvider) viewer));
-		NavigatorDropAdapter adapter = new NavigatorDropAdapter(viewer);
-		adapter.setFeedbackEnabled(false);
-		viewer.addDropSupport(ops | DND.DROP_DEFAULT, transfers, adapter);
-		dragDetectListener = new Listener() {
-			public void handleEvent(Event event) {
-				dragDetected = true;
-			}
-		};
-		viewer.getControl().addListener(SWT.DragDetect, dragDetectListener);
-	}
-
-	/**
-	 * Creates the frame source and frame list, and connects them.
-	 * 
-	 * @since 2.0
-	 */
-	protected FrameList createFrameList() {
-		NavigatorFrameSource frameSource = new NavigatorFrameSource(this);
-		FrameList frameList = new FrameList(frameSource);
-		frameSource.connectTo(frameList);
-		return frameList;
-	}
-
-	/**
-	 * Initializes the sorter.
-	 */
-	protected void initResourceSorter() {
-		int sortType = ResourceSorter.NAME;
-		try {
-			int sortInt = 0;
-			if (memento != null) {
-				String sortStr = memento.getString(TAG_SORTER);
-				if (sortStr != null)
-					sortInt = new Integer(sortStr).intValue();
-			} else {
-				sortInt = settings.getInt(STORE_SORT_TYPE);
-			}
-			if (sortInt == ResourceSorter.NAME || sortInt == ResourceSorter.TYPE)
-				sortType = sortInt;
-		} catch (NumberFormatException e) {
-		}
-		setSorter(new ResourceSorter(sortType));
-	}
-
-	/**
-	 * Restores the working set filter from the persistence store.
-	 */
-	void initWorkingSetFilter() {
-		String workingSetName = settings.get(STORE_WORKING_SET);
-
-		if (workingSetName != null && workingSetName.equals("") == false) { //$NON-NLS-1$
-			IWorkingSetManager workingSetManager =
-				getPlugin().getWorkbench().getWorkingSetManager();
-			IWorkingSet workingSet = workingSetManager.getWorkingSet(workingSetName);
-
-			if (workingSet != null) {
-				// Only initialize filter. Don't set working set into viewer.
-				// Working set is set via WorkingSetFilterActionGroup
-				// during action creation.
-				workingSetFilter.setWorkingSet(workingSet);
-			}
-		}
-	}
-
-	/**
-	 * Returns whether the navigator selection automatically tracks the active
-	 * editor.
-	 *
-	 * @return <code>true</code> if linking is enabled, <code>false</code> if not  
-	 * @since 2.0 (this was protected in 2.0, but was made public in 2.1)
-	 */
-	public boolean isLinkingEnabled() {
-		return linkingEnabled;
-	}
-
-	/**
-	 * Activates the editor if the selected resource is open.
-	 * 
-	 * @since 2.0
-	 */
-	protected void linkToEditor(IStructuredSelection selection) {
-		Object obj = selection.getFirstElement();
-		if (obj instanceof IFile && selection.size() == 1) {
-			IFile file = (IFile) obj;
-			IWorkbenchPage page = getSite().getPage();
-			IEditorPart editor = page.findEditor(new FileEditorInput(file));
-			if(editor != null) {
-				page.bringToTop(editor);
-				return;
-			}
-		}
-	}
-
-	/**
-	 * Creates the action group, which encapsulates all actions for the view.
-	 */
-	protected void makeActions() {
-		setActionGroup(new MainActionGroup(this));
-	}
-
-	/**
-	 * Migrates the dialog settings from the UI plugin store to the 
-	 * Views plugin store.
-	 */
-	private void migrateDialogSettings() {
-		AbstractUIPlugin uiPlugin = (AbstractUIPlugin) Platform.getPlugin(PlatformUI.PLUGIN_ID);
-		IDialogSettings uiSettings = uiPlugin.getDialogSettings();
-			
-		uiSettings = uiSettings.getSection(STORE_SECTION);
-		if (uiSettings != null) {
-			String workingSetName = uiSettings.get(STORE_WORKING_SET);
-			if (workingSetName != null && workingSetName.length() > 0) {
-				settings.put(STORE_WORKING_SET, workingSetName);
-				uiSettings.put(STORE_WORKING_SET, "");			//$NON-NLS-1$
-			}
-			String sortType = uiSettings.get(STORE_SORT_TYPE);
-			if (sortType != null && sortType.length() > 0) {
-				settings.put(STORE_SORT_TYPE, sortType);
-				uiSettings.put(STORE_SORT_TYPE, "");			//$NON-NLS-1$
-			}
-		}
-	}
-
-	/**
-	 * Restores the saved filter settings.
-	 */
-	private void restoreFilters() {
-		IMemento filtersMem = memento.getChild(TAG_FILTERS);
-		
-		if (filtersMem != null) {  //filters have been defined
-			IMemento children[] = filtersMem.getChildren(TAG_FILTER);
-
-			// check if first element has new tag defined, indicates new version
-			if (children.length > 0 && children[0].getString(TAG_IS_ENABLED) != null) { 
-				ArrayList selectedFilters = new ArrayList();
-				ArrayList unSelectedFilters = new ArrayList();
-				for (int i = 0; i < children.length; i++) {
-					if (children[i].getString(TAG_IS_ENABLED).equals(String.valueOf(true)))
-						selectedFilters.add(children[i].getString(TAG_ELEMENT));
-					else //enabled == false
-						unSelectedFilters.add(children[i].getString(TAG_ELEMENT));
-				}
-
-				/* merge filters from Memento with selected = true filters from plugins
-				 * ensure there are no duplicates & don't override user preferences	 */
-				List pluginFilters = FiltersContentProvider.getDefaultFilters();				
-				for (Iterator iter = pluginFilters.iterator(); iter.hasNext();) {
-					String element = (String) iter.next();
-					if (!selectedFilters.contains(element) && !unSelectedFilters.contains(element))
-						selectedFilters.add(element);
-				}
-				
-				//Convert to an array of Strings
-				String[] patternArray = new String[selectedFilters.size()];
-				selectedFilters.toArray(patternArray);
-				getPatternFilter().setPatterns(patternArray);
-				
-			} else {  //filters defined, old version: ignore filters from plugins
-				String filters[] = new String[children.length];
-				for (int i = 0; i < children.length; i++) {
-					filters[i] = children[i].getString(TAG_ELEMENT);
-				}
-				getPatternFilter().setPatterns(filters);	
-			}			
-		} else {  //no filters defined, old version: ignore filters from plugins
-			getPatternFilter().setPatterns(new String[0]);
-		}
-	}
-
-	/**
-	 * Restores the state of the receiver to the state described in the specified memento.
-	 *
-	 * @param memento the memento
-	 * @since 2.0
-	 */
-	protected void restoreState(IMemento memento) {
-		TreeViewer viewer = getTreeViewer();
-		IMemento frameMemento = memento.getChild(TAG_CURRENT_FRAME);
-		
-		if (frameMemento != null) {
-			TreeFrame frame = new TreeFrame(viewer);
-			frame.restoreState(frameMemento);
-			frame.setName(getFrameName(frame.getInput()));
-			frame.setToolTipText(getFrameToolTipText(frame.getInput()));
-			viewer.setSelection(new StructuredSelection(frame.getInput()));
-			frameList.gotoFrame(frame);
-		}
-		else {		
-			IContainer container = ResourcesPlugin.getWorkspace().getRoot();
-			IMemento childMem = memento.getChild(TAG_EXPANDED);
-			if (childMem != null) {
-				ArrayList elements = new ArrayList();
-				IMemento[] elementMem = childMem.getChildren(TAG_ELEMENT);
-				for (int i = 0; i < elementMem.length; i++) {
-					Object element = container.findMember(elementMem[i].getString(TAG_PATH));
-					if (element != null) {
-						elements.add(element);
-					}
-				}
-				viewer.setExpandedElements(elements.toArray());
-			}
-			childMem = memento.getChild(TAG_SELECTION);
-			if (childMem != null) {
-				ArrayList list = new ArrayList();
-				IMemento[] elementMem = childMem.getChildren(TAG_ELEMENT);
-				for (int i = 0; i < elementMem.length; i++) {
-					Object element = container.findMember(elementMem[i].getString(TAG_PATH));
-					if (element != null) {
-						list.add(element);
-					}
-				}
-				viewer.setSelection(new StructuredSelection(list));
-			}
-		}
-	}
-	
-	/**
-	 * Restores the linking enabled state.
-	 */
-	private void restoreLinkingEnabled() {
-		Integer val = memento.getInteger(IWorkbenchPreferenceConstants.LINK_NAVIGATOR_TO_EDITOR);
-		if (val != null) {
-			linkingEnabled = val.intValue() != 0;
-		}
-	}
-
-	/**	
-	 * @see ViewPart#saveState
-	 */
-	public void saveState(IMemento memento) {
-		TreeViewer viewer = getTreeViewer();
-		if (viewer == null) {
-			if (this.memento != null) //Keep the old state;
-				memento.putMemento(this.memento);
-			return;
-		}
-
-		//save sorter
-		memento.putInteger(TAG_SORTER, getSorter().getCriteria());
-		
-		//save filters
-		String filters[] = getPatternFilter().getPatterns();
-		List selectedFilters = Arrays.asList(filters);
-		List allFilters = FiltersContentProvider.getDefinedFilters();
-		IMemento filtersMem = memento.createChild(TAG_FILTERS);
-		for (Iterator iter = allFilters.iterator(); iter.hasNext();) {
-			String element = (String) iter.next();
-			IMemento child = filtersMem.createChild(TAG_FILTER);
-			child.putString(TAG_ELEMENT, element);
-			child.putString(TAG_IS_ENABLED, String.valueOf(selectedFilters.contains(element)));
-		}		
-
-		if (frameList.getCurrentIndex() > 0) {
-			//save frame, it's not the "home"/workspace frame
-			TreeFrame currentFrame = (TreeFrame) frameList.getCurrentFrame();
-			IMemento frameMemento = memento.createChild(TAG_CURRENT_FRAME);
-			currentFrame.saveState(frameMemento);
-		}
-		else {			
-			//save visible expanded elements
-			Object expandedElements[] = viewer.getVisibleExpandedElements();
-			if (expandedElements.length > 0) {
-				IMemento expandedMem = memento.createChild(TAG_EXPANDED);
-				for (int i = 0; i < expandedElements.length; i++) {
-				    if (expandedElements[i] instanceof IResource) {
-						IMemento elementMem = expandedMem.createChild(TAG_ELEMENT);
-						elementMem.putString(
-							TAG_PATH,
-							((IResource) expandedElements[i]).getFullPath().toString());
-				    }
-				}
-			}
-			//save selection
-			Object elements[] = ((IStructuredSelection) viewer.getSelection()).toArray();
-			if (elements.length > 0) {
-				IMemento selectionMem = memento.createChild(TAG_SELECTION);
-				for (int i = 0; i < elements.length; i++) {
-				    if (elements[i] instanceof IResource) {
-						IMemento elementMem = selectionMem.createChild(TAG_ELEMENT);
-						elementMem.putString(
-							TAG_PATH,
-							((IResource) elements[i]).getFullPath().toString());
-				    }
-				}
-			}
-		}
-		
-		saveLinkingEnabled(memento);
-	}
-	
-	/**
-	 * Saves the linking enabled state.
-	 */
-	private void saveLinkingEnabled(IMemento memento) {
-		memento.putInteger(
-			IWorkbenchPreferenceConstants.LINK_NAVIGATOR_TO_EDITOR,
-			linkingEnabled ? 1 : 0);
-	}
-
-	/**
-	 * Selects and reveals the specified elements.
-	 */
-	public void selectReveal(ISelection selection) {
-		StructuredSelection ssel = convertSelection(selection);
-		if (!ssel.isEmpty()) {
-			getViewer().getControl().setRedraw(false);
-			getViewer().setSelection(ssel, true);
-			getViewer().getControl().setRedraw(true);
-		}
-	}
-
-	/**
-	 * Saves the filters defined as strings in <code>patterns</code> 
-	 * in the preference store.
-	 */
-	public void setFiltersPreference(String[] patterns) {
-
-		StringBuffer sb = new StringBuffer();
-
-		for (int i = 0; i < patterns.length; i++) {
-			if (i != 0)
-				sb.append(ResourcePatternFilter.COMMA_SEPARATOR);
-			sb.append(patterns[i]);
-		}
-
-		getPlugin().getPreferenceStore().setValue(
-			ResourcePatternFilter.FILTERS_TAG,
-			sb.toString());
-			
-		// remove value in old workbench preference store location 
-		IPreferenceStore preferenceStore = IDEWorkbenchPlugin.getDefault().getPreferenceStore();
-		String storedPatterns = preferenceStore.getString(ResourcePatternFilter.FILTERS_TAG);
-		if (storedPatterns.length() > 0)
-			preferenceStore.setValue(ResourcePatternFilter.FILTERS_TAG, ""); 	//$NON-NLS-1$
-	}
-
-	/**
-	 * @see IWorkbenchPart#setFocus()
-	 */
-	public void setFocus() {
-		getTreeViewer().getTree().setFocus();
-	}
-
-	/**
-	 * Note: For experimental use only.
-	 * Sets the decorator for the navigator.
-	 * <p>
-	 * As of 2.0, this method no longer has any effect.
-	 * </p>
-	 *
-	 * @param decorator a label decorator or <code>null</code> for no decorations.
-	 * @deprecated use the decorators extension point instead; see IWorkbench.getDecoratorManager()
-	 */
-	public void setLabelDecorator(ILabelDecorator decorator) {
-		// do nothing
-	}
-
-	/**
-	 * @see IResourceNavigator#setLinkingEnabled(boolean)
-	 * @since 2.1
-	 */
-	public void setLinkingEnabled(boolean enabled) {
-		this.linkingEnabled = enabled;
-
-		// remember the last setting in the dialog settings		
-		settings.put(IWorkbenchPreferenceConstants.LINK_NAVIGATOR_TO_EDITOR, enabled);
-		
-		// if turning linking on, update the selection to correspond to the active editor
-		if (enabled) {
-			IEditorPart editor = getSite().getPage().getActiveEditor();
-			if (editor != null) {
-				editorActivated(editor);
-			}
-		}
-	}
-	
-	/**
-	 * Sets the resource sorter.
-	 * 
-	 * @param sorter the resource sorter
-	 * @since 2.0
-	 */
-	public void setSorter(ResourceSorter sorter) {
-		TreeViewer viewer = getTreeViewer();
-		ViewerSorter viewerSorter = viewer.getSorter();
-		
-		viewer.getControl().setRedraw(false);
-		if (viewerSorter == sorter) {
-			viewer.refresh(); 
-		} else {
-			viewer.setSorter(sorter);
-		}
-		viewer.getControl().setRedraw(true);
-		settings.put(STORE_SORT_TYPE, sorter.getCriteria());
-	
-		// update the sort actions' checked state
-		updateActionBars((IStructuredSelection) viewer.getSelection());
-	}
-
-	/*
-	 * @see org.eclipse.ui.views.navigator.IResourceNavigatorPart#setWorkingSet(IWorkingSet)
-	 * @since 2.0
-	 */
-	public void setWorkingSet(IWorkingSet workingSet) {
-		TreeViewer treeViewer = getTreeViewer();
-		Object[] expanded = treeViewer.getExpandedElements();
-		ISelection selection = treeViewer.getSelection();
-		
-		workingSetFilter.setWorkingSet(workingSet);
-		if (workingSet != null) {
-			settings.put(STORE_WORKING_SET, workingSet.getName());
-		}
-		else {
-			settings.put(STORE_WORKING_SET, ""); //$NON-NLS-1$
-		}
-		updateTitle();
-		treeViewer.refresh();
-		treeViewer.setExpandedElements(expanded);
-		if (selection.isEmpty() == false && selection instanceof IStructuredSelection) {
-			IStructuredSelection structuredSelection = (IStructuredSelection) selection;
-			treeViewer.reveal(structuredSelection.getFirstElement());
-		}
-	}
-
-	/**
-	 * Updates the action bar actions.
-	 * 
-	 * @param selection the current selection
-	 * @since 2.0
-	 */
-	protected void updateActionBars(IStructuredSelection selection) {
-		ResourceNavigatorActionGroup group = getActionGroup();
-		if (group != null) {
-			group.setContext(new ActionContext(selection));
-			group.updateActionBars();
-		}
-	}
-
-	/**
-	 * Updates the message shown in the status line.
-	 *
-	 * @param selection the current selection
-	 */
-	protected void updateStatusLine(IStructuredSelection selection) {
-		String msg = getStatusLineMessage(selection);
-		getViewSite().getActionBars().getStatusLineManager().setMessage(msg);
-	}
-
-	/**
-	 * Updates the title text and title tool tip.
-	 * Called whenever the input of the viewer changes.
-	 * Called whenever the input of the viewer changes.
-	 * 
-	 * @since 2.0
-	 */
-	public void updateTitle() {
-		Object input = getViewer().getInput();
-		String viewName = getConfigurationElement().getAttribute("name"); //$NON-NLS-1$
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		IWorkingSet workingSet = workingSetFilter.getWorkingSet();
-					
-		if (input == null
-			|| input.equals(workspace)
-			|| input.equals(workspace.getRoot())) {
-			setContentDescription(""); //$NON-NLS-1$
-			if (workingSet != null) {
-				setTitleToolTip(ResourceNavigatorMessages.format(
-					"ResourceNavigator.workingSetToolTip", //$NON-NLS-1$
-					new Object[] {workingSet.getName()}));
-			}
-			else {
-				setTitleToolTip(""); //$NON-NLS-1$
-			}
-		} 
-		else {
-			ILabelProvider labelProvider = (ILabelProvider) getTreeViewer().getLabelProvider();
-			String inputToolTip = getFrameToolTipText(input);
-			setContentDescription(labelProvider.getText(input));
-			if (workingSet != null) {
-				setTitleToolTip(ResourceNavigatorMessages.format(
-					"ResourceNavigator.workingSetInputToolTip", //$NON-NLS-1$
-					new Object[] {inputToolTip, workingSet.getName()}));
-			}
-			else {
-				setTitleToolTip(inputToolTip);
-			}
-		}
-	}
-
-	/**
-	 * Returns the action group.
-	 * 
-	 * @return the action group
-	 */
-	protected ResourceNavigatorActionGroup getActionGroup() {
-		return actionGroup;
-	}
-
-	/**
-	 * Sets the action group.
-	 * 
-	 * @param actionGroup the action group
-	 */
-	protected void setActionGroup(ResourceNavigatorActionGroup actionGroup) {
-		this.actionGroup = actionGroup;
-	}
-	
-	/*
-	 * @see IWorkbenchPart#getAdapter(Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		if (adapter == IShowInSource.class) {
-			return getShowInSource();
-		}
-		if (adapter == IShowInTarget.class) {
-			return getShowInTarget();
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the <code>IShowInSource</code> for this view.
-	 */
-	protected IShowInSource getShowInSource() {
-		return new IShowInSource() {
-			public ShowInContext getShowInContext() {
-				return new ShowInContext(
-					getViewer().getInput(),
-					getViewer().getSelection());
-			}
-		};
-	}
-	
-	/**
-	 * Returns the <code>IShowInTarget</code> for this view.
-	 */
-	protected IShowInTarget getShowInTarget() {
-		return new IShowInTarget() {
-			public boolean show(ShowInContext context) {
-				ArrayList toSelect = new ArrayList();
-				ISelection sel = context.getSelection();
-				if (sel instanceof IStructuredSelection) {
-					IStructuredSelection ssel = (IStructuredSelection) sel;
-					for (Iterator i = ssel.iterator(); i.hasNext();) {
-						Object o = i.next();
-						if (o instanceof IResource) {
-							toSelect.add(o);
-						}
-						else if (o instanceof IMarker) {
-							IResource r = ((IMarker) o).getResource();
-							if (r.getType() != IResource.ROOT) {
-								toSelect.add(r);
-							}
-						}
-						else if (o instanceof IAdaptable) {
-							IAdaptable adaptable = (IAdaptable) o;
-							o = adaptable.getAdapter(IResource.class);
-							if (o instanceof IResource) {
-								toSelect.add(o);
-							}
-							else {
-								o = adaptable.getAdapter(IMarker.class);
-								if (o instanceof IMarker) {
-									IResource r = ((IMarker) o).getResource();
-									if (r.getType() != IResource.ROOT) {
-										toSelect.add(r);
-									}
-								}
-							}
-						}
-					}
-				}
-				if (toSelect.isEmpty()) {
-					Object input = context.getInput();
-					if (input instanceof IAdaptable) {
-						IAdaptable adaptable = (IAdaptable) input;
-						Object o = adaptable.getAdapter(IResource.class);
-						if (o instanceof IResource) {
-							toSelect.add(o);
-						}
-					}
-				}
-				if (!toSelect.isEmpty()) {
-					selectReveal(new StructuredSelection(toSelect));
-					return true;
-				}
-				return false; 
-			}
-		};
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorAction.java
deleted file mode 100644
index 55a22d8..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorAction.java
+++ /dev/null
@@ -1,69 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.*;
-import org.eclipse.ui.actions.SelectionProviderAction;
-
-/**
- * Superclass of all actions provided by the resource navigator.
- */
-public abstract class ResourceNavigatorAction extends SelectionProviderAction {
-	
-	private IResourceNavigator navigator;
-
-	/**
-	 * Creates a new instance of the class.
-	 */
-	public ResourceNavigatorAction(
-		IResourceNavigator navigator,
-		String label) {
-		super(navigator.getViewer(), label);
-		this.navigator = navigator;
-	}
-
-	/**
-	 * Returns the resource navigator for which this action was created.
-	 */
-	public IResourceNavigator getNavigator() {
-		return navigator;
-	}
-
-	/**
-	 * Returns the resource viewer
-	 */
-	protected Viewer getViewer() {
-		return getNavigator().getViewer();
-	}
-
-	/**
-	 * Returns the shell to use within actions.
-	 */
-	protected Shell getShell() {
-		return getNavigator().getSite().getShell();
-	}
-
-	/**
-	 * Returns the workbench.
-	 */
-	protected IWorkbench getWorkbench() {
-		return PlatformUI.getWorkbench();
-	}
-
-	/**
-	 * Returns the workbench window.
-	 */
-	protected IWorkbenchWindow getWorkbenchWindow() {
-		return getNavigator().getSite().getWorkbenchWindow();
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorActionGroup.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorActionGroup.java
deleted file mode 100644
index 2f6e452..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorActionGroup.java
+++ /dev/null
@@ -1,98 +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 Corporation - initial API and implementation 
- *        Sebastian Davids <sdavids@gmx.de> - Images for menu items (27481)
-************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-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.swt.events.KeyEvent;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.ActionGroup;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * This is the action group for all the resource navigator actions.
- * It delegates to several subgroups for most of the actions.
- * 
- * @see GotoActionGroup
- * @see OpenActionGroup
- * @see RefactorActionGroup
- * @see SortAndFilterActionGroup
- * @see WorkspaceActionGroup
- * 
- * @since 2.0
- */
-public abstract class ResourceNavigatorActionGroup extends ActionGroup {
-
-	/**
-	 * The resource navigator.
-	 */
-	protected IResourceNavigator navigator;
-	
-	/**
-	 * Constructs a new navigator action group and creates its actions.
-	 * 
-	 * @param navigator the resource navigator
-	 */
-	public ResourceNavigatorActionGroup(IResourceNavigator navigator) {
-		this.navigator = navigator;
-		makeActions();
-	}
-	
-	/**
-	 * Returns the image descriptor with the given relative path.
-	 */
-	protected 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 ImageDescriptor.getMissingImageDescriptor();
-		}
-	}	
-
-	/**
-	 * Returns the resource navigator.
-	 */
-	public IResourceNavigator getNavigator() {
-		return navigator;
-	}
-	
-	/**
- 	 * Handles a key pressed event by invoking the appropriate action.
-	 * Does nothing by default.
- 	 */
-	public void handleKeyPressed(KeyEvent event) {
-	}
-
-	/**
-	 * Makes the actions contained in this action group.
-	 */
-	protected abstract void makeActions();
-	
-	/**
-	 * Runs the default action in the group.
-	 * Does nothing by default.
-	 * 
-	 * @param selection the current selection
-	 */
-	public void runDefaultAction(IStructuredSelection selection) {
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorMessages.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorMessages.java
deleted file mode 100644
index ca17c68..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorMessages.java
+++ /dev/null
@@ -1,54 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Utility class which helps managing messages
- * @since 2.0
- */
-public class ResourceNavigatorMessages {
-	private static final String RESOURCE_BUNDLE= "org.eclipse.ui.views.navigator.messages";//$NON-NLS-1$
-	private static ResourceBundle bundle = ResourceBundle.getBundle(RESOURCE_BUNDLE);
-	
-private ResourceNavigatorMessages(){
-	// 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.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorMoveAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorMoveAction.java
deleted file mode 100644
index 3cc8e9f..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorMoveAction.java
+++ /dev/null
@@ -1,79 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import java.util.*;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.actions.MoveProjectAction;
-import org.eclipse.ui.actions.MoveResourceAction;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * The ResourceNavigatorMoveAction is a resource move that aso updates the navigator
- * to show the result of the move.
- * It also delegates to MoveProjectAction as needed.
- * 
- * @since 2.0
- */
-public class ResourceNavigatorMoveAction extends MoveResourceAction {
-	private StructuredViewer viewer;
-	private MoveProjectAction moveProjectAction;
-	
-/**
- * Create a ResourceNavigatorMoveAction and use the supplied viewer to update the UI.
- * @param shell Shell
- * @param structureViewer StructuredViewer
- */
-public ResourceNavigatorMoveAction(Shell shell, StructuredViewer structureViewer) {
-	super(shell);
-	WorkbenchHelp.setHelp(this, INavigatorHelpContextIds.RESOURCE_NAVIGATOR_MOVE_ACTION);
-	this.viewer = structureViewer;
-	this.moveProjectAction = new MoveProjectAction(shell);
-}
-/* (non-Javadoc)
- * Method declared on IAction.
- */
-public void run() {
-	if (moveProjectAction.isEnabled()) {
-		moveProjectAction.run();
-		return;
-	}
-	
-	super.run();
-	List destinations = getDestinations();
-	if (destinations != null && destinations.isEmpty() == false) {
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		List resources = new ArrayList();
-		Iterator iterator = destinations.iterator();
-	
-		while (iterator.hasNext()) {
-			IResource newResource = root.findMember((IPath) iterator.next());
-			if (newResource != null)
-				resources.add(newResource);
-		}
-	
-		this.viewer.setSelection(new StructuredSelection(resources), true);
-	}
-
-}
-
-protected boolean updateSelection(IStructuredSelection selection) {
-	moveProjectAction.selectionChanged(selection);
-	return super.updateSelection(selection) || moveProjectAction.isEnabled();
-}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorRenameAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorRenameAction.java
deleted file mode 100644
index ebaa5cc..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorRenameAction.java
+++ /dev/null
@@ -1,64 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.actions.RenameResourceAction;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * The ResourceNavigatorRenameAction is the rename action used by the
- * ResourceNavigator that also allows updating after rename.
- * @since 2.0
- */
-public class ResourceNavigatorRenameAction extends RenameResourceAction {
-	private TreeViewer viewer;
-	/**
-	 * Create a ResourceNavigatorRenameAction and use the tree of the supplied viewer
-	 * for editing.
-	 * @param shell Shell
-	 * @param treeViewer TreeViewer
-	 */
-	public ResourceNavigatorRenameAction(Shell shell, TreeViewer treeViewer) {
-		super(shell, treeViewer.getTree());
-		WorkbenchHelp.setHelp(
-			this,
-			INavigatorHelpContextIds.RESOURCE_NAVIGATOR_RENAME_ACTION);
-		this.viewer = treeViewer;
-	}
-	/* (non-Javadoc)
-	 * Run the action to completion using the supplied path.
-	 */
-	protected void runWithNewPath(IPath path, IResource resource) {
-		IWorkspaceRoot root = resource.getProject().getWorkspace().getRoot();
-		super.runWithNewPath(path, resource);
-		if (this.viewer != null) {
-			IResource newResource = root.findMember(path);
-			if (newResource != null)
-				this.viewer.setSelection(new StructuredSelection(newResource), true);
-		}
-	}
-	/**
-	* Handle the key release
-	*/
-	public void handleKeyReleased(KeyEvent event) {
-		if (event.keyCode == SWT.F2 && event.stateMask == 0 && isEnabled()) {
-			run();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourcePatternFilter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourcePatternFilter.java
deleted file mode 100644
index 464b36b..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourcePatternFilter.java
+++ /dev/null
@@ -1,145 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-
-import java.util.*;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-
-/**
- * Filter used to determine whether resources are to be shown or not.
- * 
- * @since 2.0
- */
-public class ResourcePatternFilter extends ViewerFilter {
-	private String[] patterns;
-	private StringMatcher[] matchers;
-	
-	static final String COMMA_SEPARATOR = ",";//$NON-NLS-1$
-	static final String FILTERS_TAG = "resourceFilters";//$NON-NLS-1$
-/**
- * Creates a new resource pattern filter.
- */
-public ResourcePatternFilter() {
-	super();
-}
-/**
- * Return the currently configured StringMatchers. If there aren't any look
- * them up.
- */
-private StringMatcher[] getMatchers() {
-
-	if (this.matchers == null)
-		initializeFromPreferences();
-
-	return this.matchers;
-}
-/**
- * Gets the patterns for the receiver. Returns the cached values if there
- * are any - if not look it up.
- */
-public String[] getPatterns() {
-
-	if (this.patterns == null)
-		initializeFromPreferences();
-
-	return this.patterns;
-
-}
-/**
- * Initializes the filters from the preference store.
- */
-private void initializeFromPreferences() {
-	// get the filters that were saved by ResourceNavigator.setFiltersPreference
-	IPreferenceStore viewsPrefs = IDEWorkbenchPlugin.getDefault().getPreferenceStore(); 
-	String storedPatterns = viewsPrefs.getString(FILTERS_TAG);
-
-	if (storedPatterns.length() == 0) {
-		// try to migrate patterns from old workbench preference store location
-		IPreferenceStore workbenchPrefs = PlatformUI.getWorkbench().getPreferenceStore();
-		storedPatterns = workbenchPrefs.getString(FILTERS_TAG);
-		if (storedPatterns.length() > 0) {
-			viewsPrefs.setValue(FILTERS_TAG, storedPatterns);
-			workbenchPrefs.setValue(FILTERS_TAG, ""); 	//$NON-NLS-1$
-		}
-	}
-
-	if (storedPatterns.length() == 0) {
-		// revert to all filter extensions with selected == "true"
-		// if there are no filters in the preference store
-		List defaultFilters = FiltersContentProvider.getDefaultFilters();
-		String[] patterns = new String[defaultFilters.size()];
-		defaultFilters.toArray(patterns);
-		setPatterns(patterns);
-		return;
-	}
-
-	//Get the strings separated by a comma and filter them from the currently
-	//defined ones
-	List definedFilters = FiltersContentProvider.getDefinedFilters();
-	StringTokenizer entries = new StringTokenizer(storedPatterns, COMMA_SEPARATOR);
-	List patterns = new ArrayList();
-
-	while (entries.hasMoreElements()) {
-		String nextToken = entries.nextToken();
-		if (definedFilters.indexOf(nextToken) > -1)
-			patterns.add(nextToken);
-	}
-
-	//Convert to an array of Strings
-	String[] patternArray = new String[patterns.size()];
-	patterns.toArray(patternArray);
-	setPatterns(patternArray);
-
-}
-/* (non-Javadoc)
- * Method declared on ViewerFilter.
- */
-public boolean select(Viewer viewer, Object parentElement, Object element) {
-	IResource resource = null;
-	if (element instanceof IResource) {
-		resource = (IResource) element;
-	} else
-		if (element instanceof IAdaptable) {
-			IAdaptable adaptable = (IAdaptable) element;
-			resource = (IResource) adaptable.getAdapter(IResource.class);
-		}
-	if (resource != null) {
-		String name = resource.getName();
-		StringMatcher[] testMatchers = getMatchers();
-		for (int i = 0; i < testMatchers.length; i++) {
-			if (testMatchers[i].match(name))
-				return false;
-		}
-		return true;
-	}
-	return true;
-}
-/**
- * Sets the patterns to filter out for the receiver.
- */
-public void setPatterns(String[] newPatterns) {
-
-	this.patterns = newPatterns;
-	this.matchers = new StringMatcher[newPatterns.length];
-	for (int i = 0; i < newPatterns.length; i++) {
-		//Reset the matchers to prevent constructor overhead
-		matchers[i] = new StringMatcher(newPatterns[i], true, false);
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceSelectionUtil.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceSelectionUtil.java
deleted file mode 100644
index b7c4af2..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceSelectionUtil.java
+++ /dev/null
@@ -1,102 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import java.util.*;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-
-/**
- * Provides utilities for checking the validity of selections.
- * <p>
- * This class provides static methods only; it is not intended to be instantiated
- * or subclassed.
- * @since 2.0
- * </p>
- */
-public class ResourceSelectionUtil {
-/* (non-Javadoc)
- * Private constructor to block instantiation.
- */
-private ResourceSelectionUtil(){
-}
-/**
- * Returns whether the types of the resources in the given selection are among 
- * the specified resource types.
- * 
- * @param selection the selection
- * @param resourceMask resource mask formed by bitwise OR of resource type
- *   constants (defined on <code>IResource</code>)
- * @return <code>true</code> if all selected elements are resources of the right
- *  type, and <code>false</code> if at least one element is either a resource
- *  of some other type or a non-resource
- * @see IResource#getType()
- */
-public static boolean allResourcesAreOfType(IStructuredSelection selection, int resourceMask) {
-	Iterator resources = selection.iterator();
-	while (resources.hasNext()) {
-		Object next = resources.next();
-		if (!(next instanceof IResource))
-			return false;
-		if (!resourceIsType((IResource)next, resourceMask))
-			return false;
-	}
-	return true;
-}
-
-/**
- * Returns the selection adapted to IResource. Returns null
- * if any of the entries are not adaptable.
- * 
- * @param selection the selection
- * @param resourceMask resource mask formed by bitwise OR of resource type
- *   constants (defined on <code>IResource</code>)
- * @return IStructuredSelection or null if any of the entries are not adaptable.
- * @see IResource#getType()
- */
-public static IStructuredSelection allResources(IStructuredSelection selection, int resourceMask) {
-	Iterator adaptables = selection.iterator();
-	List result = new ArrayList();
-	while (adaptables.hasNext()) {
-		Object next = adaptables.next();
-		if(next instanceof IAdaptable){
-			Object resource = ((IAdaptable) next).getAdapter(IResource.class);
-			if(resource == null)
-				return null;
-			else if (resourceIsType((IResource)resource, resourceMask))
-				result.add(resource);
-		}
-		else	
-			return null;	
-	}
-	return new StructuredSelection(result);
-
-}
-
-/**
- * Returns whether the type of the given resource is among the specified 
- * resource types.
- * 
- * @param resource the resource
- * @param resourceMask resource mask formed by bitwise OR of resource type
- *   constants (defined on <code>IResource</code>)
- * @return <code>true</code> if the resources has a matching type, and 
- *   <code>false</code> otherwise
- * @see IResource#getType()
- */
-public static boolean resourceIsType(IResource resource, int resourceMask) {
-	return (resource.getType() & resourceMask) != 0;
-}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceSorter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceSorter.java
deleted file mode 100644
index 36c6dcf..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceSorter.java
+++ /dev/null
@@ -1,194 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-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 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$
-	}
-	/**
-	 * Sets the sort criteria of this sorter.
-	 * 
-	 * @param criteria the sort criterion: 
-	 *	one of <code>ResourceSorter.NAME</code> or 
-	 *	<code>ResourceSorter.TYPE</code>
-	 */
-	public void setCriteria(int criteria) {
-		this.criteria = criteria;
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ShowInNavigatorAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ShowInNavigatorAction.java
deleted file mode 100644
index 9ed2aba..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ShowInNavigatorAction.java
+++ /dev/null
@@ -1,98 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-
-import java.util.*;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.actions.SelectionProviderAction;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.part.ISetSelectionTarget;
-
-/**
- * An action which shows the current selection in the Navigator view.
- * For each element in the selection, if it is an <code>IResource</code>
- * it uses it directly, otherwise if it is an <code>IMarker</code> it uses the marker's resource,
- * otherwise if it is an <code>IAdaptable</code>, it tries to get the <code>IResource.class</code> adapter.
- */
-public class ShowInNavigatorAction extends SelectionProviderAction {
-	private IWorkbenchPage page;
-	public ShowInNavigatorAction(IWorkbenchPage page, ISelectionProvider viewer) {
-		super(viewer, ResourceNavigatorMessages.getString("ShowInNavigator.text")); //$NON-NLS-1$
-		Assert.isNotNull(page);
-		this.page = page;
-		setDescription(ResourceNavigatorMessages.getString("ShowInNavigator.toolTip")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(this, INavigatorHelpContextIds.SHOW_IN_NAVIGATOR_ACTION);
-	}
-/**
- * Returns the resources in the given selection.
- *
- * @return a list of <code>IResource</code>
- */
-List getResources(IStructuredSelection selection) {
-	List v = new ArrayList();
-	for (Iterator i = selection.iterator(); i.hasNext();) {
-		Object o = i.next();
-		if (o instanceof IResource) {
-			v.add(o);
-		} else if (o instanceof IMarker) {
-			IResource resource = ((IMarker) o).getResource();
-			v.add(resource);
-		} else if (o instanceof IAdaptable) {
-			IResource resource = (IResource) ((IAdaptable) o).getAdapter(IResource.class);
-			if (resource != null) {
-				v.add(resource);
-			}
-		}
-	}
-	return v;
-}
-/*
- * (non-Javadoc)
- * Method declared on IAction.
- */
-/**
- * Shows the Navigator view and sets its selection to the resources
- * selected in this action's selection provider.
- */
-public void run() {
-	List v = getResources(getStructuredSelection());
-	if (v.isEmpty())
-		return;
-	try {
-		IViewPart view = page.showView(IPageLayout.ID_RES_NAV);
-		if (view instanceof ISetSelectionTarget) {
-			ISelection selection = new StructuredSelection(v);
-			((ISetSelectionTarget) view).selectReveal(selection);
-		}
-	} catch (PartInitException e) {
-		ErrorDialog.openError(
-			page.getWorkbenchWindow().getShell(),
-			ResourceNavigatorMessages.getString("ShowInNavigator.errorMessage"), //$NON-NLS-1$
-			e.getMessage(),
-			e.getStatus());
-	}
-}
-/*
- * (non-Javadoc)
- * Method declared on SelectionProviderAction.
- */
-public void selectionChanged(IStructuredSelection selection) {
-	setEnabled(!getResources(selection).isEmpty());
-}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/SortAndFilterActionGroup.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/SortAndFilterActionGroup.java
deleted file mode 100644
index fc37397..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/SortAndFilterActionGroup.java
+++ /dev/null
@@ -1,58 +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 Corporation - initial API and implementation 
- *     Sebastian Davids <sdavids@gmx.de> - Images for menu items (27481)
-************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.ui.IActionBars;
-
-/**
- * This is the action group for the sort and filter actions.
- */
-public class SortAndFilterActionGroup extends ResourceNavigatorActionGroup {
-
-	private SortViewAction sortByTypeAction;
-	private SortViewAction sortByNameAction;
-	private FilterSelectionAction filterAction;
-
-	public SortAndFilterActionGroup(IResourceNavigator navigator) {
-		super(navigator);
-	}
-
-	protected void makeActions() {
-		sortByNameAction = new SortViewAction(navigator, false);
-		sortByTypeAction = new SortViewAction(navigator, true);
-
-		filterAction =
-			new FilterSelectionAction(
-				navigator,
-				ResourceNavigatorMessages.getString("ResourceNavigator.filterText")); //$NON-NLS-1$
-		filterAction.setDisabledImageDescriptor(getImageDescriptor("dlcl16/filter_ps.gif"));//$NON-NLS-1$
-		filterAction.setImageDescriptor(getImageDescriptor("elcl16/filter_ps.gif"));//$NON-NLS-1$
-	}
-
-	public void fillActionBars(IActionBars actionBars) {
-		IMenuManager menu = actionBars.getMenuManager();
-		IMenuManager submenu =
-			new MenuManager(ResourceNavigatorMessages.getString("ResourceNavigator.sort")); //$NON-NLS-1$
-		menu.add(submenu);
-		submenu.add(sortByNameAction);
-		submenu.add(sortByTypeAction);
-		menu.add(filterAction);
-	}
-
-	public void updateActionBars() {
-		int criteria = navigator.getSorter().getCriteria();
-		sortByNameAction.setChecked(criteria == ResourceSorter.NAME);
-		sortByTypeAction.setChecked(criteria == ResourceSorter.TYPE);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/SortViewAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/SortViewAction.java
deleted file mode 100644
index a38defc..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/SortViewAction.java
+++ /dev/null
@@ -1,51 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Implementation of the view sorting actions.
- * @since 2.0
- */
-public class SortViewAction extends ResourceNavigatorAction {
-	private int sortCriteria;
-
-/**
- * Creates the action.
- *
- * @param navigator the resource navigator
- * @param sortByType <code>true</code> for sort by type, <code>false</code> for sort by name
- */
-public SortViewAction(IResourceNavigator navigator, boolean sortByType) {
-	super(navigator, sortByType ? ResourceNavigatorMessages.getString("SortView.byType") : ResourceNavigatorMessages.getString("SortView.byName")); //$NON-NLS-2$ //$NON-NLS-1$
-	if (sortByType) {
-		setToolTipText(ResourceNavigatorMessages.getString("SortView.toolTipByType")); //$NON-NLS-1$
-	} else {
-		setToolTipText(ResourceNavigatorMessages.getString("SortView.toolTipByName")); //$NON-NLS-1$
-	}
-	setEnabled(true);
-	sortCriteria = sortByType ? ResourceSorter.TYPE : ResourceSorter.NAME;
-	WorkbenchHelp.setHelp(this, INavigatorHelpContextIds.SORT_VIEW_ACTION);
-}
-public void run() {
-	IResourceNavigator navigator = getNavigator();
-	ResourceSorter sorter = navigator.getSorter();
-		
-	if (sorter == null)
-		navigator.setSorter(new ResourceSorter(sortCriteria));
-	else {
-		sorter.setCriteria(sortCriteria);
-		navigator.setSorter(sorter);
-	}
-		
-}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/StringMatcher.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/StringMatcher.java
deleted file mode 100644
index ffd586c..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/StringMatcher.java
+++ /dev/null
@@ -1,392 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import java.util.Vector;
-
-/**
- * A string pattern matcher, suppporting ‘*’ and ‘?’ wildcards.
- */
-/* package */ 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) // Ensure all segments match
-			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) poisitions 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 */	
-		for ( ; i < segCount && tCurPos <= bound; ++i) {
-			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();
-		}
-
-		/* 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 = 0; i <= max; ++i) {
-			if (text.regionMatches(true, i, p, 0, plen))
-				return i;
-		}
-		
-		return -1;
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ToggleLinkingAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ToggleLinkingAction.java
deleted file mode 100644
index 4958d29..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ToggleLinkingAction.java
+++ /dev/null
@@ -1,37 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.navigator;
-
-/**
- * This action toggles whether this navigator links its selection to the active
- * editor.
- * 
- * @since 2.1
- */
-public class ToggleLinkingAction extends ResourceNavigatorAction {
-
-	/**
-	 * Constructs a new action.
-	 */
-	public ToggleLinkingAction(IResourceNavigator navigator, String label) {
-		super(navigator, label);
-		setChecked(navigator.isLinkingEnabled());
-	}
-
-	/**
-	 * Runs the action.
-	 */
-	public void run() {
-		getNavigator().setLinkingEnabled(isChecked());
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/WorkspaceActionGroup.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/WorkspaceActionGroup.java
deleted file mode 100644
index 11465c1..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/WorkspaceActionGroup.java
+++ /dev/null
@@ -1,197 +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 Corporation - initial API and implementation 
- *     Sebastian Davids <sdavids@gmx.de> - Images for menu items (27481)
-************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import java.util.Iterator;
-
-import org.eclipse.core.resources.ICommand;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.BuildAction;
-import org.eclipse.ui.actions.CloseResourceAction;
-import org.eclipse.ui.actions.OpenResourceAction;
-import org.eclipse.ui.actions.RefreshAction;
-import org.eclipse.ui.ide.IDEActionFactory;
-
-/**
- * This is the action group for workspace actions such as Build, Refresh Local,
- * and Open/Close Project.
- */
-public class WorkspaceActionGroup extends ResourceNavigatorActionGroup {
-
-	private BuildAction buildAction;
-	private BuildAction rebuildAction;
-	private OpenResourceAction openProjectAction;
-	private CloseResourceAction closeProjectAction;
-	private RefreshAction refreshAction;
-
-	public WorkspaceActionGroup(IResourceNavigator navigator) {
-		super(navigator);
-	}
-
-	public void fillActionBars(IActionBars actionBars) {
-		actionBars.setGlobalActionHandler(
-			ActionFactory.REFRESH.getId(),
-			refreshAction);
-		actionBars.setGlobalActionHandler(
-			IDEActionFactory.BUILD_PROJECT.getId(),
-			buildAction);
-		actionBars.setGlobalActionHandler(
-				IDEActionFactory.REBUILD_PROJECT.getId(),
-			rebuildAction);
-		actionBars.setGlobalActionHandler(
-			IDEActionFactory.OPEN_PROJECT.getId(),
-			openProjectAction);
-		actionBars.setGlobalActionHandler(
-			IDEActionFactory.CLOSE_PROJECT.getId(),
-			closeProjectAction);
-	}
-	/**
-	 * Adds the build, open project, close project and refresh resource
-	 * actions to the context menu.
-	 * <p>
-	 * The following conditions apply: 
-	 * 	build-only projects selected, auto build disabled, at least one 
-	 * 		builder present
-	 * 	open project-only projects selected, at least one closed project
-	 * 	close project-only projects selected, at least one open project
-	 * 	refresh-no closed project selected
-	 * </p>
-	 * <p>
-	 * Both the open project and close project action may be on the menu
-	 * at the same time.
-	 * </p>
-	 * <p>
-	 * No disabled action should be on the context menu.
-	 * </p>
-	 * 
-	 * @param menu context menu to add actions to
-	 */
-	public void fillContextMenu(IMenuManager menu) {
-		IStructuredSelection selection =
-			(IStructuredSelection) getContext().getSelection();
-		boolean isProjectSelection = true; 
-		boolean hasOpenProjects = false;
-		boolean hasClosedProjects = false;
-		boolean hasBuilder = true;	// false if any project is closed or does not have builder 
-		Iterator resources = selection.iterator();
-
-		while (resources.hasNext() &&
-				(!hasOpenProjects || !hasClosedProjects || 
-				 hasBuilder || isProjectSelection)) {
-			Object next = resources.next();
-			IProject project = null;
-			
-			if (next instanceof IProject)
-				project = (IProject) next;
-			else if (next instanceof IAdaptable)
-				project = (IProject) ((IAdaptable) next).getAdapter(IProject.class);
-			
-			if (project == null) {
-				isProjectSelection = false;
-				continue;
-			}
-			if (project.isOpen()) {
-				hasOpenProjects = true;
-				if (hasBuilder && !hasBuilder(project))
-					hasBuilder = false;					
-			} else {
-				hasClosedProjects = true;
-				hasBuilder = false;
-			}
-		}	
-		if (!selection.isEmpty() && isProjectSelection && 
-			!ResourcesPlugin.getWorkspace().isAutoBuilding() && hasBuilder) {
-			// Allow manual incremental build only if auto build is off.
-			buildAction.selectionChanged(selection);
-			menu.add(buildAction);
-		}
-		if (!hasClosedProjects) {
-			refreshAction.selectionChanged(selection);
-			menu.add(refreshAction);
-		}
-		if (isProjectSelection) {
-			if (hasClosedProjects) {
-				openProjectAction.selectionChanged(selection);
-				menu.add(openProjectAction);				
-			}
-			if (hasOpenProjects) {
-				closeProjectAction.selectionChanged(selection);
-				menu.add(closeProjectAction);
-			}
-		}					
-	}
-	/**
-	 * Handles a key pressed event by invoking the appropriate action.
-	 */
-	public void handleKeyPressed(KeyEvent event) {
-		if (event.keyCode == SWT.F5 && event.stateMask == 0) {
-			if (refreshAction.isEnabled()) {
-				refreshAction.refreshAll();
-			}
-			
-			// Swallow the event
-			event.doit = false;
-		}
-	}
-	/**
-	 * 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 could not be determined
-	 */
-	boolean hasBuilder(IProject project) {
-		try {
-			ICommand[] commands = project.getDescription().getBuildSpec();
-			if (commands.length > 0)
-				return true;
-		}
-		catch (CoreException e) {
-			// Cannot determine if project has builders. Project is closed 
-			// or does not exist. Fall through to return false.
-		}
-		return false;
-	}
-	
-	protected void makeActions() {
-		Shell shell = navigator.getSite().getShell();
-		openProjectAction = new OpenResourceAction(shell);
-		closeProjectAction = new CloseResourceAction(shell);
-		refreshAction = new RefreshAction(shell);
-		refreshAction.setDisabledImageDescriptor(getImageDescriptor("dlcl16/refresh_nav.gif"));//$NON-NLS-1$
-		refreshAction.setImageDescriptor(getImageDescriptor("elcl16/refresh_nav.gif"));//$NON-NLS-1$	
-		buildAction = new BuildAction(shell, IncrementalProjectBuilder.INCREMENTAL_BUILD);
-		rebuildAction = new BuildAction(shell, IncrementalProjectBuilder.FULL_BUILD);
-	}
-
-	public void updateActionBars() {
-		IStructuredSelection selection =
-			(IStructuredSelection) getContext().getSelection();
-		refreshAction.selectionChanged(selection);
-		buildAction.selectionChanged(selection);
-		rebuildAction.selectionChanged(selection);
-		openProjectAction.selectionChanged(selection);
-		closeProjectAction.selectionChanged(selection);
-	}	
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/messages.properties b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/messages.properties
deleted file mode 100644
index 82cbf69..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/messages.properties
+++ /dev/null
@@ -1,106 +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 Corporation - initial API and implementation
-###############################################################################
-
-# package: org.eclipse.ui.views.navigator
-
-
-# ==============================================================================
-# Navigator View
-# ==============================================================================
-ResourceNavigator.title = {0} : {1}
-ResourceNavigator.oneItemSelected = 1 item selected
-ResourceNavigator.statusLine = {0} items selected
-ResourceNavigator.workingSetToolTip = Working Set: {0}
-ResourceNavigator.workingSetInputToolTip = {0} - Working Set: {1}
-ResourceManager.toolTip = Workspace
-ShowInNavigator.errorMessage = Can't open navigator
-
-# --- Actions ---
-ResourceNavigator.sort = &Sort
-SortView.byType = by &Type
-SortView.toolTipByType = Sort By Type
-SortView.byName = by &Name
-SortView.toolTipByName = Sort By Name
-
-ToggleLinkingAction.text = &Link with Editor
-ToggleLinkingAction.toolTip = Link with Editor
-
-ResourceNavigator.filterText = &Filters...
-
-ResourceNavigator.new = Ne&w
-ResourceNavigator.goto = &Go To
-ResourceNavigator.resourceText = &Resource...
-ResourceNavigator.openPerspective = Open &Perspective
-ResourceNavigator.openWith = Open Wit&h
-
-ShowInNavigator.text = Show in &Navigator
-ShowInNavigator.toolTip = Show Selected Objects in Navigator View
-
-CopyAction.title = &Copy
-CopyAction.toolTip = Copy
-
-PasteAction.title=&Paste
-PasteAction.toolTip = Paste
-
-CollapseAllAction.title = Co&llapse All
-CollapseAllAction.toolTip = Collapse All
-
-GoToResource.showNavError=Could not open resource navigator view.
-GoToResource.label=&Resource...
-
-NavigatorFrameSource.closedProject.title=Closed Project
-NavigatorFrameSource.closedProject.message=You attempted to go into a closed project: {0}\nPlease open the project and try again.
-# --- Dialogs ---
-Goto.title = Go To Resource
-Goto.label = Choose a resource:
-Goto.pattern = &Pattern (? = any character, * = any string):
-Goto.matching = &Matching Resources:
-Goto.folders = In &Folders:
-
-FilterSelection.message = Select the &filters to apply (matching files will be hidden):
-FilterSelection.toolTip = Apply Filters
-FilterSelection.title = Navigator Filters
-
-DecoratorMenu.title = &Decorators
-
-# --- Drop Adapter ---
-DropAdapter.sameSourceAndDestination = Source and destination are the same.
-DropAdapter.destinationASubFolder = Destination is a sub-folder of the source.
-DropAdapter.title = Drag and Drop Problem
-DropAdapter.problemImporting = Problems occurred while importing resources.
-DropAdapter.canNotDropOntoSelf = Cannot drop a resource onto itself
-DropAdapter.cancelled = Operation Cancelled
-DropAdapter.problemsMoving = Problems occurred while moving resources.
-DropAdapter.question = Question
-DropAdapter.targetMustBeResource = Target must be a resource
-DropAdapter.canNotDropIntoClosedProject = Cannot drop a resource into closed project
-DropAdapter.resourcesCanNotBeSiblings = Resources cannot be siblings of projects
-DropAdapter.canNotCopy = Cannot copy \"{0}\". {1}
-DropAdapter.canNotMove = Cannot move \"{0}\". {1}
-DropAdapter.ok = ok
-DropAdapter.dropOperationError = An error occurred during the drop operation: {0}
-DropAdapter.overwriteQuery = {0} already exists.  Would you like to overwrite it?
-DropAdapter.copyNameTwoArgs = Copy ({0}) of {1}
-DropAdapter.copyNameOneArg = Copy of {0}
-DropAdapter.dropOperationErrorOther = An error occurred during the drop operation.
-
-DragAdapter.title = Check Move
-DragAdapter.checkMoveMessage = {0} is read only. Do you still wish to move it?
-DragAdapter.checkDeleteMessage = {0} is read only. Do you still wish to delete it?
-
-LocalSelectionTransfer.errorMessage=Received wrong transfer data.
-
-CopyToClipboardProblemDialog.title=Problem Copying to Clipboard
-CopyToClipboardProblemDialog.message=There was a problem when accessing the system clipboard. Retry?
-
-MoveResourceAction.title = Check Move
-MoveResourceAction.checkMoveMessage = ''{0}'' is read only. Do you still wish to move it?
-
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/package.html b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/package.html
deleted file mode 100644
index 35b201e..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/package.html
+++ /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="Author" content="IBM">
-   <meta name="GENERATOR" content="Mozilla/4.5 [en] (Win98; I) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides the standard Resource Navigator view which
-presents the tree of resources in the workspace.
-<br>&nbsp;
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/FilePropertySource.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/FilePropertySource.java
deleted file mode 100644
index 486126f..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/FilePropertySource.java
+++ /dev/null
@@ -1,99 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-import java.io.File;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IPath;
-
-/**
- * The FilePropertySource gives the extra information that is shown for files
- */
-public class FilePropertySource extends ResourcePropertySource {
-
-	private static PropertyDescriptor fileDescriptor;
-	{
-		fileDescriptor =
-			new PropertyDescriptor(
-				IResourcePropertyConstants.P_SIZE_RES,
-				IResourcePropertyConstants.P_DISPLAY_SIZE);
-		fileDescriptor.setAlwaysIncompatible(true);
-		fileDescriptor.setCategory(IResourcePropertyConstants.P_FILE_SYSTEM_CATEGORY);
-	}	
-/**
- * Creates an property source for a file resource.
- * @param file the file resource
- */
-public FilePropertySource(IFile file) {
-	super(file);
-}
-/**
- * Get a PropertyDescriptor that defines the size property
- * @return the PropertyDescriptor
- */
-private static PropertyDescriptor getInitialPropertyDescriptor() {
-	return fileDescriptor;
-}
-/* (non-Javadoc)
- * Method declared on IPropertySource.
- */
-public IPropertyDescriptor[] getPropertyDescriptors() {
-	IPropertyDescriptor[] superDescriptors = super.getPropertyDescriptors();
-	int superLength = superDescriptors.length;
-	IPropertyDescriptor[] fileDescriptors = new IPropertyDescriptor[superLength + 1];
-	System.arraycopy(superDescriptors, 0, fileDescriptors, 0, superLength);
-	fileDescriptors[superLength] = getInitialPropertyDescriptor();
-	
-	return fileDescriptors;
-}
-/* (non-Javadoc)
- * Method declared on IPropertySource.
- */
-public Object getPropertyValue(Object key) {
-
-	Object returnValue = super.getPropertyValue(key);
-	
-	if(returnValue != null)
-		return returnValue;
-		
-	if (key.equals(IResourcePropertyConstants.P_SIZE_RES)) 
-		return getSizeString((IFile) element);
-	
-	return null;
-}
-/**
- * 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;
-	else {
-		IPath location = file.getLocation();
-		if (location == null) {
-			if (file.isLinked())
-				return UNDEFINED_PATH_VARIABLE;
-				
-			return FILE_NOT_FOUND;
-		}
-		else {
-			File localFile = location.toFile();
-		
-			if (localFile.exists()) {
-				return Long.toString(localFile.length());
-			}
-			return FILE_NOT_FOUND;
-		}
-	}	
-}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/IDEPropertiesMessages.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/IDEPropertiesMessages.java
deleted file mode 100644
index 40d8b17..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/IDEPropertiesMessages.java
+++ /dev/null
@@ -1,54 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.properties;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Utility class which helps manage messages.
- */
-class IDEPropertiesMessages {
-	private static final String RESOURCE_BUNDLE= "org.eclipse.ui.views.properties.ideMessages";//$NON-NLS-1$
-	private static ResourceBundle bundle = ResourceBundle.getBundle(RESOURCE_BUNDLE);
-	
-private IDEPropertiesMessages(){
-	// 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.ide/src/org/eclipse/ui/views/properties/IResourcePropertyConstants.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/IResourcePropertyConstants.java
deleted file mode 100644
index 4ce5b34..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/IResourcePropertyConstants.java
+++ /dev/null
@@ -1,108 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-/**
- * This interface documents the property constants used by the resource
- * property source.
- */
-public interface IResourcePropertyConstants {
-	/** 
-	 * The <code>IResource</code> property key for name.
-	 */
-	public static final String	P_LABEL_RES = IDEPropertiesMessages.getString("IResourcePropertyConstants.name"); //$NON-NLS-1$
-
-	/** 
-	 * The <code>IResource</code> property key for path.
-	 */
-	public static final String	P_PATH_RES = "org.eclipse.ui.path"; //$NON-NLS-1$
-
-	/** 
-	 * The <code>IResource</code> property key for display path.
-	 */
-	public static final String  P_DISPLAYPATH_RES = IDEPropertiesMessages.getString("IResourcePropertyConstants.path"); //$NON-NLS-1$
-
-	/** 
-	 * The <code>IResource</code> property key for read-only.
-	 */
-	public static final String	P_EDITABLE_RES = "org.eclipse.ui.editable"; //$NON-NLS-1$
-
-	/** 
-	 * The <code>IResource</code> property key for display read-only.
-	 */
-	public static final String  P_DISPLAYEDITABLE_RES = IDEPropertiesMessages.getString("IResourcePropertyConstants.editable"); //$NON-NLS-1$
-
-	/** 
-	 * The <code>IResource</code> property key for read-only.
-	 */
-	public static final String P_DERIVED_RES = "org.eclipse.ui.derived"; //$NON-NLS-1$
-
-	/** 
-	 * The <code>IResource</code> property key for display read-only.
-	 */
-	public static final String P_DISPLAYDERIVED_RES = IDEPropertiesMessages.getString("IResourcePropertyConstants.derived"); //$NON-NLS-1$
-
-	/** 
-	 * The <code>IResource</code> property key for location.
-	 */
-	public static final String P_LOCATION_RES = "org.eclipse.ui.location"; //$NON-NLS-1$
-	
-	/** 
-	 * The <code>IResource</code> property key for display location.
-	 */
-	public static final String P_DISPLAYLOCATION_RES = IDEPropertiesMessages.getString("IResourcePropertyConstants.location"); //$NON-NLS-1$
-
-	/** 
-	 * The <code>IResource</code> property key for resolved location.
-	 */
-	public static final String P_RESOLVED_LOCATION_RES = "org.eclipse.ui.resolvedLocation"; //$NON-NLS-1$,
-	
-	/** 
-	 * The <code>IResource</code> property key for display resolved location.
-	 */
-	public static final String P_DISPLAYRESOLVED_LOCATION_RES = IDEPropertiesMessages.getString("IResourcePropertyConstants.resolvedLocation"); //$NON-NLS-1$
-
-	/** 
-	 * The <code>IResource</code> property key for linked.
-	 */
-	public static final String P_LINKED_RES = "org.eclipse.ui.linked"; //$NON-NLS-1$,
-	
-	/** 
-	 * The <code>IResource</code> property key for display linked.
-	 */
-	public static final String P_DISPLAYLINKED_RES = IDEPropertiesMessages.getString("IResourcePropertyConstants.linked"); //$NON-NLS-1$
-
-	/**
-	 * The <code>IResource</code> category for the base values
-	 */
-	public static final String P_FILE_SYSTEM_CATEGORY = IDEPropertiesMessages.getString("IResourcePropertyConstants.info"); //$NON-NLS-1$
-
-	/** 
-	 * The <code>IResource</code> property key for path.
-	 */
-	public static final String	P_SIZE_RES = "org.eclipse.ui.size"; //$NON-NLS-1$
-	
-	/**
-	 * The <code>IResource</code> property key for displaying size
-	 */
-	public static final String P_DISPLAY_SIZE = IDEPropertiesMessages.getString("IResourcePropertyConstants.size"); //$NON-NLS-1$
-
-	/** 
-	 * The <code>IResource</code> property key for path.
-	 */
-	public static final String	P_LAST_MODIFIED_RES = "org.eclipse.ui.lastmodified"; //$NON-NLS-1$
-
-	/**
-	 * The <code>IResource</code> category for last modified
-	 */
-	public static final String P_DISPLAY_LAST_MODIFIED = IDEPropertiesMessages.getString("IResourcePropertyConstants.lastModified"); //$NON-NLS-1$
-	
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/ResourcePropertySource.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/ResourcePropertySource.java
deleted file mode 100644
index 0493656..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/ResourcePropertySource.java
+++ /dev/null
@@ -1,320 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-import java.io.File;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.viewers.IBasicPropertyConstants;
-
-/**
- * A Resource property source.
- */
-public class ResourcePropertySource implements IPropertySource {
-	protected static String NOT_LOCAL_TEXT = IDEPropertiesMessages.getString("PropertySource.notLocal"); //$NON-NLS-1$
-	protected static String FILE_NOT_FOUND = IDEPropertiesMessages.getString("PropertySource.notFound"); //$NON-NLS-1$
-	protected static String UNDEFINED_PATH_VARIABLE = IDEPropertiesMessages.getString("PropertySource.undefinedPathVariable"); //$NON-NLS-1$
-	protected static String FILE_NOT_EXIST_TEXT = IDEPropertiesMessages.getString("PropertySource.fileNotExist"); //$NON-NLS-1$
-	
-	// The element for the property source
-	protected IResource element;
-
-	// Error message when setting a property incorrectly
-	protected String errorMessage = IDEPropertiesMessages.getString("PropertySource.readOnly"); //$NON-NLS-1$
-
-	// Property Descriptors
-	static protected IPropertyDescriptor[] propertyDescriptors =
-		new IPropertyDescriptor[7];
-	static protected IPropertyDescriptor[] propertyDescriptorsLinkVariable =
-		new IPropertyDescriptor[8];
-	{
-		PropertyDescriptor descriptor;
-
-		// resource name
-		descriptor =
-			new PropertyDescriptor(
-				IBasicPropertyConstants.P_TEXT,
-				IResourcePropertyConstants.P_LABEL_RES);
-		descriptor.setAlwaysIncompatible(true);
-		descriptor.setCategory(IResourcePropertyConstants.P_FILE_SYSTEM_CATEGORY);
-		propertyDescriptors[0] = descriptor;
-		propertyDescriptorsLinkVariable[0] = descriptor;
-
-		// Relative path
-		descriptor =
-			new PropertyDescriptor(
-				IResourcePropertyConstants.P_PATH_RES,
-				IResourcePropertyConstants.P_DISPLAYPATH_RES);
-		descriptor.setAlwaysIncompatible(true);
-		descriptor.setCategory(IResourcePropertyConstants.P_FILE_SYSTEM_CATEGORY);
-		propertyDescriptors[1] = descriptor;
-		propertyDescriptorsLinkVariable[1] = descriptor;
-		
-		// readwrite state
-		descriptor =
-			new PropertyDescriptor(
-				IResourcePropertyConstants.P_EDITABLE_RES,
-				IResourcePropertyConstants.P_DISPLAYEDITABLE_RES);
-		descriptor.setAlwaysIncompatible(true);
-		descriptor.setCategory(IResourcePropertyConstants.P_FILE_SYSTEM_CATEGORY);
-		propertyDescriptors[2] = descriptor;
-		propertyDescriptorsLinkVariable[2] = descriptor;
-
-		// derived state
-		descriptor =
-			new PropertyDescriptor(
-				IResourcePropertyConstants.P_DERIVED_RES,
-				IResourcePropertyConstants.P_DISPLAYDERIVED_RES);
-		descriptor.setAlwaysIncompatible(true);
-		descriptor.setCategory(IResourcePropertyConstants.P_FILE_SYSTEM_CATEGORY);
-		propertyDescriptors[3] = descriptor;
-		propertyDescriptorsLinkVariable[3] = descriptor;
-
-		// last modified state
-		descriptor =
-			new PropertyDescriptor(
-				IResourcePropertyConstants.P_LAST_MODIFIED_RES,
-				IResourcePropertyConstants.P_DISPLAY_LAST_MODIFIED);
-		descriptor.setAlwaysIncompatible(true);
-		descriptor.setCategory(IResourcePropertyConstants.P_FILE_SYSTEM_CATEGORY);
-		propertyDescriptors[4] = descriptor;
-		propertyDescriptorsLinkVariable[4] = descriptor;
-
-		// link state
-		descriptor =
-			new PropertyDescriptor(
-				IResourcePropertyConstants.P_LINKED_RES,
-				IResourcePropertyConstants.P_DISPLAYLINKED_RES);
-		descriptor.setAlwaysIncompatible(true);
-		descriptor.setCategory(IResourcePropertyConstants.P_FILE_SYSTEM_CATEGORY);
-		propertyDescriptors[5] = descriptor;
-		propertyDescriptorsLinkVariable[5] = descriptor;
-
-		// location
-		descriptor =
-			new PropertyDescriptor(
-				IResourcePropertyConstants.P_LOCATION_RES,
-				IResourcePropertyConstants.P_DISPLAYLOCATION_RES);
-		descriptor.setAlwaysIncompatible(true);
-		descriptor.setCategory(IResourcePropertyConstants.P_FILE_SYSTEM_CATEGORY);
-		propertyDescriptors[6] = descriptor;
-		propertyDescriptorsLinkVariable[6] = descriptor;
-
-		// resolved location
-		descriptor =
-			new PropertyDescriptor(
-				IResourcePropertyConstants.P_RESOLVED_LOCATION_RES,
-				IResourcePropertyConstants.P_DISPLAYRESOLVED_LOCATION_RES);
-		descriptor.setAlwaysIncompatible(true);
-		descriptor.setCategory(IResourcePropertyConstants.P_FILE_SYSTEM_CATEGORY);
-		propertyDescriptorsLinkVariable[7] = descriptor;		
-
-	}
-/**
- * Creates a PropertySource and stores its IResource
- *
- * @param res the resource for which this is a property source
- */
-public ResourcePropertySource(IResource res) {
-	this.element = res;
-}
-/**
- * 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 UNDEFINED_PATH_VARIABLE;
-				
-		return FILE_NOT_FOUND;
-	}
-	else {
-		File localFile = location.toFile();
-		if (localFile.exists()) {
-			DateFormat format = new SimpleDateFormat();
-			return format.format(new Date(localFile.lastModified()));
-		}
-		return FILE_NOT_FOUND;
-	}		
-}
-/* (non-Javadoc)
- * Method declared on IPropertySource.
- */
-public Object getEditableValue() {
-	return this;
-}
-/**
- * Get the location of a resource
- */
-private String getLocationText(IResource resource) {
-	if (!resource.isLocal(IResource.DEPTH_ZERO))
-		return NOT_LOCAL_TEXT;
-
-	IPath resolvedLocation = resource.getLocation();
-	IPath location = resolvedLocation;
-	if (resource.isLinked()) {
-		location = resource.getRawLocation();
-	}
-	if (location == null) {
-		return FILE_NOT_FOUND;
-	} 
-	else {
-		String locationString = location.toOSString();		
-		if (resolvedLocation != null && !isPathVariable(resource)) {
-			// No path variable used. Display the file not exist message 
-			// in the location. Fixes bug 33318. 
-			File file = resolvedLocation.toFile();
-			if (!file.exists()) {
-				locationString += " " + FILE_NOT_EXIST_TEXT; //$NON-NLS-1$ 
-			}
-		}
-		return locationString;
-	}
-}
-/**
- * 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 UNDEFINED_PATH_VARIABLE;
-				
-		return FILE_NOT_FOUND;
-	}
-	else {
-		String locationString = location.toOSString();
-		File file = location.toFile();
-		
-		if (!file.exists()) {
-			locationString += " " + FILE_NOT_EXIST_TEXT; //$NON-NLS-1$ 
-		}
-		return locationString;
-	}
-}
-/* (non-Javadoc)
- * Method declared on IPropertySource.
- */
-public IPropertyDescriptor[] getPropertyDescriptors() {
-	if (isPathVariable(element))
-		return propertyDescriptorsLinkVariable;
-	else 
-		return propertyDescriptors;
-}
-/* (non-Javadoc)
- * Method declared on IPropertySource.
- */
-public Object getPropertyValue(Object name) {
-	if (name.equals(IBasicPropertyConstants.P_TEXT)) {
-		return element.getName();
-	}
-	if (name.equals(IResourcePropertyConstants.P_PATH_RES)) {
-		return element.getFullPath().toString();
-	}
-	if (name.equals(IResourcePropertyConstants.P_LAST_MODIFIED_RES)) {
-		return getDateStringValue(element);
-	}
-	if (name.equals(IResourcePropertyConstants.P_EDITABLE_RES)) {
-		if (element.isReadOnly())
-			return IDEPropertiesMessages.getString("ResourceProperty.false"); //$NON-NLS-1$
-		else
-			return IDEPropertiesMessages.getString("ResourceProperty.true"); //$NON-NLS-1$
-	}
-	if (name.equals(IResourcePropertyConstants.P_DERIVED_RES)) {
-		return String.valueOf(element.isDerived());
-	}	
-	if (name.equals(IResourcePropertyConstants.P_LINKED_RES)) {
-		return String.valueOf(element.isLinked());
-	}	
-	if (name.equals(IResourcePropertyConstants.P_LOCATION_RES)) {
-		return getLocationText(element);
-	}	
-	if (name.equals(IResourcePropertyConstants.P_RESOLVED_LOCATION_RES)) {
-		return getResolvedLocationText(element);
-	}	
-	return null;
-}
-/**
- * Returns whether the given resource is a linked resource bound 
- * to a path variable.
- * 
- * @param resource resource to test
- * @return boolean <code>true</code> the given resource is a linked 
- * 	resource bound to a path variable. <code>false</code> the given 
- * 	resource is either not a linked resource or it is not using a
- * 	path variable.  
- */
-private boolean isPathVariable(IResource resource){
-	if (!resource.isLinked())
-		return false;
-		
-	IPath resolvedLocation = resource.getLocation();
-	if (resolvedLocation == null) {
-		// missing path variable
-		return true;
-	}		
-	IPath rawLocation = resource.getRawLocation();	
-	if (resolvedLocation.equals(rawLocation))
-		return false;
-		
-	return true;
-}
-/* (non-Javadoc)
- * Method declared on IPropertySource.
- */
-public boolean isPropertySet(Object property) {
-	return false;
-}
-/**
- * The <code>ResourcePropertySource</code> implementation of this
- * <code>IPropertySource</code> method does nothing since all
- * properties are read-only.
- */
-public void resetPropertyValue(Object property) {}
-/**
- * The <code>ResourcePropertySource</code> implementation of this
- * <code>IPropertySource</code> method does nothing since all
- * properties are read-only.
- */
-public void setPropertyValue(Object name, Object value) {
-}
-
-/** 
- * Get the java.io.File equivalent of the passed
- * IFile. If the location does not exist then return
- * <code>null</code>
- * @param resource the resource to lookup
- * @return java.io.File or <code>null</code>.
- */
-protected File getFile(IResource resource) {
-	IPath location = resource.getLocation();
-	if(location == null)
-		return null;
-	else
-		return location.toFile();
-}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/ideMessages.properties b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/ideMessages.properties
deleted file mode 100644
index 58bb62b..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/ideMessages.properties
+++ /dev/null
@@ -1,36 +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 Corporation - initial API and implementation
-###############################################################################
-
-# package: org.eclipse.ui.views.properties
-
-# ==============================================================================
-# Properties View - IDE-specific strings
-# ==============================================================================
-
-PropertyViewer.misc = Misc
-PropertySource.notLocal = <not local>
-PropertySource.notFound = <resource does not exist>
-PropertySource.readOnly = Read only
-PropertySource.undefinedPathVariable = <undefined path variable>
-PropertySource.fileNotExist = - (does not exist)
-
-IResourcePropertyConstants.name = name
-IResourcePropertyConstants.path = path
-IResourcePropertyConstants.editable = editable
-IResourcePropertyConstants.derived = derived
-IResourcePropertyConstants.size = size
-IResourcePropertyConstants.lastModified = last modified
-IResourcePropertyConstants.info = Info
-IResourcePropertyConstants.location = location
-IResourcePropertyConstants.resolvedLocation = resolved location
-IResourcePropertyConstants.linked = linked
-ResourceProperty.false = false
-ResourceProperty.true = true
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/CopyTaskAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/CopyTaskAction.java
deleted file mode 100644
index 9ee5ea5..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/CopyTaskAction.java
+++ /dev/null
@@ -1,79 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.SWTError;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.part.MarkerTransfer;
-
-/**
- * Copies a task to the clipboard.
- */
-class CopyTaskAction extends TaskAction {
-	/**
-	 * Creates the action.
-	 */
-	public CopyTaskAction(TaskList tasklist, String id) {
-		super(tasklist, id);
-		WorkbenchHelp.setHelp(this, ITaskListHelpContextIds.COPY_TASK_ACTION);
-	}
-	
-	/**
-	 * Performs this action.
-	 */
-	public void run() {
-		// Get the selected markers
-		TaskList taskList = getTaskList();
-		TableViewer viewer = taskList.getTableViewer();
-		IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
-		if (selection.isEmpty()) {
-			return;
-		}
-		taskList.cancelEditing();
-		List list = selection.toList();
-		IMarker[] markers = new IMarker[list.size()];
-		list.toArray(markers);
-
-		setClipboard(markers, TaskList.createMarkerReport(markers));
-
-		//Update paste enablement
-		taskList.updatePasteEnablement();
-	}
-
-	private void setClipboard(IMarker[] markers, String markerReport) {
-		try {
-			// Place the markers on the clipboard
-			Object[] data = new Object[] {
-				markers,
-				markerReport};				
-			Transfer[] transferTypes = new Transfer[] {
-				MarkerTransfer.getInstance(),
-				TextTransfer.getInstance()};
-			
-			// set the clipboard contents
-			getTaskList().getClipboard().setContents(data, transferTypes);
-		} catch (SWTError e){
-			if (e.code != DND.ERROR_CANNOT_SET_CLIPBOARD)
-				throw e;
-			if (MessageDialog.openQuestion(getShell(), TaskListMessages.getString("CopyToClipboardProblemDialog.title"), TaskListMessages.getString("CopyToClipboardProblemDialog.message"))) //$NON-NLS-1$ //$NON-NLS-2$
-				setClipboard(markers, markerReport);
-		}	
-	}
-}
-
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/DefaultTaskListResourceAdapter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/DefaultTaskListResourceAdapter.java
deleted file mode 100644
index 4245304..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/DefaultTaskListResourceAdapter.java
+++ /dev/null
@@ -1,56 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * The DefaultTaskListResourceAdapter is the default
- * implementation of the ITaskListResourceAdapter used by the
- * TaskList for resource adaption.
- */
-class DefaultTaskListResourceAdapter implements ITaskListResourceAdapter {
-	
-	private static ITaskListResourceAdapter singleton;
-
-	/**
-	 * Constructor for DefaultTaskListResourceAdapter.
-	 */
-	DefaultTaskListResourceAdapter() {
-		super();
-	}
-	
-	/**
-	 * Return the default instance used for TaskList adapting.
-	 */
-	static ITaskListResourceAdapter getDefault(){
-		if(singleton == null)
-			singleton = new DefaultTaskListResourceAdapter();
-		return singleton;
-	}
-
-	/*
-	 * @see ITaskListResourceAdapter#getAffectedResource(IAdaptable)
-	 */
-	public IResource getAffectedResource(IAdaptable adaptable) {
-
-		IResource resource = (IResource) adaptable.getAdapter(IResource.class);
-		if (resource == null)
-			return (IFile) adaptable.getAdapter(IFile.class);
-		else
-			return resource;
-
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/FiltersAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/FiltersAction.java
deleted file mode 100644
index c983b9b..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/FiltersAction.java
+++ /dev/null
@@ -1,44 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * This action opens an editor for the resource
- * associated with the selected marker, and
- * jumps to the marker's location in the editor.
- */
-class FiltersAction extends TaskAction {
-
-	/**
-	 * Creates the action.
-	 */
-	public FiltersAction(TaskList tasklist, String id) {
-		super(tasklist, id);
-		WorkbenchHelp.setHelp(this, ITaskListHelpContextIds.FILTERS_ACTION);
-	}
-	
-	/**
-	 * Performs this action.
-	 */
-	public void run() {
-		FiltersDialog dialog = new FiltersDialog(getShell());
-		TasksFilter filter = getTaskList().getFilter();
-		dialog.setFilter(filter);
-		int result = dialog.open();
-		if (result == FiltersDialog.OK) {
-			getTaskList().filterChanged();
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/FiltersDialog.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/FiltersDialog.java
deleted file mode 100644
index 801fce2..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/FiltersDialog.java
+++ /dev/null
@@ -1,881 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import java.text.Collator;
-import java.util.*;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.IWorkingSetSelectionDialog;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-class FiltersDialog extends Dialog {
-	/**
-	 * ID for the Reset button
-	 */
-	static final int RESET_ID = IDialogConstants.CLIENT_ID;
-	static final int SELECT_ID = IDialogConstants.CLIENT_ID + 1;
-
-	private static class EnumValue {
-		private int value;
-		private String text;
-		private Image image;
-		
-		EnumValue(int value, String text, Image image) {
-			this.value = value;
-			this.text = text;
-			this.image = image;
-		}
-		int getValue() {
-			return value;
-		}
-		String getText() {
-			return text;
-		}
-		Image getImage() {
-			return image;
-		}
-	}
-	
-	private static class EnumType {
-		private EnumValue[] values;
-		
-		EnumType(EnumValue[] values) {
-			this.values = values;
-		}
-		EnumValue[] getValues() {
-			return values;
-		}
-	}
-
-	private EnumType severityType;
-	private EnumType priorityType;
-	private EnumType completionType;
-	
-	private class CheckboxEnumGroup {
-		private EnumType type;
-		private Button enableButton;
-		private Button[] valueButtons;
-
-		CheckboxEnumGroup(Composite parent, String text, EnumType type) {
-			this.type = type;
-			// although not needed for layout, this composite is needed to get the tab order right
-			Composite enableComposite = new Composite(parent, SWT.NONE);
-			enableComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-			enableComposite.setLayout(new FillLayout());
-			enableButton = new Button(enableComposite, SWT.CHECK);
-			enableButton.addSelectionListener(selectionListener);
-			enableButton.setText(text);
-			Composite valueComposite = new Composite(parent, SWT.NONE);
-			valueComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-			valueComposite.setLayout(new FillLayout());
-			EnumValue[] values = type.getValues();
-			valueButtons = new Button[values.length];
-			for (int i = 0; i < values.length; ++i) {
-				Button valueButton = new Button(valueComposite, SWT.CHECK);
-				valueButton.setText(values[i].getText());
-				valueButtons[i] = valueButton;
-			}
-		}
-
-		boolean getEnabled() {
-			return enableButton.getEnabled();
-		}
-	
-		void setEnabled(boolean enabled) {
-			enableButton.setEnabled(enabled);
-			updateEnabledState();
-		}
-
-		boolean getSelection() {
-			return enableButton.getSelection();
-		}
-
-		void setSelection(boolean selected) {
-			enableButton.setSelection(selected);
-			updateEnabledState();
-		}
-			
-		void updateEnabledState() {
-			boolean enabled = enableButton.isEnabled() && enableButton.getSelection();
-			for (int i = 0; i < valueButtons.length; ++i) {
-				valueButtons[i].setEnabled(enabled);
-			}
-		}
-
-		int getValueMask() {
-			int mask = 0;
-			EnumValue[] values = type.getValues();
-			for (int i = 0; i < valueButtons.length; ++i) {
-				if (valueButtons[i].getSelection()) {
-					mask |= (1 << values[i].getValue());
-				}
-			}
-			return mask;
-		}
-
-		void setValueMask(int mask) {
-			EnumValue[] values = type.getValues();
-			for (int i = 0; i < values.length; ++i) {
-				valueButtons[i].setSelection((mask & (1 << values[i].getValue())) != 0);
-			}
-		}
-	}
-
-
-	private class LabelComboTextGroup {
-		Label label;
-		Combo combo;
-		Text text;
-
-		LabelComboTextGroup(Composite parent, String labelText, String[] comboStrings, String initialText, int widthHint) {
-			Font font = parent.getFont();
-			Composite group = new Composite(parent, SWT.NONE);
-			GridLayout layout = new GridLayout();
-			layout.numColumns = 3;
-			//Set the margin width to 0 in order to line up with other items
-			layout.marginWidth = 0;
-			group.setLayout(layout);
-			group.setFont(font);
-			label = new Label(group, SWT.NONE);
-			label.setText(labelText);
-			label.setFont(font);
-			combo = createCombo(group, comboStrings, 0);
-			text = new Text(parent, SWT.SINGLE | SWT.BORDER);
-			GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-			gridData.widthHint = widthHint;
-			text.setLayoutData(gridData);
-			text.setFont(font);
-			text.setText(initialText);
-		}
-	}
-
-	/**
-	 * Creates and manages a group of widgets for selecting a working 
-	 * set task filter.
-	 */
-	private class WorkingSetGroup {
-		private Button button;
-		/**
-		 * Creates the working set filter selection widgets.
-		 * 
-		 * @param parent the parent composite of the working set widgets
-		 */
-		WorkingSetGroup(Composite parent) {
-			// radio button has to be part of main radio button group
-			button = createRadioButton(parent, TaskListMessages.getString("TaskList.noWorkingSet")); //$NON-NLS-1$
-			GridData data = new GridData(GridData.FILL_HORIZONTAL);
-			button.setLayoutData(data);
-
-			Composite composite = new Composite(parent, SWT.NONE);
-			composite.setFont(parent.getFont());
-			GridLayout layout = new GridLayout();
-			Button radio = new Button(parent, SWT.RADIO);
-			layout.marginWidth = radio.computeSize(SWT.DEFAULT, SWT.DEFAULT).x;
-			layout.marginHeight = 0;
-			radio.dispose();
-			composite.setLayout(layout);
-			createButton(composite, SELECT_ID, TaskListMessages.getString("TaskList.workingSetSelect"), false); //$NON-NLS-1$
-		}
-		/**
-		 * Returns wether or not a working set filter should be used
-		 * 
-		 * @return 
-		 * 	true=a working set filter should be used
-		 * 	false=a working set filter should not be used
-		 */
-		boolean getSelection() {
-			return button.getSelection();
-		}
-		/**
-		 * Returns the selected working set filter or null if none 
-		 * is selected.
-		 * 
-		 * @return the selected working set filter or null if none 
-		 * 	is selected.
-		 */
-		IWorkingSet getWorkingSet() {
-			return (IWorkingSet) button.getData();
-		}
-		/**
-		 * Sets the working set filter selection.
-		 * 
-		 * @param selected true=a working set filter should be used
-		 * 	false=no working set filter should be used
-		 */
-		void setSelection(boolean selected) {
-			button.setSelection(selected);
-			if (selected) {
-				anyResourceButton.setSelection(false);
-				anyResourceInSameProjectButton.setSelection(false);
-				selectedResourceButton.setSelection(false);
-				selectedResourceAndChildrenButton.setSelection(false);
-			}
-		}
-		/**
-		 * Opens the working set selection dialog.
-		 */
-		void selectPressed() {
-			IWorkingSetSelectionDialog dialog = PlatformUI.getWorkbench().getWorkingSetManager().createWorkingSetSelectionDialog(getShell(), false);
-			IWorkingSet workingSet = getWorkingSet();
-			
-			if (workingSet != null) {
-				dialog.setSelection(new IWorkingSet[]{workingSet});
-			}
-			if (dialog.open() == Window.OK) {
-				IWorkingSet[] result = dialog.getSelection();
-				if (result != null && result.length > 0) {
-					setWorkingSet(result[0]);
-				}
-				else {
-					setWorkingSet(null);
-				}				
-				if (getSelection() == false) {
-					setSelection(true);
-				}
-			}
-		}
-		/**
-		 * Sets the specified working set.
-		 * 
-		 * @param workingSet the working set 
-		 */
-		void setWorkingSet(IWorkingSet workingSet) {
-			button.setData(workingSet);
-			if (workingSet != null) {					
-				button.setText(TaskListMessages.format(
-					"TaskList.workingSet", 					//$NON-NLS-1$
-					new Object[] {workingSet.getName()})); 
-			}
-			else {
-				button.setText(TaskListMessages.getString("TaskList.noWorkingSet")); //$NON-NLS-1$
-			}
-		}
-	}
-
-	private TasksFilter filter;
-
-	MarkerTypesModel markerTypesModel = new MarkerTypesModel();
-	
-	private MarkerType[] markerTypes;
-	
-	private CheckboxTreeViewer typesViewer;
-	Button anyResourceButton;
-	Button anyResourceInSameProjectButton; // added by cagatayk@acm.org
-	Button selectedResourceButton;
-	Button selectedResourceAndChildrenButton;
-	private WorkingSetGroup workingSetGroup;
-	private LabelComboTextGroup descriptionGroup;
-	private CheckboxEnumGroup severityGroup;
-	private CheckboxEnumGroup priorityGroup;
-	private CheckboxEnumGroup completionGroup;
-	private Button filterOnMarkerLimit;
-	private Text markerLimit;
-
-	SelectionListener selectionListener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			FiltersDialog.this.widgetSelected(e);
-		}
-	};
-
-	private ICheckStateListener checkStateListener = new ICheckStateListener() {
-		public void checkStateChanged(CheckStateChangedEvent event) {
-			FiltersDialog.this.checkStateChanged(event);
-		}
-	};
-
-	/**
-	 * Creates a new filters dialog.
-	 */
-	public FiltersDialog(Shell parentShell) {
-		super(parentShell);
-		initTypes();
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected void buttonPressed(int buttonId) {
-		if (RESET_ID == buttonId) {
-			resetPressed();
-		}
-		else
-		if (SELECT_ID == buttonId) {
-			workingSetGroup.selectPressed();
-		}
-		else {
-			super.buttonPressed(buttonId);
-		}
-	}
-
-	public void checkStateChanged(CheckStateChangedEvent event) {
-		MarkerType type = (MarkerType) event.getElement();
-		typesViewer.setSubtreeChecked(type, event.getChecked());
-		MarkerType[] allSupertypes = type.getAllSupertypes();
-		for (int i = 0; i < allSupertypes.length; ++i) {
-			typesViewer.setChecked(allSupertypes[i], false);
-		}
-		updateEnabledState();
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on Window.
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		newShell.setText(TaskListMessages.getString("TaskList.filter")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(newShell, ITaskListHelpContextIds.FILTERS_DIALOG);
-	}
-
-	/**
-	 * Creates the area showing filtering criteria on attribute values.
-	 *
-	 * @param parent the parent composite
-	 */
-	void createAttributesArea(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		composite.setLayout(layout);
-		composite.setFont(parent.getFont());
-	
-		String[] filters = {TaskListMessages.getString("TaskList.contains"), TaskListMessages.getString("TaskList.doesNotContain")}; //$NON-NLS-2$ //$NON-NLS-1$
-		descriptionGroup = new LabelComboTextGroup(composite, TaskListMessages.getString("TaskList.whereDescription"), filters, "", 200);//$NON-NLS-2$ //$NON-NLS-1$
-		severityGroup = new CheckboxEnumGroup(composite, TaskListMessages.getString("TaskList.severity.label"), severityType); //$NON-NLS-1$
-		priorityGroup = new CheckboxEnumGroup(composite, TaskListMessages.getString("TaskList.priority.label"), priorityType); //$NON-NLS-1$
-		completionGroup = new CheckboxEnumGroup(composite, TaskListMessages.getString("TaskList.status.label"), completionType); //$NON-NLS-1$
-	}
-
-	void createResetArea(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		composite.setFont(parent.getFont());	
-		composite.setLayout(new GridLayout());
-		composite.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
-		
-		Button reset = new Button(composite, SWT.PUSH);
-		reset.setText(TaskListMessages.getString("TaskList.resetText")); //$NON-NLS-1$
-		reset.setData(new Integer(RESET_ID));
-		
-		reset.addSelectionListener(new SelectionAdapter() {
-		   public void widgetSelected(SelectionEvent event) {
-			   buttonPressed(((Integer) event.widget.getData()).intValue());
-		   }
-	   	});	
-	   	
-		reset.setFont(composite.getFont());
-	   	setButtonLayoutData(reset);
-	}
-
-	/**
-	 * Creates a check box button with the given parent and text.
-	 *
-	 * @param parent the parent composite
-	 * @param text the text for the check box
-	 * @param grabRow <code>true</code>to grab the remaining horizontal space, <code>false</code> otherwise
-	 * @return the check box button
-	 */
-	Button createCheckbox(Composite parent, String text, boolean grabRow) {
-		Button button = new Button(parent, SWT.CHECK);
-		if (grabRow) {
-			GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-			button.setLayoutData(gridData);
-		}
-		button.setText(text);
-		button.addSelectionListener(selectionListener);
-		button.setFont(parent.getFont());
-		return button;
-	}
-
-	/**
-	 * Creates a combo box with the given parent, items, and selection
-	 *
-	 * @param parent the parent composite
-	 * @param items the items for the combo box
-	 * @param selectionIndex the index of the item to select
-	 * @return the combo box
-	 */
-	Combo createCombo(Composite parent, String[] items, int selectionIndex) {
-		Combo combo = new Combo(parent, SWT.DROP_DOWN | SWT.READ_ONLY);
-		combo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		combo.setFont(parent.getFont());
-		combo.setItems(items);
-		combo.select(selectionIndex);
-		combo.addSelectionListener(selectionListener);
-		return combo;
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Composite composite = (Composite) super.createDialogArea(parent);
-		createMarkerLimitArea(composite);
-		createTypesArea(composite);
-		createResourceArea(composite);
-		createAttributesArea(composite);
-		createResetArea(composite);
-		createSeparatorLine(composite);	
-	
-		updateUIFromFilter(getFilter());
-		
-		return composite;
-	}
-
-	/**
-	 * Creates a separator line above the OK/Cancel buttons bar
-	 * 
-	 * @param parent the parent composite
-	 */
-	void createSeparatorLine(Composite parent) {
-		// Build the separator line
-		Label separator = new Label(parent, SWT.HORIZONTAL | SWT.SEPARATOR);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 1;
-		separator.setLayoutData(gd);
-	}
-
-	/**
-	 * Creates a radio button with the given parent and text.
-	 *
-	 * @param parent the parent composite
-	 * @param text the text for the check box
-	 * @return the radio box button
-	 */
-	Button createRadioButton(Composite parent, String text) {
-		Button button = new Button(parent, SWT.RADIO);
-		button.setText(text);
-		button.setFont(parent.getFont());
-		button.addSelectionListener(selectionListener);
-		return button;
-	}
-
-	/**
-	 * Creates the area showing which resources should be considered.
-	 *
-	 * @param parent the parent composite
-	 */
-	void createResourceArea(Composite parent) {
-		Composite group = new Composite(parent, SWT.NONE);
-		group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		group.setLayout(new GridLayout());
-		group.setFont(parent.getFont());
-		anyResourceButton = createRadioButton(group, TaskListMessages.getString("TaskList.anyResource")); //$NON-NLS-1$
-		anyResourceInSameProjectButton = createRadioButton(group, TaskListMessages.getString("TaskList.anyResourceInSameProject")); //$NON-NLS-1$ // added by cagatayk@acm.org
-		selectedResourceButton = createRadioButton(group, TaskListMessages.getString("TaskList.selectedResource")); //$NON-NLS-1$
-		selectedResourceAndChildrenButton = createRadioButton(group, TaskListMessages.getString("TaskList.selectedAndChildren")); //$NON-NLS-1$
-		workingSetGroup = new WorkingSetGroup(group);
-	}
-
-	/**
-	 * Creates the area showing which marker types should be included.
-	 *
-	 * @param parent the parent composite
-	 */
-	void createTypesArea(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		GridLayout layout = new GridLayout();
-		composite.setLayout(layout);
-	
-		Label label = new Label(composite, SWT.NONE);
-		label.setText(TaskListMessages.getString("TaskList.showItemsOfType")); //$NON-NLS-1$
-		
-		typesViewer = new CheckboxTreeViewer(composite);
-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-		gridData.heightHint = 100;
-		typesViewer.getControl().setLayoutData(gridData);
-		typesViewer.setContentProvider(getContentProvider());
-		typesViewer.setLabelProvider(getLabelProvider());
-		typesViewer.setSorter(getSorter());
-		typesViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
-		typesViewer.addCheckStateListener(checkStateListener);
-		typesViewer.setInput(getMarkerTypes());
-	}
-
-	ITreeContentProvider getContentProvider() {
-		return new ITreeContentProvider() {
-			public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}
-			public void dispose() {}
-			public Object[] getElements(Object inputElement) {
-				return new Object[] {
-					markerTypesModel.getType(IMarker.PROBLEM),
-					markerTypesModel.getType(IMarker.TASK)
-				};
-			}
-			public Object[] getChildren(Object parentElement) {
-				MarkerType type = (MarkerType) parentElement;
-				return type.getSubtypes();
-			}
-			public Object getParent(Object element) {
-				return null;
-			}
-			public boolean hasChildren(Object element) {
-				return getChildren(element).length > 0;
-			}
-		};
-	}
-
-	void createMarkerLimitArea(Composite parent) {
-		Font font = parent.getFont();
-		Composite composite = new Composite(parent, SWT.NONE);
-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		composite.setFont(font);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		composite.setLayout(layout);
-		filterOnMarkerLimit = createCheckbox(composite, TaskListMessages.getString(
-				"TaskList.limitVisibleTasksTo"), false); //$NON-NLS-1$
-		filterOnMarkerLimit.setLayoutData(new GridData());
-		markerLimit = new Text(composite, SWT.SINGLE | SWT.BORDER);
-		markerLimit.setTextLimit(6);
-		GridData gridData = new GridData();
-		gridData.widthHint = convertWidthInCharsToPixels(10);
-		markerLimit.setLayoutData(gridData);
-		markerLimit.setFont(font);
-	}	
-
-	/**
-	 * Returns the filter which this dialog is configuring.
-	 *
-	 * @return the filter
-	 */
-	public TasksFilter getFilter() {
-		if (filter == null)
-			filter = new TasksFilter();
-		return filter;
-	}
-
-	ILabelProvider getLabelProvider() {
-		return new LabelProvider() {
-			public String getText(Object element) {
-				MarkerType type = (MarkerType) element;
-				return type.getLabel();
-			}
-		};
-	}
-
-	/**
-	 * Returns the marker types to display.
-	 *
-	 * @return the marker types to display
-	 */
-	MarkerType[] getMarkerTypes() {
-		if (markerTypes == null) {
-			ArrayList typesList = new ArrayList();
-			MarkerType[] types = markerTypesModel.getTypes();
-			for (int i = 0; i < types.length; ++i) {
-				MarkerType type = types[i];
-				if (type.getLabel().length() > 0) {
-					if (type.isSubtypeOf(markerTypesModel.getType(IMarker.PROBLEM)) 
-					 || type.isSubtypeOf(markerTypesModel.getType(IMarker.TASK))) {
-						typesList.add(type);
-					}
-				}
-			}
-			Collections.sort(typesList, new Comparator() {
-				Collator collator = Collator.getInstance();
-				public int compare(Object o1, Object o2) {
-					return collator.compare(((MarkerType) o1).getLabel(), ((MarkerType) o2).getLabel());
-				}
-			});
-			markerTypes = new MarkerType[typesList.size()];
-			typesList.toArray(markerTypes);
-		}
-		return markerTypes;
-	}
-	
-	/**
-	 * Returns the ids of the selected marker types.
-	 *
-	 * @return the ids of the selected marker types
-	 */
-	String[] getSelectedTypes() {
-		Object[] checked = typesViewer.getCheckedElements();
-		ArrayList list = new ArrayList();
-		for (int i = 0; i < checked.length; ++i) {
-			MarkerType type = (MarkerType) checked[i];
-			// Skip it if any supertypes have already been included.
-			// Relies on getCheckedElements() using a pre-order traversal 
-			// so parents are earlier in the list.
-			boolean found = false;
-			for (int j = list.size(); --j >= 0;) {
-				if (type.isSubtypeOf((MarkerType) list.get(j))) {
-					found = true;
-					break;
-				}
-			}
-			if (!found) {
-				list.add(type);
-			}
-		}
-		String[] types = new String[list.size()];
-		for (int i = 0; i < list.size(); ++i) {
-			types[i] = ((MarkerType) list.get(i)).getId();
-		}
-		return types;
-	}
-
-	ViewerSorter getSorter() {
-		return new ViewerSorter() {
-			public int compare(Viewer viewer, Object e1, Object e2) {
-				MarkerType t1 = (MarkerType) e1;
-				MarkerType t2 = (MarkerType) e2;
-				return collator.compare(t1.getLabel(), t2.getLabel());
-			}
-		};
-	}
-
-	/**
-	 * Returns the id of the marker type at the given index
-	 *
-	 * @param typeIndex the index of the marker type in the UI list
-	 * @return the id of the marker type at the given index
-	 */
-	String getTypeId(int typeIndex) {
-		return getMarkerTypes()[typeIndex].getId();
-	}
-
-	/**
-	 * Returns the index of the given marker type
-	 *
-	 * @param markerType the marker type id
-	 * @return the index of the marker type
-	 */
-	int getTypeIndex(String markerType) {
-		MarkerType[] types = getMarkerTypes();
-		for (int i = 0; i < types.length; ++i) {
-			String id = types[i].getId();
-			if (id == null ? markerType == null : id.equals(markerType))
-				return i;
-		}
-		return -1;
-	}
-
-	void initTypes() {
-		severityType = new EnumType(
-			new EnumValue[] {
-				new EnumValue(IMarker.SEVERITY_ERROR, TaskListMessages.getString("TaskList.severity.error"), MarkerUtil.getImage("error")),//$NON-NLS-2$ //$NON-NLS-1$
-				new EnumValue(IMarker.SEVERITY_WARNING, TaskListMessages.getString("TaskList.severity.warning"), MarkerUtil.getImage("warn")),//$NON-NLS-2$ //$NON-NLS-1$
-				new EnumValue(IMarker.SEVERITY_INFO, TaskListMessages.getString("TaskList.severity.info"), MarkerUtil.getImage("info"))//$NON-NLS-2$ //$NON-NLS-1$
-			}
-		);
-		
-		priorityType = new EnumType(
-			new EnumValue[] {
-				new EnumValue(IMarker.PRIORITY_HIGH, TaskListMessages.getString("TaskList.priority.high"), MarkerUtil.getImage("hprio")),//$NON-NLS-2$ //$NON-NLS-1$
-				new EnumValue(IMarker.PRIORITY_NORMAL, TaskListMessages.getString("TaskList.priority.normal"), null), //$NON-NLS-1$
-				new EnumValue(IMarker.PRIORITY_LOW, TaskListMessages.getString("TaskList.priority.low"), MarkerUtil.getImage("lprio"))//$NON-NLS-2$ //$NON-NLS-1$
-			}
-		);
-	
-		completionType = new EnumType(
-			new EnumValue[] {
-				new EnumValue(1, TaskListMessages.getString("TaskList.status.completed"), null), //$NON-NLS-1$
-				new EnumValue(0, TaskListMessages.getString("TaskList.status.notCompleted"), null) //$NON-NLS-1$
-			}
-		);
-	}
-
-	/**
-	 * Updates the filter from the UI state.
-	 * Must be done here rather than by extending open()
-	 * because after super.open() is called, the widgetry is disposed.
-	 */
-	protected void okPressed() {
-		try {
-			int parseResult = Integer.parseInt(this.markerLimit.getText());
-	
-			if (parseResult < 1) {
-				throw new NumberFormatException();
-			}			
-			
-			updateFilterFromUI(getFilter());
-			super.okPressed();
-		}
-		catch (NumberFormatException eNumberFormat) {
-			MessageBox messageBox = new MessageBox(getShell(), 
-					SWT.OK | SWT.APPLICATION_MODAL | SWT.ICON_ERROR);
-			messageBox.setText(TaskListMessages.getString(
-					"TaskList.titleMarkerLimitInvalid")); //$NON-NLS-1$
-			messageBox.setMessage(TaskListMessages.getString(
-					"TaskList.messageMarkerLimitInvalid")); //$NON-NLS-1$
-			messageBox.open();
-	
-			if (markerLimit.forceFocus()) {
-				markerLimit.setSelection(0, markerLimit.getCharCount());
-				markerLimit.showSelection();
-			}
-		}
-	}
-
-	/**
-	 * Handles a press of the Reset button.
-	 * Updates the UI state to correspond to a reset filter,
-	 * but doesn't actually reset our filter.
-	 */
-	void resetPressed() {
-		updateUIFromFilter(new TasksFilter());
-	}
-
-	/**
-	 * Returns whether any of the selected types are a subtype of the given type.
-	 */
-	boolean selectionIncludesSubtypeOf(String type) {
-		MarkerType superType = markerTypesModel.getType(type);
-		if (superType == null) {
-			return false;
-		}
-		Object[] checked = typesViewer.getCheckedElements();
-		for (int i = 0; i < checked.length; ++i) {
-			if (((MarkerType) checked[i]).isSubtypeOf(superType)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Sets the filter which this dialog is to configure.
-	 *
-	 * @param filter the filter
-	 */
-	public void setFilter(TasksFilter filter) {
-		this.filter = filter;
-	}
-
-	/**
-	 * Sets the selected marker types.
-	 *
-	 * @param typeIds the ids of the marker types to select
-	 */
-	void setSelectedTypes(String[] typeIds) {
-		typesViewer.setCheckedElements(new MarkerType[0]);
-		for (int i = 0; i < typeIds.length; ++i) {
-			MarkerType type = markerTypesModel.getType(typeIds[i]);
-			if (type != null) {
-				typesViewer.setSubtreeChecked(type, true);
-			}
-		}
-	}
-
-	/**
-	 * Updates the enabled state of the widgetry.
-	 */
-	void updateEnabledState() {
-		markerLimit.setEnabled(filterOnMarkerLimit.getSelection());
-		boolean isProblemSelected = selectionIncludesSubtypeOf(IMarker.PROBLEM);
-		boolean isTaskSelected = selectionIncludesSubtypeOf(IMarker.TASK);
-		severityGroup.setEnabled(isProblemSelected);
-		priorityGroup.setEnabled(isTaskSelected);
-		completionGroup.setEnabled(isTaskSelected);
-	}
-
-	/**
-	 * Updates the given filter from the UI state.
-	 *
-	 * @param filter the filter to update
-	 */
-	void updateFilterFromUI(TasksFilter tasksFilter) {
-	
-		tasksFilter.types = getSelectedTypes();
-		
-		if (selectedResourceButton.getSelection())
-			tasksFilter.onResource = TasksFilter.ON_SELECTED_RESOURCE_ONLY;
-		else if (selectedResourceAndChildrenButton.getSelection())
-			tasksFilter.onResource = TasksFilter.ON_SELECTED_RESOURCE_AND_CHILDREN;
-		else if (anyResourceInSameProjectButton.getSelection()) // added by cagatayk@acm.org
-			tasksFilter.onResource = TasksFilter.ON_ANY_RESOURCE_OF_SAME_PROJECT;
-		else if (workingSetGroup.getSelection())
-			tasksFilter.onResource = TasksFilter.ON_WORKING_SET;
-		else
-			tasksFilter.onResource = TasksFilter.ON_ANY_RESOURCE;
-	
-		tasksFilter.workingSet = workingSetGroup.getWorkingSet();
-		tasksFilter.descriptionFilterKind = descriptionGroup.combo.getSelectionIndex();
-		tasksFilter.descriptionFilter = descriptionGroup.text.getText();
-		tasksFilter.filterOnDescription = !tasksFilter.descriptionFilter.equals("");//$NON-NLS-1$
-		
-		tasksFilter.filterOnSeverity = severityGroup.getSelection();
-		tasksFilter.severityFilter = severityGroup.getValueMask();
-		
-		tasksFilter.filterOnPriority = priorityGroup.getSelection();
-		tasksFilter.priorityFilter = priorityGroup.getValueMask();
-		
-		tasksFilter.filterOnCompletion = completionGroup.getSelection();
-		tasksFilter.completionFilter = completionGroup.getValueMask();
-	
-		int limit = TasksFilter.DEFAULT_MARKER_LIMIT;
-		
-		try {
-			limit = Integer.parseInt(this.markerLimit.getText());
-		}
-		catch (NumberFormatException eNumberFormat) {
-		}
-	
-		tasksFilter.setMarkerLimit(limit);	
-		tasksFilter.setFilterOnMarkerLimit(filterOnMarkerLimit.getSelection());
-	}
-
-	/**
-	 * Updates the UI state from the given filter.
-	 *
-	 * @param filter the filter to use
-	 */
-	void updateUIFromFilter(TasksFilter tasksFilter) {
-		
-		setSelectedTypes(tasksFilter.types);
-	
-		int on = tasksFilter.onResource;
-		anyResourceButton.setSelection(on == TasksFilter.ON_ANY_RESOURCE);
-		anyResourceInSameProjectButton.setSelection(on == TasksFilter.ON_ANY_RESOURCE_OF_SAME_PROJECT); // added by cagatayk@acm.org
-		selectedResourceButton.setSelection(on == TasksFilter.ON_SELECTED_RESOURCE_ONLY);
-		selectedResourceAndChildrenButton.setSelection(on == TasksFilter.ON_SELECTED_RESOURCE_AND_CHILDREN);
-		workingSetGroup.setSelection(on == TasksFilter.ON_WORKING_SET);
-		workingSetGroup.setWorkingSet(tasksFilter.workingSet);
-				
-		descriptionGroup.combo.select(tasksFilter.descriptionFilterKind);
-		descriptionGroup.text.setText(tasksFilter.descriptionFilter);
-		
-		severityGroup.setSelection(tasksFilter.filterOnSeverity);
-		severityGroup.setValueMask(tasksFilter.severityFilter);
-		
-		priorityGroup.setSelection(tasksFilter.filterOnPriority);
-		priorityGroup.setValueMask(tasksFilter.priorityFilter);
-		
-		completionGroup.setSelection(tasksFilter.filterOnCompletion);
-		completionGroup.setValueMask(tasksFilter.completionFilter);
-	
-		markerLimit.setText("" + tasksFilter.getMarkerLimit()); //$NON-NLS-1$
-		filterOnMarkerLimit.setSelection(tasksFilter.getFilterOnMarkerLimit());
-	
-		updateEnabledState();
-	}
-
-	/**
-	 * Handles selection on a check box or combo box.
-	 */
-	void widgetSelected(SelectionEvent e) {
-		updateEnabledState();
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/GotoTaskAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/GotoTaskAction.java
deleted file mode 100644
index f95bc07..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/GotoTaskAction.java
+++ /dev/null
@@ -1,61 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.jface.util.OpenStrategy;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.internal.ide.DialogUtil;
-
-/**
- * This action opens an editor for the resource
- * associated with the selected marker, and
- * jumps to the marker's location in the editor.
- */
-class GotoTaskAction extends TaskAction {
-
-	/**
-	 * Creates the action.
-	 */
-	public GotoTaskAction(TaskList tasklist, String id) {
-		super(tasklist, id);
-		WorkbenchHelp.setHelp(this, ITaskListHelpContextIds.GOTO_TASK_ACTION);
-	}
-
-	/**
-	 * Performs this action. This action works only for single selection.
-	 */
-	public void run() {
-		IStructuredSelection selection = (IStructuredSelection) getTaskList().getSelection();
-		Object o = selection.getFirstElement();
-		if (!(o instanceof IMarker))
-			return;
-		IMarker marker = (IMarker) o;
-		IResource resource = marker.getResource();
-		if (marker.exists() && resource instanceof IFile) {
-			IWorkbenchPage page = getTaskList().getSite().getPage();
-			try {
-				IDE.openEditor(page, marker, OpenStrategy.activateOnOpen());
-			} catch (PartInitException e) {
-				DialogUtil.openError(
-					page.getWorkbenchWindow().getShell(),
-					TaskListMessages.getString("GotoTask.errorMessage"), //$NON-NLS-1$
-					e.getMessage(),
-					e);
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/IMarkerConstants.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/IMarkerConstants.java
deleted file mode 100644
index a1cb564..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/IMarkerConstants.java
+++ /dev/null
@@ -1,27 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-/**
- * This interface defines constants used for marker properties
- * and attributes.
- *
- * @see IMarker
- */
-interface IMarkerConstants {
-	public static final String PREFIX = "org.eclipse.ui.tasklist."; //$NON-NLS-1$
-	public static final String P_PRIORITY_IMAGE = PREFIX+"priorityImage"; //$NON-NLS-1$
-	public static final String P_COMPLETE_IMAGE = PREFIX+"completeImage"; //$NON-NLS-1$
-	public static final String P_RESOURCE_NAME = PREFIX+"resourceName"; //$NON-NLS-1$
-	public static final String P_CONTAINER_NAME = PREFIX+"containerName"; //$NON-NLS-1$
-	public static final String P_LINE_AND_LOCATION = PREFIX+"lineAndLocation"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/ITaskListHelpContextIds.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/ITaskListHelpContextIds.java
deleted file mode 100644
index f1e7074..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/ITaskListHelpContextIds.java
+++ /dev/null
@@ -1,56 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Help context ids for the task list view.
- * <p>
- * This interface contains constants only; it is not intended to be implemented
- * or extended.
- * </p>
- * 
- */
-interface ITaskListHelpContextIds {
-	public static final String PREFIX = PlatformUI.PLUGIN_ID + "."; //$NON-NLS-1$
-
-	// Actions
-	public static final String PURGE_COMPLETED_TASK_ACTION = PREFIX + "purge_completed_task_action_context"; //$NON-NLS-1$
-	public static final String COPY_TASK_ACTION = PREFIX + "copy_task_action_context"; //$NON-NLS-1$
-	public static final String PASTE_TASK_ACTION = PREFIX + "paste_task_action_context"; //$NON-NLS-1$
-	public static final String NEW_TASK_ACTION = PREFIX + "new_task_action_context"; //$NON-NLS-1$
-	public static final String REMOVE_TASK_ACTION = PREFIX + "remove_task_action_context"; //$NON-NLS-1$
-	public static final String GOTO_TASK_ACTION = PREFIX + "goto_task_action_context"; //$NON-NLS-1$
-	public static final String FILTERS_ACTION = PREFIX + "filters_action_context"; //$NON-NLS-1$
-	public static final String MARK_COMPLETED_ACTION = PREFIX + "mark_completed_action_context"; //$NON-NLS-1$
-	public static final String RESOLVE_MARKER_ACTION = PREFIX + "resolve_marker_action_context"; //$NON-NLS-1$
-	public static final String SELECT_ALL_TASKS_ACTION = PREFIX + "select_all_tasks_action_context"; //$NON-NLS-1$
-	public static final String TASK_PROPERTIES_ACTION = PREFIX + "task_properties_action_context"; //$NON-NLS-1$
-	public static final String TASK_SORT_TYPE_ACTION = PREFIX + "task_sort_type_action_context"; //$NON-NLS-1$
-	public static final String TASK_SORT_COMPLETED_ACTION = PREFIX + "task_sort_completed_action_context"; //$NON-NLS-1$
-	public static final String TASK_SORT_PRIORITY_ACTION = PREFIX + "task_sort_priority_action_context"; //$NON-NLS-1$
-	public static final String TASK_SORT_DESCRIPTION_ACTION = PREFIX + "task_sort_description_action_context"; //$NON-NLS-1$
-	public static final String TASK_SORT_RESOURCE_ACTION = PREFIX + "task_sort_resource_action_context"; //$NON-NLS-1$
-	public static final String TASK_SORT_FOLDER_ACTION = PREFIX + "task_sort_folder_action_context"; //$NON-NLS-1$
-	public static final String TASK_SORT_LOCATION_ACTION = PREFIX + "task_sort_location_action_context"; //$NON-NLS-1$
-	public static final String TASK_SORT_CREATION_TIME_ACTION = PREFIX + "task_sort_creation_time_action_context"; //$NON-NLS-1$
-	public static final String TASK_SORT_ASCENDING_ACTION = PREFIX + "task_sort_ascending_action_context"; //$NON-NLS-1$
-	public static final String TASK_SORT_DESCENDING_ACTION = PREFIX + "task_sort_descending_action_context"; //$NON-NLS-1$
-
-	// Dialogs
-	public static final String FILTERS_DIALOG = PREFIX + "task_filters_dialog_context"; //$NON-NLS-1$
-	public static final String PROPERTIES_DIALOG = PREFIX + "task_properties_dialog_context"; //$NON-NLS-1$
-	
-	// Views
-	public static final String TASK_LIST_VIEW = PREFIX + "task_list_view_context"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/ITaskListResourceAdapter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/ITaskListResourceAdapter.java
deleted file mode 100644
index 5faf4c0..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/ITaskListResourceAdapter.java
+++ /dev/null
@@ -1,43 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * <code>ITaskListResourceAdapter</code> is an adapter interface that
- * supplies the resource to query for markers to display in the task list.
- * <p>
- * The Tasks view checks for this adapter before the <code>IResource</code>
- * adapter, allowing the object to provide a resource to the Tasks view without
- * necessarily exposing it to other components that look for an <code>IResource</code>
- * adapter.     
- * </p>
- * <p>
- * Implementors of this interface are typically registered with an
- * IAdapterFactory for lookup via the getAdapter() mechanism.
- * </p>
- */
-public interface ITaskListResourceAdapter {
-
-	/**
-	 * Returns the resource to query for the markers to display
-	 * for the given adaptable.
-	 * 
-	 * @param adaptable the adaptable being queried.
-	 * @return the resource or <code>null</code> if there
-	 * 	is no adapted resource for this object.
-	 */
-	public IResource getAffectedResource(IAdaptable adaptable);
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/MarkCompletedAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/MarkCompletedAction.java
deleted file mode 100644
index 648aa9a..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/MarkCompletedAction.java
+++ /dev/null
@@ -1,65 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-class MarkCompletedAction extends TaskAction {
-
-	/**
-	 * Create a MarkCompletedAction.
-	 * @param tasklist
-	 * @param id
-	 */
-	protected MarkCompletedAction(TaskList tasklist, String id) {
-		super(tasklist, id);
-		WorkbenchHelp.setHelp(this, ITaskListHelpContextIds.MARK_COMPLETED_ACTION);
-	}
-
-	/**
-	 * Sets the completed value of the currently selected
-	 * actions.
-	 */
-	public void run() {
-		ISelection markers = getTaskList().getSelection();
-		if (markers instanceof IStructuredSelection) {
-			Iterator selections = ((IStructuredSelection) markers).iterator();
-			while (selections.hasNext()) {
-				IMarker nextMarker = (IMarker) selections.next();
-				getTaskList().setProperty(nextMarker, IMarker.DONE, Boolean.TRUE);
-			}
-		}
-	}
-
-	/**
-	 * Returns whether this action should be enabled for the given selection.
-	 */
-	public boolean shouldEnable(IStructuredSelection selection) {
-		if (selection.isEmpty())
-			return false;
-		for (Iterator i = selection.iterator(); i.hasNext();) {
-			IMarker marker = (IMarker) i.next();
-			if (!(MarkerUtil.isMarkerType(marker, IMarker.TASK)
-				&& !MarkerUtil.isComplete(marker)
-				&& MarkerUtil.isEditable(marker))) {
-					return false;
-			}
-		}
-		return true;
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/MarkerType.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/MarkerType.java
deleted file mode 100644
index 637b9a2..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/MarkerType.java
+++ /dev/null
@@ -1,131 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import java.util.ArrayList;
-
-/**
- * Represents a marker type.
- */
-class MarkerType {
-	private MarkerTypesModel model;
-	private String id;
-	private String label;
-	private String[] supertypeIds;
-
-	/**
-	 * Creates a new marker type.
-	 */
-	public MarkerType(MarkerTypesModel model, String id, String label, String[] supertypeIds) {
-		this.model = model;
-		this.id = id;
-		this.label = label;
-		this.supertypeIds = supertypeIds;
-	}
-
-	/**
-	 * Returns all this type's supertypes.
-	 */
-	public MarkerType[] getAllSupertypes() {
-		ArrayList result = new ArrayList();
-		getAllSupertypes(result);
-		return (MarkerType[]) result.toArray(new MarkerType[result.size()]);
-	}
-
-	/**
-	 * Appends all this type's supertypes to the given list.
-	 */
-	private void getAllSupertypes(ArrayList result) {
-		MarkerType[] supers = getSupertypes();
-		for (int i = 0; i < supers.length; ++i) {
-			MarkerType sup = supers[i];
-			if (!result.contains(sup)) {
-				result.add(sup);
-				sup.getAllSupertypes(result);
-			}
-		}
-	}
-
-	/**
-	 * Returns the marker type id.
-	 */
-	public String getId() {
-		return id;
-	}
-
-	/**
-	 * Returns the human-readable label for this marker type.
-	 */
-	public String getLabel() {
-		return label;
-	}
-
-	/**
-	 * Returns the types which have this type as a direct supertype.
-	 *
-	 * @return the direct subtypes of this type
-	 */
-	public MarkerType[] getSubtypes() {
-		MarkerType[] types = model.getTypes();
-		ArrayList result = new ArrayList();
-		for (int i = 0; i < types.length; ++i) {
-			MarkerType type = types[i];
-			String[] supers = type.getSupertypeIds();
-			for (int j = 0; j < supers.length; ++j) {
-				if (supers[j].equals(id)) {
-					result.add(type);
-				}
-			}
-		}
-		return (MarkerType[]) result.toArray(new MarkerType[result.size()]);
-	}
-
-	/**
-	 * Returns the marker type ids for this type's supertypes.
-	 */
-	public String[] getSupertypeIds() {
-		return supertypeIds;
-	}
-
-	/**
-	 * Returns this type's direct supertypes.
-	 */
-	public MarkerType[] getSupertypes() {
-		ArrayList result = new ArrayList();
-		for (int i = 0; i < supertypeIds.length; ++i) {
-			MarkerType sup = model.getType(supertypeIds[i]);
-			if (sup != null) {
-				result.add(sup);
-			}
-		}
-		return (MarkerType[]) result.toArray(new MarkerType[result.size()]);
-	}
-
-	/**
-	 * Returns whether this marker type is considered to be a subtype of
-	 * the given marker type. 
-	 *
-	 * @return boolean <code>true</code>if this type is the same as (or a subtype of) the given type
-	 */
-	public boolean isSubtypeOf(MarkerType superType) {
-		if (id.equals(superType.getId())) {
-			return true;
-		}
-		for (int i = 0; i < supertypeIds.length; ++i) {
-			MarkerType sup = model.getType(supertypeIds[i]);
-			if (sup != null && sup.isSubtypeOf(superType)) {
-				return true;
-			}
-		}
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/MarkerTypesModel.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/MarkerTypesModel.java
deleted file mode 100644
index a3f3565..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/MarkerTypesModel.java
+++ /dev/null
@@ -1,102 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.*;
-
-/**
- * Maintains a model of all known marker types.
- */ 
-class MarkerTypesModel {
-	/**
-	 * Maps from marker type id to MarkerType.
-	 */
-	private HashMap types;
-	
-	/**
-	 * Creates a new marker types model.
-	 */
-	public MarkerTypesModel() {
-		types = readTypes();
-	}
-
-	/**
-	 * Returns the marker type with the given id, or <code>null</code> if there is no such marker type.
-	 */
-	public MarkerType getType(String id) {
-		return (MarkerType) types.get(id);
-	}
-
-	/**
-	 * Returns all known marker types.
-	 */
-	public MarkerType[] getTypes() {
-		MarkerType[] result = new MarkerType[types.size()];
-		types.values().toArray(result);
-		return result;
-	}
-
-	/**
-	 * Returns the label for the given marker type.
-	 * Workaround until we have labels in XML.
-	 */
-	private String getWellKnownLabel(String type) {
-		if (type.equals(IMarker.PROBLEM))
-			return "Problem";//$NON-NLS-1$
-		if (type.equals(IMarker.TASK))
-			return "Task";//$NON-NLS-1$
-		if (type.equals("org.eclipse.jdt.core.problem"))//$NON-NLS-1$
-			return "Java Problem";//$NON-NLS-1$
-		return type;
-	}
-
-	/**
-	 * Reads the marker types from the registry.
-	 */
-	private HashMap readTypes() {
-		HashMap types = new HashMap();
-		IExtensionPoint point = Platform.getPluginRegistry().getExtensionPoint(ResourcesPlugin.PI_RESOURCES, ResourcesPlugin.PT_MARKERS);
-		if (point != null) {
-			// Gather all registered marker types.
-			IExtension[] extensions = point.getExtensions();
-			for (int i = 0; i < extensions.length; ++i) {
-				IExtension ext = extensions[i];
-				String id = ext.getUniqueIdentifier();
-				String label = ext.getLabel();
-				if (label.equals("")) {//$NON-NLS-1$
-					label = getWellKnownLabel(id);
-				}
-				ArrayList supersList = new ArrayList();
-				IConfigurationElement[] configElements = ext.getConfigurationElements();
-				for (int j = 0; j < configElements.length; ++j) {
-					IConfigurationElement elt = configElements[j];
-					if (elt.getName().equalsIgnoreCase("super")) {//$NON-NLS-1$
-						String sup = elt.getAttribute("type");//$NON-NLS-1$
-						if (sup != null) {
-							supersList.add(sup);
-						}
-					}
-				}
-				String[] superTypes = new String[supersList.size()];
-				supersList.toArray(superTypes);
-				MarkerType type = new MarkerType(this, id, label, superTypes);
-				types.put(id, type);
-			}
-		}
-		return types;
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/MarkerUtil.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/MarkerUtil.java
deleted file mode 100644
index 7d27a39..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/MarkerUtil.java
+++ /dev/null
@@ -1,477 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.text.DateFormat;
-import java.text.MessageFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-
-import org.eclipse.swt.graphics.Image;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.IBasicPropertyConstants;
-
-/**
- * Utility class for accessing marker attributes.
- */
-class MarkerUtil implements IMarkerConstants {
-	
-	private static Map imageDescriptors;
-	
-	private static ImageRegistry imageRegistry = new ImageRegistry();
-	
-	private static MessageFormat line =
-		new MessageFormat(TaskListMessages.getString("TaskList.line")); //$NON-NLS-1$;
-		
-	private static MessageFormat lineAndLocation =
-		new MessageFormat(TaskListMessages.getString("TaskList.lineAndLocation")); //$NON-NLS-1$
-	
-	static {
-		createImageDescriptors();
-	}
-	
-	
-	/**
-	 * Don't allow instantiation.
-	 */
-	private MarkerUtil() {
-	}
-
-	/**
-	 * Creates an image descriptor for the image file referred to by the
-	 * given relative path (relative to the icons directory for the plug-in).
-	 */
-	static ImageDescriptor createImageDescriptor(String relativePath) {
-		String iconPath = "icons/full/";//$NON-NLS-1$
-		try {
-			URL URL_BASIC = TaskList.getPlugin().getDescriptor().getInstallURL();
-			URL url = new URL(URL_BASIC, iconPath + relativePath);
-			return ImageDescriptor.createFromURL(url);
-		} catch (MalformedURLException e) {
-			Assert.isTrue(false);
-			return null;
-		}
-	}
-
-	/**
-	 * Creates the map of image descriptors.
-	 */
-	static void createImageDescriptors() {
-		String LOCAL = "elcl16/";//$NON-NLS-1$
-		String LOCAL_DISABLED = "dlcl16/";//$NON-NLS-1$
-		String OBJ = "obj16/";//$NON-NLS-1$
-		
-		imageDescriptors = new HashMap(51);
-		imageDescriptors.put("header_complete", createImageDescriptor("obj16/header_complete.gif"));//$NON-NLS-2$//$NON-NLS-1$
-		imageDescriptors.put("header_priority", createImageDescriptor("obj16/header_priority.gif"));//$NON-NLS-2$//$NON-NLS-1$
-		imageDescriptors.put("task", 			createImageDescriptor(OBJ + "taskmrk_tsk.gif"));//$NON-NLS-2$//$NON-NLS-1$
-		imageDescriptors.put("error", 			createImageDescriptor(OBJ + "error_tsk.gif"));//$NON-NLS-2$//$NON-NLS-1$
-		imageDescriptors.put("warn", 			createImageDescriptor(OBJ + "warn_tsk.gif"));//$NON-NLS-2$//$NON-NLS-1$
-		imageDescriptors.put("info", 			createImageDescriptor(OBJ + "info_tsk.gif"));//$NON-NLS-2$//$NON-NLS-1$
-		imageDescriptors.put("hprio", 			createImageDescriptor(OBJ + "hprio_tsk.gif"));//$NON-NLS-2$//$NON-NLS-1$
-		imageDescriptors.put("lprio", 			createImageDescriptor(OBJ + "lprio_tsk.gif"));//$NON-NLS-2$//$NON-NLS-1$
-		imageDescriptors.put("complete_tsk", 	createImageDescriptor(OBJ + "complete_tsk.gif"));//$NON-NLS-2$//$NON-NLS-1$
-		imageDescriptors.put("incomplete_tsk",	createImageDescriptor(OBJ + "incomplete_tsk.gif"));//$NON-NLS-2$//$NON-NLS-1$
-		imageDescriptors.put("gotoobj", 		createImageDescriptor(LOCAL + "gotoobj_tsk.gif"));//$NON-NLS-2$//$NON-NLS-1$
-		imageDescriptors.put("addtsk", 			createImageDescriptor(LOCAL + "addtsk_tsk.gif"));//$NON-NLS-2$//$NON-NLS-1$
-		imageDescriptors.put("addtsk_disabled", createImageDescriptor(LOCAL_DISABLED + "addtsk_tsk.gif"));//$NON-NLS-2$//$NON-NLS-1$
-		imageDescriptors.put("showcomplete", 	createImageDescriptor(LOCAL + "showcomplete_tsk.gif"));//$NON-NLS-2$//$NON-NLS-1$
-		imageDescriptors.put("selected_mode", 	createImageDescriptor(LOCAL + "selected_mode.gif"));//$NON-NLS-2$//$NON-NLS-1$
-		imageDescriptors.put("selected_mode_disabled", createImageDescriptor(LOCAL_DISABLED + "selected_mode.gif"));//$NON-NLS-2$//$NON-NLS-1$
-		imageDescriptors.put("showchild_mode",	createImageDescriptor(LOCAL + "showchild_mode.gif"));//$NON-NLS-2$//$NON-NLS-1$
-		imageDescriptors.put("showchild_mode_disabled",	createImageDescriptor(LOCAL_DISABLED + "showchild_mode.gif"));//$NON-NLS-2$//$NON-NLS-1$
-		imageDescriptors.put("showerr_disabled", createImageDescriptor(LOCAL_DISABLED + "showerr_tsk.gif"));//$NON-NLS-2$//$NON-NLS-1$
-		imageDescriptors.put("showwarn_disabled", createImageDescriptor(LOCAL_DISABLED + "showwarn_tsk.gif"));//$NON-NLS-2$//$NON-NLS-1$
-		imageDescriptors.put("showtsk_disabled", createImageDescriptor(LOCAL_DISABLED + "showtsk_tsk.gif"));//$NON-NLS-2$//$NON-NLS-1$
-		imageDescriptors.put("filter", 			createImageDescriptor(LOCAL + "filter_ps.gif"));//$NON-NLS-2$//$NON-NLS-1$
-	}
-
-	/**
-	 * Returns the ending character offset of the given marker.
-	 */
-	public static int getCharEnd(IMarker marker) {
-		return marker.getAttribute(IMarker.CHAR_END, -1);
-	}
-
-	/**
-	 * Returns the starting character offset of the given marker.
-	 */
-	public static int getCharStart(IMarker marker) {
-		return marker.getAttribute(IMarker.CHAR_START, -1);
-	}
-
-	/**
-	 * Returns the icon to be used in the tasklist
-	 * for the complete state of a task. Returns null
-	 * for markers that are not tasks.
-	 */
-	public static Image getCompleteImage(IMarker marker) {
-		if (isMarkerType(marker, IMarker.TASK)) {
-			if (isComplete(marker))
-				return getImage("complete_tsk");//$NON-NLS-1$
-			else if (!isReadOnly(marker)) // don't show a check box for read-only tasks
-				return getImage("incomplete_tsk");//$NON-NLS-1$
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the text to be used for the complete state of a task. 
-	 * Returns the empty string for markers that are not tasks.
-	 */
-	public static String getCompleteText(IMarker marker) {
-		if (isMarkerType(marker, IMarker.TASK)) {
-			if (isComplete(marker)) 
-				return TaskListMessages.getString("TaskList.completed"); //$NON-NLS-1$
-			else	
-				return TaskListMessages.getString("TaskList.notCompleted"); //$NON-NLS-1$
-		}
-		return ""; //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns the text to be used for the kind of marker.
-	 */
-	public static String getKindText(IMarker marker) {
-		if (isMarkerType(marker, IMarker.TASK)) {
-			return TaskListMessages.getString("TaskList.task"); //$NON-NLS-1$
-		}
-		switch (getSeverity(marker)) {
-			case IMarker.SEVERITY_ERROR:
-				return TaskListMessages.getString("TaskList.error"); //$NON-NLS-1$
-			case IMarker.SEVERITY_WARNING:
-				return TaskListMessages.getString("TaskList.warning"); //$NON-NLS-1$
-			case IMarker.SEVERITY_INFO:
-				return TaskListMessages.getString("TaskList.info"); //$NON-NLS-1$
-		}
-		return ""; //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns the container name if it is defined, or empty string if not.
-	 */
-	public static String getContainerName(IMarker marker) {
-		IPath path = marker.getResource().getFullPath();
-		int n = path.segmentCount() - 1; // n is the number of segments in container, not path
-		if (n <= 0)
-			return ""; //$NON-NLS-1$
-		int len = 0;
-		for (int i = 0; i < n; ++i)
-			len += path.segment(i).length();
-		// account for /'s
-		if (n > 1)
-			len += n-1;
-		StringBuffer sb = new StringBuffer(len);
-		for (int i = 0; i < n; ++i) {
-			if (i != 0)
-				sb.append('/');
-			sb.append(path.segment(i));
-		}
-		return sb.toString();
-	}
-	
-	/**
-	 * Returns the image with the given key, or <code>null</code> if not found.
-	 */
-	static Image getImage(String key) {
-		Image image = (Image) imageRegistry.get(key);
-		if (image == null) {
-			ImageDescriptor desc = getImageDescriptor(key);
-			if (desc != null) {
-				image = desc.createImage(false);
-				if (image == null) {
-					System.err.println("TaskList: Error creating image for " + key);//$NON-NLS-1$
-				}
-				imageRegistry.put(key, image);
-			}
-		}
-		return image;
-	}
-
-	/**
-	 * Returns the image that should be used to visually represent
-	 * the marker, based on its type and priority.
-	 */
-	static public Image getImage(IMarker marker) {
-		if (isMarkerType(marker, IMarker.PROBLEM)) {
-			switch (getSeverity(marker)) {
-				case IMarker.SEVERITY_ERROR:
-					return getImage("error");//$NON-NLS-1$
-				case IMarker.SEVERITY_WARNING:
-					return getImage("warn");//$NON-NLS-1$
-				case IMarker.SEVERITY_INFO:
-					return getImage("info");//$NON-NLS-1$
-			}
-		}
-		else if (isMarkerType(marker, IMarker.TASK)) {
-			return getImage("task");//$NON-NLS-1$
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the image descriptor with the given key, or <code>null</code> if not found.
-	 */
-	static ImageDescriptor getImageDescriptor(String key) {
-		ImageDescriptor desc = (ImageDescriptor) imageDescriptors.get(key);
-		if (desc == null) {
-			System.err.println("TaskList: No image descriptor for " + key); //$NON-NLS-1$
-		}
-		return desc;
-	}
-
-	/**
-	 * Returns the text for the line and location column given the marker.
-	 */
-	public static String getLineAndLocation(IMarker marker) {
-		int lineNumber = getLineNumber(marker);
-		String location = getLocation(marker);
-		return getLineAndLocation(lineNumber, location);
-	}
-
-	/**
-	 * Returns the text for the line and location column given the line number and location text.
-	 */
-	public static String getLineAndLocation(int lineNumber, String location) {
-		if (lineNumber == -1) {
-			if (location.equals("")) {//$NON-NLS-1$
-				return "";//$NON-NLS-1$
-			}
-			else {
-				return location;
-			}
-		}
-		else {
-			if (location.equals("")) {//$NON-NLS-1$
-				return line.format(new Object[] { Integer.toString(lineNumber) });
-			}
-			else {
-				return lineAndLocation.format(new Object[] { Integer.toString(lineNumber), location });
-			}
-		}
-	}
-
-	/**
-	 * Returns the line number of the given marker.
-	 */
-	public static int getLineNumber(IMarker marker) {
-		return marker.getAttribute(IMarker.LINE_NUMBER, -1);
-	}
-
-	/**
-	 * Returns the text for the location field.
-	 */
-	public static String getLocation(IMarker marker) {
-		return marker.getAttribute(IMarker.LOCATION, "");//$NON-NLS-1$
-	}
-
-	/**
-	 * Returns the message attribute of the given marker,
-	 * or the empty string if the message attribute is not defined.
-	 */
-	public static String getMessage(IMarker marker) {
-		return marker.getAttribute(IMarker.MESSAGE, "");//$NON-NLS-1$
-	}
-
-	/**
-	 * Returns the numeric value of the given string, which is assumed to represent a numeric value.
-	 *
-	 * @return <code>true</code> if numeric, <code>false</code> if not
-	 */
-	static public int getNumericValue(String value) {
-		boolean negative = false;
-		int i = 0;
-		int len = value.length();
-		
-		// skip any leading '#'
-		// workaround for 1GCE69U: ITPJCORE:ALL - Java problems should not have '#' in location.
-		if (i < len && value.charAt(i) == '#') 
-			++i;
-	
-		if (i < len && value.charAt(i) == '-') {
-			negative = true;
-			++i;
-		}
-		
-		int result = 0;
-		while (i < len) {
-			int digit = Character.digit(value.charAt(i++), 10);
-			if (digit < 0) {
-				return result;
-			}
-			result = result * 10 + digit;
-		}
-		if (negative) {
-			result = -result;
-		}
-		return result;
-	}
-
-	/**
-	 * Returns the priority of the given marker.  Default is PRIORITY_NORMAL.
-	 */
-	public static int getPriority(IMarker marker) {
-		return marker.getAttribute(IMarker.PRIORITY, IMarker.PRIORITY_NORMAL);
-	}
-
-	/**
-	 * Returns an image that should visually represent marker's priority
-	 * in the tasklist.
-	 */
-	public static Image getPriorityImage(IMarker marker) {
-		switch (getPriority(marker)) {
-			case IMarker.PRIORITY_HIGH:
-				return getImage("hprio");//$NON-NLS-1$
-			case IMarker.PRIORITY_NORMAL:
-				return null;  // no image for normal priority
-			case IMarker.PRIORITY_LOW:
-				return getImage("lprio");//$NON-NLS-1$
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the text for the given marker's priority.
-	 */
-	public static String getPriorityText(IMarker marker) {
-		if (!isMarkerType(marker, IMarker.TASK))
-			return ""; //$NON-NLS-1$
-		
-		switch (getPriority(marker)) {
-			case IMarker.PRIORITY_HIGH:
-				return TaskListMessages.getString("TaskList.high"); //$NON-NLS-1$
-			case IMarker.PRIORITY_NORMAL:
-				return TaskListMessages.getString("TaskList.normal"); //$NON-NLS-1$
-			case IMarker.PRIORITY_LOW:
-				return TaskListMessages.getString("TaskList.low"); //$NON-NLS-1$
-		}
-		return ""; //$NON-NLS-1$		
-	}
-
-	/**
-	 * Implements IProvider interface by supporting a number of
-	 * properties required for visual representation of markers
-	 * in the tasklist.
-	 */
-	static public Object getProperty(Object object, String key) {
-		IMarker marker = (IMarker) object;
-		
-		// optimizations:
-		// - check properties needed for TaskListLabelProvider first,
-		//   then those needed for cell modifiers
-		// - use == instead of equals for efficiency
-		if (IBasicPropertyConstants.P_IMAGE == key) {
-			return getImage(marker);
-		}
-		if (IMarkerConstants.P_COMPLETE_IMAGE == key) {
-			return getCompleteImage(marker);
-		}
-		if (IMarkerConstants.P_PRIORITY_IMAGE == key) {
-			return getPriorityImage(marker);
-		}
-		if (IMarker.MESSAGE == key) {
-			return getMessage(marker);
-		}
-		if (IMarkerConstants.P_RESOURCE_NAME == key) {
-			return getResourceName(marker);
-		}
-		if (IMarkerConstants.P_CONTAINER_NAME == key) {
-			return getContainerName(marker);
-		}
-		if (IMarkerConstants.P_LINE_AND_LOCATION == key) {
-			return getLineAndLocation(marker);
-		}
-		if (IMarker.PRIORITY == key) {
-			// this property is used only by cell editor, where order is High, Normal, Low
-			return new Integer(IMarker.PRIORITY_HIGH-getPriority(marker));
-		}
-		if (IMarker.DONE == key) {
-			return isComplete(marker) ? Boolean.TRUE : Boolean.FALSE;
-		}
-		if (IBasicPropertyConstants.P_TEXT == key) {
-			return getMessage(marker);
-		}
-		return null;
-	}
-
-	/**
-	 * Returns name if it is defined, or
-	 * blank string if not.
-	 */
-	public static String getResourceName(IMarker marker) {
-		return marker.getResource().getName();
-	}
-
-	/**
-	 * Returns the severity of the given marker.  Default is SEVERITY_WARNING.
-	 */
-	public static int getSeverity(IMarker marker) {
-		return marker.getAttribute(IMarker.SEVERITY, IMarker.SEVERITY_WARNING);
-	}
-
-	/**
-	 * A helper method that returns true if the given
-	 * marker is marked as complete in the tasklist.
-	 * Only tasks can be complete.
-	 */
-	public static boolean isComplete(IMarker marker) {
-		return marker.getAttribute(IMarker.DONE, false);
-	}
-
-	/**
-	 * Returns whether the given marker is editable.
-	 * Only tasks which have not been marked as read-only are editable.
-	 */
-	public static boolean isEditable(IMarker marker) {
-		return isMarkerType(marker, IMarker.TASK) && !isReadOnly(marker);
-	}
-
-	/**
-	 * Returns whether the given marker is of the given type (either directly or indirectly).
-	 */
-	public static boolean isMarkerType(IMarker marker, String type) {
-		try {
-			return marker.isSubtypeOf(type);
-		}
-		catch (CoreException e) {
-			return false;
-		}
-	}
-
-	/**
-	 * Returns whether the given marker is read-only.
-	 */
-	public static boolean isReadOnly(IMarker marker) {
-		return !marker.getAttribute(IMarker.USER_EDITABLE, true);
-	}
-
-	/**
-	 * Returns the creation time of the marker as a string.
-	 */
-	public static String getCreationTime(IMarker marker) {
-		try {
-			return DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.MEDIUM).format(new Date(marker.getCreationTime()));
-		} catch (CoreException e) {
-			return null;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/NewTaskAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/NewTaskAction.java
deleted file mode 100644
index 7dc96d4..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/NewTaskAction.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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * This action creates a new task. If a resource is currently
- * present at the tasklist's input, this task will be
- * associated with it. If the tasklist is currently
- * observing all the markers in the workbench, the task
- * will not be associated with any resource.
- * <p>The newly created task will have low priority,
- * fixed description text and will not be subject to
- * sorting or filtering until its desciprion is being
- * changed for the first time. For this reason, new
- * tasks remain at the top of the task list
- * until modified. It is possible that the newly
- * created task dissapears after that if its
- * type or some other property causes it to
- * be filtered out.
- */
-class NewTaskAction extends TaskAction {
-	
-	/**
-	 * Creates the action.
-	 */
-	public NewTaskAction(TaskList tasklist, String id) {
-		super(tasklist, id);
-		WorkbenchHelp.setHelp(this, ITaskListHelpContextIds.NEW_TASK_ACTION);
-	}
-
-	/**
-	 * Opens the new task dialog and shows the newly created task when done.
-	 * The new task is created on the currently selected resource.
-	 */
-	public void run() {
-		TaskPropertiesDialog dialog = new TaskPropertiesDialog(getShell());
-		dialog.setResource(getTaskList().getResource());
-		int result = dialog.open();
-		if (result == Dialog.OK) {
-			showMarker(dialog.getMarker());
-		}
-	}
-
-	/**
-	 * Show the newly created marker.
-	 */
-	private void showMarker(final IMarker marker) {
-		if (marker == null) {
-			return;
-		}
-		if (getTaskList().shouldShow(marker)) {
-			// Need to do this in an asyncExec, even though we're in the UI thread here,
-			// since the task list updates itself with the addition in an asyncExec,
-			// which hasn't been processed yet.
-			getShell().getDisplay().asyncExec(new Runnable() {
-				public void run() {
-					getTaskList().setSelection(new StructuredSelection(marker), true);
-				}
-			});
-		}
-		else {
-			MessageDialog.openInformation(
-				getShell(),
-				TaskListMessages.getString("NewTask.notShownTitle"), //$NON-NLS-1$
-				TaskListMessages.getString("NewTask.notShownMsg")); //$NON-NLS-1$
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/PasteTaskAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/PasteTaskAction.java
deleted file mode 100644
index 889eb04..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/PasteTaskAction.java
+++ /dev/null
@@ -1,98 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import java.util.ArrayList;
-import java.util.Map;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.part.MarkerTransfer;
-
-/**
- * Standard action for pasting tasks from the clipboard.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * 
- * @since 2.0
- */
-class PasteTaskAction extends TaskAction {
-
-	/**
-	 * Creates a new action.
-	 */
-	public PasteTaskAction(TaskList tasklist, String id) {
-		super(tasklist, id);
-		WorkbenchHelp.setHelp(this, ITaskListHelpContextIds.PASTE_TASK_ACTION);
-	}
-
-	/**
-	 * Implementation of method defined on <code>IAction</code>.
-	 */
-	public void run() {
-		// Get the markers from the clipboard
-		MarkerTransfer transfer = MarkerTransfer.getInstance();
-		final IMarker[] markerData = (IMarker[])getTaskList().getClipboard().getContents(transfer);
-		
-		if (markerData == null) 
-			return;
-	
-	 	final ArrayList newMarkers = new ArrayList();
-	
-		try {
-			getTaskList().getWorkspace().run(new IWorkspaceRunnable() {
-				public void run(IProgressMonitor monitor) throws CoreException {
-					for (int i = 0; i < markerData.length; i++) {
-						// Only paste tasks (not problems)
-						if (!markerData[i].getType().equals(IMarker.TASK))
-							continue;
-							
-						// Paste to the same resource as the original
-						IResource resource = markerData[i].getResource();
-						Map attributes = markerData[i].getAttributes();
-						IMarker marker = resource.createMarker(IMarker.TASK);
-						marker.setAttributes(attributes);
-						newMarkers.add(marker);
-					}
-				}
-			}, null);
-		} catch (CoreException e) {
-			ErrorDialog.openError(
-				getShell(),
-				TaskListMessages.getString("PasteTask.errorMessage"), //$NON-NLS-1$
-				null,
-				e.getStatus());
-			return;
-		}
-	
-		// Need to do this in an asyncExec, even though we're in the UI thread here,
-		// since the task list updates itself with the addition in an asyncExec,
-		// which hasn't been processed yet.
-		// Must be done outside IWorkspaceRunnable above since notification for add is
-		// sent after IWorkspaceRunnable is run.
-		if (newMarkers.size() > 0) {
-			getShell().getDisplay().asyncExec(new Runnable() {
-				public void run() {
-					TaskList taskList = getTaskList();
-					taskList.setSelection(new StructuredSelection(newMarkers), true);	
-				}
-			});
-		}
-	}
-
-}
-
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/PurgeCompletedAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/PurgeCompletedAction.java
deleted file mode 100644
index b5db51b..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/PurgeCompletedAction.java
+++ /dev/null
@@ -1,80 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * This action deletes all the tasks found in the registry that
- * are marked as completed.
- */
-class PurgeCompletedAction extends TaskAction {
-
-	/**
-	 * Creates the action.
-	 */
-	public PurgeCompletedAction(TaskList tasklist, String id) {
-		super(tasklist, id);
-		WorkbenchHelp.setHelp(this, ITaskListHelpContextIds.PURGE_COMPLETED_TASK_ACTION);
-	}
-
-	/**
-	 * Fetches all the completed tasks in the workspace and deletes them.
-	 */
-	public void run() {
-		try {
-			IResource resource = getTaskList().getResource();
-			int depth = getTaskList().getResourceDepth();
-			IMarker[] tasks = resource.findMarkers(IMarker.TASK, true, depth);
-			final List completed = new ArrayList();
-			for (int i = 0; i < tasks.length; i++) {
-				IMarker task = tasks[i];
-				if (MarkerUtil.isComplete(task) && !MarkerUtil.isReadOnly(task)) {
-					completed.add(task);
-				}
-			}
-			// Check if there is anything to do
-			if (completed.size() == 0) {
-				MessageDialog.openInformation(
-					getShell(), 
-					TaskListMessages.getString("PurgeCompleted.title"),  //$NON-NLS-1$
-					TaskListMessages.getString("PurgeCompleted.noneCompleted"));  //$NON-NLS-1$
-				return;
-			}
-	
-			// Verify.
-			if (!MessageDialog
-				.openConfirm(
-					getShell(), 
-					TaskListMessages.getString("PurgeCompleted.title"),  //$NON-NLS-1$
-					TaskListMessages.format("PurgeCompleted.permanent", //$NON-NLS-1$
-						new Object[] { new Integer(completed.size()) } )
-					)) {
-				return;
-			}
-	
-			IMarker[] toDelete = new IMarker[completed.size()];
-			completed.toArray(toDelete);
-			getTaskList().getWorkspace().deleteMarkers(toDelete);
-		} catch (CoreException e) {
-			ErrorDialog.openError(getShell(), TaskListMessages.getString("PurgeCompleted.errorMessage"), null, e.getStatus()); //$NON-NLS-1$
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/RemoveTaskAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/RemoveTaskAction.java
deleted file mode 100644
index 4c11d4e..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/RemoveTaskAction.java
+++ /dev/null
@@ -1,78 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * This action removes the selected task(s) from the task list.
- * Only tasks can be removed. Problems can only disappear from
- * the task list when they are fixed in the associated code.
- */
-class RemoveTaskAction extends TaskAction {
-
-	/**
-	 * Creates the action.
-	 */
-	public RemoveTaskAction(TaskList tasklist, String id) {
-		super(tasklist, id);
-		WorkbenchHelp.setHelp(this, ITaskListHelpContextIds.REMOVE_TASK_ACTION);
-	}
-
-	/**
-	 * Removes all the tasks in the current selection from the task list.
-	 */
-	public void run() {
-		TaskList taskList = getTaskList();
-		TableViewer viewer = taskList.getTableViewer();
-		IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
-		if (selection.isEmpty()) {
-			return;
-		}
-		taskList.cancelEditing();
-		// get the index of the selected item which has focus
-		Table table = viewer.getTable();
-		int focusIndex = table.getSelectionIndex();
-		try {
-			List list = ((IStructuredSelection) selection).toList();
-			IMarker[] markers = new IMarker[list.size()];
-			list.toArray(markers);
-			// be sure to only invoke one workspace operation
-			taskList.getWorkspace().deleteMarkers(markers);
-			// set the selection to be the one which took the place of the one with focus
-			int count = table.getItemCount();
-			if (focusIndex < count) {
-				table.setSelection(focusIndex);
-			}
-			else if (count != 0) {
-				table.setSelection(count-1);
-			}
-			// update the viewer's selection, since setting the table selection does not notify the viewer
-			viewer.setSelection(viewer.getSelection(), true);
-			
-		} catch (CoreException e) {
-			ErrorDialog.openError(
-				getShell(),
-				TaskListMessages.getString("RemoveTask.errorMessage"), //$NON-NLS-1$
-				null,
-				e.getStatus());
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/ResolveMarkerAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/ResolveMarkerAction.java
deleted file mode 100644
index 890fc92..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/ResolveMarkerAction.java
+++ /dev/null
@@ -1,99 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import org.eclipse.core.resources.IMarker;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-import org.eclipse.ui.IMarkerResolution;
-import org.eclipse.ui.dialogs.MarkerResolutionSelectionDialog;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * This action displays a list of resolutions for the selected marker
- * 
- * @since 2.0
- */
-class ResolveMarkerAction extends TaskAction {
-
-	/**
-	 * Creates the action.
-	 */
-	protected ResolveMarkerAction(TaskList tasklist, String id) {
-		super(tasklist, id);
-		WorkbenchHelp.setHelp(this, ITaskListHelpContextIds.RESOLVE_MARKER_ACTION);
-	}
-	
-	/**
-	 * Returns whether this action should be enabled given the selection.
-	 */
-	public boolean shouldEnable(IStructuredSelection selection) {
-		if (selection.size() != 1)
-			return false;
-		IMarker marker = (IMarker) selection.getFirstElement();
-		if (marker == null)
-			return false;
-		return IDE.getMarkerHelpRegistry().hasResolutions(marker);
-	}
-	
-	/**
-	 * Displays a list of resolutions and performs the selection.
-	 */
-	public void run() {
-		IMarker marker = getMarker();
-		if (marker == null) {
-			return;
-		}
-		getTaskList().cancelEditing();
-		IMarkerResolution[] resolutions = getResolutions(marker);
-		if (resolutions.length == 0) {
-			MessageDialog.openInformation(
-				getShell(),
-				TaskListMessages.getString("Resolve.title"),  //$NON-NLS-1$
-				TaskListMessages.getString("Resolve.noResolutionsLabel")); //$NON-NLS-1$
-			return;
-		}	 
-		MarkerResolutionSelectionDialog d = new MarkerResolutionSelectionDialog(getShell(), resolutions);
-		if (d.open() != Dialog.OK)
-			return;
-		Object[] result = d.getResult();
-		if (result != null && result.length > 0)
-			((IMarkerResolution)result[0]).run(marker);			
-	}
-	
-	/**
-	 * Returns the resolutions for the given marker.
-	 *
-	 * @param the marker for which to obtain resolutions
-	 * @return the resolutions for the selected marker	
-	 */
-	private IMarkerResolution[] getResolutions(IMarker marker) {
-		return IDE.getMarkerHelpRegistry().getResolutions(marker);
-	}
-
-	/**
-	 * Returns the selected marker (may be <code>null</code>).
-	 * 
-	 * @return the selected marker
-	 */
-	private IMarker getMarker() {
-		IStructuredSelection selection = (IStructuredSelection)getTaskList().getSelection();
-		// only enable for single selection
-		if (selection.size() != 1)
-			return null;
-		return (IMarker)selection.getFirstElement();
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/SelectAllTasksAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/SelectAllTasksAction.java
deleted file mode 100644
index 1f031fd..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/SelectAllTasksAction.java
+++ /dev/null
@@ -1,40 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.ui.help.WorkbenchHelp;
- 
-/**
- * This action selects all tasks currently showing in the task list.
- */
-class SelectAllTasksAction extends TaskAction {
-
-	/**
-	 * Creates the action.
-	 */
-	protected SelectAllTasksAction(TaskList tasklist, String id) {
-		super(tasklist, id);
-		WorkbenchHelp.setHelp(this, ITaskListHelpContextIds.SELECT_ALL_TASKS_ACTION);
-	}
-
-	/**
-	 * Selects all resources in the view.
-	 */
-	public void run() {
-		getTaskList().cancelEditing();
-		TableViewer viewer = getTaskList().getTableViewer();
-		viewer.getTable().selectAll();
-		// force viewer selection change
-		viewer.setSelection(viewer.getSelection());
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskAction.java
deleted file mode 100644
index 4399f07..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskAction.java
+++ /dev/null
@@ -1,60 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * This is the base class of all the local actions used
- * in the task list view.
- */
-abstract class TaskAction extends Action {
-
-	private TaskList taskList;
-
-	/**
-	 * TaskAction constructor.
-	 */
-	protected TaskAction(TaskList tasklist, String id) {
-		super();
-		this.taskList = tasklist;
-		setId(id);
-	}
-
-	/**
-	 * Returns the shell to use within actions.
-	 */
-	protected Shell getShell() {
-		return taskList.getSite().getShell();
-	}
-
-	/**
-	 * Returns the task list viewer.
-	 */
-	protected TaskList getTaskList() {
-		return taskList;
-	}
-
-	/**
-	 * Stores the current state value of this toggle action
-	 * into the dialog store using action ID as a key.
-	 */
-	protected void storeValue() {
-		IDialogSettings workbenchSettings = TaskList.getPlugin().getDialogSettings();
-		IDialogSettings settings = workbenchSettings.getSection("TaskAction");//$NON-NLS-1$
-		if(settings == null)
-			settings = workbenchSettings.addNewSection("TaskAction");//$NON-NLS-1$
-		settings.put(getId(), isChecked());
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskList.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskList.java
deleted file mode 100644
index 45a5fa4..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskList.java
+++ /dev/null
@@ -1,1635 +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 Corporation - initial API and implementation 
- * 	Cagatay Kavukcuoglu <cagatayk@acm.org> - Filter for markers in same project
- *  Sebastian Davids <sdavids@gmx.de> - Reordered menu items	
-***********************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-
-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.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.CheckboxCellEditor;
-import org.eclipse.jface.viewers.ColumnLayoutData;
-import org.eclipse.jface.viewers.ColumnPixelData;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ComboBoxCellEditor;
-import org.eclipse.jface.viewers.IBasicPropertyConstants;
-import org.eclipse.jface.viewers.ICellModifier;
-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.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.OpenEvent;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.accessibility.ACC;
-import org.eclipse.swt.accessibility.AccessibleControlAdapter;
-import org.eclipse.swt.accessibility.AccessibleControlEvent;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.custom.StackLayout;
-import org.eclipse.swt.custom.TableEditor;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DragSourceAdapter;
-import org.eclipse.swt.dnd.DragSourceEvent;
-import org.eclipse.swt.dnd.DragSourceListener;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.events.HelpEvent;
-import org.eclipse.swt.events.HelpListener;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.part.CellEditorActionHandler;
-import org.eclipse.ui.part.IShowInSource;
-import org.eclipse.ui.part.IShowInTargetList;
-import org.eclipse.ui.part.MarkerTransfer;
-import org.eclipse.ui.part.ShowInContext;
-import org.eclipse.ui.part.ViewPart;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * Main class for the Task List view for displaying tasks and problem annotations
- * on resources, and for opening an editor on the resource when the user commands.
- * <p>
- * This standard view has id <code>"org.eclipse.ui.views.TaskList"</code>.
- * </p>
- * <p>
- * The workbench will automatically instantiate this class when a Task List
- * view is needed for a workbench window. This class is not intended
- * to be instantiated or subclassed by clients.
- * </p>
- */
-public class TaskList extends ViewPart {
-
-	private Table table;
-	private TaskSorter sorter;
-
-	private CellEditor descriptionEditor;
-	private TableViewer viewer;
-	private TasksFilter filter = new TasksFilter();
-	private IMemento memento;
-
-	private boolean markerLimitExceeded;
-	private Composite parent;
-	private StackLayout stackLayout = new StackLayout();
-	private Composite compositeMarkerLimitExceeded;
-
-	private CellEditorActionHandler editorActionHandler;
-	private TaskAction newTaskAction;
-	private TaskAction copyTaskAction;
-	private TaskAction pasteTaskAction;
-	private TaskAction removeTaskAction;
-	private TaskAction purgeCompletedAction;
-	private TaskAction gotoTaskAction;
-	private TaskAction selectAllAction;
-	private ResolveMarkerAction resolveMarkerAction;
-	private TaskAction filtersAction;
-	private MarkCompletedAction markCompletedAction;
-	private TaskAction propertiesAction;
-
-	//sort by action
-	private Action sortByCategoryAction;
-	private Action sortByCompletedAction;
-	private Action sortByPriorityAction;
-	private Action sortByDescriptionAction;
-	private Action sortByResourceAction;
-	private Action sortByContainerAction;
-	private Action sortByLocationAction;
-	private Action sortByCreationTimeAction;
-
-	private Action sortAscendingAction;
-	private Action sortDescendingAction;
-
-	private Clipboard clipboard;
-
-	private static String[] tableColumnProperties =
-		{
-			IBasicPropertyConstants.P_IMAGE,
-			IMarker.DONE,
-			IMarker.PRIORITY,
-			IMarker.MESSAGE,
-			IMarkerConstants.P_RESOURCE_NAME,
-			IMarkerConstants.P_CONTAINER_NAME,
-			IMarkerConstants.P_LINE_AND_LOCATION };
-
-	// Persistance tags.
-	private static final String TAG_COLUMN = "column"; //$NON-NLS-1$
-	private static final String TAG_NUMBER = "number"; //$NON-NLS-1$
-	private static final String TAG_WIDTH = "width"; //$NON-NLS-1$
-	private static final String TAG_FILTER = "filter"; //$NON-NLS-1$
-	private static final String TAG_SELECTION = "selection"; //$NON-NLS-1$
-	private static final String TAG_ID = "id"; //$NON-NLS-1$
-	private static final String TAG_MARKER = "marker"; //$NON-NLS-1$
-	private static final String TAG_RESOURCE = "resource"; //$NON-NLS-1$
-	private static final String TAG_TOP_INDEX = "topIndex"; //$NON-NLS-1$
-	private static final String TAG_SORT_SECTION = "TaskListSortState"; //$NON-NLS-1$
-
-	static class TaskListLabelProvider
-		extends LabelProvider
-		implements ITableLabelProvider {
-
-		private static String[] keys =
-			{
-				IBasicPropertyConstants.P_IMAGE,
-				IMarkerConstants.P_COMPLETE_IMAGE,
-				IMarkerConstants.P_PRIORITY_IMAGE,
-				IMarker.MESSAGE,
-				IMarkerConstants.P_RESOURCE_NAME,
-				IMarkerConstants.P_CONTAINER_NAME,
-				IMarkerConstants.P_LINE_AND_LOCATION };
-
-		public String getColumnText(Object element, int columnIndex) {
-			if (columnIndex >= 3 && columnIndex <= 6)
-				return (String) MarkerUtil.getProperty(
-					element,
-					keys[columnIndex]);
-			return ""; //$NON-NLS-1$
-		}
-		public Image getColumnImage(Object element, int columnIndex) {
-			if (columnIndex >= 0 && columnIndex <= 2) {
-				return (Image) MarkerUtil.getProperty(
-					element,
-					keys[columnIndex]);
-			}
-			return null;
-		}
-	}
-	
-	class SortByAction extends Action {
-		
-		private int column;
-		
-		public SortByAction(int column) {
-			this.column = column;
-		}
-
-		public void run() {
-			sorter.setTopPriority(column);
-			updateSortingState();
-			viewer.refresh();
-			IDialogSettings workbenchSettings = getPlugin().getDialogSettings();
-			IDialogSettings settings = workbenchSettings.getSection(TAG_SORT_SECTION);
-			if (settings == null)
-				settings = workbenchSettings.addNewSection(TAG_SORT_SECTION);
-			sorter.saveState(settings);
-		}
-	}
-
-	class SortDirectionAction extends Action {
-		
-		private int direction;
-		
-		public SortDirectionAction(int direction) {
-			this.direction = direction;
-		}
-
-		public void run() {
-			sorter.setTopPriorityDirection(direction);
-			updateSortingState();
-			viewer.refresh();
-			IDialogSettings workbenchSettings = getPlugin().getDialogSettings();
-			IDialogSettings settings = workbenchSettings.getSection(TAG_SORT_SECTION);
-			if (settings == null)
-				settings = workbenchSettings.addNewSection(TAG_SORT_SECTION);
-			sorter.saveState(settings);
-		}
-	}
-
-	private String columnHeaders[] = { TaskListMessages.getString("TaskList.headerIcon"), //$NON-NLS-1$
-		TaskListMessages.getString("TaskList.headerCompleted"), //$NON-NLS-1$
-		TaskListMessages.getString("TaskList.headerPriority"), //$NON-NLS-1$
-		TaskListMessages.getString("TaskList.headerDescription"), //$NON-NLS-1$
-		TaskListMessages.getString("TaskList.headerResource"), //$NON-NLS-1$
-		TaskListMessages.getString("TaskList.headerFolder"), //$NON-NLS-1$
-		TaskListMessages.getString("TaskList.headerLocation") //$NON-NLS-1$
-	};
-
-	private ColumnLayoutData columnLayouts[] =
-		{
-			new ColumnPixelData(19, false),
-			new ColumnPixelData(19, false),
-			new ColumnPixelData(19, false),
-			new ColumnWeightData(200),
-			new ColumnWeightData(75),
-			new ColumnWeightData(150),
-			new ColumnWeightData(60)};
-
-	private IPartListener partListener = new IPartListener() {
-		public void partActivated(IWorkbenchPart part) {
-			TaskList.this.partActivated(part);
-		}
-		public void partBroughtToTop(IWorkbenchPart part) {
-		}
-		public void partClosed(IWorkbenchPart part) {
-			TaskList.this.partClosed(part);
-		}
-		public void partDeactivated(IWorkbenchPart part) {
-		}
-		public void partOpened(IWorkbenchPart part) {
-		}
-	};
-	private ISelectionChangedListener focusSelectionChangedListener =
-		new ISelectionChangedListener() {
-		public void selectionChanged(SelectionChangedEvent event) {
-			TaskList.this.focusSelectionChanged(event);
-		}
-	};
-	private IResource[] focusResources;
-	private IWorkbenchPart focusPart;
-	private ISelectionProvider focusSelectionProvider;
-
-	private ICellModifier cellModifier = new ICellModifier() {
-		public Object getValue(Object element, String property) {
-			return MarkerUtil.getProperty(element, property);
-		}
-
-		public boolean canModify(Object element, String property) {
-			return MarkerUtil.isEditable((IMarker) element);
-		}
-
-		/**
-		 * Modifies a marker as a result of a successfully completed direct editing.
-		 */
-		public void modify(Object element, String property, Object value) {
-			Item item = (Item) element;
-			IMarker marker = (IMarker) item.getData();
-			setProperty(marker, property, value);
-		}
-	};
-
-	/**
-	 * Creates a new task list view.
-	 */
-	public TaskList() {
-		super();
-	}
-	void addDragSupport(Control control) {
-
-		int operations = DND.DROP_COPY;
-		Transfer[] transferTypes =
-			new Transfer[] {
-				MarkerTransfer.getInstance(),
-				TextTransfer.getInstance()};
-		DragSourceListener listener = new DragSourceAdapter() {
-			public void dragSetData(DragSourceEvent event) {
-				performDragSetData(event);
-			}
-			public void dragFinished(DragSourceEvent event) {
-			}
-		};
-		viewer.addDragSupport(operations, transferTypes, listener);
-	}
-	void cancelEditing() {
-		getTableViewer().cancelEditing();
-	}
-	void createColumns() {
-		/**
-			 * This class handles selections of the column headers.
-		 * Selection of the column header will cause resorting
-		 * of the shown tasks using that column's sorter.
-		 * Repeated selection of the header will toggle
-		 * sorting order (ascending versus descending).
-		 */
-		SelectionListener headerListener = new SelectionAdapter() {
-			/**
-			 * Handles the case of user selecting the
-			 * header area.
-			 * <p>If the column has not been selected previously,
-			 * it will set the sorter of that column to be
-			 * the current tasklist sorter. Repeated
-			 * presses on the same column header will
-			 * toggle sorting order (ascending/descending).
-			 */
-			public void widgetSelected(SelectionEvent e) {
-				// column selected - need to sort
-				int column = table.indexOf((TableColumn) e.widget);
-				if (column == sorter.getTopPriority())
-					sorter.reverseTopPriority();
-				else {
-					sorter.setTopPriority(column);
-				}
-				updateSortingState();
-				viewer.refresh();
-				IDialogSettings workbenchSettings = getPlugin().getDialogSettings();
-				IDialogSettings settings = workbenchSettings.getSection(TAG_SORT_SECTION);
-				if (settings == null)
-					settings = workbenchSettings.addNewSection(TAG_SORT_SECTION);
-				sorter.saveState(settings);
-			}
-		};
-
-		if (memento != null) {
-			//restore columns width
-			IMemento children[] = memento.getChildren(TAG_COLUMN);
-			if (children != null) {
-				for (int i = 0; i < children.length; i++) {
-					Integer val = children[i].getInteger(TAG_NUMBER);
-					if (val != null) {
-						int index = val.intValue();
-						val = children[i].getInteger(TAG_WIDTH);
-						if (val != null) {
-							columnLayouts[index] =
-								new ColumnPixelData(val.intValue(), true);
-						}
-					}
-				}
-			}
-		}
-
-		boolean text = "carbon".equals(SWT.getPlatform()); //$NON-NLS-1$
-		TableLayout layout = new TableLayout();
-		table.setLayout(layout);
-		table.setHeaderVisible(true);
-
-		for (int i = 0; i < columnHeaders.length; i++) {
-			TableColumn tc = new TableColumn(table, SWT.NONE, i);
-
-			if (!text && i == 1)
-				tc.setImage(MarkerUtil.getImage("header_complete")); //$NON-NLS-1$
-			else if (!text && i == 2)
-				tc.setImage(MarkerUtil.getImage("header_priority")); //$NON-NLS-1$
-			else 
-				tc.setText(columnHeaders[i]);
-
-			if (text && (i == 1 || i == 2)) {
-				tc.pack();
-				columnLayouts[i] = new ColumnPixelData(Math.max(19, tc.getWidth()), false);		
-			}
-			
-			tc.setResizable(columnLayouts[i].resizable);
-			layout.addColumnData(columnLayouts[i]);
-			tc.addSelectionListener(headerListener);
-		}
-	}
-	/**
-	 * Returns a string that summarizes the contents of the
-	 * given markers.
-	 */
-	static String createMarkerReport(IMarker[] markers) {
-		StringBuffer buf = new StringBuffer();
-		// Create the header
-		buf.append(TaskListMessages.getString("TaskList.reportKind")); //$NON-NLS-1$
-		buf.append("\t"); //$NON-NLS-1$
-		buf.append(TaskListMessages.getString("TaskList.reportStatus")); //$NON-NLS-1$
-		buf.append("\t"); //$NON-NLS-1$
-		buf.append(TaskListMessages.getString("TaskList.reportPriority")); //$NON-NLS-1$
-		buf.append("\t"); //$NON-NLS-1$
-		buf.append(TaskListMessages.getString("TaskList.headerDescription")); //$NON-NLS-1$
-		buf.append("\t"); //$NON-NLS-1$
-		buf.append(TaskListMessages.getString("TaskList.headerResource")); //$NON-NLS-1$
-		buf.append("\t"); //$NON-NLS-1$
-		buf.append(TaskListMessages.getString("TaskList.headerFolder")); //$NON-NLS-1$
-		buf.append("\t"); //$NON-NLS-1$
-		buf.append(TaskListMessages.getString("TaskList.headerLocation")); //$NON-NLS-1$
-		buf.append(System.getProperty("line.separator")); //$NON-NLS-1$
-
-		// Create the report for the markers
-		for (int i = 0; i < markers.length; i++) {
-			writeMarker(buf, markers[i]);
-		}
-		return buf.toString();
-	}
-
-	/**
-	 * Writes a string representation of the given marker to the buffer.
-	 */
-	static void writeMarker(StringBuffer buf, IMarker marker) {
-		buf.append(MarkerUtil.getKindText(marker));
-		buf.append("\t"); //$NON-NLS-1$
-		buf.append(MarkerUtil.getCompleteText(marker));
-		buf.append("\t"); //$NON-NLS-1$
-		buf.append(MarkerUtil.getPriorityText(marker));
-		buf.append("\t"); //$NON-NLS-1$
-		buf.append(MarkerUtil.getMessage(marker));
-		buf.append("\t"); //$NON-NLS-1$
-		buf.append(MarkerUtil.getResourceName(marker));
-		buf.append("\t"); //$NON-NLS-1$
-		buf.append(MarkerUtil.getContainerName(marker));
-		buf.append("\t"); //$NON-NLS-1$
-		buf.append(MarkerUtil.getLineAndLocation(marker));
-		buf.append(System.getProperty("line.separator")); //$NON-NLS-1$
-	}
-
-	/* package */
-	boolean isMarkerLimitExceeded() {
-		return markerLimitExceeded;
-	}
-
-	/* package */
-	void setMarkerLimitExceeded(boolean markerLimitExceeded) {
-		this.markerLimitExceeded = markerLimitExceeded;
-
-		if (markerLimitExceeded) {
-			stackLayout.topControl = compositeMarkerLimitExceeded;
-		} else {
-			stackLayout.topControl = table;
-		}
-
-		parent.layout();
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IWorkbenchPart.
-	 */
-	public void createPartControl(Composite parent) {
-		//	long t = System.currentTimeMillis();
-		createPartControl0(parent);
-		//	t = System.currentTimeMillis() - t;
-		//	System.out.println("TaskList.createPartControl: " + t + "ms");
-	}
-
-	private void createPartControl0(Composite parent) {
-		this.parent = parent;
-		clipboard = new Clipboard(parent.getDisplay());
-		createTable(parent);
-		viewer = new TableViewer(table);
-		viewer.setUseHashlookup(true);
-		createColumns();
-		makeActions();
-		fillActionBars();
-		addDragSupport(table);
-
-		compositeMarkerLimitExceeded = new Composite(parent, SWT.NONE);
-		compositeMarkerLimitExceeded.setLayout(new GridLayout());
-		Label labelMarkerLimitExceeded =
-			new Label(compositeMarkerLimitExceeded, SWT.WRAP);
-		labelMarkerLimitExceeded.setText(TaskListMessages.getString("TaskList.markerLimitExceeded")); //$NON-NLS-1$
-		parent.setLayout(stackLayout);
-		setMarkerLimitExceeded(false);
-
-		viewer.setContentProvider(new TaskListContentProvider(this));
-		viewer.setLabelProvider(new TaskListLabelProvider());
-		if (memento != null) {
-			//restore filter
-			IMemento filterMem = memento.getChild(TAG_FILTER);
-			if (filterMem != null)
-				getFilter().restoreState(filterMem);
-		}
-		
-		sorter = new TaskSorter();
-		IDialogSettings workbenchSettings = getPlugin().getDialogSettings();
-		IDialogSettings settings = workbenchSettings.getSection(TAG_SORT_SECTION);
-		sorter.restoreState(settings);
-		viewer.setSorter(sorter);
-			
-		//update the menu to indicate how task are currently sorted
-		updateSortingState();
-		viewer.setInput(getWorkspace().getRoot());
-		viewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				TaskList.this.selectionChanged(event);
-			}
-		});
-		viewer.addOpenListener(new IOpenListener() {
-			public void open(OpenEvent event) {
-				gotoTaskAction.run();
-			}
-		});
-		viewer.getControl().addKeyListener(new KeyAdapter() {
-			public void keyPressed(KeyEvent e) {
-				handleKeyPressed(e);
-			}
-		});
-
-		//Add in some accessibility support to supplement the description that we already 
-		//get from the SWT table.
-		viewer
-			.getControl()
-			.getAccessible()
-			.addAccessibleControlListener(new AccessibleControlAdapter() {
-
-			/* (non-Javadoc)
-			 * @see org.eclipse.swt.accessibility.AccessibleControlListener#getValue(org.eclipse.swt.accessibility.AccessibleControlEvent)
-			 */
-			public void getValue(AccessibleControlEvent e) {
-
-				int childIndex = e.childID;
-
-				if (childIndex == ACC.CHILDID_SELF) {
-					super.getValue(e);
-					return;
-				}
-				Object item = viewer.getElementAt(childIndex);
-				if (item instanceof IMarker) {
-					IMarker marker = (IMarker) item;
-
-					//If it is editable all we need is completeness
-					// the rest is found by the table accessibility
-					if (MarkerUtil.isEditable(marker))
-						e.result = MarkerUtil.getCompleteText(marker);
-					else
-						//Otherwise all it needs is severity
-						e.result = MarkerUtil.getKindText(marker);
-
-				} else {
-					super.getValue(e);
-					return;
-				}
-
-			}
-
-		});
-
-		CellEditor editors[] = new CellEditor[columnHeaders.length];
-		editors[1] = new CheckboxCellEditor(table);
-		String[] priorities = new String[] { TaskListMessages.getString("TaskList.high"), //$NON-NLS-1$
-			TaskListMessages.getString("TaskList.normal"), //$NON-NLS-1$
-			TaskListMessages.getString("TaskList.low") //$NON-NLS-1$
-		};
-		editors[2] = new ComboBoxCellEditor(table, priorities, SWT.READ_ONLY);
-		editors[3] = descriptionEditor = new TextCellEditor(table);
-		viewer.setCellEditors(editors);
-		viewer.setCellModifier(cellModifier);
-		viewer.setColumnProperties(tableColumnProperties);
-
-		// Configure the context menu to be lazily populated on each pop-up.
-		MenuManager menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$
-		menuMgr.setRemoveAllWhenShown(true);
-		menuMgr.addMenuListener(new IMenuListener() {
-			public void menuAboutToShow(IMenuManager manager) {
-				TaskList.this.fillContextMenu(manager);
-			}
-		});
-		Menu menu = menuMgr.createContextMenu(table);
-		table.setMenu(menu);
-		// Be sure to register it so that other plug-ins can add actions.
-		getSite().registerContextMenu(menuMgr, viewer);
-
-		// Track selection in the page.
-		getSite().getPage().addPartListener(partListener);
-
-		// Add global action handlers.
-		editorActionHandler =
-			new CellEditorActionHandler(getViewSite().getActionBars());
-		editorActionHandler.addCellEditor(descriptionEditor);
-		editorActionHandler.setCopyAction(copyTaskAction);
-		editorActionHandler.setPasteAction(pasteTaskAction);
-		editorActionHandler.setDeleteAction(removeTaskAction);
-		editorActionHandler.setSelectAllAction(selectAllAction);
-
-		getViewSite().getActionBars().setGlobalActionHandler(
-			ActionFactory.PROPERTIES.getId(),
-			propertiesAction);
-
-		getSite().setSelectionProvider(viewer);
-
-		if (memento != null)
-			restoreState(memento);
-		memento = null;
-
-		// Set help on the view itself
-		viewer.getControl().addHelpListener(new HelpListener() {
-			/*
-			 * @see HelpListener#helpRequested(HelpEvent)
-			 */
-			public void helpRequested(HelpEvent e) {
-				String contextId = null;
-				// See if there is a context registered for the current selection
-				IMarker marker =
-					(IMarker) ((IStructuredSelection) getSelection())
-						.getFirstElement();
-				if (marker != null) {
-					contextId = IDE.getMarkerHelpRegistry().getHelp(marker);
-				}
-
-				if (contextId == null)
-					contextId = ITaskListHelpContextIds.TASK_LIST_VIEW;
-
-				WorkbenchHelp.displayHelp(contextId);
-			}
-		});
-
-		// Prime the status line and title.
-		updateStatusMessage();
-		updateTitle();
-	}
-	/**
-	 * Creates the table control.
-	 */
-	void createTable(Composite parent) {
-		table =
-			new Table(
-				parent,
-				SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION);
-		table.setLinesVisible(true);
-		//table.setLayout(new TableLayout());
-
-		new TableEditor(table);
-	}
-	/* (non-Javadoc)
-	 * Method declared on IWorkbenchPart.
-	 */
-	public void dispose() {
-		super.dispose();
-		getSite().getPage().removePartListener(partListener);
-		if (focusSelectionProvider != null) {
-			focusSelectionProvider.removeSelectionChangedListener(
-				focusSelectionChangedListener);
-			focusSelectionProvider = null;
-		}
-		focusPart = null;
-		if (editorActionHandler != null) {
-			editorActionHandler.dispose();
-			editorActionHandler = null;
-		}
-		if (clipboard != null)
-			clipboard.dispose();
-	}
-	/**
-	 * Activates the editor on the given marker.
-	 */
-	public void edit(IMarker marker) {
-		viewer.editElement(marker, 3);
-	}
-	/**
-	 * Fills the local tool bar and menu manager with actions.
-	 */
-	void fillActionBars() {
-		IActionBars actionBars = getViewSite().getActionBars();
-		IMenuManager menu = actionBars.getMenuManager();
-		IMenuManager submenu = new MenuManager(TaskListMessages.getString("SortByMenu.text")); //$NON-NLS-1$
-
-		menu.add(submenu);
-		submenu.add(sortByCategoryAction);
-		submenu.add(sortByCompletedAction);
-		submenu.add(sortByPriorityAction);
-		submenu.add(sortByDescriptionAction);
-		submenu.add(sortByResourceAction);
-		submenu.add(sortByContainerAction);
-		submenu.add(sortByLocationAction);
-		submenu.add(sortByCreationTimeAction);
-		submenu.add(new Separator());
-		submenu.add(sortAscendingAction);
-		submenu.add(sortDescendingAction);
-
-		menu.add(filtersAction);
-
-		IToolBarManager toolBar = actionBars.getToolBarManager();
-		toolBar.add(newTaskAction);
-		toolBar.add(removeTaskAction);
-		toolBar.add(filtersAction);
-	}
-	/**
-	 * Contributes actions to the pop-up menu.
-	 */
-	void fillContextMenu(IMenuManager menu) {
-		// update enabled state for actions that aren't updated in selectionChanged
-		IStructuredSelection selection = (IStructuredSelection) getSelection();
-		markCompletedAction.setEnabled(
-			markCompletedAction.shouldEnable(selection));
-		resolveMarkerAction.setEnabled(
-			resolveMarkerAction.shouldEnable(selection));
-		
-		// add the actions to the menu
-		menu.add(newTaskAction);
-		menu.add(gotoTaskAction);
-		menu.add(new Separator());
-		menu.add(copyTaskAction);
-		menu.add(pasteTaskAction);
-		menu.add(removeTaskAction);
-		menu.add(new Separator());
-		menu.add(markCompletedAction);
-		menu.add(purgeCompletedAction);
-		menu.add(new Separator());
-		menu.add(resolveMarkerAction);
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS + "-end")); //$NON-NLS-1$
-		menu.add(propertiesAction);
-	}
-	/**
-	 * The filter settings have changed.
-	 * Refreshes the viewer and title bar.
-	 */
-	void filterChanged() {
-
-		BusyIndicator
-			.showWhile(
-				viewer.getControl().getShell().getDisplay(),
-				new Runnable() {
-			public void run() {
-				// Filter has already been updated by dialog; just refresh.
-				// Don't need to update labels for existing elements 
-				// since changes to filter settings don't affect them.
-				viewer.getControl().setRedraw(false);
-				viewer.refresh(false);
-				viewer.getControl().setRedraw(true);
-				// update after refresh since the content provider caches summary info
-				updateStatusMessage();
-				updateTitle();
-			}
-		});
-
-	}
-	void focusSelectionChanged(SelectionChangedEvent event) {
-		updateFocusResource(event.getSelection());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		if (adapter == IShowInSource.class) {
-			return new IShowInSource() {
-				public ShowInContext getShowInContext() {
-					return new ShowInContext(null, getSelection());
-				}
-			};
-		}
-		if (adapter == IShowInTargetList.class) {
-			return new IShowInTargetList() {
-				public String[] getShowInTargetIds() {
-					return new String[] { IPageLayout.ID_RES_NAV };
-				}
-
-			};
-		}
-		return super.getAdapter(adapter);
-	}
-
-	/**
-	 * Returns a clipboard for cut/copy/paste actions.
-	 * <p>
-	 * May only be called after this part's viewer has been created.
-	 * The clipboard is disposed when this part is disposed.
-	 * </p>
-	 * @return a clipboard
-	 * @since 2.0
-	 */
-	/*package*/
-	Clipboard getClipboard() {
-		return clipboard;
-	}
-
-	/**
-	 * Returns the filter for the viewer.
-	 */
-	TasksFilter getFilter() {
-		return filter;
-	}
-
-	/**
-	 * Returns the UI plugin for the task list.
-	 */
-	static AbstractUIPlugin getPlugin() {
-		return (AbstractUIPlugin) Platform.getPlugin(PlatformUI.PLUGIN_ID);
-	}
-	/**
-	 * Returns the resource for which the task list is showing tasks.
-	 *
-	 * @return the resource, possibly the workspace root
-	 */
-	public IResource getResource() {
-		if (showSelections()) {
-			if (focusResources != null
-				&& focusResources.length >= 1
-				&& focusResources[0] != null) {
-				return focusResources[0];
-			}
-		}
-
-		return getWorkspace().getRoot();
-	}
-
-	public IResource[] getResources() {
-		if (showSelections()) {
-			if (focusResources != null) {
-				return focusResources;
-			}
-		}
-
-		return new IResource[] { getWorkspace().getRoot()};
-	}
-
-	/**
-	 * Returns the resource depth which the task list is using to show tasks.
-	 *
-	 * @return an <code>IResource.DEPTH_*</code> constant
-	 */
-	int getResourceDepth() {
-		if (showSelections() && !showChildrenHierarchy())
-			return IResource.DEPTH_ZERO;
-		else
-			return IResource.DEPTH_INFINITE;
-	}
-	/**
-	 * API method which returns the current selection.
-	 *
-	 * @return the current selection (element type: <code>IMarker</code>)
-	 */
-	public ISelection getSelection() {
-		return viewer.getSelection();
-	}
-	/**
-	 * Returns the message to display in the status line.
-	 */
-	String getStatusMessage(IStructuredSelection selection) {
-		if (selection != null && selection.size() == 1) {
-			IMarker marker = (IMarker) selection.getFirstElement();
-			return MarkerUtil.getMessage(marker);
-		}
-		
-		TaskListContentProvider provider = (TaskListContentProvider) viewer.getContentProvider();
-		
-		if (selection != null && selection.size() > 1) {
-			return provider.getStatusSummarySelected(selection);
-		} else {
-			return provider.getStatusSummaryVisible();
-		}
-	}
-	/**
-	 * When created, new task instance is cached in
-	 * order to keep it at the top of the list until
-	 * first edited. This method returns it, or
-	 * null if there is no task instance pending
-	 * for first editing.
-	 */
-	TableViewer getTableViewer() {
-		return viewer;
-	}
-	/**
-	 * Returns the workspace.
-	 */
-	IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-	/**
-	 * Handles key events in viewer.
-	 */
-	void handleKeyPressed(KeyEvent event) {
-		if (event.character == SWT.DEL
-			&& event.stateMask == 0
-			&& removeTaskAction.isEnabled())
-			removeTaskAction.run();
-	}
-	/* (non-Javadoc)
-	 * Method declared on IViewPart.
-	 */
-	public void init(IViewSite site, IMemento memento)
-		throws PartInitException {
-		super.init(site, memento);
-		this.memento = memento;
-	}
-
-	/**
-	 * Returns whether we are interested in markers on the given resource.
-	 */
-	boolean checkResource(IResource resource) {
-		if (!showSelections()) {
-			return true;
-		}
-
-		IResource[] resources = getResources();
-		IResource resource2;
-
-		if (showOwnerProject()) {
-			IProject project;
-
-			for (int i = 0, l = resources.length; i < l; i++) {
-				resource2 = resources[i];
-
-				if (resource2 == null) {
-					return true;
-				} else {
-					project = resource2.getProject();
-
-					if (project == null || project.equals(resource.getProject()))
-						return true;
-				}
-			}
-		}
-
-		if (showChildrenHierarchy()) {
-			for (int i = 0, l = resources.length; i < l; i++) {
-				resource2 = resources[i];
-
-				if (resource2 != null && resource2.getFullPath().isPrefixOf(resource.getFullPath()))
-					return true;
-			}
-		} else 
-			for (int i = 0, l = resources.length; i < l; i++) {
-				resource2 = resources[i];
-
-				if (resource.equals(resource2))
-					return true;
-			}
-
-		return false;
-	}
-
-	/**
-	 * Returns whether the given marker should be shown,
-	 * given the current filter settings.
-	 */
-	boolean shouldShow(IMarker marker) {
-		return checkResource(marker.getResource())
-			&& getFilter().select(marker);
-	}
-
-	/**
-	 * Makes actions used in the local tool bar and
-	 * popup menu.
-	 */
-	void makeActions() {
-		ISharedImages sharedImages = PlatformUI.getWorkbench().getSharedImages();
-		
-		// goto
-		gotoTaskAction = new GotoTaskAction(this, "gotoFile"); //$NON-NLS-1$
-		gotoTaskAction.setText(TaskListMessages.getString("GotoTask.text")); //$NON-NLS-1$
-		gotoTaskAction.setToolTipText(TaskListMessages.getString("GotoTask.tooltip")); //$NON-NLS-1$
-		gotoTaskAction.setImageDescriptor(MarkerUtil.getImageDescriptor("gotoobj")); //$NON-NLS-1$
-		gotoTaskAction.setEnabled(false);
-
-		// new task
-		newTaskAction = new NewTaskAction(this, "newTask"); //$NON-NLS-1$
-		newTaskAction.setText(TaskListMessages.getString("NewTask.text")); //$NON-NLS-1$
-		newTaskAction.setToolTipText(TaskListMessages.getString("NewTask.tooltip")); //$NON-NLS-1$
-		newTaskAction.setImageDescriptor(MarkerUtil.getImageDescriptor("addtsk")); //$NON-NLS-1$
-		newTaskAction.setDisabledImageDescriptor(MarkerUtil.getImageDescriptor("addtsk_disabled")); //$NON-NLS-1$
-
-		// copy task
-		copyTaskAction = new CopyTaskAction(this, "copy"); //$NON-NLS-1$
-		copyTaskAction.setText(TaskListMessages.getString("CopyTask.text")); //$NON-NLS-1$
-		copyTaskAction.setToolTipText(TaskListMessages.getString("CopyTask.tooltip")); //$NON-NLS-1$
-		copyTaskAction.setEnabled(false);
-
-		// paste task
-		pasteTaskAction = new PasteTaskAction(this, "paste"); //$NON-NLS-1$
-		pasteTaskAction.setText(TaskListMessages.getString("PasteTask.text")); //$NON-NLS-1$
-		pasteTaskAction.setToolTipText(TaskListMessages.getString("PasteTask.tooltip")); //$NON-NLS-1$
-		pasteTaskAction.setEnabled(false);
-
-		// remove task
-		removeTaskAction = new RemoveTaskAction(this, "delete"); //$NON-NLS-1$
-		removeTaskAction.setText(TaskListMessages.getString("RemoveTask.text")); //$NON-NLS-1$
-		removeTaskAction.setToolTipText(TaskListMessages.getString("RemoveTask.tooltip")); //$NON-NLS-1$
-		removeTaskAction.setImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_DELETE));
-		removeTaskAction.setDisabledImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_DELETE_DISABLED));
-		removeTaskAction.setEnabled(false);
-
-		//mark completed task
-		markCompletedAction = new MarkCompletedAction(this, "markCompleted"); //$NON-NLS-1$
-		markCompletedAction.setText(TaskListMessages.getString("MarkCompleted.text")); //$NON-NLS-1$
-		markCompletedAction.setToolTipText(TaskListMessages.getString("MarkCompleted.tooltip")); //$NON-NLS-1$
-		markCompletedAction.setEnabled(false);
-
-		//delete completed task
-		purgeCompletedAction = new PurgeCompletedAction(this, "deleteCompleted"); //$NON-NLS-1$
-		purgeCompletedAction.setText(TaskListMessages.getString("PurgeCompleted.text")); //$NON-NLS-1$
-		purgeCompletedAction.setToolTipText(TaskListMessages.getString("PurgeCompleted.tooltip")); //$NON-NLS-1$
-		purgeCompletedAction.setImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_DELETE));
-		purgeCompletedAction.setEnabled(true);
-
-		// select all
-		selectAllAction = new SelectAllTasksAction(this, "selectAll"); //$NON-NLS-1$
-		selectAllAction.setText(TaskListMessages.getString("SelectAll.text")); //$NON-NLS-1$
-		selectAllAction.setToolTipText(TaskListMessages.getString("SelectAll.tooltip")); //$NON-NLS-1$
-
-		// resolutions
-		resolveMarkerAction = new ResolveMarkerAction(this, "resolve"); //$NON-NLS-1$
-		resolveMarkerAction.setText(TaskListMessages.getString("Resolve.text")); //$NON-NLS-1$
-		resolveMarkerAction.setToolTipText(TaskListMessages.getString("Resolve.tooltip")); //$NON-NLS-1$
-		resolveMarkerAction.setEnabled(false);
-
-		// Sort by ->	
-		sortByCategoryAction = new SortByAction(TaskSorter.TYPE);
-		sortByCategoryAction.setText(TaskListMessages.getString("SortByCategory.text")); //$NON-NLS-1$
-		sortByCategoryAction.setToolTipText(TaskListMessages.getString("SortByCategory.tooltip")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(sortByCategoryAction, ITaskListHelpContextIds.TASK_SORT_TYPE_ACTION);
-
-		sortByCompletedAction = new SortByAction(TaskSorter.COMPLETION);
-		sortByCompletedAction.setText(TaskListMessages.getString("SortByCompleted.text")); //$NON-NLS-1$
-		sortByCompletedAction.setToolTipText(TaskListMessages.getString("SortByCompleted.tooltip")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(sortByCompletedAction, ITaskListHelpContextIds.TASK_SORT_COMPLETED_ACTION);
-
-		sortByPriorityAction = new SortByAction(TaskSorter.PRIORITY);
-		sortByPriorityAction.setText(TaskListMessages.getString("SortByPriority.text")); //$NON-NLS-1$
-		sortByPriorityAction.setToolTipText(TaskListMessages.getString("SortByPriority.tooltip")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(sortByPriorityAction, ITaskListHelpContextIds.TASK_SORT_PRIORITY_ACTION);
-
-		sortByDescriptionAction = new SortByAction(TaskSorter.DESCRIPTION);
-		sortByDescriptionAction.setText(TaskListMessages.getString("SortByDescription.text")); //$NON-NLS-1$
-		sortByDescriptionAction.setToolTipText(TaskListMessages.getString("SortByDescription.tooltip")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(sortByDescriptionAction, ITaskListHelpContextIds.TASK_SORT_DESCRIPTION_ACTION);
-
-		sortByResourceAction = new SortByAction(TaskSorter.RESOURCE);
-		sortByResourceAction.setText(TaskListMessages.getString("SortByResource.text")); //$NON-NLS-1$
-		sortByResourceAction.setToolTipText(TaskListMessages.getString("SortByResource.tooltip")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(sortByResourceAction, ITaskListHelpContextIds.TASK_SORT_RESOURCE_ACTION);
-
-		sortByContainerAction = new SortByAction(TaskSorter.FOLDER);
-		sortByContainerAction.setText(TaskListMessages.getString("SortByContainer.text")); //$NON-NLS-1$
-		sortByContainerAction.setToolTipText(TaskListMessages.getString("SortByContainer.tooltip")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(sortByContainerAction, ITaskListHelpContextIds.TASK_SORT_FOLDER_ACTION);
-
-		sortByLocationAction = new SortByAction(TaskSorter.LOCATION);
-		sortByLocationAction.setText(TaskListMessages.getString("SortByLocation.text")); //$NON-NLS-1$
-		sortByLocationAction.setToolTipText(TaskListMessages.getString("SortByLocation.tooltip")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(sortByLocationAction, ITaskListHelpContextIds.TASK_SORT_LOCATION_ACTION);
-
-		sortByCreationTimeAction = new SortByAction(TaskSorter.CREATION_TIME);
-		sortByCreationTimeAction.setText(TaskListMessages.getString("SortByCreationTime.text")); //$NON-NLS-1$
-		sortByCreationTimeAction.setToolTipText(TaskListMessages.getString("SortByCreationTime.tooltip")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(sortByCreationTimeAction, ITaskListHelpContextIds.TASK_SORT_CREATION_TIME_ACTION);
-
-		sortAscendingAction = new SortDirectionAction(TaskSorter.ASCENDING);
-		sortAscendingAction.setText(TaskListMessages.getString("SortAscending.text")); //$NON-NLS-1$
-		sortAscendingAction.setToolTipText(TaskListMessages.getString("SortAscending.tooltip")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(sortAscendingAction, ITaskListHelpContextIds.TASK_SORT_ASCENDING_ACTION);
-
-		sortDescendingAction = new SortDirectionAction(TaskSorter.DESCENDING);
-		sortDescendingAction.setText(TaskListMessages.getString("SortDescending.text")); //$NON-NLS-1$
-		sortDescendingAction.setToolTipText(TaskListMessages.getString("SortDescending.tooltip")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(sortDescendingAction, ITaskListHelpContextIds.TASK_SORT_DESCENDING_ACTION);
-
-		// filters...
-		filtersAction = new FiltersAction(this, "filter"); //$NON-NLS-1$
-		filtersAction.setText(TaskListMessages.getString("Filters.text")); //$NON-NLS-1$
-		filtersAction.setToolTipText(TaskListMessages.getString("Filters.tooltip")); //$NON-NLS-1$
-		filtersAction.setImageDescriptor(MarkerUtil.getImageDescriptor("filter")); //$NON-NLS-1$
-
-		// properties
-		propertiesAction = new TaskPropertiesAction(this, "properties"); //$NON-NLS-1$
-		propertiesAction.setText(TaskListMessages.getString("Properties.text")); //$NON-NLS-1$
-		propertiesAction.setToolTipText(TaskListMessages.getString("Properties.tooltip")); //$NON-NLS-1$
-		propertiesAction.setEnabled(false);
-	}
-	/**
-	 * The markers have changed.  Update the status line and title bar.
-	 */
-	void markersChanged() {
-		updateStatusMessage();
-		updateTitle();
-	}
-
-	void partActivated(IWorkbenchPart part) {
-		if (part == focusPart)
-			return;
-
-		if (focusSelectionProvider != null) {
-			focusSelectionProvider.removeSelectionChangedListener(
-				focusSelectionChangedListener);
-			focusSelectionProvider = null;
-		}
-
-		focusPart = part;
-		if (focusPart != null) {
-			focusSelectionProvider = focusPart.getSite().getSelectionProvider();
-			if (focusSelectionProvider != null) {
-				focusSelectionProvider.addSelectionChangedListener(
-					focusSelectionChangedListener);
-				updateFocusResource(focusSelectionProvider.getSelection());
-			} else {
-				updateFocusResource(null);
-			}
-		}
-
-	}
-	void partClosed(IWorkbenchPart part) {
-		if (part != focusPart)
-			return;
-		if (focusSelectionProvider != null) {
-			focusSelectionProvider.removeSelectionChangedListener(
-				focusSelectionChangedListener);
-			focusSelectionProvider = null;
-		}
-		focusPart = null;
-	}
-	/**
-	 * The user is attempting to drag marker data.  Add the appropriate
-	 * data to the event depending on the transfer type.
-	 */
-	void performDragSetData(DragSourceEvent event) {
-		if (MarkerTransfer.getInstance().isSupportedType(event.dataType)) {
-			event.data =
-				((IStructuredSelection) viewer.getSelection()).toArray();
-			return;
-		}
-		if (TextTransfer.getInstance().isSupportedType(event.dataType)) {
-			Object[] data =
-				((IStructuredSelection) viewer.getSelection()).toArray();
-			if (data != null) {
-				IMarker[] markers = new IMarker[data.length];
-				for (int i = 0; i < markers.length; i++) {
-					markers[i] = (IMarker) data[i];
-				}
-				event.data = createMarkerReport(markers);
-			}
-			return;
-		}
-	}
-	void restoreState(IMemento memento) {
-		//restore selection
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		IMemento selectionMem = memento.getChild(TAG_SELECTION);
-		if (selectionMem != null) {
-			ArrayList selectionList = new ArrayList();
-			IMemento markerMems[] = selectionMem.getChildren(TAG_MARKER);
-			for (int i = 0; i < markerMems.length; i++) {
-				try {
-					long id = Long.parseLong(markerMems[i].getString(TAG_ID));
-					IResource resource =
-						root.findMember(markerMems[i].getString(TAG_RESOURCE));
-					if (resource != null) {
-						IMarker marker = resource.findMarker(id);
-						if (marker != null) {
-							selectionList.add(marker);
-						}
-					}
-				} catch (NumberFormatException e) {
-				} catch (CoreException e) {
-				}
-
-			}
-			viewer.setSelection(new StructuredSelection(selectionList));
-		}
-
-		Table table = viewer.getTable();
-		//restore vertical position
-		try {
-			String topIndexStr = memento.getString(TAG_TOP_INDEX);
-			table.setTopIndex(Integer.parseInt(topIndexStr));
-		} catch (NumberFormatException e) {
-		}
-	}
-	/* (non-Javadoc)
-	 * Method declared on IViewPart.
-	 */
-	public void saveState(IMemento memento) {
-		if (viewer == null) {
-			if (this.memento != null) //Keep the old state;
-				memento.putMemento(this.memento);
-			return;
-		}
-
-		//save filter
-		getFilter().saveState(memento.createChild(TAG_FILTER));
-
-		//save columns width
-		Table table = viewer.getTable();
-		TableColumn columns[] = table.getColumns();
-		//check whether it has ever been layed out
-		//workaround for 1GDTU19: ITPUI:WIN2000 - Task list columns "collapsed" left
-		boolean shouldSave = false;
-		for (int i = 0; i < columns.length; i++) {
-			if (columnLayouts[i].resizable && columns[i].getWidth() != 0) {
-				shouldSave = true;
-				break;
-			}
-		}
-		if (shouldSave) {
-			for (int i = 0; i < columns.length; i++) {
-				if (columnLayouts[i].resizable) {
-					IMemento child = memento.createChild(TAG_COLUMN);
-					child.putInteger(TAG_NUMBER, i);
-					child.putInteger(TAG_WIDTH, columns[i].getWidth());
-				}
-			}
-		}
-
-		//save selection
-		Object markers[] =
-			((IStructuredSelection) viewer.getSelection()).toArray();
-		if (markers.length > 0) {
-			IMemento selectionMem = memento.createChild(TAG_SELECTION);
-			for (int i = 0; i < markers.length; i++) {
-				IMemento elementMem = selectionMem.createChild(TAG_MARKER);
-				IMarker marker = (IMarker) markers[i];
-				elementMem.putString(
-					TAG_RESOURCE,
-					marker.getResource().getFullPath().toString());
-				elementMem.putString(TAG_ID, String.valueOf(marker.getId()));
-			}
-		}
-
-		//save vertical position
-		int topIndex = table.getTopIndex();
-		memento.putString(TAG_TOP_INDEX, String.valueOf(topIndex));
-	}
-	/**
-	 * Handles marker selection change in the task list by updating availability of
-	 * the actions in the local tool bar.
-	 */
-	void selectionChanged(SelectionChangedEvent event) {
-		IStructuredSelection selection =
-			(IStructuredSelection) event.getSelection();
-		updateStatusMessage(selection);
-		updateTitle();
-
-		updatePasteEnablement();
-
-		// If selection is empty, then disable copy, remove and goto.	
-		if (selection.isEmpty()) {
-			copyTaskAction.setEnabled(false);
-			removeTaskAction.setEnabled(false);
-			gotoTaskAction.setEnabled(false);
-			propertiesAction.setEnabled(false);
-			return;
-		};
-
-		// Can only open properties for a single task at a time
-		propertiesAction.setEnabled(selection.size() == 1);
-
-		// Can always copy
-		copyTaskAction.setEnabled(true);
-
-		// Determine if goto should be enabled
-		IMarker selectedMarker = (IMarker) selection.getFirstElement();
-		boolean canJump =
-			selection.size() == 1
-				&& selectedMarker.getResource().getType() == IResource.FILE;
-		gotoTaskAction.setEnabled(canJump);
-
-		// Determine if remove should be enabled
-		boolean canRemove = true;
-		for (Iterator markers = selection.iterator(); markers.hasNext();) {
-			IMarker m = (IMarker) markers.next();
-			if (!MarkerUtil.isEditable(m)) {
-				canRemove = false;
-				break;
-			}
-		}
-		removeTaskAction.setEnabled(canRemove);
-
-		// if there is an active editor on the selection's input, tell
-		// the editor to goto the marker
-		if (canJump) {
-			IEditorPart editor = getSite().getPage().getActiveEditor();
-			if (editor != null) {
-				IEditorInput input = editor.getEditorInput();
-				if (input instanceof IFileEditorInput) {
-					IFile file = ((IFileEditorInput) input).getFile();
-					if (selectedMarker.getResource().equals(file)) {
-						IDE.gotoMarker(editor, selectedMarker);
-					}
-				}
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IWorkbenchPart.
-	 */
-	public void setFocus() {
-		viewer.getControl().setFocus();
-	}
-
-	/**
-	 * Sets the property on a marker to the given value.
-	 *
-	 * @exception CoreException if an error occurs setting the value
-	 */
-	void setProperty(IMarker marker, String property, Object value) {
-		if (MarkerUtil.getProperty(marker, property).equals(value)) {
-			return;
-		}
-		try {
-			if (property == tableColumnProperties[1]) { // Completed
-				marker.setAttribute(IMarker.DONE, value);
-			} else if (property == tableColumnProperties[2]) { // Priority
-				// this property is used only by cell editor, where order is High, Normal, Low
-				marker.setAttribute(
-					IMarker.PRIORITY,
-					IMarker.PRIORITY_HIGH - ((Integer) value).intValue());
-			} else if (property == tableColumnProperties[3]) { // Description
-				marker.setAttribute(IMarker.MESSAGE, value);
-				// Let's not refilter too lightly - see if it is needed
-				//			TaskSorter sorter = (TaskSorter) viewer.getSorter();
-				//			if (sorter != null && sorter.getColumnNumber() == 3) {
-				//				viewer.refresh();
-				//			}
-			}
-		} catch (CoreException e) {
-			String msg = TaskListMessages.getString("TaskList.errorModifyingTask"); //$NON-NLS-1$
-			ErrorDialog.openError(
-				getSite().getShell(),
-				msg,
-				null,
-				e.getStatus());
-		}
-	}
-	/**
-	 * API method which sets the current selection of this viewer.
-	 *
-	 * @param selection a structured selection of <code>IMarker</code> objects
-	 * @param reveal <code>true</code> to reveal the selection, <false> otherwise
-	 */
-	public void setSelection(ISelection selection, boolean reveal) {
-		Assert.isTrue(selection instanceof IStructuredSelection);
-		IStructuredSelection ssel = (IStructuredSelection) selection;
-		
-		for (Iterator i = ssel.iterator(); i.hasNext();)
-			Assert.isTrue(i.next() instanceof IMarker);
-		
-		if (viewer != null)
-			viewer.setSelection(selection, reveal);
-	}
-
-	boolean showChildrenHierarchy() {
-		switch (getFilter().onResource) {
-			case TasksFilter.ON_ANY_RESOURCE :
-			case TasksFilter.ON_SELECTED_RESOURCE_AND_CHILDREN :
-			case TasksFilter.ON_ANY_RESOURCE_OF_SAME_PROJECT :
-			// added by cagatayk@acm.org
-			case TasksFilter.ON_WORKING_SET :
-			default :
-				return true;
-			case TasksFilter.ON_SELECTED_RESOURCE_ONLY :
-				return false;
-		}
-	}
-	boolean showSelections() {
-		switch (getFilter().onResource) {
-			case TasksFilter.ON_SELECTED_RESOURCE_ONLY :
-			case TasksFilter.ON_SELECTED_RESOURCE_AND_CHILDREN :
-			case TasksFilter.ON_ANY_RESOURCE_OF_SAME_PROJECT :
-				// added by cagatayk@acm.org
-				return true;
-			case TasksFilter.ON_ANY_RESOURCE :
-			case TasksFilter.ON_WORKING_SET :
-			default :
-				return false;
-		}
-	}
-
-	// showOwnerProject() added by cagatayk@acm.org 
-	boolean showOwnerProject() {
-		return getFilter().onResource
-			== TasksFilter.ON_ANY_RESOURCE_OF_SAME_PROJECT;
-	}
-	/**
-	 * Processes state change of the 'showSelections' switch.
-	 * If true, it will resync with the saved input element.
-	 * Otherwise, it will reconfigure to show all the
-	 * problems/tasks in the workbench.
-	 */
-	void toggleInputSelection(boolean value) {
-		/*
-		if (value) {
-			handleInput(inputSelection, false);
-		} else {
-			// detach from input and link to the workbench object
-			handleInput(WorkbenchPlugin.getPluginWorkbench(), true);
-		}
-		updateTitle();
-		*/
-	}
-	/**
-	 * If true, current input will be
-	 * remembered and further selections will be
-	 * ignored.
-	 */
-	void toggleLockInput(boolean value) {
-		/*
-		if (!value) {
-			handleInput(inputSelection, false);
-			lockedInput = null;
-		} else {
-			lockedInput = (IElement) getInput();
-		}
-		String lockedInputPath = "";
-		if (lockedInput != null && lockedInput instanceof IResource) {
-			IResource resource = (IResource) lockedInput;
-			lockedInputPath = resource.getFullPath().toString();
-		}
-		IDialogStore store = WorkbenchPlugin.getDefault().getDialogStore();
-		store.put(STORE_LOCKED_INPUT, lockedInputPath);
-		updateTitle();
-		*/
-	}
-	/**
-	 * Updates the focus resource, and refreshes if we're showing only tasks for the focus resource.
-	 */
-	void updateFocusResource(ISelection selection) {
-		ArrayList list = new ArrayList();
-
-		if (selection instanceof IStructuredSelection) {
-			Iterator iterator = ((IStructuredSelection) selection).iterator();
-			while (iterator.hasNext()) {
-				Object object = iterator.next();
-
-				if (object instanceof IAdaptable) {
-					ITaskListResourceAdapter taskListResourceAdapter;
-					Object adapter =
-						((IAdaptable) object).getAdapter(
-							ITaskListResourceAdapter.class);
-					if (adapter != null
-						&& adapter instanceof ITaskListResourceAdapter) {
-						taskListResourceAdapter =
-							(ITaskListResourceAdapter) adapter;
-					} else {
-						taskListResourceAdapter =
-							DefaultTaskListResourceAdapter.getDefault();
-					}
-
-					IResource resource =
-						taskListResourceAdapter.getAffectedResource(
-							(IAdaptable) object);
-					if (resource != null) {
-						list.add(resource);
-					}
-				}
-			}
-		}
-
-		if (list.size() == 0 && focusPart instanceof IEditorPart) {
-			IEditorInput input = ((IEditorPart) focusPart).getEditorInput();
-
-			if (input != null) {
-				if (input instanceof IFileEditorInput) {
-					IFile file = ((IFileEditorInput) input).getFile();
-					if (file != null) {
-						list.add(file);
-					}
-				} else {
-					IResource resource =
-						(IResource) input.getAdapter(IResource.class);
-					if (resource == null) {
-						resource = (IFile) input.getAdapter(IFile.class);
-					}
-					if (resource != null) {
-						list.add(resource);
-					}
-				}
-			}
-		}
-
-		int l = list.size();
-		if (l < 1) {
-			return; // required to achieve lazy update behavior.
-		}
-
-		IResource[] resources = (IResource[]) list.toArray(new IResource[l]);
-		for (int i = 0; i < l; i++) {
-			Assert.isNotNull(resources[i]);
-		}
-
-		if (!Arrays.equals(resources, focusResources)) {
-			boolean updateNeeded = false;
-
-			if (showOwnerProject()) {
-				int m = focusResources == null ? 0 : focusResources.length;
-				if (l != m) {
-					updateNeeded = true;
-				} else {
-					for (int i = 0; i < l; i++) {
-						IProject oldProject =
-							m < 1 ? null : focusResources[0].getProject();
-						IProject newProject = resources[0].getProject();
-						boolean projectsEqual =
-							(oldProject == null
-								? newProject == null
-								: oldProject.equals(newProject));
-						if (!projectsEqual) {
-							updateNeeded = true;
-							break;
-						}
-					}
-				}
-			} else if (showSelections()) {
-				updateNeeded = true;
-			}
-
-			// remember the focus resources even if update is not needed,
-			// so that we know them if the filter settings change
-			focusResources = resources;
-
-			if (updateNeeded) {
-				viewer.getControl().setRedraw(false);
-				viewer.refresh();
-				viewer.getControl().setRedraw(true);
-				updateStatusMessage();
-				updateTitle();
-			}
-		}
-	}
-	/**
-	 * Updates the enablement of the paste action
-	 */
-	void updatePasteEnablement() {
-		// Paste if clipboard contains tasks
-		MarkerTransfer transfer = MarkerTransfer.getInstance();
-		IMarker[] markerData = (IMarker[]) getClipboard().getContents(transfer);
-		boolean canPaste = false;
-		if (markerData != null) {
-			for (int i = 0; i < markerData.length; i++) {
-				if (MarkerUtil.isMarkerType(markerData[i], IMarker.TASK)) {
-					canPaste = true;
-					break;
-				}
-			}
-		}
-		pasteTaskAction.setEnabled(canPaste);
-	}
-
-	/**
-	 * Updates that message displayed in the status line.
-	 */
-	void updateStatusMessage() {
-		ISelection selection = viewer.getSelection();
-		
-		if (selection instanceof IStructuredSelection)
-			updateStatusMessage((IStructuredSelection) selection);
-		else 
-			updateStatusMessage(null);
-	}
-	/**
-	 * Updates that message displayed in the status line.
-	 */
-	void updateStatusMessage(IStructuredSelection selection) {
-		String message = getStatusMessage(selection);
-		getViewSite().getActionBars().getStatusLineManager().setMessage(message);
-	}
-	/**
-	 * Updates the title of the view.  Should be called when filters change.
-	 */
-	void updateTitle() {
-		TaskListContentProvider provider =
-			(TaskListContentProvider) getTableViewer().getContentProvider();
-		String summary = provider.getTitleSummary();
-		setContentDescription(summary);
-	}
-
-	/**
-	 * Method updateSortingState.
-	 */
-	void updateSortingState() {
-		int curColumn = sorter.getTopPriority();
-		sortByCategoryAction.setChecked(curColumn == TaskSorter.TYPE);
-		sortByCompletedAction.setChecked(curColumn == TaskSorter.COMPLETION);
-		sortByPriorityAction.setChecked(curColumn == TaskSorter.PRIORITY);
-		sortByDescriptionAction.setChecked(curColumn == TaskSorter.DESCRIPTION);
-		sortByResourceAction.setChecked(curColumn == TaskSorter.RESOURCE);
-		sortByContainerAction.setChecked(curColumn == TaskSorter.FOLDER);
-		sortByLocationAction.setChecked(curColumn == TaskSorter.LOCATION);
-		sortByCreationTimeAction.setChecked(curColumn == TaskSorter.CREATION_TIME);
-
-		int curDirection = sorter.getTopPriorityDirection();
-		sortAscendingAction.setChecked(curDirection == TaskSorter.ASCENDING);
-		sortDescendingAction.setChecked(curDirection == TaskSorter.DESCENDING);
-	}
-	
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskListContentProvider.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskListContentProvider.java
deleted file mode 100644
index 3563fe6..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskListContentProvider.java
+++ /dev/null
@@ -1,557 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * Task list content provider returns elements that should be
- * in the task list depending on the selection mode.
- * It goes directly to the marker manager and retreives
- * tasks and problems.
- */
-class TaskListContentProvider implements IStructuredContentProvider, 
-		IResourceChangeListener {
-	
-	private static final int TASKS = 0;
-	private static final int ERRORS = 1;
-	private static final int WARNINGS = 2;
-	private static final int INFOS = 3;
-
-	private TaskList taskList;
-	private TableViewer viewer;
-	private IResource input;
-	
-	/* cached counts of tasks, errors, warnings and infos for the visible 
-	 * markers, maintained incrementally */
-	private int[] visibleMarkerCounts = null;
-
-	/* cached count of all markers in workspace matching supported root types 
-	 * (tasks & problems), maintained incrementally */
-	private int totalMarkerCount = -1;
-
-	/**
-	 * The constructor.
-	 */
-	public TaskListContentProvider(TaskList taskList) {
-		this.taskList = taskList;
-		this.viewer = taskList.getTableViewer();
-	}
-
-	private boolean getFilterOnMarkerLimit() {
-		return taskList.getFilter().getFilterOnMarkerLimit();		
-	}
-
-	private int getMarkerLimit() {
-		return taskList.getFilter().getMarkerLimit();		
-	}
-
-	private boolean isMarkerLimitExceeded() {
-		return taskList.isMarkerLimitExceeded();
-	}
-
-	private void setMarkerLimitExceeded(boolean markerLimitExceeded) {
-		taskList.setMarkerLimitExceeded(markerLimitExceeded);
-	}
-
-	/**
-	 * Returns a one-line string containing a summary of the number
-	 * of visible tasks and problems.
-	 */
-	public String getStatusSummaryVisible() {
-		if (visibleMarkerCounts == null) {
-			return ""; //$NON-NLS-1$
-		}
-	
-		return TaskListMessages.format(
-			"TaskList.statusSummaryVisible", //$NON-NLS-1$
-			new Object[] {
-				new Integer(sum(visibleMarkerCounts)),
-				getStatusSummaryBreakdown(visibleMarkerCounts)});
-	}
-	
-	/**
-	 * Returns a one-line string containing a summary of the number
-	 * of selected tasks and problems.
-	 * 
-	 * @param selection the current selection
-	 */
-	public String getStatusSummarySelected(IStructuredSelection selection) {
-		int[] selectedMarkerCounts = getMarkerCounts(selection.toList());
-		return TaskListMessages.format(
-			"TaskList.statusSummarySelected", //$NON-NLS-1$
-			new Object[] {
-				new Integer(sum(selectedMarkerCounts)),
-				getStatusSummaryBreakdown(selectedMarkerCounts)});
-	}
-
-	/**
-	 * Returns a one-line string containing a summary of the number of 
-	 * given tasks, errors, warnings, and infos.
-	 */
-	private String getStatusSummaryBreakdown(int[] counts) {
-		return TaskListMessages.format(
-			"TaskList.statusSummaryBreakdown", //$NON-NLS-1$
-			new Object[] {
-				new Integer(counts[TASKS]),
-				new Integer(counts[ERRORS]),
-				new Integer(counts[WARNINGS]),
-				new Integer(counts[INFOS])});
-	}
-
-	/**
-	 * Returns a one-line string containing a summary of the number items
-	 * being shown by the filter, for display in the title bar.
-	 */
-	public String getTitleSummary() {
-		if (visibleMarkerCounts == null) {
-			return ""; //$NON-NLS-1$
-		}
-
-		int visibleMarkerCount = sum(visibleMarkerCounts);
-		TasksFilter filter = (TasksFilter) taskList.getFilter();
-
-		if (filter.isShowingAll()) {
-			return TaskListMessages.format(
-				"TaskList.titleSummaryUnfiltered", //$NON-NLS-1$
-				new Object[] { new Integer(visibleMarkerCount)});
-		}
-		else {
-			return TaskListMessages.format(
-				"TaskList.titleSummaryFiltered", //$NON-NLS-1$
-				new Object[] {
-					new Integer(visibleMarkerCount),
-					new Integer(getTotalMarkerCount())});
-		}
-	}
-
-	/**
-	 * Returns the sum of the given counts.
-	 */
-	private int sum(int[] counts) {
-		int sum = 0;
-
-		for (int i = 0, l = counts.length; i < l; ++i) {
-			sum += counts[i];
-		}
-
-		return sum;
-	}
-	
-	/**
-	 * Returns the count of all markers in the workspace which can be shown in 
-	 * the task list. This is computed once, then maintained incrementally by 
-	 * the delta processing.
-	 */
-	private int getTotalMarkerCount() {
-		if (totalMarkerCount == -1) {
-			totalMarkerCount = 0;
-
-			try {
-				IResource root = taskList.getWorkspace().getRoot();
-				IMarker[] markers = root.findMarkers(null, true, 
-						IResource.DEPTH_INFINITE);
-
-				for (int i = 0; i < markers.length; ++i) {
-					if (isRootType(markers[i])) {
-						++totalMarkerCount;
-					}
-				}
-			} catch (CoreException e) {
-				// shouldn't happen
-			}
-		}
-
-		return totalMarkerCount;
-	}
-
-	/**
-	 * Returns whether the given marker is a subtype of one of the root types.
-	 */
-	private boolean isRootType(IMarker marker) {
-		String[] rootTypes = TasksFilter.ROOT_TYPES;
-		
-		for (int i = 0, l = rootTypes.length; i < l; ++i) {
-			if (MarkerUtil.isMarkerType(marker, rootTypes[i])) {
-				return true;
-			}
-		}
-		
-		return false;
-	}	
-
-	/**
-	 * Returns the markers to show in the task list.
-	 */
-	private IMarker[] getMarkers() throws CoreException {			
-		IResource[] resources = taskList.getResources();
-		int l = resources.length;
-		IResource resource;
-		boolean bExists = false;
-		
-		for (int i = 0; i < l; i++) {
-			resource = resources[i];
-			
-			if (resource != null && resource.exists()) {
-				bExists = true;
-				break;
-			}	
-		}
-		
-		
-		if (!bExists) {
-			return new IMarker[0];
-		}
-		
-		if (taskList.showOwnerProject()) {
-			IResource[] projectResources = new IResource[l];	
-			IResource project;
-			
-			for (int i = 0; i < l; i++) {
-				resource = resources[i];
-			
-				if (resource != null) {
-					project = resource.getProject();
-
-					if (project != null) {
-						projectResources[i] = project;
-					}
-					else {
-						projectResources[i] = resource;
-					}			
-				}
-			}
-			
-			resources = projectResources;
-		}
-		
-		int depth = taskList.getResourceDepth();
-		TasksFilter filter = taskList.getFilter();		
-		Set set = new HashSet();
-
-		for (int i = 0; i < l; i++) {
-			resource = resources[i];
-			
-			if (resource != null) {
-				IMarker[] markers = resource.findMarkers(null, true, depth);
-
-				for (int j = 0; j < markers.length; ++j) {
-					IMarker marker = markers[j];
-		
-					if (filter.select(marker)) {
-						set.add(marker);
-					}
-				}
-			}
-		}
-	
-		IMarker[] result = new IMarker[set.size()];
-		set.toArray(result);	
-		return result;
-	}
-
-	/**
-	 * Returns the number of tasks, errors, warnings, infos
-	 * in the given markers.
-	 */
-	private int[] getMarkerCounts(List markers) {
-		int[] markerCounts = new int[4];
-		Iterator iterator = markers.iterator();
-		
-		while (iterator.hasNext()) {
-			IMarker marker = (IMarker) iterator.next();
-
-			if (MarkerUtil.isMarkerType(marker, IMarker.PROBLEM)) {
-				switch (MarkerUtil.getSeverity(marker)) {
-				case IMarker.SEVERITY_ERROR:
-					++markerCounts[ERRORS];
-					break;
-				case IMarker.SEVERITY_WARNING:
-					++markerCounts[WARNINGS];
-					break;
-				case IMarker.SEVERITY_INFO:
-					++markerCounts[INFOS];
-					break;
-				}
-			}
-			else if (MarkerUtil.isMarkerType(marker, IMarker.TASK)) {
-				++markerCounts[TASKS];
-			}
-		}
-
-		return markerCounts;
-	}
-
-	/**
-	 * Updates the marker counts for the given delta.
-	 * Assumptions:
-	 *   - the delta is either an addition or a removal
-	 *   - problem severities don't change
-	 */
-	private void updateMarkerCounts(IMarkerDelta markerDelta, int difference) {
-		if (visibleMarkerCounts == null)
-			return;
-
-		if (markerDelta.isSubtypeOf(IMarker.PROBLEM)) {
-			int severity = markerDelta.getAttribute(IMarker.SEVERITY, IMarker.SEVERITY_WARNING);
-
-			switch (severity) {
-				case IMarker.SEVERITY_ERROR:
-					visibleMarkerCounts[ERRORS] += difference;
-					break;
-				case IMarker.SEVERITY_WARNING:
-					visibleMarkerCounts[WARNINGS] += difference;
-					break;
-				case IMarker.SEVERITY_INFO:
-					visibleMarkerCounts[INFOS] += difference;
-					break;
-			}
-		} else if (markerDelta.isSubtypeOf(IMarker.TASK))
-			visibleMarkerCounts[TASKS] += difference;
-	}
-
-	/**
-	 * Updates the viewer given the lists of added, removed, and changes 
-	 * markers. This is called inside an syncExec.
-	 */
-	private void updateViewer(List additions, List removals, List changes) {
-			
-		// 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;
-		}
-	
-		//update the viewer based on the marker changes.
-		//process removals before additions, to avoid multiple equal elements in 
-		//the viewer
-		if (removals.size() > 0) {
-
-			// Cancel any open cell editor.  We assume that the one being edited 
-			// is the one being removed.
-			viewer.cancelEditing();
-			viewer.remove(removals.toArray());
-		}
-
-		if (additions.size() > 0) {
-			viewer.add(additions.toArray());
-		}
-
-		if (changes.size() > 0) {
-			viewer.update(changes.toArray(), null);
-		}
-	}
-
-	/**
-	 * The visual part that is using this content provider is about
-	 * to be disposed. Deallocate all allocated SWT resources.
-	 */
-	public void dispose() {
-		if (input != null) {
-			input.getWorkspace().removeResourceChangeListener(this);
-			input = null;
-		}
-	}
-	
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		if (this.input != null) {
-			this.input.getWorkspace().removeResourceChangeListener(this);
-		}
-
-		this.input = (IResource) newInput;
-
-		if (this.input != null) {
-			this.input.getWorkspace().addResourceChangeListener(this, 
-					IResourceChangeEvent.POST_CHANGE);
-		}
-
-		this.viewer = (TableViewer) viewer;
-	}
-
-	/**
-	 * Returns all the markers that should be shown for
-	 * the current settings.
-	 */
-	public Object[] getElements(Object parent) {
-		try {
-			IMarker[] markers = getMarkers();
-			this.visibleMarkerCounts = getMarkerCounts(Arrays.asList(markers));
-
-			if (getFilterOnMarkerLimit() && markers.length > getMarkerLimit()) {
-				if (!isMarkerLimitExceeded()) {
-					setMarkerLimitExceeded(true);
-
-					viewer.getControl().getDisplay().syncExec(new Runnable() {		
-						public void run() {
-							viewer.refresh();
-						}
-					});
-				}
-				
-				return new IMarker[0];
-			}
-			else {
-				if (isMarkerLimitExceeded()) {
-					setMarkerLimitExceeded(false);
-
-					viewer.getControl().getDisplay().syncExec(new Runnable() {		
-						public void run() {
-							viewer.refresh();
-						}
-					});
-				}			
-
-				return markers;
-			}
-		} catch (CoreException e) {
-			return new IMarker[0];
-		}
-	}
-
-	/**
-	 * 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) {	
-		/*
-		 * gather all marker changes from the delta. be sure to do this in the 
-		 * calling thread, as the delta is destroyed when this method returns
-		 */
-		IMarkerDelta[] markerDeltas = event.findMarkerDeltas(null, true);
-		
-		if (markerDeltas == null)
-			return;
-		
-		int oldTotal = totalMarkerCount;
-		final List additions = new ArrayList();
-		final List removals = new ArrayList();
-		final List changes = new ArrayList();
-
-		for (int i = 0; i < markerDeltas.length; i++) {
-			IMarkerDelta markerDelta = markerDeltas[i];
-
-			if (markerDelta == null)
-				continue;
-
-			int iKind = markerDelta.getKind();
-
-			for (int j = 0; j < TasksFilter.ROOT_TYPES.length; j++) {
-				if (markerDelta.isSubtypeOf(TasksFilter.ROOT_TYPES[j])) {
-
-					/* 
-					 * Updates the total count of markers given the applicable 
-					 * marker deltas. 
-					 */
-					if (totalMarkerCount != -1) {
-						switch (iKind) {
-							case IResourceDelta.ADDED:
-								totalMarkerCount++;
-								break;
-							case IResourceDelta.REMOVED:
-								totalMarkerCount--;
-								break;
-						}
-					}
-
-					/*
-					 * Partition the marker deltas into one of the three given 
-					 * lists depending on
-					 * the type of delta (add, remove, or change).
-					 * The resulting lists contain the corresponding markers, 
-					 * not the deltas.
-					 * Deltas which are not under the current focus resource are 
-					 * discarded.
-					 * This also updates the marker counts.
-					 */					 
-					 
-					IResource resource = markerDelta.getResource();
-					
-					if (resource == null)
-						continue;
-					 
-					boolean affectedBy = taskList.checkResource(resource) && taskList.getFilter().select(markerDelta);
-
-					if (affectedBy) {
-						IMarker marker = markerDelta.getMarker();
-						
-						switch (iKind) {
-							case IResourceDelta.ADDED:
-								additions.add(marker);														
-								updateMarkerCounts(markerDelta, +1);
-								break;
-							case IResourceDelta.REMOVED:
-								removals.add(marker);
-								updateMarkerCounts(markerDelta, -1);
-								break;
-							case IResourceDelta.CHANGED:
-								changes.add(marker);	
-								/* 
-								 * Assume attribute changes don't affect marker 
-								 * counts. This is only true if problem severities 
-								 * can't change. 
-								 */
-								break;
-							}
-					}				
-
-					break;
-				}
-			}
-		}
-	
-		if (oldTotal == totalMarkerCount && additions.size() + removals.size() + changes.size() == 0) {
-			// no changes to markers that we care about
-			return;
-		}
-
-		/*
-		 * do the required viewer updates in the UI thread need to use syncExec; 
-		 * see 1G95PU8: ITPUI:WIN2000 - Changing task description flashes old 
-		 * description
-		 */				
-		viewer.getControl().getDisplay().syncExec(new Runnable() {		
-			public void run() {					
-				if (getFilterOnMarkerLimit() && sum(visibleMarkerCounts) > getMarkerLimit()) {
-					if (!isMarkerLimitExceeded()) {			
-						setMarkerLimitExceeded(true);
-						viewer.refresh();
-					}
-				}
-				else if (taskList.isMarkerLimitExceeded()) {
-					setMarkerLimitExceeded(false);
-					viewer.refresh();					
-				}
-				else {
-					updateViewer(additions, removals, changes);
-				}
-
-				/* Update the task list's status message.
-				 * XXX: Quick and dirty solution here.  
-				 * Would be better to have a separate model for the tasks and
-				 * have both the content provider and the task list register for 
-				 * updates. XXX: Do this inside the syncExec, since we're 
-				 * talking to status line widget.
-				 */
-				taskList.markersChanged();	
-			}
-		});		
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskListMessages.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskListMessages.java
deleted file mode 100644
index 8e2556b..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskListMessages.java
+++ /dev/null
@@ -1,57 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Utility class which helps manage messages.
- */
-class TaskListMessages {
-
-	private static final String RESOURCE_BUNDLE= "org.eclipse.ui.views.tasklist.messages";//$NON-NLS-1$
-	private static ResourceBundle bundle = ResourceBundle.getBundle(RESOURCE_BUNDLE);
-	
-	private TaskListMessages(){
-		// 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.ide/src/org/eclipse/ui/views/tasklist/TaskPropertiesAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskPropertiesAction.java
deleted file mode 100644
index c50794e..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskPropertiesAction.java
+++ /dev/null
@@ -1,43 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * This action opens the properties dialog for the current task.
- */
-class TaskPropertiesAction extends TaskAction {
-	
-	/**
-	 * Creates the action.
-	 */
-	public TaskPropertiesAction(TaskList tasklist, String id) {
-		super(tasklist, id);
-		WorkbenchHelp.setHelp(this, ITaskListHelpContextIds.TASK_PROPERTIES_ACTION);
-	}
-
-	/**
-	 * Performs this action.
-	 */
-	public void run() {
-		IStructuredSelection sel = (IStructuredSelection) getTaskList().getSelection();
-		Object o = sel.getFirstElement();
-		if (o instanceof IMarker) {
-			TaskPropertiesDialog dialog = new TaskPropertiesDialog(getShell());
-			dialog.setMarker((IMarker) o);
-			dialog.open();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskPropertiesDialog.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskPropertiesDialog.java
deleted file mode 100644
index 22ab3eb..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskPropertiesDialog.java
+++ /dev/null
@@ -1,632 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-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.Combo;
-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.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.StatusUtil;
-
-/**
- * Shows the properties of a new or existing task, or a problem.
- */
-public class TaskPropertiesDialog extends Dialog {
-		
-	/**
-	 * The task or problem being shown, or <code>null</code> for a new task.
-	 */
-	private IMarker marker = null;
-	
-	/**
-	 * The resource on which to create a new task.
-	 */
-	private IResource resource = null;
-
-	/**
-	 * The initial attributes to use when creating a new task.
-	 */
-	private Map initialAttributes = null;
-	
-	/**
-	 * The text control for the Description field.
-	 */
-	private Text descriptionText;
-	
-	/**
-	 * The control for the Creation Time field.
-	 */
-	private Label creationTime;
-		
-	/**
-	 * The combo box control for the Priority field.
-	 */
-	private Combo priorityCombo;
-
-	/**
-	 * The checkbox button for the Completed field.
-	 */
-	private Button completedCheckbox;
-
-	/**
-	 * The control for the Severity field.
-	 */
-	private Label severityLabel;
-	
-	/**
-	 * The text control for the Resource field.
-	 */
-	private Text resourceText;
-	
-	/**
-	 * The text control for the Folder field.
-	 */
-	private Text folderText;
-
-	/**
-	 * The text control for the Location field.
-	 */
-	private Text locationText;
-	
-	/**
-	 * Dirty flag.  True if any changes have been made.
-	 */
-	private boolean dirty;
-
-	/**
-	 * Creates the dialog.  By default this dialog creates a new task.
-	 * To set the resource and initial attributes for the new task, 
-	 * use <code>setResource</code> and <code>setInitialAttributes</code>.
-	 * To show or modify an existing task, use <code>setMarker</code>.
-	 * 
-	 * @param parentShell the parent shell
-	 */
-	public TaskPropertiesDialog(Shell parentShell) {
-		super(parentShell);
-	}
-	
-	/**
-	 * Sets the marker to show or modify.
-	 * 
-	 * @param marker the marker, or <code>null</code> to create a new marker
-	 */
-	public void setMarker(IMarker marker) {
-		this.marker = marker;
-	}
-	
-	/**
-	 * Returns the marker being created or modified.
-	 * For a new marker, this returns <code>null</code> until
-	 * the dialog returns, but is non-null after.
-	 */
-	public IMarker getMarker() {
-		return marker;
-	}
-	
-	/**
-	 * Sets the resource to use when creating a new task.
-	 * If not set, the new task is created on the workspace root.
-	 */
-	public void setResource(IResource resource) {
-		this.resource = resource;
-	}
-	
-	/**
-	 * Returns the resource to use when creating a new task,
-	 * or <code>null</code> if none has been set.
-	 * If not set, the new task is created on the workspace root.
-	 */
-	public IResource getResource() {
-		return resource;
-	}
-	
-	/**
-	 * Sets initial attributes to use when creating a new task.
-	 * If not set, the new task is created with default attributes.
-	 */
-	public void setInitialAttributes(Map initialAttributes) {
-		this.initialAttributes = initialAttributes;
-	}
-	
-	/**
-	 * Returns the initial attributes to use when creating a new task,
-	 * or <code>null</code> if not set.
-	 * If not set, the new task is created with default attributes.
-	 */
-	public Map getInitialAttributes() {
-		return initialAttributes;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on Window.
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-	
-		if (marker == null) {
-			newShell.setText(TaskListMessages.getString("TaskProp.newTaskTitle")); //$NON-NLS-1$
-		}
-		else {
-			String kind = MarkerUtil.getKindText(marker);	
-			newShell.setText(TaskListMessages.format("TaskProp.propertiesTitle", new Object[] { kind })); //$NON-NLS-1$
-		}
-	
-		WorkbenchHelp.setHelp(newShell, ITaskListHelpContextIds.PROPERTIES_DIALOG);
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Composite composite = (Composite) super.createDialogArea(parent);
-		initializeDialogUnits(composite);
-		createDescriptionArea(composite);
-		if (marker != null)
-			createCreationTimeArea(composite);
-		if (isTask()) {
-			createPriorityAndStatusArea(composite);
-		}
-		else {
-			createSeverityArea(composite);
-		}
-		createResourceArea(composite);
-		updateDialogFromMarker();
-		return composite;
-	}
-
-	/**
-	 * Method createCreationTimeArea.
-	 * @param composite
-	 */
-	private void createCreationTimeArea(Composite parent) {
-		Font font = parent.getFont();
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		composite.setLayout(layout);
-		
-		Label label = new Label(composite, SWT.NONE);
-		label.setText(TaskListMessages.getString("TaskProp.creationTime")); //$NON-NLS-1$
-		label.setFont(font);
-		
-		creationTime = new Label(composite, SWT.NONE);
-		creationTime.setFont(font);	
-	}
-	
-	/**
-	 * Creates only the OK button if showing problem properties, otherwise creates
-	 * both OK and Cancel buttons.
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-		if (isEditable()) {
-			createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-		}
-	}
-	
-	/**
-	 * Creates the area for the Description field.
-	 */
-	private void createDescriptionArea(Composite parent) {
-		Font font = parent.getFont();
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		composite.setLayout(layout);
-		Label label = new Label(composite, SWT.NONE);
-		label.setText(TaskListMessages.getString("TaskProp.description")); //$NON-NLS-1$
-		label.setFont(font);
-		int style = SWT.SINGLE | SWT.BORDER;
-		if (!isEditable()) {
-			style |= SWT.READ_ONLY;
-		}
-		descriptionText = new Text(composite, style);
-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-		gridData.widthHint = convertHorizontalDLUsToPixels(400);
-		descriptionText.setLayoutData(gridData);
-		descriptionText.setFont(font);
-	}
-	
-	/**
-	 * Creates the area for the Priority and Status fields.
-	 */
-	private void createPriorityAndStatusArea(Composite parent) {
-		Font font = parent.getFont();
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		composite.setLayout(layout);
-		
-		Label label = new Label(composite, SWT.NONE);
-		label.setText(TaskListMessages.getString("TaskProp.priority")); //$NON-NLS-1$
-		label.setFont(font);
-		priorityCombo = new Combo(composite, SWT.READ_ONLY);
-		priorityCombo.setItems(new String[] {
-			TaskListMessages.getString("TaskList.high"), //$NON-NLS-1$
-			TaskListMessages.getString("TaskList.normal"), //$NON-NLS-1$
-			TaskListMessages.getString("TaskList.low") //$NON-NLS-1$
-		});
-		// Prevent Esc and Return from closing the dialog when the combo is active.
-		priorityCombo.addTraverseListener(new TraverseListener() {
-			public void keyTraversed(TraverseEvent e) {
-				if (e.detail == SWT.TRAVERSE_ESCAPE || e.detail == SWT.TRAVERSE_RETURN) {
-					e.doit = false;
-				}
-			}
-		});
-		priorityCombo.setFont(font);
-		
-		completedCheckbox = new Button(composite, SWT.CHECK);
-		completedCheckbox.setText(TaskListMessages.getString("TaskProp.completed")); //$NON-NLS-1$
-		GridData gridData = new GridData();
-		gridData.horizontalIndent = convertHorizontalDLUsToPixels(20);
-		completedCheckbox.setLayoutData(gridData);
-		completedCheckbox.setFont(font);
-		
-		if (!isEditable()) {
-			priorityCombo.setEnabled(false);
-			completedCheckbox.setEnabled(false);
-		}
-	}
-	
-	/**
-	 * Creates the area for the Severity field.
-	 */
-	private void createSeverityArea(Composite parent) {
-		Font font = parent.getFont();
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		composite.setLayout(layout);
-		
-		Label label = new Label(composite, SWT.NONE);
-		label.setText(TaskListMessages.getString("TaskProp.severity")); //$NON-NLS-1$
-		label.setFont(font);
-		// workaround for bug 11078: Can't get a read-only combo box
-		severityLabel = new Label(composite, SWT.NONE);
-		severityLabel.setFont(font);
-	/*
-		severityCombo = new Combo(composite, SWT.READ_ONLY);
-		severityCombo.setItems(new String[] {
-			TaskListMessages.getString("TaskList.error"), //$NON-NLS-1$
-			TaskListMessages.getString("TaskList.warning"), //$NON-NLS-1$
-			TaskListMessages.getString("TaskList.info") //$NON-NLS-1$
-		});
-	*/
-	}
-	
-	/**
-	 * Creates the area for the Resource field.
-	 */
-	private void createResourceArea(Composite parent) {
-		IResource resource = getResource();
-		if (marker == null) {
-			if (resource == null)
-				return;
-			if ((resource.getType() & (IResource.FILE | IResource.FOLDER | IResource.PROJECT)) == 0)
-				return;
-		}
-		
-		Font font = parent.getFont();
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-		composite.setLayoutData(gridData);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		composite.setLayout(layout);
-		
-		Label resourceLabel = new Label(composite, SWT.NONE);
-		resourceLabel.setText(TaskListMessages.getString("TaskProp.onResource")); //$NON-NLS-1$
-		resourceLabel.setFont(font);
-		resourceText = new Text(composite, SWT.SINGLE | SWT.WRAP | SWT.READ_ONLY | SWT.BORDER);
-		gridData = new GridData(GridData.FILL_HORIZONTAL);
-		resourceText.setLayoutData(gridData);
-		resourceText.setFont(font);
-		
-		Label folderLabel = new Label(composite, SWT.NONE);
-		folderLabel.setText(TaskListMessages.getString("TaskProp.inFolder")); //$NON-NLS-1$
-		folderLabel.setFont(font);
-		folderText = new Text(composite, SWT.SINGLE | SWT.WRAP | SWT.READ_ONLY | SWT.BORDER);
-		gridData = new GridData(GridData.FILL_HORIZONTAL);
-		folderText.setLayoutData(gridData);
-		folderText.setFont(font);
-		
-		Label locationLabel = new Label(composite, SWT.NONE);
-		locationLabel.setText(TaskListMessages.getString("TaskProp.location")); //$NON-NLS-1$
-		locationLabel.setFont(font);
-		locationText = new Text(composite, SWT.SINGLE | SWT.WRAP | SWT.READ_ONLY | SWT.BORDER);
-		gridData = new GridData(GridData.FILL_HORIZONTAL);
-		locationText.setLayoutData(gridData);
-		locationText.setFont(font);
-	}
-	
-	/**
-	 * Updates the dialog from the marker state.
-	 */
-	private void updateDialogFromMarker() {
-		if (marker == null) {
-			updateDialogForNewMarker();
-			return;
-		}
-		descriptionText.setText(MarkerUtil.getMessage(marker));
-		descriptionText.selectAll();
-		creationTime.setText(MarkerUtil.getCreationTime(marker));
-		if (isTask()) {
-			priorityCombo.clearSelection();
-			priorityCombo.select(IMarker.PRIORITY_HIGH - MarkerUtil.getPriority(marker));
-			completedCheckbox.setSelection(MarkerUtil.isComplete(marker));
-			markDirty();
-		}
-		else {
-	/* 	workaround for bug 11078: Can't get a read-only combo box
-	 		severityCombo.clearSelection();
-			severityCombo.select(IMarker.SEVERITY_ERROR - MarkerUtil.getSeverity(marker));
-	*/		
-			String sev = ""; //$NON-NLS-1$
-			switch (MarkerUtil.getSeverity(marker)) {
-				case IMarker.SEVERITY_ERROR:
-					sev = TaskListMessages.getString("TaskList.error"); //$NON-NLS-1$
-					break;
-				case IMarker.SEVERITY_WARNING:
-					sev = TaskListMessages.getString("TaskList.warning"); //$NON-NLS-1$
-					break;
-				case IMarker.SEVERITY_INFO:
-					sev = TaskListMessages.getString("TaskList.info"); //$NON-NLS-1$
-					break;
-			}
-			severityLabel.setText(sev);
-	
-		}
-		resourceText.setText(MarkerUtil.getResourceName(marker));
-		folderText.setText(MarkerUtil.getContainerName(marker));
-		locationText.setText(MarkerUtil.getLineAndLocation(marker));
-	}
-	
-	/**
-	 * Updates the dialog to reflect the state for a new marker.
-	 */
-	private void updateDialogForNewMarker() {
-		Map attrs = getInitialAttributes();
-	
-		String desc = ""; //$NON-NLS-1$
-		if (attrs != null) {
-			Object o = attrs.get(IMarker.MESSAGE);
-			if (o instanceof String) {
-				desc = (String) o;
-			}
-		}
-		descriptionText.setText(desc);
-		descriptionText.selectAll();
-		
-		int pri = IMarker.PRIORITY_NORMAL;
-		if (attrs != null) {
-			Object o = attrs.get(IMarker.PRIORITY);
-			if (o instanceof Integer) {
-				int val = ((Integer) o).intValue();
-				if (val >= IMarker.PRIORITY_LOW && val <= IMarker.PRIORITY_HIGH) {
-					pri = val;
-				}
-			}
-		}
-		priorityCombo.deselectAll();
-		priorityCombo.select(IMarker.PRIORITY_HIGH - pri);
-		
-		boolean completed = false;
-		if (attrs != null) {
-			Object o = attrs.get(IMarker.DONE);
-			if (o instanceof Boolean) {
-				completed = ((Boolean) o).booleanValue();
-			}
-		}
-		completedCheckbox.setSelection(completed);
-		
-		IResource resource = getResource();
-		if (resource != null && resourceText != null) {
-			resourceText.setText(resource.getName());
-			IResource parent = resource.getParent();
-			folderText.setText(parent == null ? "" : parent.getFullPath().toString().substring(1)); //$NON-NLS-1$
-		}
-		
-		int line = -1;
-		String loc = ""; //$NON-NLS-1$
-		if (attrs != null) {
-			Object o = attrs.get(IMarker.LINE_NUMBER);
-			if (o instanceof Integer) {
-				line = ((Integer) o).intValue();
-			}
-			o = attrs.get(IMarker.LOCATION);
-			if (o instanceof String) {
-				loc = (String) o;
-			}
-		}
-		if (locationText != null)
-			locationText.setText(MarkerUtil.getLineAndLocation(line, loc));
-		
-		markDirty();
-		return;
-		
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on Dialog
-	 */
-	protected void okPressed() {
-		saveChanges();
-		super.okPressed();
-	}
-	
-	private void markDirty() {
-		dirty = true;
-	}
-	
-	private boolean isDirty() {
-		return dirty;
-	}
-	
-	/**
-	 * Returns whether the marker is editable.
-	 */
-	private boolean isEditable() {
-		return marker == null || MarkerUtil.isEditable(marker);
-	}
-	
-	/**
-	 * Returns <code>true</code> if a task is being created or modified.
-	 * Returns <code>false</code> if a problem is being shown.
-	 */
-	private boolean isTask() {
-		return marker == null || MarkerUtil.isMarkerType(marker, IMarker.TASK);
-	}
-	
-	/**
-	 * Saves the changes made in the dialog if needed.
-	 * Creates a new task if needed.
-	 * Updates the existing task only if there have been changes.
-	 * Does nothing for problems, since they cannot be modified.
-	 */
-	private void saveChanges() {
-		if (!isEditable() || !isDirty()) 
-			return;
-		
-		final CoreException[] coreExceptions = new CoreException[1];
-		final Map attrs = getMarkerAttributesFromDialog();
-		try {
-			PlatformUI.getWorkbench().getProgressService().
-				busyCursorWhile(new IRunnableWithProgress(){
-					/* (non-Javadoc)
-					 * @see org.eclipse.jface.operation.IRunnableWithProgress#run(org.eclipse.core.runtime.IProgressMonitor)
-					 */
-					public void run(IProgressMonitor monitor)
-							throws InvocationTargetException,
-							InterruptedException {
-						try{
-							IWorkspaceRunnable runnable = new IWorkspaceRunnable(){
-								/* (non-Javadoc)
-								 * @see org.eclipse.core.resources.IWorkspaceRunnable#run(org.eclipse.core.runtime.IProgressMonitor)
-								 */
-								public void run(IProgressMonitor monitor)
-										throws CoreException {
-									createOrUpdateMarker(monitor,attrs);
-								}
-							};
-							ResourcesPlugin.getWorkspace().run(runnable,monitor);
-						}catch (CoreException e) {
-							coreExceptions[0] = e;
-					}
-				}});
-		}
-		catch (InvocationTargetException e) {
-			IDEWorkbenchPlugin.log(e.getMessage(),StatusUtil.newStatus(IStatus.ERROR,e.getMessage(),e));
-			return;
-		}
-		
-		catch (InterruptedException e) {
-			IDEWorkbenchPlugin.log(e.getMessage(),StatusUtil.newStatus(IStatus.ERROR,e.getMessage(),e));
-			return;
-		}
-		
-		if(coreExceptions [0] != null)
-			ErrorDialog.openError(
-				getShell(),
-				TaskListMessages.getString("TaskProp.errorMessage"), //$NON-NLS-1$
-				null,
-				coreExceptions[0].getStatus());
-	}
-	
-	/**
-	 * Creates or updates the marker.  Must be called within a workspace runnable.
-	 * @param monitor The monitor to report to.
-	 * @param attrs The atrributes entered from the dialog.
-	 * @throws CoreException
-	 */
-	private void createOrUpdateMarker(IProgressMonitor monitor, Map attrs) throws CoreException {
-		
-		monitor.beginTask(TaskListMessages.getString("TaskPropertiesDialog.WorkingOnMarker"), 100); //$NON-NLS-1$
-		if (marker == null) {
-			monitor.subTask(TaskListMessages.getString("TaskPropertiesDialog.CreatingMarker")); //$NON-NLS-1$
-			IResource resource = getResource();
-			if (resource == null) {
-				resource = ResourcesPlugin.getWorkspace().getRoot();
-			}
-			monitor.worked(25);
-			
-			marker = resource.createMarker(IMarker.TASK);
-			Map initialAttrs = getInitialAttributes();
-			if (initialAttrs != null) {
-				marker.setAttributes(initialAttrs);
-			}
-			monitor.worked(25);
-		}
-		else
-			monitor.worked(50);
-		
-		// Set the marker attributes from the current dialog field values.
-		// Do not use setAttributes(Map) as that overwrites any attributes
-		// not covered by the dialog.
-
-		monitor.subTask(TaskListMessages.getString("TaskPropertiesDialog.UpdatingAttributes")); //$NON-NLS-1$
-		int increment = 50 / attrs.keySet().size();
-		for (Iterator i = attrs.keySet().iterator(); i.hasNext();) {
-			String key = (String) i.next();
-			Object val = attrs.get(key);
-			marker.setAttribute(key, val);
-			monitor.worked(increment);
-		}
-		
-		monitor.done();
-	}
-	
-	/**
-	 * Returns the marker attributes to save back to the marker, 
-	 * based on the current dialog fields.
-	 */
-	private Map getMarkerAttributesFromDialog() {
-		Map attribs = new HashMap(11);
-		if (isTask()) {
-			attribs.put(IMarker.MESSAGE, descriptionText.getText());
-			int i = priorityCombo.getSelectionIndex();
-			if (i != -1) {
-				attribs.put(IMarker.PRIORITY, new Integer(IMarker.PRIORITY_HIGH - i));
-			}
-			attribs.put(IMarker.DONE, completedCheckbox.getSelection() ? Boolean.TRUE : Boolean.FALSE);
-		}
-		return attribs;
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskSorter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskSorter.java
deleted file mode 100644
index 112972e..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskSorter.java
+++ /dev/null
@@ -1,326 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-
-/**
- * This is the task list's sorter.
- */
-class TaskSorter extends ViewerSorter {
-	private int[] priorities;
-	private int[] directions;
-	
-	final static int ASCENDING = 1;
-	final static int DEFAULT_DIRECTION = 0;
-	final static int DESCENDING = -1;
-	final static int TYPE = 0;
-	final static int COMPLETION = 1;
-	final static int PRIORITY = 2;
-	final static int DESCRIPTION = 3;
-	final static int RESOURCE = 4;
-	final static int FOLDER = 5;
-	final static int LOCATION = 6;
-	final static int CREATION_TIME = 7;
-	final static int[] DEFAULT_PRIORITIES = 
-		{ FOLDER,
-		  RESOURCE,
-		  LOCATION,
-		  DESCRIPTION,
-		  TYPE,
-		  PRIORITY,
-		  COMPLETION,
-		  CREATION_TIME };
-	final static int[] DEFAULT_DIRECTIONS = 
-		{ DESCENDING,  //type
-		  DESCENDING,  //completed
-		  DESCENDING,  //priority
-		  ASCENDING,   //description
-		  ASCENDING,   //resource
-		  ASCENDING,   //folder
-		  ASCENDING,   //location
-		  ASCENDING }; //creation time
-	
-	/**
-	 * Creates a new task sorter.
-	 */
-	public TaskSorter() {
-		resetState();
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on ViewerSorter.
-	 */
-	/**
-	 * Compares two markers, sorting first by the main column of this sorter,
-	 * then by subsequent columns, depending on the column sort order.
-	 */
-	public int compare(Viewer viewer, Object e1, Object e2) {
-		IMarker m1 = (IMarker) e1;
-		IMarker m2 = (IMarker) e2;
-		return compareColumnValue(m1, m2, 0);
-	}
-
-	public void setTopPriority(int priority) {
-		if (priority < 0 || priority >= priorities.length)
-			return;
-		
-		int index = -1;
-		for (int i = 0; i < priorities.length; i++) {
-			if (priorities[i] == priority) {
-				index = i;
-				break;
-			}
-		}
-		
-		if (index == -1) {
-			resetState();
-			return;
-		}
-			
-		//shift the array
-		for (int i = index; i > 0; i--) {
-			priorities[i] = priorities[i - 1];
-		}
-		priorities[0] = priority;
-		directions[priority] = DEFAULT_DIRECTIONS[priority];
-	}
-	
-	public int getTopPriority() {
-		return priorities[0];
-	}
-	
-	public int[] getPriorities() {
-		return priorities;
-	}
-	
-	public void setTopPriorityDirection(int direction) {
-		if (direction == DEFAULT_DIRECTION)
-			directions[priorities[0]] = DEFAULT_DIRECTIONS[priorities[0]];
-		else if (direction == ASCENDING || direction == DESCENDING)
-			directions[priorities[0]] = direction;
-	}
-	
-	public int getTopPriorityDirection() {
-		return directions[priorities[0]];
-	}
-	
-	public void reverseTopPriority() {
-		directions[priorities[0]] *= -1;
-	}
-	
-	public void resetState() {
-		priorities = new int[DEFAULT_PRIORITIES.length];
-		System.arraycopy(DEFAULT_PRIORITIES, 0, priorities, 0, priorities.length);
-		directions = new int[DEFAULT_DIRECTIONS.length];
-		System.arraycopy(DEFAULT_DIRECTIONS, 0, directions, 0, directions.length);
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on ViewerSorter.
-	 */
-	/**
-	 * Compares two markers, based only on the value of the specified column.
-	 */
-	private int compareColumnValue(IMarker m1, IMarker m2, int depth) {
-		if (depth >= priorities.length)
-			return 0;
-		
-		int columnNumber = priorities[depth];
-		int direction = directions[columnNumber];
-		switch (columnNumber) {
-			case TYPE: { 
-				/* category */
-				int result = getCategoryOrder(m1) - getCategoryOrder(m2);
-				if (result == 0)
-					return compareColumnValue(m1, m2, depth + 1);
-				return result * direction;
-			}
-			case COMPLETION: {
-				 /* completed */
-				int result = getCompletedOrder(m1) - getCompletedOrder(m2);
-				if (result == 0)
-					return compareColumnValue(m1, m2, depth + 1);
-				return result * direction;
-			}
-			case PRIORITY: { 
-				/* priority */
-				int result = getPriorityOrder(m1) - getPriorityOrder(m2);
-				if (result == 0)
-					return compareColumnValue(m1, m2, depth + 1);
-				return result * direction;
-			}
-			case DESCRIPTION: { 
-				/* description */
-				int result = collator.compare(MarkerUtil.getMessage(m1), MarkerUtil.getMessage(m2));
-				if (result == 0)
-					return compareColumnValue(m1, m2, depth + 1);
-				return result * direction;
-			}
-			case RESOURCE: {
-				/* resource name */
-				IResource r1 = m1.getResource();
-				IResource r2 = m2.getResource();
-				String n1 = r1.getName();
-				String n2 = r2.getName();
-				int result = collator.compare(n1, n2);
-				if (result == 0)
-					return compareColumnValue(m1, m2, depth + 1);
-				return result * direction;
-			}
-			case FOLDER: {
-				/* container name */
-				String c1 = MarkerUtil.getContainerName(m1);
-				String c2 = MarkerUtil.getContainerName(m2);
-				int result = c1.equals(c2) ? 0 : collator.compare(c1, c2);
-				if (result == 0)
-					return compareColumnValue(m1, m2, depth + 1);
-				return result * direction;
-			}
-			case LOCATION: {
-				/* line and location */
-				int result = compareLineAndLocation(m1, m2);
-				if (result == 0)
-					return compareColumnValue(m1, m2, depth + 1);
-				return result * direction;
-			}
-			case CREATION_TIME: {
-				/* creation time */
-				int result = compareCreationTime(m1, m2);
-				if (result == 0)
-					return compareColumnValue(m1, m2, depth + 1);
-				return result * direction;
-			}
-			default:
-				return 0;
-		}
-	}
-
-	/**
-	 * Compares the creation time of two markers.
-	 */
-	private int compareCreationTime(IMarker m1, IMarker m2) {
-		long result;
-		try {
-			result = m1.getCreationTime() - m2.getCreationTime();
-		} catch (CoreException e) {
-			result = 0;
-		}
-		if (result > 0) return 1;
-		else if (result < 0) return -1;
-		return 0;
-	}
-
-	/**
-	 * Compares the line number and location of the two markers.
-	 * If line number is specified for both, this sorts first by line number (numerically), 
-	 * then by start offset (numerically), then by location (textually).
-	 * If line number is not specified for either, this sorts by location.
-	 * Otherwise, if only one has a line number, this sorts by the combined text for line number and location.
-	 */
-	private int compareLineAndLocation(IMarker m1, IMarker m2) {
-		int line1 = MarkerUtil.getLineNumber(m1);
-		int line2 = MarkerUtil.getLineNumber(m2);
-		if (line1 != -1 && line2 != -1) {
-			if (line1 != line2) {
-				return line1 - line2;
-			}
-			int start1 = MarkerUtil.getCharStart(m1);
-			int start2 = MarkerUtil.getCharStart(m2);
-			if (start1 != -1 && start2 != -1) {
-				if (start1 != start2) {
-					return start1 - start2;
-				}
-			}
-			String loc1 = MarkerUtil.getLocation(m1);
-			String loc2 = MarkerUtil.getLocation(m2);
-			return collator.compare(loc1, loc2);
-		}
-		if (line1 == -1 && line2 == -1) {
-			String loc1 = MarkerUtil.getLocation(m1);
-			String loc2 = MarkerUtil.getLocation(m2);
-			return collator.compare(loc1, loc2);
-		}
-		String loc1 = MarkerUtil.getLineAndLocation(m1);
-		String loc2 = MarkerUtil.getLineAndLocation(m2);
-		return collator.compare(loc1, loc2);
-	}
-
-	/**
-	 * Returns the sort order for the given marker based on its category.
-	 * Lower numbers appear first.
-	 */
-	private int getCategoryOrder(IMarker marker) {
-		if (MarkerUtil.isMarkerType(marker, IMarker.PROBLEM)) {
-			switch (MarkerUtil.getSeverity(marker)) {
-				case IMarker.SEVERITY_ERROR:
-					return 4;
-				case IMarker.SEVERITY_WARNING:
-					return 3;
-				case IMarker.SEVERITY_INFO:
-					return 2;
-			}
-		} else if (MarkerUtil.isMarkerType(marker, IMarker.TASK)) {
-			return 1;
-		}
-		return 1000;
-	}
-
-	/**
-	 * Returns the sort order for the given marker based on its completion status.
-	 * Lower numbers appear first.
-	 */
-	private int getCompletedOrder(IMarker marker) {
-		if (MarkerUtil.isMarkerType(marker, IMarker.TASK))
-			return MarkerUtil.isComplete(marker) ? 2 : 1;
-		return 0;
-	}
-
-	/**
-	 * Returns the sort order for the given marker based on its priority.
-	 */
-	private int getPriorityOrder(IMarker marker) {
-		if (MarkerUtil.isMarkerType(marker, IMarker.TASK))
-			return MarkerUtil.getPriority(marker);
-		return -1;
-	}
-	public void saveState(IDialogSettings settings) {
-		if (settings == null)
-			return;
-			
-		for (int i = 0; i < directions.length; i++) {
-			settings.put("direction" + i, directions[i]);//$NON-NLS-1$
-			settings.put("priority" + i, priorities[i]);//$NON-NLS-1$
-		}
-	}	
-	
-	public void restoreState(IDialogSettings settings) {
-		if (settings == null)
-			return;
-		
-		try {
-			for (int i = 0; i < priorities.length; i++) {
-				directions[i] = settings.getInt("direction" + i);//$NON-NLS-1$
-				priorities[i] = settings.getInt("priority" + i);//$NON-NLS-1$
-			}
-		}
-		catch (NumberFormatException e) {
-			resetState();
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TasksFilter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TasksFilter.java
deleted file mode 100644
index a2d27e8..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TasksFilter.java
+++ /dev/null
@@ -1,466 +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 Corporation - initial API and implementation 
- * 		Cagatay Kavukcuoglu <cagatayk@acm.org> - Filter for markers in same project
-************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import java.util.Arrays;
-import java.util.HashSet;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IMarkerDelta;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.ui.IContainmentAdapter;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.IWorkingSetManager;
-import org.eclipse.ui.PlatformUI;
-
-class TasksFilter extends ViewerFilter implements Cloneable {
-
-	public static final String[] ROOT_TYPES = new String[] { IMarker.PROBLEM, IMarker.TASK };
-
-	// Filter on resource constants
-	static final int ON_ANY_RESOURCE = 0;
-	static final int ON_SELECTED_RESOURCE_ONLY = 1;
-	static final int ON_SELECTED_RESOURCE_AND_CHILDREN = 2;
-	static final int ON_ANY_RESOURCE_OF_SAME_PROJECT = 3; // added by cagatayk@acm.org
-	static final int ON_WORKING_SET = 4;
-
-	// Description filter kind constants
-	static final int FILTER_CONTAINS = 0;
-	static final int FILTER_DOES_NOT_CONTAIN = 1;
-
-	//final static int MINIMUM_MARKER_LIMIT = 10;
-	final static int DEFAULT_MARKER_LIMIT = 2000;
-	//final static int MAXIMUM_MARKER_LIMIT = 20000;
-		
-	String[] types;
-	int onResource;
-	IWorkingSet workingSet;
-	boolean filterOnDescription;
-	int descriptionFilterKind;
-	String descriptionFilter;
-	boolean filterOnSeverity;
-	int severityFilter;
-	boolean filterOnPriority;
-	int priorityFilter;
-	boolean filterOnCompletion;
-	int completionFilter;
-	private boolean filterOnMarkerLimit = true;
-	private int markerLimit = DEFAULT_MARKER_LIMIT;
-
-	private static final String TAG_ID = "id"; //$NON-NLS-1$
-	private static final String TAG_TYPE = "type";  //$NON-NLS-1$
-	private static final String TAG_ON_RESOURCE = "onResource"; //$NON-NLS-1$
-	private static final String TAG_WORKING_SET = "workingSet"; //$NON-NLS-1$	
-	private static final String TAG_FILTER_ON_DESCRIPTION = "filterOnDescription"; //$NON-NLS-1$
-	private static final String TAG_DESCRIPTION_FILTER_KIND = "descriptionFilterKind"; //$NON-NLS-1$
-	private static final String TAG_DESCRIPTION_FILTER = "descriptionFilter"; //$NON-NLS-1$
-	private static final String TAG_FILTER_ON_SEVERITY = "filterOnSeverity"; //$NON-NLS-1$
-	private static final String TAG_SEVERITY_FILTER = "severityFilter"; //$NON-NLS-1$
-	private static final String TAG_FILTER_ON_PRIORITY = "filterOnPriority"; //$NON-NLS-1$
-	private static final String TAG_PRIORITY_FILTER = "priorityFilter"; //$NON-NLS-1$
-	private static final String TAG_FILTER_ON_COMPLETION = "filterOnCompletion"; //$NON-NLS-1$
-	private static final String TAG_COMPLETION_FILTER = "completionFilter"; //$NON-NLS-1$
-	private static final String TAG_FILTER_ON_MARKER_LIMIT = "filterOnMarkerLimit"; //$NON-NLS-1$ 
-	private static final String TAG_MARKER_LIMIT = "markerLimit"; //$NON-NLS-1$
-	
-	public TasksFilter() {
-		reset();
-	}
-	
-	boolean getFilterOnMarkerLimit() {
-		return filterOnMarkerLimit;
-	}
-	
-	void setFilterOnMarkerLimit(boolean filterOnMarkerLimit) {
-		this.filterOnMarkerLimit = filterOnMarkerLimit;
-	}
-	
-	int getMarkerLimit() {
-		return markerLimit;
-	}
-	
-	void setMarkerLimit(int markerLimit) {
-		if (markerLimit < 1) {
-			markerLimit = TasksFilter.DEFAULT_MARKER_LIMIT;
-		}
-	
-		//if (markerLimit < TasksFilter.MINIMUM_MARKER_LIMIT) {
-		//	markerLimit = TasksFilter.MINIMUM_MARKER_LIMIT;
-		//} else if (markerLimit > TasksFilter.MAXIMUM_MARKER_LIMIT) {
-		//	markerLimit = TasksFilter.MAXIMUM_MARKER_LIMIT;
-		//} 
-	
-		this.markerLimit = markerLimit;
-	}
-	
-	boolean checkDescription(String desc) {
-		if (desc == null) {  // be paranoid
-			desc = ""; //$NON-NLS-1$
-		}
-		boolean contains = containsSubstring(desc, descriptionFilter);
-		return descriptionFilterKind == FILTER_CONTAINS ? contains : !contains;
-	}
-	
-	public Object clone() {
-		try {
-			return super.clone();
-		}
-		catch (CloneNotSupportedException e) {
-			throw new Error(); // shouldn't happen
-		}
-	}
-	
-	boolean containsSubstring(String string, String substring) {
-		int strLen = string.length();
-		int subLen = substring.length();
-		int len = strLen - subLen;
-		for (int i = 0; i <= len; ++i) {
-			if (string.regionMatches(true, i, substring, 0, subLen)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Returns if the given resource is enclosed by a working set element.
-	 * The IContainmentAdapter of each working set element is used for the
-	 * containment test. If there is no IContainmentAdapter for a working 
-	 * set element, a simple resource based test is used. 
-	 * 
-	 * @param element resource to test for enclosure by a working set
-	 * 	element 
-	 * @return true if element is enclosed by a working set element and 
-	 * 	false otherwise. 
-	 */
-	private boolean isEnclosed(IResource element) {
-		IPath elementPath = element.getFullPath();
-		IAdaptable[] workingSetElements = workingSet.getElements();
-		
-		if (elementPath.isEmpty() || elementPath.isRoot()) {
-			return false;
-		}
-		for (int i = 0; i < workingSetElements.length; i++) {
-			IAdaptable workingSetElement = workingSetElements[i];
-			IContainmentAdapter containmentAdapter = (IContainmentAdapter) workingSetElement.getAdapter(IContainmentAdapter.class);
-			
-			// if there is no IContainmentAdapter defined for the working  
-			// set element type fall back to using resource based  
-			// containment check 
-			if (containmentAdapter != null) {
-				if (containmentAdapter.contains(workingSetElement, element, IContainmentAdapter.CHECK_CONTEXT | IContainmentAdapter.CHECK_IF_CHILD | IContainmentAdapter.CHECK_IF_DESCENDANT))
-					return true;
-			} else if (isEnclosedResource(element, elementPath, workingSetElement)) {
-				return true;
-			}		
-		}
-		return false;
-	}
-
-	/**
-	 * Returns if the given resource is enclosed by a working set element.
-	 * A resource is enclosed if it is either a parent of a working set 
-	 * element, a child of a working set element or a working set element
-	 * itself.
-	 * Simple path comparison is used. This is only guaranteed to return
-	 * correct results for resource working set elements. 
-	 * 
-	 * @param element resource to test for enclosure by a working set
-	 * 	element
-	 * @param elementPath full, absolute path of the element to test 
-	 * @return true if element is enclosed by a working set element and 
-	 * 	false otherwise. 
-	 */
-	private boolean isEnclosedResource(IResource element, IPath elementPath, IAdaptable workingSetElement) {
-		IResource workingSetResource = null;
-		
-		if (workingSetElement.equals(element))
-			return true;
-		if (workingSetElement instanceof IResource) {
-			workingSetResource = (IResource) workingSetElement;
-		}
-		else {
-			workingSetResource = (IResource) workingSetElement.getAdapter(IResource.class);
-		}	
-		if (workingSetResource != null) {
-			IPath resourcePath = workingSetResource.getFullPath();
-			if (resourcePath.isPrefixOf(elementPath))
-				return true;
-		}
-		return false;
-	}
-
-	public void reset() {
-		types = ROOT_TYPES;
-		onResource = ON_ANY_RESOURCE;
-		filterOnDescription = false;
-		descriptionFilter = ""; //$NON-NLS-1$
-		filterOnSeverity = false;
-		severityFilter = 0;
-		filterOnPriority = false;
-		priorityFilter = 0;
-		filterOnCompletion = false;
-		completionFilter = 0;
-		filterOnMarkerLimit = true;
-		markerLimit = DEFAULT_MARKER_LIMIT;
-	}
-
-	/**
-	 * @see IPersistable
-	 */
-	public void restoreState(IMemento memento) {
-		IMemento children[] = memento.getChildren(TAG_TYPE);
-		types = new String[children.length];
-		for (int i = 0; i < children.length; i++){
-			types[i] = children[i].getString(TAG_ID);
-		}
-		Integer ival = memento.getInteger(TAG_ON_RESOURCE);
-		onResource = ival == null ? ON_ANY_RESOURCE : ival.intValue();
-		restoreWorkingSet(memento.getString(TAG_WORKING_SET));
-		ival = memento.getInteger(TAG_FILTER_ON_DESCRIPTION);
-		filterOnDescription = ival != null && ival.intValue() == 1;
-		ival = memento.getInteger(TAG_DESCRIPTION_FILTER_KIND);
-		descriptionFilterKind = ival == null ? FILTER_CONTAINS : ival.intValue();
-		descriptionFilter = memento.getString(TAG_DESCRIPTION_FILTER);
-		if (descriptionFilter == null)
-			descriptionFilter = ""; //$NON-NLS-1$
-		ival = memento.getInteger(TAG_FILTER_ON_SEVERITY);
-		filterOnSeverity = ival != null && ival.intValue() == 1;
-		ival = memento.getInteger(TAG_SEVERITY_FILTER);
-		severityFilter = ival == null ? 0 : ival.intValue();
-		ival = memento.getInteger(TAG_FILTER_ON_PRIORITY);
-		filterOnPriority = ival != null && ival.intValue() == 1;
-		ival = memento.getInteger(TAG_PRIORITY_FILTER);
-		priorityFilter = ival == null ? 0 : ival.intValue();
-		ival = memento.getInteger(TAG_FILTER_ON_COMPLETION);
-		filterOnCompletion = ival != null && ival.intValue() == 1;
-		ival = memento.getInteger(TAG_COMPLETION_FILTER);
-		completionFilter = ival == null ? 0 : ival.intValue();
-		ival = memento.getInteger(TAG_FILTER_ON_MARKER_LIMIT);
-		filterOnMarkerLimit = ival == null || ival.intValue() == 1;
-		ival = memento.getInteger(TAG_MARKER_LIMIT);
-		markerLimit = ival == null ? DEFAULT_MARKER_LIMIT : ival.intValue();
-	}
-
-	/**
-	 * Restores the saved working set, if any.
-	 * 
-	 * @param the saved working set name or null
-	 */
-	private void restoreWorkingSet(String workingSetName) {
-		if (workingSetName != null) {
-			IWorkingSetManager workingSetManager = PlatformUI.getWorkbench().getWorkingSetManager();
-			IWorkingSet workingSet = workingSetManager.getWorkingSet(workingSetName);
-			
-			if (workingSet != null) {
-				this.workingSet = workingSet;
-			}
-		}
-	}
-
-	/**
-	 * Saves the object state within a memento.
-	 *
-	 * @param memento a memento to receive the object state
-	 */
-	public void saveState(IMemento memento) {
-		for (int i = 0; i < types.length; i++){
-			memento.createChild(TAG_TYPE).putString(TAG_ID,types[i]);
-		}
-		memento.putInteger(TAG_ON_RESOURCE,onResource);
-		if (workingSet != null) {
-			memento.putString(TAG_WORKING_SET,workingSet.getName());
-		}
-		memento.putInteger(TAG_FILTER_ON_DESCRIPTION,filterOnDescription?1:0);
-		memento.putInteger(TAG_DESCRIPTION_FILTER_KIND,descriptionFilterKind);
-		memento.putString(TAG_DESCRIPTION_FILTER,descriptionFilter);
-		memento.putInteger(TAG_FILTER_ON_SEVERITY,filterOnSeverity?1:0);
-		memento.putInteger(TAG_SEVERITY_FILTER,severityFilter);
-		memento.putInteger(TAG_FILTER_ON_PRIORITY,filterOnPriority?1:0);
-		memento.putInteger(TAG_PRIORITY_FILTER,priorityFilter);
-		memento.putInteger(TAG_FILTER_ON_COMPLETION,filterOnCompletion?1:0);
-		memento.putInteger(TAG_COMPLETION_FILTER,completionFilter);
-		memento.putInteger(TAG_FILTER_ON_MARKER_LIMIT,filterOnMarkerLimit?1:0);
-		memento.putInteger(TAG_MARKER_LIMIT,markerLimit);
-	}
-	
-	public boolean select(Viewer viewer, Object parentElement, Object element) {
-		return select((IMarker) element);
-	}
-	
-	public boolean select(IMarker marker) {
-		// resource settings are handled by the content provider
-		return selectByType(marker) && selectByAttributes(marker) && selectByWorkingSet(marker);
-	}
-	
-	public boolean select(IMarkerDelta markerDelta) {
-		// resource settings are handled by the content provider
-		return selectByType(markerDelta) && selectByAttributes(markerDelta) && selectByWorkingSet(markerDelta);
-	}
-		
-	private boolean selectByType(IMarker marker) {
-		for (int i = 0; i < types.length; ++i) {
-			if (MarkerUtil.isMarkerType(marker, types[i]))
-				return true;
-		}
-		return false;
-	}
-	
-	private boolean selectByType(IMarkerDelta markerDelta) {
-		for (int i = 0; i < types.length; ++i) {
-			if (markerDelta.isSubtypeOf(types[i]))
-				return true;
-		}
-		return false;
-	}
-	
-	/**
-	 * Returns whether the specified marker should be filter out or not.
-	 * 
-	 * @param marker the marker to test
-	 * @return 
-	 * 	true=the marker should not be filtered out
-	 * 	false=the marker should be filtered out
-	 */
-	private boolean selectByWorkingSet(IMarker marker) {
-		if (workingSet == null || onResource != ON_WORKING_SET) {
-			return true;
-		}			
-		IResource resource = (IResource) marker.getResource();
-		if (resource != null) {
-			return isEnclosed(resource);
-		}
-		return false;
-	}
-
-	/**
-	 * Returns whether the specified marker delta should be filter out 
-	 * or not.
-	 * 
-	 * @param markerDelta the marker delta to test
-	 * @return 
-	 * 	true=the marker delta should not be filtered out
-	 * 	false=the marker delta should be filtered out
-	 */
-	private boolean selectByWorkingSet(IMarkerDelta markerDelta) {
-		if (workingSet == null || onResource != ON_WORKING_SET) {
-			return true;
-		}			
-		IResource resource = (IResource) markerDelta.getResource();
-		if (resource != null) {
-			return isEnclosed(resource);
-		}
-		return false;
-	}
-
-	/* 
-	 * WARNING: selectByAttributes(IMarker) and selectByAttributes(IMarkerDelta) must correspond.
-	 */
-	
-	private boolean selectByAttributes(IMarker marker) {
-	
-		// severity filter applies only to problems
-		if (filterOnSeverity && MarkerUtil.isMarkerType(marker, IMarker.PROBLEM)) {
-			int sev = MarkerUtil.getSeverity(marker);
-			if ((severityFilter & (1 << sev)) == 0)
-				return false;
-		}
-	
-		// priority and completion filters apply only to tasks
-		// avoid doing type check more than once
-		if ((filterOnPriority || filterOnCompletion) && MarkerUtil.isMarkerType(marker, IMarker.TASK)) {
-			if (filterOnPriority) {
-				int pri = MarkerUtil.getPriority(marker);
-				if ((priorityFilter & (1 << pri)) == 0)
-					return false;
-			}
-			if (filterOnCompletion) {
-				boolean complete = MarkerUtil.isComplete(marker);
-				if ((completionFilter & (complete ? 2 : 1)) == 0)
-					return false;
-			}
-		}
-	
-		// description applies to all markers
-		if (filterOnDescription) {
-			String desc = MarkerUtil.getMessage(marker);
-			if (!checkDescription(desc))
-				return false;
-		}
-		return true;
-	}
-	
-	private boolean selectByAttributes(IMarkerDelta markerDelta) {
-	
-		// severity filter applies only to problems
-		if (filterOnSeverity && markerDelta.isSubtypeOf(IMarker.PROBLEM)) {
-			int sev = markerDelta.getAttribute(IMarker.SEVERITY, IMarker.SEVERITY_WARNING);
-			if ((severityFilter & (1 << sev)) == 0)
-				return false;
-		}
-	
-		// priority and completion filters apply only to tasks
-		// avoid doing type check more than once
-		if ((filterOnPriority || filterOnCompletion) && markerDelta.isSubtypeOf(IMarker.TASK)) {
-			if (filterOnPriority) {
-				int pri = markerDelta.getAttribute(IMarker.PRIORITY, IMarker.PRIORITY_NORMAL);
-				if ((priorityFilter & (1 << pri)) == 0)
-					return false;
-			}
-			if (filterOnCompletion) {
-				boolean complete = markerDelta.getAttribute(IMarker.DONE, false);
-				if ((completionFilter & (complete ? 2 : 1)) == 0)
-					return false;
-			}
-		}
-	
-		// description applies to all markers
-		if (filterOnDescription) {
-			String desc = markerDelta.getAttribute(IMarker.MESSAGE, ""); //$NON-NLS-1$
-			if (!checkDescription(desc))
-				return false;
-		}
-		return true;
-	}
-	
-	
-	/**
-	 * Returns whether the filter is including all markers.
-	 *
-	 * @return <code>true</code> if the filter includes all markers, <code>false</code> if not
-	 */
-	public boolean isShowingAll() {
-		if (filterOnDescription || filterOnSeverity || filterOnPriority || filterOnCompletion) {
-			return false;
-		}
-		if (onResource != ON_ANY_RESOURCE) {
-			return false;
-		}
-		
-		HashSet set = new HashSet(Arrays.asList(types));
-		if (set.size() != ROOT_TYPES.length) {
-			return false;
-		}
-		for (int i = 0; i < ROOT_TYPES.length; ++i) {
-			if (!set.contains(ROOT_TYPES[i])) {
-				return false;
-			}
-		}
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/messages.properties b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/messages.properties
deleted file mode 100644
index 9c342c2..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/messages.properties
+++ /dev/null
@@ -1,182 +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 Corporation - initial API and implementation
-#     Cagatay Kavukcuoglu <cagatayk@acm.org> - Filter for markers in same project
-###############################################################################
-
-# package: org.eclipse.ui.views.tasklist
-
-
-# ==============================================================================
-# TaskList
-# ==============================================================================
-
-TaskList.line = line {0}
-TaskList.lineAndLocation = line {0} in {1}
-
-TaskList.statusSummaryVisible = {0,choice,0#0 items|1#{0,number,integer} item|1<{0,number,integer} items}: {1}
-TaskList.statusSummarySelected = {0,choice,0#0 items|1#{0,number,integer} item|1<{0,number,integer} items} selected: {1}
-TaskList.statusSummaryBreakdown = {0,choice,0#0 tasks|1#{0,number,integer} task|1<{0,number,integer} tasks}, {1,choice,0#0 errors|1#{1,number,integer} error|1<{1,number,integer} errors}, {2,choice,0#0 warnings|1#{2,number,integer} warning|1<{2,number,integer} warnings}, {3,choice,0#0 infos|1#{3,number,integer} info|1<{3,number,integer} infos}
-TaskList.titleSummaryUnfiltered = {0,choice,0#0 items|1#{0,number,integer} item|1<{0,number,integer} items}
-TaskList.titleSummaryFiltered = Filter matched {0} of {1,choice,0#0 items|1#{1,number,integer} item|1<{1,number,integer} items}
-TaskList.title = {0} ({1})
-
-TaskList.headerIcon = 
-TaskList.headerCompleted = C
-TaskList.headerPriority = !
-TaskList.headerDescription = Description
-TaskList.headerResource = Resource
-TaskList.headerFolder = In Folder
-TaskList.headerLocation = Location
-
-TaskList.high = High
-TaskList.low = Low
-TaskList.normal = Normal
-
-TaskList.errorModifyingTask = Error modifying task
-
-TaskList.reportKind = Kind
-TaskList.reportStatus = Status
-TaskList.reportPriority = Priority
-
-TaskList.task = Task
-TaskList.error = Error
-TaskList.warning = Warning
-TaskList.info = Info
-
-TaskList.completed = Completed
-TaskList.notCompleted = Not Completed
-
-TaskList.markerLimitExceeded = There are too many items to display.\n\
-	To see items in this window, adjust the filter settings.
-
-# --- Actions ---
-NewTask.text = &New Task
-NewTask.tooltip = New Task
-NewTask.notShownTitle = New Task Not Visible
-NewTask.notShownMsg = The new task will not be visible, due to the current filter settings.\n\
-     To see all tasks, choose Filter... then select the Reset button.
-
-CopyTask.text = &Copy
-CopyTask.tooltip = Copy
-
-PasteTask.text = &Paste
-PasteTask.tooltip = Paste
-PasteTask.errorMessage = Error pasting task
-
-RemoveTask.text = &Delete
-RemoveTask.tooltip = Delete
-RemoveTask.errorMessage = Error deleting task
-
-Filters.text = &Filters...
-Filters.tooltip = Filters...
-
-SortByMenu.text= &Sort
-SortByCategory.text= by &Type
-SortByCategory.tooltip= Sort by type column
-SortByCompleted.text= by &Completion
-SortByCompleted.tooltip= Sort by completion column 
-SortByPriority.text= by &Priority
-SortByPriority.tooltip= Sort by priority column
-SortByDescription.text= by &Description
-SortByDescription.tooltip= Sort by description column
-SortByResource.text= by &Resource
-SortByResource.tooltip= Sort by resource column
-SortByContainer.text= by &Folder
-SortByContainer.tooltip= Sort by folder column
-SortByLocation.text= by &Location
-SortByLocation.tooltip= Sort by location column
-SortByCreationTime.text= by Cr&eation Time
-SortByCreationTime.tooltip= Sort by task creation time
-SortAscending.text= &Ascending
-SortAscending.tooltip= Sort ascending
-SortDescending.text= De&scending
-SortDescending.tooltip= Sort Descending
-
-GotoTask.text = &Go To
-GotoTask.tooltip = Go To
-GotoTask.errorMessage = Problems Opening Editor
-
-PurgeCompleted.text = Delete Completed &Tasks
-PurgeCompleted.tooltip = Delete Completed Tasks
-PurgeCompleted.title = Delete Completed Tasks
-PurgeCompleted.noneCompleted = No completed tasks to delete.
-PurgeCompleted.permanent = Do you want to permanently delete all {0} completed tasks?
-PurgeCompleted.errorMessage = Error deleting completed tasks
-
-MarkCompleted.text = &Mark Completed
-MarkCompleted.tooltip = Mark Completed
-
-SelectAll.text = Select A&ll
-SelectAll.tooltip = Select All
-
-Resolve.text = &Quick Fix...
-Resolve.tooltip = Quick Fix
-Resolve.title = Quick Fix
-Resolve.noResolutionsLabel = There are no quick fixes available for the selected marker.
-
-Properties.text = P&roperties
-Properties.tooltip = Properties
-
-# --- Filter Dialog ---
-TaskList.filter = Filter Tasks
-TaskList.showItemsOfType = Show items of &type:
-
-TaskList.anyResource = On &any resource
-TaskList.anyResourceInSameProject = On any resource in same &project
-TaskList.selectedResource = On selected resource &only
-TaskList.selectedAndChildren = On selected resource and its &children
-TaskList.workingSet = On wor&king set:  {0}
-TaskList.workingSetSelect = &Select...
-TaskList.noWorkingSet = On wor&king set:  <no working set selected>
-
-TaskList.whereDescription = Where &description
-TaskList.contains = contains
-TaskList.doesNotContain = does not contain
-
-TaskList.severity.label = Where problem se&verity is:
-TaskList.severity.error = &Error
-TaskList.severity.warning = Warnin&g
-TaskList.severity.info = &Info
-
-TaskList.priority.label = Where task priorit&y is:
-TaskList.priority.high = &High
-TaskList.priority.low = Lo&w
-TaskList.priority.normal = &Normal
-
-TaskList.status.label = Where task stat&us is:
-TaskList.status.completed = Co&mpleted
-TaskList.status.notCompleted = Not Comp&leted
-
-TaskList.resetText = &Restore Defaults
-
-TaskList.limitVisibleTasksTo = Limit visi&ble items to:
-TaskList.titleMarkerLimitInvalid = Error
-TaskList.messageMarkerLimitInvalid = The visible item limit must be a positive integer.
-TaskPropertiesDialog.WorkingOnMarker=Working on Marker
-TaskPropertiesDialog.CreatingMarker=Creating marker
-
-# --- Properties Dialog ---
-TaskProp.newTaskTitle = New Task
-TaskProp.propertiesTitle = {0} Properties
-#TaskProp.titleFmt = {0} - {1}
-TaskProp.description = &Description:
-TaskProp.creationTime = Creation &Time:
-TaskProp.priority = &Priority:
-TaskProp.completed = &Completed
-TaskProp.severity = Severity:
-TaskProp.onResource = On &Resource:
-TaskProp.inFolder = In &Folder:
-TaskProp.location = &Location:
-TaskProp.errorMessage = Error creating or modifying task
-
-CopyToClipboardProblemDialog.title=Problem Copying to Clipboard
-CopyToClipboardProblemDialog.message=There was a problem when accessing the system clipboard. Retry?
-
-TaskPropertiesDialog.UpdatingAttributes=Updating attributes
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/package.html b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/package.html
deleted file mode 100644
index 94c17f9..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/package.html
+++ /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="Author" content="IBM">
-   <meta name="GENERATOR" content="Mozilla/4.5 [en] (Win98; I) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides the standard Task List view for displaying
-tasks and problem annotations on resources.
-<br>&nbsp;
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/Base64Encoder.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/Base64Encoder.java
deleted file mode 100644
index 54adfb6..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/Base64Encoder.java
+++ /dev/null
@@ -1,67 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.datatransfer;
-
-
-/**
- *	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.ide/src/org/eclipse/ui/wizards/datatransfer/DataTransferMessages.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/DataTransferMessages.java
deleted file mode 100644
index 31dbc39..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/DataTransferMessages.java
+++ /dev/null
@@ -1,52 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.datatransfer;
-
-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.ide/src/org/eclipse/ui/wizards/datatransfer/ExternalProjectImportWizard.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ExternalProjectImportWizard.java
deleted file mode 100644
index f088615..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ExternalProjectImportWizard.java
+++ /dev/null
@@ -1,101 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.datatransfer;
-
-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;
-
-	/**
-	 * 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) {
-		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);
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/FileSystemExportOperation.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/FileSystemExportOperation.java
deleted file mode 100644
index 37adcda..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/FileSystemExportOperation.java
+++ /dev/null
@@ -1,416 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.datatransfer;
-
-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 parentResource org.eclipse.core.resources.IResource
-	 */
-	protected int countChildrenOf(IResource parentResource) throws CoreException {
-		if (parentResource.getType() == IResource.FILE)
-			return 1;
-
-		int count = 0;
-		if (parentResource.isAccessible()) {
-			IResource[] children = ((IContainer) parentResource).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 childResource org.eclipse.core.resources.IResource
-	 */
-	protected void createLeadupDirectoriesFor(IResource childResource) {
-		IPath resourcePath = childResource.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 progressMonitor) throws InterruptedException {
-		this.monitor = progressMonitor;
-
-		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.ide/src/org/eclipse/ui/wizards/datatransfer/FileSystemExportWizard.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/FileSystemExportWizard.java
deleted file mode 100644
index dcb7138..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/FileSystemExportWizard.java
+++ /dev/null
@@ -1,128 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.datatransfer;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.List;
-
-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.IEditorPart;
-import org.eclipse.ui.IExportWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-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 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.selection = currentSelection;
-	List selectedResources = IDE.computeSelectedResources(currentSelection);
-	if (!selectedResources.isEmpty()) {
-		this.selection = new StructuredSelection(selectedResources);
-	}
-
-	// look it up if current selection (after resource adapting) is empty
-	if (selection.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.ide/src/org/eclipse/ui/wizards/datatransfer/FileSystemExporter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/FileSystemExporter.java
deleted file mode 100644
index 53ae911..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/FileSystemExporter.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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.datatransfer;
-
-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 {
-		contentStream = file.getContents(false);
-		output = new FileOutputStream(destinationPath.toOSString());
-		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.ide/src/org/eclipse/ui/wizards/datatransfer/FileSystemImportWizard.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/FileSystemImportWizard.java
deleted file mode 100644
index 698bbe5..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/FileSystemImportWizard.java
+++ /dev/null
@@ -1,112 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.datatransfer;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.List;
-
-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.IImportWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-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;
-	this.selection = currentSelection;
-
-	List selectedResources = IDE.computeSelectedResources(currentSelection);
-	if (!selectedResources.isEmpty()) {
-		this.selection = new StructuredSelection(selectedResources);
-	}
-
-	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.ide/src/org/eclipse/ui/wizards/datatransfer/FileSystemStructureProvider.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/FileSystemStructureProvider.java
deleted file mode 100644
index ef30ef0..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/FileSystemStructureProvider.java
+++ /dev/null
@@ -1,81 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.datatransfer;
-
-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.ide/src/org/eclipse/ui/wizards/datatransfer/IDataTransferHelpContextIds.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/IDataTransferHelpContextIds.java
deleted file mode 100644
index e0c57f5..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/IDataTransferHelpContextIds.java
+++ /dev/null
@@ -1,31 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.datatransfer;
-
-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.ide/src/org/eclipse/ui/wizards/datatransfer/IImportStructureProvider.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/IImportStructureProvider.java
deleted file mode 100644
index a70de2b..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/IImportStructureProvider.java
+++ /dev/null
@@ -1,58 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.datatransfer;
-
-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.ide/src/org/eclipse/ui/wizards/datatransfer/ImportOperation.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ImportOperation.java
deleted file mode 100644
index 769ef36..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ImportOperation.java
+++ /dev/null
@@ -1,733 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.datatransfer;
-
-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(org.eclipse.core.resources.IFile[], java.lang.Object)
- * @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.ide/src/org/eclipse/ui/wizards/datatransfer/MinimizedFileSystemElement.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/MinimizedFileSystemElement.java
deleted file mode 100644
index 2a5ba9a..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/MinimizedFileSystemElement.java
+++ /dev/null
@@ -1,96 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.datatransfer;
-
-import java.util.*;
-import org.eclipse.ui.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, 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.ide/src/org/eclipse/ui/wizards/datatransfer/PopulateElementOperation.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/PopulateElementOperation.java
deleted file mode 100644
index b8f8d4d..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/PopulateElementOperation.java
+++ /dev/null
@@ -1,69 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.datatransfer;
-
-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.ide/src/org/eclipse/ui/wizards/datatransfer/PopulateRootOperation.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/PopulateRootOperation.java
deleted file mode 100644
index 9682b91..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/PopulateRootOperation.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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.datatransfer;
-
- 
-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.ide/src/org/eclipse/ui/wizards/datatransfer/SelectFilesOperation.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/SelectFilesOperation.java
deleted file mode 100644
index d0dd11a..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/SelectFilesOperation.java
+++ /dev/null
@@ -1,139 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.datatransfer;
-
-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.ide/src/org/eclipse/ui/wizards/datatransfer/WizardExternalProjectImportPage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/WizardExternalProjectImportPage.java
deleted file mode 100644
index fda4350..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/WizardExternalProjectImportPage.java
+++ /dev/null
@@ -1,467 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.datatransfer;
-
-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.ide.IHelpContextIds;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-
-/**
- * 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 = ""; //$NON-NLS-1$
-
-	// widgets
-	private Text projectNameField;
-	private Text locationPathField;
-	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;
-	/**
-	 * Creates a new project creation wizard 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 = IDEWorkbenchPlugin.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(""); //$NON-NLS-1$
-		}
-		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();
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/WizardFileSystemExportPage1.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/WizardFileSystemExportPage1.java
deleted file mode 100644
index c9e3e90..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/WizardFileSystemExportPage1.java
+++ /dev/null
@@ -1,359 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.datatransfer;
-
-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;
-	
-	// 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.ide/src/org/eclipse/ui/wizards/datatransfer/WizardFileSystemImportPage1.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/WizardFileSystemImportPage1.java
deleted file mode 100644
index f35f834..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/WizardFileSystemImportPage1.java
+++ /dev/null
@@ -1,678 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.datatransfer;
-
-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;
-
-	// 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 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);
-}
-/**
- *	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));
-
-	// 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.ide/src/org/eclipse/ui/wizards/datatransfer/WizardFileSystemResourceExportPage1.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/WizardFileSystemResourceExportPage1.java
deleted file mode 100644
index cc56446..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/WizardFileSystemResourceExportPage1.java
+++ /dev/null
@@ -1,451 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.datatransfer;
-
-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;
-
-	// 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$
-	//messages
-	private static final String SELECT_DESTINATION_MESSAGE = DataTransferMessages.getString("FileExport.selectDestinationMessage"); //$NON-NLS-1$
-	private static final String SELECT_DESTINATION_TITLE = DataTransferMessages.getString("FileExport.selectDestinationTitle"); //$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("FileExport.toDirectory"); //$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.setText(SELECT_DESTINATION_TITLE);
-		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(destinationEmptyMessage());
-			return false;
-		}
-
-		String conflictingContainer =
-			getConflictingContainerNameFor(destinationValue);
-		if (conflictingContainer == null)
-			setErrorMessage(null);
-		else {
-			setErrorMessage(DataTransferMessages.format("FileExport.conflictingContainer", //$NON-NLS-1$
-			new Object[] { conflictingContainer }));
-			giveFocusToDestination();
-			return false;
-		}
-
-		return true;
-	}
-	
-	/**
-	 * Get the message used to denote an empty destination.
-	 */
-	protected String destinationEmptyMessage(){
-		return DataTransferMessages.getString("FileExport.destinationEmpty"); //$NON-NLS-1$
-	}
-
-	/**
-	 * 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.ide/src/org/eclipse/ui/wizards/datatransfer/WizardFileSystemResourceImportPage1.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/WizardFileSystemResourceImportPage1.java
deleted file mode 100644
index d1005d0..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/WizardFileSystemResourceImportPage1.java
+++ /dev/null
@@ -1,923 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.datatransfer;
-
-
-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.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-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.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-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.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.help.WorkbenchHelp;
-import org.eclipse.ui.internal.ide.dialogs.IElementFilter;
-import org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-
-/**
- *	Page 1 of the base resource import-from-file-system Wizard
- */
-/*package*/
-class WizardFileSystemResourceImportPage1
-	extends WizardResourceImportPage
-	implements Listener {
-	// 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_TITLE =
-			DataTransferMessages.getString("FileImport.selectSourceTitle"); //$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);
-}
-/**
- *	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("FileImport.fromDirectory"); //$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.setText(SELECT_SOURCE_TITLE);
-	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 ProgressMonitorJobsDialog(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.ide/src/org/eclipse/ui/wizards/datatransfer/WizardZipFileExportPage1.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/WizardZipFileExportPage1.java
deleted file mode 100644
index 0d9621c..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/WizardZipFileExportPage1.java
+++ /dev/null
@@ -1,320 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.datatransfer;
-
-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.ide/src/org/eclipse/ui/wizards/datatransfer/WizardZipFileImportPage1.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/WizardZipFileImportPage1.java
deleted file mode 100644
index f19893d..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/WizardZipFileImportPage1.java
+++ /dev/null
@@ -1,329 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.datatransfer;
-
-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 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.ide/src/org/eclipse/ui/wizards/datatransfer/WizardZipFileResourceExportPage1.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/WizardZipFileResourceExportPage1.java
deleted file mode 100644
index 2182b6a..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/WizardZipFileResourceExportPage1.java
+++ /dev/null
@@ -1,319 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.datatransfer;
-
-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;
-
-	// 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_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;
-			}
-			else {
-				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 a suffix then add it first.
-	 */
-	protected String getDestinationValue() {
-		String idealSuffix = getOutputSuffix();
-		String destinationText = super.getDestinationValue();
-
-        // only append a suffix if the destination doesn't already have a . in 
-        // its last path segment.  
-        // Also prevent the user from selecting a directory.  Allowing this will 
-        // create a ".zip" file in the directory
-		if (destinationText.length() != 0 && !destinationText.endsWith(File.separator)) {
-            int dotIndex = destinationText.lastIndexOf('.');
-            if (dotIndex != -1) {
-                // the last path seperator index
-                int pathSepIndex = destinationText.lastIndexOf(File.separator);
-                if (pathSepIndex != -1 && dotIndex < pathSepIndex) {
-                    destinationText += idealSuffix;
-                }
-            }
-            else {
-                destinationText += idealSuffix;
-            }
-		}
-
-		return destinationText;
-	}
-	/**
-	 *	Answer the suffix that files exported from this wizard should 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$ //$NON-NLS-2$
-		dialog.setText(DataTransferMessages.getString("ZipExport.selectDestinationTitle")); //$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));
-		}
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.wizards.datatransfer.WizardFileSystemResourceExportPage1#destinationEmptyMessage()
-	 */
-	protected String destinationEmptyMessage() {
-		return DataTransferMessages.getString("ZipExport.destinationEmpty"); //$NON-NLS-1$
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/WizardZipFileResourceImportPage1.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/WizardZipFileResourceImportPage1.java
deleted file mode 100644
index 2b35a1e..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/WizardZipFileResourceImportPage1.java
+++ /dev/null
@@ -1,399 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.datatransfer;
-
-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 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_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) {
-
-		// 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("ZipImport.fromFile"); //$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 });
-		dialog.setText(DataTransferMessages.getString("ZipImportSource.title")); //$NON-NLS-1$
-
-		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.ide/src/org/eclipse/ui/wizards/datatransfer/ZipFileExportOperation.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ZipFileExportOperation.java
deleted file mode 100644
index f074ac7..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ZipFileExportOperation.java
+++ /dev/null
@@ -1,343 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.datatransfer;
-
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Iterator;
-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.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.operation.ModalContext;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-
-/**
- *	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, IDEWorkbenchPlugin.IDE_WORKBENCH, 0, message, e));
-	}
-	/**
-	 *  Answer the total number of file resources that exist at or below self
-	 *  in the resources hierarchy.
-	 *
-	 *  @return int
-	 *  @param checkResource org.eclipse.core.resources.IResource
-	 */
-	protected int countChildrenOf(IResource checkResource) throws CoreException {
-		if (checkResource.getType() == IResource.FILE)
-			return 1;
-
-		int count = 0;
-		if (checkResource.isAccessible()) {
-			IResource[] children = ((IContainer) checkResource).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 exportResource org.eclipse.core.resources.IResource
-	 */
-	protected void exportResource(IResource exportResource)
-		throws InterruptedException {
-		exportResource(exportResource, 1);
-	}
-
-	/**
-	 *  Export the passed resource to the destination .zip
-	 *
-	 *  @param exportResource 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 exportResource, int leadupDepth)
-		throws InterruptedException {
-		if (!exportResource.isAccessible())
-			return;
-
-		if (exportResource.getType() == IResource.FILE) {
-			String destinationName;
-			IPath fullPath = exportResource.getFullPath();
-			if (createLeadupStructure)
-				destinationName = fullPath.makeRelative().toString();
-			else
-				destinationName =
-					fullPath
-						.removeFirstSegments(
-							fullPath.segmentCount() - leadupDepth)
-						.toString();
-			monitor.subTask(destinationName);
-
-			try {
-				exporter.write((IFile) exportResource, destinationName);
-			} catch (IOException e) {
-				addError(DataTransferMessages.format("DataTransfer.errorExporting", //$NON-NLS-1$
-				new Object[] {
-					exportResource.getFullPath().makeRelative(),
-					e.getMessage()}),
-					e);
-			} catch (CoreException e) {
-				addError(DataTransferMessages.format("DataTransfer.errorExporting", //$NON-NLS-1$
-				new Object[] {
-					exportResource.getFullPath().makeRelative(),
-					e.getMessage()}),
-					e);
-			}
-
-			monitor.worked(1);
-			ModalContext.checkCanceled(monitor);
-		} else {
-			IResource[] children = null;
-
-			try {
-				children = ((IContainer) exportResource).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[] { exportResource.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(IDEWorkbenchPlugin.IDE_WORKBENCH, 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 progressMonitor)
-		throws InvocationTargetException, InterruptedException {
-		this.monitor = progressMonitor;
-
-		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.ide/src/org/eclipse/ui/wizards/datatransfer/ZipFileExportWizard.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ZipFileExportWizard.java
deleted file mode 100644
index d0d1b2c..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ZipFileExportWizard.java
+++ /dev/null
@@ -1,111 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.datatransfer;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.List;
-
-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.IExportWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-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 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.selection = currentSelection;
-	List selectedResources = IDE.computeSelectedResources(currentSelection);
-	if (!selectedResources.isEmpty()) {
-		this.selection = new StructuredSelection(selectedResources);
-	}
-
-	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.ide/src/org/eclipse/ui/wizards/datatransfer/ZipFileExporter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ZipFileExporter.java
deleted file mode 100644
index 6eb338c..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ZipFileExporter.java
+++ /dev/null
@@ -1,179 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.datatransfer;
-
-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.ide/src/org/eclipse/ui/wizards/datatransfer/ZipFileImportWizard.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ZipFileImportWizard.java
deleted file mode 100644
index b9deef6..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ZipFileImportWizard.java
+++ /dev/null
@@ -1,119 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.datatransfer;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.List;
-
-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.IImportWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-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;
-	this.selection = currentSelection;
-	List selectedResources = IDE.computeSelectedResources(currentSelection);
-	if (!selectedResources.isEmpty()) {
-		this.selection = new StructuredSelection(selectedResources);
-	}
-
-	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.ide/src/org/eclipse/ui/wizards/datatransfer/ZipFileStructureProvider.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ZipFileStructureProvider.java
deleted file mode 100644
index 62b562b..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ZipFileStructureProvider.java
+++ /dev/null
@@ -1,153 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.datatransfer;
-
-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.ide/src/org/eclipse/ui/wizards/datatransfer/messages.properties b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/messages.properties
deleted file mode 100644
index df0f52c..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/messages.properties
+++ /dev/null
@@ -1,135 +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 Corporation - initial API and implementation
-###############################################################################
-
-# 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 a directory to import from.
-FileImport.selectSourceTitle = Import from directory
-FileImport.sourceTitle = Directory:
-FileImport.fromDirectory = From director&y:
-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.
-ZipImport.fromFile = From &zip file:
-ZipImportSource.title = Import From Zip File
-
-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.selectDestinationTitle= Export To Directory
-FileExport.selectDestinationMessage=Select a directory to export to.
-FileExport.exportLocalFileSystem = Export resources to the local file system.
-FileExport.destinationEmpty = Please enter a destination directory.
-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:
-FileExport.toDirectory = To director&y:
-
-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 = To &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}
-ZipExport.selectDestinationTitle= Export To Zip File
-ZipExport.destinationEmpty = Please enter a destination zip file.
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/package.html b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/package.html
deleted file mode 100644
index 83c410f..0000000
--- a/bundles/org.eclipse.ui.ide/src/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.ide/src/org/eclipse/ui/wizards/newresource/BasicNewFileResourceWizard.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/BasicNewFileResourceWizard.java
deleted file mode 100644
index 1e0690e..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/BasicNewFileResourceWizard.java
+++ /dev/null
@@ -1,115 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.newresource;
-
-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.ide.IDE;
-import org.eclipse.ui.internal.ide.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 {
-		if (dw != null) {
-			IWorkbenchPage page = dw.getActivePage();
-			if (page != null) {
-				IDE.openEditor(page, file, true);
-			}
-		}
-	} 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.ide/src/org/eclipse/ui/wizards/newresource/BasicNewFolderResourceWizard.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/BasicNewFolderResourceWizard.java
deleted file mode 100644
index 13b983b..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/BasicNewFolderResourceWizard.java
+++ /dev/null
@@ -1,95 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.newresource;
-
-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.ide/src/org/eclipse/ui/wizards/newresource/BasicNewProjectResourceWizard.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/BasicNewProjectResourceWizard.java
deleted file mode 100644
index 0199799..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/BasicNewProjectResourceWizard.java
+++ /dev/null
@@ -1,580 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.wizards.newresource;
-
-import java.lang.reflect.InvocationTargetException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.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.IConfigurationElement;
-import org.eclipse.core.runtime.IExecutableExtension;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.MessageDialogWithToggle;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IPerspectiveRegistry;
-import org.eclipse.ui.IPluginContribution;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPreferenceConstants;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.activities.IActivityManager;
-import org.eclipse.ui.activities.IIdentifier;
-import org.eclipse.ui.activities.IWorkbenchActivitySupport;
-import org.eclipse.ui.activities.WorkbenchActivityHelper;
-import org.eclipse.ui.dialogs.WizardNewProjectCreationPage;
-import org.eclipse.ui.dialogs.WizardNewProjectReferencePage;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.internal.IPreferenceConstants;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IDEInternalPreferences;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.registry.PerspectiveDescriptor;
-import org.eclipse.ui.internal.util.PrefUtil;
-
-/**
- * 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 WINDOW_PROBLEMS_TITLE = ResourceMessages
-			.getString("NewProject.errorOpeningWindow"); //$NON-NLS-1$
-
-	/**
-	 * Extension attribute name for final perspective.
-	 */
-	private static final String FINAL_PERSPECTIVE = "finalPerspective"; //$NON-NLS-1$
-
-	/**
-	 * Extension attribute name for preferred perspectives.
-	 */
-	private static final String PREFERRED_PERSPECTIVES = "preferredPerspectives"; //$NON-NLS-1$
-
-	/**
-	 * Creates a wizard for creating a new project resource in the workspace.
-	 */
-	public BasicNewProjectResourceWizard() {
-		IDialogSettings workbenchSettings = IDEWorkbenchPlugin.getDefault()
-				.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.
-				IDEWorkbenchPlugin.getDefault().getLog().log(
-						new Status(IStatus.ERROR,
-								IDEWorkbenchPlugin.IDE_WORKBENCH, 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
-	 */
-	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 = IDEWorkbenchPlugin.getDefault().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 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();
-			if (window != null) {
-				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);
-	}
-	/**
-	 * Updates the perspective based on the current settings in the
-	 * Workbench/Perspectives preference page.
-	 * 
-	 * Use the setting for the new perspective opening if we
-	 * are set to open in a new perspective.
-	 * <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>
-	 * @param configElement - the element we are updating with
-	 * 
-	 * @see IPreferenceConstants#OPM_NEW_WINDOW
-	 * @see IPreferenceConstants#OPM_ACTIVE_PAGE
-	 * @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;
-
-		// Retrieve the new project open perspective preference setting
-		String perspSetting = PrefUtil.getAPIPreferenceStore().getString(
-				IDE.Preferences.PROJECT_OPEN_NEW_PERSPECTIVE);
-
-		String promptSetting = IDEWorkbenchPlugin.getDefault()
-				.getPreferenceStore().getString(
-						IDEInternalPreferences.PROJECT_SWITCH_PERSP_MODE);
-
-		// Return if do not switch perspective setting and are not prompting
-		if (!(promptSetting.equals(MessageDialogWithToggle.PROMPT))
-				&& perspSetting
-						.equals(IWorkbenchPreferenceConstants.NO_NEW_PERSPECTIVE))
-			return;
-
-		// Read the requested perspective id to be opened.
-		String finalPerspId = configElement.getAttribute(FINAL_PERSPECTIVE);
-		if (finalPerspId == null)
-			return;
-
-		// Map perspective id to descriptor.
-		IPerspectiveRegistry reg = PlatformUI.getWorkbench()
-				.getPerspectiveRegistry();
-
-		// leave this code in - the perspective of a given project may map to
-		// activities other than those that the wizard itself maps to.
-		IPerspectiveDescriptor finalPersp = reg
-				.findPerspectiveWithId(finalPerspId);
-		if (finalPersp != null && finalPersp instanceof IPluginContribution) {
-			IPluginContribution contribution = (IPluginContribution) finalPersp;
-			if (contribution.getPluginId() != null) {
-				IWorkbenchActivitySupport workbenchActivitySupport = PlatformUI
-						.getWorkbench().getActivitySupport();
-				IActivityManager activityManager = workbenchActivitySupport
-						.getActivityManager();
-				IIdentifier identifier = activityManager
-						.getIdentifier(WorkbenchActivityHelper
-								.createUnifiedId(contribution));
-				Set idActivities = identifier.getActivityIds();
-
-				if (!idActivities.isEmpty()) {
-					Set enabledIds = new HashSet(activityManager
-							.getEnabledActivityIds());
-
-					if (enabledIds.addAll(idActivities))
-						workbenchActivitySupport
-								.setEnabledActivityIds(enabledIds);
-				}
-			}
-		} else {
-			IDEWorkbenchPlugin.log("Unable to find persective " //$NON-NLS-1$
-					+ finalPerspId
-					+ " in BasicNewProjectResourceWizard.updatePerspective"); //$NON-NLS-1$
-			return;
-		}
-
-		// gather the preferred perspectives
-		// always consider the final perspective (and those derived from it)
-		// to be preferred
-		ArrayList preferredPerspIds = new ArrayList();
-		addPerspectiveAndDescendants(preferredPerspIds, finalPerspId);
-		String preferred = configElement.getAttribute(PREFERRED_PERSPECTIVES);
-		if (preferred != null) {
-			StringTokenizer tok = new StringTokenizer(preferred, " \t\n\r\f,"); //$NON-NLS-1$
-			while (tok.hasMoreTokens()) {
-				addPerspectiveAndDescendants(preferredPerspIds, tok.nextToken());
-			}
-		}
-
-		IWorkbenchWindow window = PlatformUI.getWorkbench()
-				.getActiveWorkbenchWindow();
-		if (window != null) {
-			IWorkbenchPage page = window.getActivePage();
-			if (page != null) {
-				IPerspectiveDescriptor currentPersp = page.getPerspective();
-
-				// don't switch if the current perspective is a preferred
-				// perspective
-				if (currentPersp != null
-						&& preferredPerspIds.contains(currentPersp.getId())) {
-					return;
-				}
-			}
-
-			// prompt the user to switch
-			if (!confirmPerspectiveSwitch(window, finalPersp)) {
-				return;
-			}
-		}
-
-		int workbenchPerspectiveSetting =
-			WorkbenchPlugin.getDefault().getPreferenceStore().getInt(IPreferenceConstants.OPEN_PERSP_MODE);
-		
-		// open perspective in new window setting
-		if (workbenchPerspectiveSetting == IPreferenceConstants.OPM_NEW_WINDOW) {
-			openInNewWindow(finalPersp);
-			return;
-		}
-
-		// replace active perspective setting otherwise
-		replaceCurrentPerspective(finalPersp);
-	}
-	/**
-	 * Adds to the list all perspective IDs in the Workbench who's original ID
-	 * matches the given ID.
-	 * 
-	 * @param perspectiveIds
-	 *            the list of perspective IDs to supplement.
-	 * @param id
-	 *            the id to query.
-	 * @since 3.0
-	 */
-	private static void addPerspectiveAndDescendants(List perspectiveIds,
-			String id) {
-		IPerspectiveRegistry registry = PlatformUI.getWorkbench()
-				.getPerspectiveRegistry();
-		IPerspectiveDescriptor[] perspectives = registry.getPerspectives();
-		for (int i = 0; i < perspectives.length; i++) {
-			// @issue illegal ref to workbench internal class;
-			// consider adding getOriginalId() as API on IPerspectiveDescriptor
-			PerspectiveDescriptor descriptor = ((PerspectiveDescriptor) perspectives[i]);
-			if (descriptor.getOriginalId().equals(id)) {
-				perspectiveIds.add(descriptor.getId());
-			}
-		}
-	}
-
-	/**
-	 * Prompts the user for whether to switch perspectives.
-	 * 
-	 * @param window
-	 *            The workbench window in which to switch perspectives; must not
-	 *            be <code>null</code>
-	 * @param finalPersp
-	 *            The perspective to switch to; must not be <code>null</code>.
-	 * 
-	 * @return <code>true</code> if it's OK to switch, <code>false</code>
-	 *         otherwise
-	 */
-	private static boolean confirmPerspectiveSwitch(IWorkbenchWindow window,
-			IPerspectiveDescriptor finalPersp) {
-		IPreferenceStore store = IDEWorkbenchPlugin.getDefault()
-				.getPreferenceStore();
-		String pspm = store
-				.getString(IDEInternalPreferences.PROJECT_SWITCH_PERSP_MODE);
-		if (!IDEInternalPreferences.PSPM_PROMPT.equals(pspm)) {
-			// Return whether or not we should always switch
-			return IDEInternalPreferences.PSPM_ALWAYS.equals(pspm);
-		}
-
-		MessageDialogWithToggle dialog = MessageDialogWithToggle
-				.openYesNoQuestion(window.getShell(), ResourceMessages
-						.getString("NewProject.perspSwitchTitle"), //$NON-NLS-1$
-						ResourceMessages.format(
-								"NewProject.perspSwitchMessage", //$NON-NLS-1$
-								new Object[]{finalPersp.getLabel()}),
-						null /* use the default message for the toggle */,
-						false /* toggle is initially unchecked */, store,
-						IDEInternalPreferences.PROJECT_SWITCH_PERSP_MODE);
-		int result = dialog.getReturnCode();
-
-		//If we are not going to prompt anymore propogate the choice.
-		if (dialog.getToggleState()) {
-			String preferenceValue;
-			if (result == IDialogConstants.YES_ID) 
-				//Doesn't matter if it is replace or new window
-				//as we are going to use the open perspective setting
-				preferenceValue = IWorkbenchPreferenceConstants.OPEN_PERSPECTIVE_REPLACE;
-			else
-				preferenceValue = IWorkbenchPreferenceConstants.NO_NEW_PERSPECTIVE;
-
-			// update PROJECT_OPEN_NEW_PERSPECTIVE to correspond
-			PrefUtil.getAPIPreferenceStore().setValue(
-					IDE.Preferences.PROJECT_OPEN_NEW_PERSPECTIVE,
-					preferenceValue);
-		}
-		return result == IDialogConstants.YES_ID;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/BasicNewResourceWizard.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/BasicNewResourceWizard.java
deleted file mode 100644
index b1012fc..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/BasicNewResourceWizard.java
+++ /dev/null
@@ -1,179 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.newresource;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.Platform;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchPartReference;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-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.ide/src/org/eclipse/ui/wizards/newresource/ResourceMessages.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/ResourceMessages.java
deleted file mode 100644
index 5a61a6f..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/ResourceMessages.java
+++ /dev/null
@@ -1,53 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.newresource;
-
-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.ide/src/org/eclipse/ui/wizards/newresource/messages.properties b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/messages.properties
deleted file mode 100644
index 5a424ee..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/messages.properties
+++ /dev/null
@@ -1,41 +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 Corporation - initial API and implementation
-###############################################################################
-
-# 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.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}''.
-NewProject.perspSwitchTitle = Confirm Perspective Switch
-NewProject.perspSwitchMessage = This kind of project is associated with the {0} Perspective.  Do you want to switch to this perspective now?
-
-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.ide/src/org/eclipse/ui/wizards/newresource/package.html b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/package.html
deleted file mode 100644
index e7bcb60..0000000
--- a/bundles/org.eclipse.ui.ide/src/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.presentations.r21/.classpath b/bundles/org.eclipse.ui.presentations.r21/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.ui.presentations.r21/.cvsignore b/bundles/org.eclipse.ui.presentations.r21/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.presentations.r21/.project b/bundles/org.eclipse.ui.presentations.r21/.project
deleted file mode 100644
index bd7bc22..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/.project
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.presentations.r21</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.core.runtime</project>
-		<project>org.eclipse.ui</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.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.ui.presentations.r21/README.TXT b/bundles/org.eclipse.ui.presentations.r21/README.TXT
deleted file mode 100644
index 33b17e3..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/README.TXT
+++ /dev/null
@@ -1,15 +0,0 @@
-The r21presentation plugin provides an R2.1 style look and feel for
-Eclipse.  This look and feel is accomplished entirely through the
-Presentations API, no changes are needed to the base eclipse release.
-
-Use:
-
-1. Ensure the plugin is installed (look in your eclipse/plugins
-   directory for org.eclipse.ui.presentations.r21_3.0.0).
-2. Add the contents of the r21presentation.ini file to your primary
-   plugin's "plugin_customization.ini" file.  In the basic Eclipse
-   IDE, this file is located in plugins/org.eclipse.platform_3.0.0.
-3. Resolve any conflicts in the plugin_customization.ini file to favour
-   the settings for this project.  E.g., DOCK_PERSPECTIVE_BAR is set
-   to "topRight" in the basic platform but should be "left" for the
-   R21 presentation.
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.presentations.r21/about.html b/bundles/org.eclipse.ui.presentations.r21/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/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.presentations.r21/build.properties b/bundles/org.eclipse.ui.presentations.r21/build.properties
deleted file mode 100644
index db55dd3..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 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 Corporation - initial API and implementation
-###############################################################################
-
-bin.includes = plugin.properties,\
-               plugin.xml,\
-               *.jar,\
-               r21presentation.ini,\
-               README.TXT,\
-               about.html
-source.r21.jar = src/
-src.includes = about.html
diff --git a/bundles/org.eclipse.ui.presentations.r21/plugin.properties b/bundles/org.eclipse.ui.presentations.r21/plugin.properties
deleted file mode 100644
index 3cd70bd..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/plugin.properties
+++ /dev/null
@@ -1,12 +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 Corporation - initial API and implementation
-###############################################################################
-pluginName= R21 Presentation Plug-in
-providerName= Eclipse.org
diff --git a/bundles/org.eclipse.ui.presentations.r21/plugin.xml b/bundles/org.eclipse.ui.presentations.r21/plugin.xml
deleted file mode 100644
index a0f7ff5..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/plugin.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui.presentations.r21"
-   name="%pluginName"
-   version="3.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.ui.internal.presentations.r21.R21PresentationPlugin">
-
-   <runtime>
-      <library name="r21.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.ui"/>
-   </requires>
-
-   <extension
-         point="org.eclipse.ui.presentationFactories">
-      <factory
-            name="R21Presentation"
-            class="org.eclipse.ui.internal.presentations.R21PresentationFactory"
-            id="org.eclipse.ui.internal.r21presentationFactory">
-      </factory>
-   </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.ui.presentations.r21/r21presentation.ini b/bundles/org.eclipse.ui.presentations.r21/r21presentation.ini
deleted file mode 100644
index be8c8e3..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/r21presentation.ini
+++ /dev/null
@@ -1,18 +0,0 @@
-# R21 presentation settings: copy these values to your product's
-# plugin_customization.ini file before starting eclipse
-#
-# Its possible that platform has its own setting for some of these
-# values.  Be sure to resolve conflicts to favour the values in this
-# file.
-
-# use the R2.1 style
-org.eclipse.ui/presentationFactoryId=org.eclipse.ui.internal.r21presentationFactory
-
-# put the view tabs on the bottom (1024 == SWT.BOTTOM)
-org.eclipse.ui.workbench/VIEW_TAB_POSITION=1024
-
-# put the perspective switcher on the left
-org.eclipse.ui/DOCK_PERSPECTIVE_BAR=left
-
-# put the fast view bar on the left
-org.eclipse.ui/initialFastViewBarLocation=left
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21BasicStackPresentation.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21BasicStackPresentation.java
deleted file mode 100644
index 8cf0d73..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21BasicStackPresentation.java
+++ /dev/null
@@ -1,1013 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.action.GroupMarker;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.util.Geometry;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-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.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.swt.widgets.ToolItem;
-import org.eclipse.ui.IPropertyListener;
-import org.eclipse.ui.internal.IWorkbenchGraphicConstants;
-import org.eclipse.ui.internal.WorkbenchImages;
-import org.eclipse.ui.internal.WorkbenchWindow;
-import org.eclipse.ui.internal.dnd.DragUtil;
-import org.eclipse.ui.internal.presentations.r21.R21Colors;
-import org.eclipse.ui.internal.presentations.r21.R21PresentationMessages;
-import org.eclipse.ui.internal.presentations.r21.widgets.CTabItem;
-import org.eclipse.ui.internal.presentations.r21.widgets.R21PaneFolder;
-import org.eclipse.ui.internal.util.Util;
-import org.eclipse.ui.presentations.IPartMenu;
-import org.eclipse.ui.presentations.IPresentablePart;
-import org.eclipse.ui.presentations.IStackPresentationSite;
-import org.eclipse.ui.presentations.PresentationUtil;
-import org.eclipse.ui.presentations.StackDropResult;
-import org.eclipse.ui.presentations.StackPresentation;
-
-/**
- * Base class for StackPresentations that display IPresentableParts in a CTabFolder. 
- * 
- * @since 3.0
- */
-public class R21BasicStackPresentation extends StackPresentation {
-	
-	private R21PaneFolder paneFolder;
-	private IPresentablePart current;
-	private boolean activeState = false;
-	private MenuManager systemMenuManager = new MenuManager();
-	private CLabel titleLabel;
-		
-	private final static String TAB_DATA = R21BasicStackPresentation.class.getName() + ".partId"; //$NON-NLS-1$
-	
-//	private PaneFolderButtonListener buttonListener = new PaneFolderButtonListener() {
-//		public void stateButtonPressed(int buttonId) {
-//			getSite().setState(buttonId);
-//		}
-//
-//		public void closeButtonPressed(CTabItem item) {
-//			IPresentablePart part = getPartForTab(item);
-//			
-//			getSite().close(part);		
-//		}
-//	};
-//	
-	private MouseListener mouseListener = new MouseAdapter() {
-		public void mouseDown(MouseEvent e) {
-			if (e.widget instanceof Control) {
-				Control ctrl = (Control)e.widget;
-				Point globalPos = ctrl.toDisplay(new Point(e.x, e.y));
-
-				// PR#1GDEZ25 - If selection will change in mouse up ignore mouse down.
-				// Else, set focus.
-				CTabItem newItem = paneFolder.getItem(paneFolder.getControl().toControl(globalPos));
-				if (newItem != null) {
-					CTabItem oldItem = paneFolder.getSelection();
-					if (newItem != oldItem)
-						return;
-				}
-				if (current != null) {
-					current.setFocus();
-				}
-			}
-		}
-		
-		public void mouseDoubleClick(MouseEvent e) {
-			if (getSite().getState() == IStackPresentationSite.STATE_MAXIMIZED) {
-				getSite().setState(IStackPresentationSite.STATE_RESTORED);
-			} else {
-				getSite().setState(IStackPresentationSite.STATE_MAXIMIZED);
-			}
-		}
-	};
-	
-	private MouseListener titleMouseListener = new MouseAdapter() {
-		public void mouseDown(MouseEvent e) {
-			if (e.widget instanceof Control) {
-				Control ctrl = (Control)e.widget;
-				Point globalPos = ctrl.toDisplay(new Point(0, titleLabel.getBounds().height));
-
-				if ((e.button == 1) && overImage(e.x))
-					showSystemMenu(globalPos);
-			}
-		}
-	};
-	
-	private Listener menuListener = new Listener() {
-		/* (non-Javadoc)
-		 * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
-		 */
-		public void handleEvent(Event event) {
-			Point pos = new Point(event.x, event.y);
-
-			showSystemMenu(pos);
-		}
-	};
-	
-	private Listener dragListener = new Listener() {
-		public void handleEvent(Event event) {
-			
-			Point localPos = new Point(event.x, event.y);
-			CTabItem tabUnderPointer = paneFolder.getItem(localPos);
-
-			// Drags on the title area drag the selected part only
-			if (tabUnderPointer == null) {
-				if (paneFolder.getTabPosition() == SWT.BOTTOM
-                        && localPos.y < paneFolder.getControl().getBounds().height
-                                - paneFolder.getTabHeight())
-                    tabUnderPointer = paneFolder.getSelection();
-                else if (paneFolder.getTabPosition() == SWT.TOP
-                        && localPos.y > paneFolder.getTabHeight())
-                    tabUnderPointer = paneFolder.getSelection();
-			}
-
-			// Not in a tab, not in a title area, must be dragging the whole stack
-			if (tabUnderPointer == null) {
-				getSite().dragStart(paneFolder.getControl().toDisplay(localPos), false);
-				return;
-			}
-
-			IPresentablePart part = getPartForTab(tabUnderPointer); 
-			
-			if (getSite().isPartMoveable(part)) {
-				getSite().dragStart(part, 
-					paneFolder.getControl().toDisplay(localPos), false);
-			}
-		}
-	};
-	
-
-	private Listener selectionListener = new Listener() {
-		public void handleEvent(Event e) {
-			IPresentablePart item = getPartForTab((CTabItem)e.item);
-			
-			if (item != null) {
-				getSite().selectPart(item);
-			}
-		}
-	};
-	
-	private Listener resizeListener = new Listener() {
-		public void handleEvent(Event e) {
-			setControlSize();
-		}
-	};
-	
-	private IPropertyListener childPropertyChangeListener = new IPropertyListener() {
-		public void propertyChanged(Object source, int property) {
-			if (source instanceof IPresentablePart) {
-				IPresentablePart part = (IPresentablePart) source;
-				childPropertyChanged(part, property);
-			}
-		}	
-	};
-	
-	private DisposeListener tabDisposeListener = new DisposeListener() {
-		public void widgetDisposed(DisposeEvent e) {
-			if (e.widget instanceof CTabItem) {
-				CTabItem item = (CTabItem)e.widget;
-				
-				IPresentablePart part = getPartForTab(item);
-				
-				part.removePropertyListener(childPropertyChangeListener);
-			}
-		}
-	};
-
-    /** the shell listener for upgrading the gradient */
-    private ShellAdapter shellListener = new ShellAdapter() {
-
-        public void shellActivated(ShellEvent event) {
-            updateGradient();
-        }
-
-        public void shellDeactivated(ShellEvent event) {
-            updateGradient();
-        }
-    };
-
-	private ToolBar viewToolBar;
-	private ToolItem pullDownButton;
-	private ToolItem closeButton;
-
-	public R21BasicStackPresentation(R21PaneFolder control, IStackPresentationSite stackSite) {
-	    super(stackSite);
-		paneFolder = control;
-		
-//		tabFolder.setMinimizeVisible(stackSite.supportsState(IStackPresentationSite.STATE_MINIMIZED));
-//		tabFolder.setMaximizeVisible(stackSite.supportsState(IStackPresentationSite.STATE_MAXIMIZED));
-//				
-		titleLabel = new CLabel(paneFolder.getControl(), SWT.SHADOW_NONE);
-		titleLabel.setVisible(false);
-		titleLabel.moveAbove(null);
-		titleLabel.addMouseListener(titleMouseListener);
-		titleLabel.addMouseListener(mouseListener);
-		titleLabel.addListener(SWT.MenuDetect, menuListener);
-		PresentationUtil.addDragListener(titleLabel, dragListener);
-		
-		//ColorSchemeService.setViewTitleFont(this, titleLabel);
-		
-		viewToolBar = new ToolBar(control.getControl(), SWT.HORIZONTAL 
-				| SWT.FLAT);
-		viewToolBar.moveAbove(null);
-		
-		pullDownButton = new ToolItem(viewToolBar, SWT.PUSH);
-		//				Image img = WorkbenchImages.getImage(IWorkbenchGraphicConstants.IMG_LCL_VIEW_MENU);
-		Image hoverImage =
-			WorkbenchImages.getImage(IWorkbenchGraphicConstants.IMG_LCL_VIEW_MENU_HOVER);
-		pullDownButton.setDisabledImage(null); // TODO: comment this out?
-		// PR#1GE56QT - Avoid creation of unnecessary image.
-		pullDownButton.setImage(hoverImage);
-		pullDownButton.setToolTipText(R21PresentationMessages.getString("BasicStackPresentation.menu")); //$NON-NLS-1$
-		pullDownButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				showPaneMenu();
-			}
-		});
-
-		// listener to switch between visible tabItems
-		paneFolder.getControl().addListener(SWT.Selection, selectionListener);
-
-		// listener to resize visible components
-		paneFolder.getControl().addListener(SWT.Resize, resizeListener);
-
-		// listen for mouse down on tab to set focus.
-		paneFolder.getControl().addMouseListener(mouseListener);
-		
-		paneFolder.getControl().addListener(SWT.MenuDetect, menuListener);
-		
-//		tabFolder.addButtonListener(buttonListener);
-		
-		PresentationUtil.addDragListener(paneFolder.getControl(), dragListener);
-
-        // add the shell listener to track shell activations
-        // TODO: check if workaround can be removed (see bug 55458)
-        paneFolder.getControl().getShell().addShellListener(shellListener);
-		
-		// Uncomment to allow dragging from the title label
-//		PresentationUtil.addDragListener(titleLabel, new Listener() {
-//			public void handleEvent(Event event) {
-//				if (layout.isTrimOnTop()) {
-//					Point localPos = new Point(event.x, event.y);
-//					getSite().dragStart(titleLabel.toDisplay(localPos), false);
-//				}
-//			}
-//		});
-
-//		// Compute the tab height
-//		int tabHeight = viewToolBar.computeSize(SWT.DEFAULT, SWT.DEFAULT).y;
-//
-//		// Enforce a minimum tab height
-//		if (tabHeight < 20) {
-//			tabHeight = 20;
-//		}
-//		paneFolder.setTabHeight(tabHeight);
-//		
-		populateSystemMenu(systemMenuManager);		
-	}
-	/*
-	 * Return true if <code>x</code> is over the label image.
-	 */
-	private boolean overImage(int x) {
-		return x < titleLabel.getImage().getBounds().width;
-	}
-	/**
-	 * @param systemMenuManager
-	 */
-	private void populateSystemMenu(IMenuManager systemMenuManager) {
-
-		systemMenuManager.add(new GroupMarker("misc")); //$NON-NLS-1$
-		systemMenuManager.add(new GroupMarker("restore")); //$NON-NLS-1$
-		systemMenuManager.add(new UpdatingActionContributionItem(new SystemMenuRestore(getSite())));
-		
-
-		systemMenuManager.add(new SystemMenuMove(getSite(), getPaneName()));
-		systemMenuManager.add(new GroupMarker("size")); //$NON-NLS-1$
-		systemMenuManager.add(new GroupMarker("state")); //$NON-NLS-1$
-		systemMenuManager.add(new UpdatingActionContributionItem(new SystemMenuMinimize(getSite())));
-		
-		systemMenuManager.add(new UpdatingActionContributionItem(new SystemMenuMaximize(getSite())));
-		systemMenuManager.add(new Separator("close")); //$NON-NLS-1$
-		systemMenuManager.add(new UpdatingActionContributionItem(new SystemMenuClose(getSite())));
-		
-		getSite().addSystemActions(systemMenuManager);
-	}
-
-	protected String getPaneName() {
-		return R21PresentationMessages.getString("BasicStackPresentation.pane"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Displays the view menu as a popup
-	 */
-	public void showPaneMenu() {
-		IPartMenu menu = getPartMenu();
-		
-		if (menu != null) {
-			Rectangle bounds = DragUtil.getDisplayBounds(viewToolBar);
-			menu.showMenu(new Point(bounds.x, bounds.y + bounds.height));
-		}
-	}
-
-	/**
-	 * Returns the currently selected part, or <code>null</code>.
-	 * 
-	 * @return the currently selected part, or <code>null</code>
-	 */
-	protected IPresentablePart getCurrent() {
-	    return current;
-	}
-	
-	/**
-	 * Returns the index of the tab for the given part, or returns tabFolder.getItemCount()
-	 * if there is no such tab.
-	 * 
-	 * @param part part being searched for
-	 * @return the index of the tab for the given part, or the number of tabs
-	 * if there is no such tab
-	 */
-	private final int indexOf(IPresentablePart part) {
-		if (part == null) {
-			return paneFolder.getItemCount();
-		}
-	
-		CTabItem[] items = paneFolder.getItems();
-		
-		for (int idx = 0; idx < items.length; idx++) {
-			IPresentablePart tabPart = getPartForTab(items[idx]);
-			
-			if (part == tabPart) {
-				return idx;
-			}
-		}
-		
-		return items.length;
-	}
-	
-	/**
-	 * Returns the tab for the given part, or null if there is no such tab
-	 * 
-	 * @param part the part being searched for
-	 * @return the tab for the given part, or null if there is no such tab
-	 */
-	protected final CTabItem getTab(IPresentablePart part) {
-		CTabItem[] items = paneFolder.getItems();
-		
-		int idx = indexOf(part);
-		
-		if (idx < items.length) {
-			return items[idx];
-		}
-		
-		return null;
-	}
-	
-	/**
-	 * @param part
-	 * @param property
-	 */
-	protected void childPropertyChanged(IPresentablePart part, int property) {
-		
-		CTabItem tab = getTab(part);
-		initTab(tab, part);
-		
-		switch (property) {
-		 case IPresentablePart.PROP_BUSY:
-			break;
-	     case IPresentablePart.PROP_HIGHLIGHT_IF_BACK:
-//	     	FontRegistry registry = 
-//			    PlatformUI.getWorkbench().
-//			    	getThemeManager().getCurrentTheme().
-//			    		getFontRegistry();
-//	     	
-//	       	if(!getCurrent().equals(part))//Set bold if it does currently have focus
-//				tab.setFont(registry.getBold(IWorkbenchThemeConstants.TAB_TEXT_FONT));
-//	        break;
-		 case IPresentablePart.PROP_TOOLBAR:
-		 case IPresentablePart.PROP_PANE_MENU:
-		 case IPresentablePart.PROP_TITLE:
-		 	setControlSize();
-		 	break;
-		}
-	}
-
-	protected final IPresentablePart getPartForTab(CTabItem item) {
-		IPresentablePart part = (IPresentablePart)item.getData(TAB_DATA);
-		
-		return part;
-	}
-	
-	/**
-	 * Returns the underlying tab folder for this presentation.
-	 * 
-	 * @return
-	 */
-	protected R21PaneFolder getPaneFolder() {
-		return paneFolder;
-	}
-	
-	/**
-	 * Returns true iff the underlying tab folder has been disposed.
-	 * 
-	 * @return
-	 */
-	public boolean isDisposed() {
-		return paneFolder == null || paneFolder.isDisposed();
-	}
-
-	/**
-	 * Update the tab folder's colours to match the current theme settings
-	 * and active state
-	 */
-	protected void updateGradient() {
-
-        if(isDisposed()) return;
-        
-        Color fgColor;
-        Color[] bgColors;
-        int[] bgPercents;
-        boolean vertical = false;
-        if (isActive()) {
-            if (getShellActivated()) {
-                fgColor = R21Colors.getSystemColor(SWT.COLOR_TITLE_FOREGROUND);
-                bgColors = R21Colors.getActiveViewGradient();
-                bgPercents = R21Colors.getActiveViewGradientPercents();
-            } else {
-                fgColor = R21Colors
-                        .getSystemColor(SWT.COLOR_TITLE_INACTIVE_FOREGROUND);
-                bgColors = R21Colors.getDeactivatedViewGradient();
-                bgPercents = R21Colors.getDeactivatedViewGradientPercents();
-            }
-
-        } else {
-            fgColor = R21Colors.getSystemColor(SWT.COLOR_LIST_FOREGROUND);
-            bgColors = null;
-            bgPercents = null;
-        }
-
-		
-		drawGradient(fgColor, bgColors, bgPercents, vertical);	
-        
-//		Color fgColor;
-//		ITheme currentTheme = PlatformUI.getWorkbench().getThemeManager().getCurrentTheme();
-//        FontRegistry fontRegistry = currentTheme.getFontRegistry();	    
-//		ColorRegistry colorRegistry = currentTheme.getColorRegistry();
-//		Color [] bgColors = new Color[2];
-//		int [] percent = new int[1];
-//		boolean vertical;
-		
-//        if (isActive()){
-//        	
-//        	CTabItem item = getPaneFolder().getSelection();
-//            if(item != null && !getPartForTab(item).isBusy()){
-//            	Font tabFont = fontRegistry.get(IWorkbenchThemeConstants.TAB_TEXT_FONT);
-////            	item.setFont(tabFont);
-//            }
-//            
-//	        fgColor = colorRegistry.get(IWorkbenchThemeConstants.ACTIVE_TAB_TEXT_COLOR);
-//            bgColors[0] = colorRegistry.get(IWorkbenchThemeConstants.ACTIVE_TAB_BG_START);
-//            bgColors[1] = colorRegistry.get(IWorkbenchThemeConstants.ACTIVE_TAB_BG_END);
-//            percent[0] = currentTheme.getInt(IWorkbenchThemeConstants.ACTIVE_TAB_PERCENT);
-//            vertical = currentTheme.getBoolean(IWorkbenchThemeConstants.ACTIVE_TAB_VERTICAL);
-//		} else {
-//	        fgColor = colorRegistry.get(IWorkbenchThemeConstants.INACTIVE_TAB_TEXT_COLOR);
-//            bgColors[0] = colorRegistry.get(IWorkbenchThemeConstants.INACTIVE_TAB_BG_START);
-//            bgColors[1] = colorRegistry.get(IWorkbenchThemeConstants.INACTIVE_TAB_BG_END);
-//            percent[0] = currentTheme.getInt(IWorkbenchThemeConstants.INACTIVE_TAB_PERCENT);
-//            vertical = currentTheme.getBoolean(IWorkbenchThemeConstants.INACTIVE_TAB_VERTICAL);
-//		}	
-//      
-//		
-//		drawGradient(fgColor, bgColors, bgPercents, false);	
-	}
-	
-	/**
-	 * Draws the applicable gradient on the title area
-	 * 
-	 * @param fgColor
-	 * @param bgColors
-	 * @param percentages
-	 * @param vertical
-	 */
-	public void drawGradient(Color fgColor, Color [] bgColors, int [] percentages, boolean vertical) {
-//		paneFolder.setSelectionForeground(fgColor);
-//		paneFolder.setSelectionBackground(bgColors, percentages, vertical);	
-
-		if (titleLabel == null || viewToolBar == null)
-			return;
-
-		titleLabel.setBackground(bgColors, percentages, vertical);
-		titleLabel.setForeground(fgColor);
-
-		titleLabel.update();
-	}
-	
-	public boolean isActive() {
-		return activeState;
-	}
-	
-	/**
-	 * Set the size of a page in the folder.
-	 * 
-	 * TODO: Kim here...I had to make this public so that the when the font
-	 * was updated via the color scheme service it could relayout the 
-	 * presentation... calling control.getLayout() doesn't do the trick.
-	 */
-	public void setControlSize() {
-		// Set up the top-right controls
-		//List topRight = new ArrayList(3);
-		
-		if (current != null) {
-			paneFolder.setTopLeft(titleLabel);
-			titleLabel.setText(current.getTitle());
-			titleLabel.setImage(current.getTitleImage());
-			titleLabel.setVisible(true);
-		}
-		
-		Control currentToolbar = getCurrentToolbar(); 
-		paneFolder.setTopCenter(currentToolbar);
-			
-		IPartMenu partMenu = getPartMenu();
-		
-		if (partMenu != null) {
-			pullDownButton.setEnabled(true);
-		} else {
-			pullDownButton.setEnabled(false);
-		}
-		paneFolder.setTopRight(viewToolBar);
-		viewToolBar.setVisible(true);
-
-		paneFolder.layout(true);
-
-		if (current != null) {
-			Rectangle clientArea = paneFolder.getClientArea();
-			Rectangle bounds = paneFolder.getControl().getBounds();
-			clientArea.x += bounds.x;
-			clientArea.y += bounds.y;
-			
-			current.setBounds(clientArea);
-		}
-
-	}
-	
-	/**
-	 * Returns the IPartMenu for the currently selected part, or null if the current
-	 * part does not have a menu.
-	 * 
-	 * @return the IPartMenu for the currently selected part or null if none
-	 */
-	protected IPartMenu getPartMenu() {
-		IPresentablePart part = getCurrentPart();		
-		if (part == null) {
-			return null;
-		}
-
-		return part.getMenu();
-	}
-		
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.skins.Presentation#dispose()
-	 */
-	public void dispose() {
-		if (isDisposed()) {
-			return;
-		}
-
-        // remove shell listener
-        paneFolder.getControl().getShell().removeShellListener(shellListener);
-
-		PresentationUtil.removeDragListener(paneFolder.getControl(), dragListener);
-		PresentationUtil.removeDragListener(titleLabel, dragListener);
-		
-		systemMenuManager.dispose();
-		systemMenuManager.removeAll();
-		paneFolder.getControl().dispose();
-		paneFolder = null;
-		
-		titleLabel.dispose();
-		titleLabel = null;
-		
-		viewToolBar.dispose();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.skins.Presentation#setActive(boolean)
-	 */
-	public void setActive(boolean isActive) {
-		activeState = isActive;
-		updateGradient();
-	}
-	
-    /**
-     * 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;
-    }
-
-    /**
-     * Returns the top level window.
-     */
-    public Window getWindow() {
-        Control ctrl = getControl();
-        if (ctrl != null) {
-            Object data = ctrl.getShell().getData();
-            if (data instanceof Window) return (Window) data;
-        }
-        return null;
-    }
-	
-	private CTabItem createPartTab(IPresentablePart part, int tabIndex) {
-		CTabItem tabItem;
-
-		int style = SWT.NONE;
-		
-		if (getSite().isCloseable(part))
-			style |= SWT.CLOSE;
-		
-		tabItem = paneFolder.createItem(style, tabIndex);
-				
-		tabItem.setData(TAB_DATA, part);
-		
-		part.addPropertyListener(childPropertyChangeListener);
-		tabItem.addDisposeListener(tabDisposeListener);
-
-		initTab(tabItem, part);
-		
-		return tabItem;
-	}
-
-	// Create a close button in the title bar for the argument part (if needed).
-	private void updateCloseButton() {
-	    // remove the close button if needed
-	    if (current == null || !getSite().isCloseable(current)) {
-	        if (closeButton != null) {
-	            closeButton.dispose();
-	            closeButton = null;
-
-	            paneFolder.flush();
-	        }
-	        return;
-	    }
-
-	    // a close button is needed, so if its already there, we're done
-	    if (closeButton != null)
-	        return;
-
-	    // otherwise create it
-		closeButton = new ToolItem(viewToolBar, SWT.PUSH);
-		closeButton.setDisabledImage(null);
-		closeButton.setImage(WorkbenchImages.getImage(IWorkbenchGraphicConstants.IMG_LCL_CLOSE_VIEW_HOVER));
-		closeButton.setToolTipText(R21PresentationMessages.getString("BasicStackPresentation.close")); //$NON-NLS-1$
-		closeButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-		    	close(getCurrent());
-			}
-		});
-
-        paneFolder.flush();
-	}
-
-	/**
-	 * Initializes a tab for the given part. Sets the text, icon, tool tip,
-	 * etc. This will also be called whenever a relevant property changes
-	 * in the part to reflect those changes in the tab. Subclasses may override
-	 * to change the appearance of tabs for a particular part.
-	 * 
-	 * @param tabItem tab for the part
-	 * @param part the part being displayed
-	 */
-	protected void initTab(CTabItem tabItem, IPresentablePart part) {
-		tabItem.setText(part.getName());
-		
-		//tabItem.setImage(part.getTitleImage());
-		
-        String toolTipText = part.getTitleToolTip();
-        if (!toolTipText.equals(Util.ZERO_LENGTH_STRING)) {
-        	tabItem.setToolTipText(toolTipText);
-        }
-		
-//		FontRegistry registry = 
-//		    PlatformUI.getWorkbench().
-//		    	getThemeManager().getCurrentTheme().
-//		    		getFontRegistry();
-//		
-//		if(part.isBusy())
-//			tabItem.setFont(registry.getItalic(IWorkbenchThemeConstants.TAB_TEXT_FONT));
-//		else{
-//			tabItem.setFont(registry.get(IWorkbenchThemeConstants.TAB_TEXT_FONT));
-//		}			
-
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.skins.StackPresentation#addPart(org.eclipse.ui.internal.skins.IPresentablePart, org.eclipse.ui.internal.skins.IPresentablePart)
-	 */
-	public void addPart(IPresentablePart newPart, Object cookie) {
-		
-		int idx;
-		
-		if (cookie instanceof Integer) {
-			idx = ((Integer)cookie).intValue();
-		} else {
-			// Select a location for newly inserted parts
-			idx = paneFolder.getItemCount();
-		}
-		
-		addPart(newPart, idx);
-	}
-	
-	/**
-	 * Adds the given presentable part to this presentation at the given index.
-	 * Does nothing if a tab already exists for the given part. 
-	 *
-	 * @param newPart
-	 * @param index
-	 */
-	public void addPart(IPresentablePart newPart, int index) {
-		// If we already have a tab for this part, do nothing
-		if (getTab(newPart) != null) {
-			return;
-		}
-		createPartTab(newPart, index);
-		
-		setControlSize();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.skins.StackPresentation#removePart(org.eclipse.ui.internal.skins.IPresentablePart)
-	 */
-	public void removePart(IPresentablePart oldPart) {
-	    if (current == oldPart)
-	        current = null;
-	    
-		CTabItem item = getTab(oldPart);
-		if (item == null) {
-			return;
-		}
-		oldPart.setVisible(false);		
-		
-		item.dispose();
-
-		// Layout the folder again in case there is only one item
-		setControlSize();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.skins.StackPresentation#selectPart(org.eclipse.ui.internal.skins.IPresentablePart)
-	 */
-	public void selectPart(IPresentablePart toSelect) {
-		if (toSelect == current) {
-			return;
-		}
-		
-		if (current != null) {
-			current.setVisible(false);
-		}
-		
-		current = toSelect;
-		
-		if (current != null) {
-			paneFolder.setSelection(indexOf(current));
-			current.setVisible(true);
-			updateCloseButton();
-			setControlSize();
-		}
-	}
-	
-	public IPresentablePart getCurrentPart() {
-		return current;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.skins.Presentation#setBounds(org.eclipse.swt.graphics.Rectangle)
-	 */
-	public void setBounds(Rectangle bounds) {
-		paneFolder.getControl().setBounds(bounds);
-		setControlSize();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.skins.Presentation#computeMinimumSize()
-	 */
-	public Point computeMinimumSize() {
-		return Geometry.getSize(paneFolder.computeTrim(0,0,0,0));
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.skins.Presentation#setVisible(boolean)
-	 */
-	public void setVisible(boolean isVisible) {
-		if (current != null) {
-			current.setVisible(isVisible);
-		}
-		paneFolder.getControl().setVisible(isVisible);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.skins.Presentation#setState(int)
-	 */
-	public void setState(int state) {
-//		tabFolder.setState(state);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.skins.Presentation#getSystemMenuManager()
-	 */
-	public IMenuManager getSystemMenuManager() {
-		return systemMenuManager;
-	}
-	
-	/**
-	 * @param point
-	 */
-	protected void showSystemMenu(Point point) {
-		Menu aMenu = systemMenuManager.createContextMenu(paneFolder.getControl().getParent());
-		systemMenuManager.update(true);
-		aMenu.setLocation(point.x, point.y);
-		aMenu.setVisible(true);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.skins.Presentation#getControl()
-	 */
-	public Control getControl() {
-		return paneFolder.getControl();
-	}
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.internal.skins.StackPresentation#dragOver(org.eclipse.swt.widgets.Control,
-     *      org.eclipse.swt.graphics.Point)
-     */
-    public StackDropResult dragOver(Control currentControl, Point location) {
-
-        // Determine which tab we're currently dragging over
-        Point localPos = paneFolder.getControl().toControl(location);
-        final CTabItem tabUnderPointer = paneFolder.getItem(localPos);
-
-        // This drop target only deals with tabs... if we're not dragging over
-        // a tab, exit.
-        if (tabUnderPointer == null) return null;
-
-        // workaround when left tab is dragged over next
-        int dragOverIndex = paneFolder.indexOf(tabUnderPointer);
-
-        return new StackDropResult(Geometry.toDisplay(paneFolder.getControl(),
-                tabUnderPointer.getBounds()), new Integer(dragOverIndex));
-    }
-		
-	/**
-	 * Returns the toolbar control for the currently selected part, or null if none (not 
-	 * all parts have a toolbar).
-	 * 
-	 * @return the current toolbar or null if none
-	 */
-	protected Control getCurrentToolbar() {
-		IPresentablePart part = getCurrentPart();		
-		if (part == null) {
-			return null;
-		}
-
-		return part.getToolBar();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.presentations.StackPresentation#showSystemMenu()
-	 */
-	public void showSystemMenu() {
-		IPresentablePart part = getCurrentPart();
-		if (part != null) {
-			Rectangle bounds = DragUtil.getDisplayBounds(paneFolder.getControl());
-			
-			int idx = paneFolder.getSelectionIndex();
-			if (idx > -1) {
-				CTabItem item = paneFolder.getItem(idx);
-				Rectangle itemBounds = item.getBounds();
-				
-				bounds.x += itemBounds.x;
-				bounds.y += itemBounds.y;
-			}
-			
-			Point location = new Point(bounds.x, bounds.y + paneFolder.getTabHeight());
-			showSystemMenu(location);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.presentations.StackPresentation#getTabList(IPresentablePart)
-	 */
-	public Control[] getTabList(IPresentablePart part) {
-		ArrayList list = new ArrayList();
-		if (paneFolder.getTabPosition() == SWT.BOTTOM) {
-			if (part.getToolBar() != null) list.add(part.getToolBar());
-			if (part.getControl() != null) list.add(part.getControl());
-			if (getPaneFolder() != null) list.add(getPaneFolder().getControl());
-		}
-		else {
-			if (getPaneFolder() != null) list.add(getPaneFolder().getControl());
-			if (part.getToolBar() != null) list.add(part.getToolBar());
-			if (part.getControl() != null) list.add(part.getControl());
-		}
-		return (Control[]) list.toArray(new Control[list.size()]);
-	}
-	
-    protected void showList(Shell parentShell, int x, int y) {
-//        final R21PaneFolder tabFolder = getTabFolder();
-//
-//        int shellStyle = SWT.RESIZE | SWT.ON_TOP | SWT.NO_TRIM;
-//        int tableStyle = SWT.V_SCROLL | SWT.H_SCROLL;
-//        final BasicStackList editorList = new BasicStackList(tabFolder.getControl().getShell(),
-//                shellStyle, tableStyle);
-//        editorList.setInput(this);
-//        Point size = editorList.computeSizeHint();
-//        
-//        Rectangle bounds = Display.getCurrent().getBounds();
-//        if (x + size.x > bounds.width) x = bounds.width - size.x;
-//        if (y + size.y > bounds.height) y = bounds.height - size.y;
-//        editorList.setLocation(new Point(x, y));
-//        editorList.setVisible(true);
-//        editorList.setFocus();
-//        editorList.getTableViewer().getTable().getShell().addListener(
-//                SWT.Deactivate, new Listener() {
-//
-//                    public void handleEvent(Event event) {
-//                        editorList.setVisible(false);
-//                    }
-//                });
-    }
-    
-    /*
-     * Shows the list of tabs at the top left corner of the editor
-     */
-    protected void showListDefaultLocation() {
-    	R21PaneFolder tabFolder = getPaneFolder();
-    	Shell shell = tabFolder.getControl().getShell();
-        Rectangle clientArea = tabFolder.getClientArea();
-        Point location = tabFolder.getControl().getDisplay().map(tabFolder.getControl(), null,
-                clientArea.x, clientArea.y);
-        showList(shell, location.x, location.y);
-    }
-    
-	void setSelection(CTabItem tabItem) {
-        getSite().selectPart(getPartForTab(tabItem));
-    }
-
-    void close(IPresentablePart presentablePart) {
-        getSite().close(new IPresentablePart[]{presentablePart});
-    }
-    
-    Image getLabelImage(IPresentablePart presentablePart) {
-        return presentablePart.getTitleImage();
-    }
-    
-    String getLabelText(IPresentablePart presentablePart,
-            boolean includePath) {
-        String title = presentablePart.getTitle().trim();
-        return title;
-    }
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.presentations.StackPresentation#setActive(int)
-	 */
-	public void setActive(int newState) {
-		setActive(newState == AS_ACTIVE_FOCUS);
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21EditorStackPresentation.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21EditorStackPresentation.java
deleted file mode 100644
index 81a9881..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21EditorStackPresentation.java
+++ /dev/null
@@ -1,875 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.action.GroupMarker;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.util.Geometry;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.events.ShellAdapter;
-import org.eclipse.swt.events.ShellEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-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.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.IPropertyListener;
-import org.eclipse.ui.internal.IPreferenceConstants;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.WorkbenchWindow;
-import org.eclipse.ui.internal.dnd.DragUtil;
-import org.eclipse.ui.internal.presentations.r21.R21Colors;
-import org.eclipse.ui.internal.presentations.r21.R21PresentationMessages;
-import org.eclipse.ui.internal.presentations.r21.widgets.CTabFolder;
-import org.eclipse.ui.internal.presentations.r21.widgets.CTabFolderEvent;
-import org.eclipse.ui.internal.presentations.r21.widgets.CTabFolderListener;
-import org.eclipse.ui.internal.presentations.r21.widgets.CTabItem;
-import org.eclipse.ui.presentations.IPartMenu;
-import org.eclipse.ui.presentations.IPresentablePart;
-import org.eclipse.ui.presentations.IStackPresentationSite;
-import org.eclipse.ui.presentations.PresentationUtil;
-import org.eclipse.ui.presentations.StackDropResult;
-import org.eclipse.ui.presentations.StackPresentation;
-
-/**
- * A stack presentation for editors using a widget set that is close to what was
- * provided in 2.1.
- * <p>
- * EXPERIMENTAL
- * </p>
- * 
- * @since 3.0
- */
-public class R21EditorStackPresentation extends StackPresentation {
-
-    /** the tab folder */
-    private CTabFolder tabFolder;
-
-    /** the drag listener */
-    private Listener dragListener = new Listener() {
-
-        public void handleEvent(Event event) {
-            Point localPos = new Point(event.x, event.y);
-            CTabItem tabUnderPointer = tabFolder.getItem(localPos);
-
-            if (tabUnderPointer == null) {
-                // drag the entire stack
-                if(getSite().isStackMoveable())
-                    getSite().dragStart(tabFolder.toDisplay(localPos), false);
-                return;
-            }
-
-            IPresentablePart part = getPartForTab(tabUnderPointer);
-
-            if (getSite().isPartMoveable(part)) {
-                // drag the part
-                getSite().dragStart(part, tabFolder.toDisplay(localPos), false);
-            }
-        }
-    };
-
-    /** the listener that will close the tab */
-    private CTabFolderListener closeListener = new CTabFolderListener() {
-
-        public void itemClosed(CTabFolderEvent e) {
-            CTabItem item = (CTabItem) e.item;
-            if (null != item) {
-                e.doit = false; // otherwise tab is auto disposed on return
-                getSite().close(new IPresentablePart[]{getPartForTab(item)});
-            }
-        }
-    };
-
-    /** the current part */
-    private IPresentablePart current;
-
-    /** the system menu */
-    private MenuManager systemMenuManager = new MenuManager();
-
-    /** the shared preference store */
-    private IPreferenceStore preferenceStore = WorkbenchPlugin.getDefault()
-            .getPreferenceStore();
-
-    /** the tab item property holding the part */
-    private final static String TAB_DATA = R21EditorStackPresentation.class
-            .getName()
-            + ".partId"; //$NON-NLS-1$
-
-    /** the mouse listener for setting focus */
-    private MouseListener mouseListener = new MouseAdapter() {
-
-        /*
-         * (non-Javadoc)
-         * 
-         * @see org.eclipse.swt.events.MouseListener#mouseDown(org.eclipse.swt.events.MouseEvent)
-         */
-        public void mouseDown(MouseEvent e) {
-            if (e.widget instanceof Control) {
-                Control ctrl = (Control) e.widget;
-
-                Point globalPos = ctrl.toDisplay(new Point(e.x, e.y));
-
-                CTabItem newItem = tabFolder.getItem(tabFolder
-                        .toControl(globalPos));
-                if (newItem != null) {
-
-                    // show menu over icon
-                    if ((e.button == 1) && overImage(newItem, e.x)) {
-                        getSite().selectPart(getPartForTab(newItem));
-                        showSystemMenu();
-                    }
-
-                    // PR#1GDEZ25 - If selection will change in mouse up ignore
-                    // mouse down.
-                    CTabItem oldItem = tabFolder.getSelection();
-                    if (newItem != oldItem) return;
-                }
-
-                // set focus
-                if (current != null) {
-                    current.setFocus();
-                }
-            }
-        }
-
-        /*
-         * (non-Javadoc)
-         * 
-         * @see org.eclipse.swt.events.MouseAdapter#mouseDoubleClick(org.eclipse.swt.events.MouseEvent)
-         */
-        public void mouseDoubleClick(MouseEvent e) {
-            if (getSite().getState() == IStackPresentationSite.STATE_MAXIMIZED) {
-                getSite().setState(IStackPresentationSite.STATE_RESTORED);
-            } else {
-                getSite().setState(IStackPresentationSite.STATE_MAXIMIZED);
-            }
-        }
-    };
-
-    /**
-     * Return true if <code>x</code> is over the tab item image.
-     * 
-     * @return true if <code>x</code> is over the tab item image
-     */
-    static boolean overImage(CTabItem item, int x) {
-        Rectangle imageBounds = item.getImage().getBounds();
-        return x < (item.getBounds().x + imageBounds.x + imageBounds.width);
-    }
-
-    /** the menu listener for showing the menu */
-    private Listener menuListener = new Listener() {
-
-        /*
-         * (non-Javadoc)
-         * 
-         * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
-         */
-        public void handleEvent(Event event) {
-            Point pos = new Point(event.x, event.y);
-            showSystemMenu(pos);
-        }
-    };
-
-    /** the selection listener */
-    private Listener selectionListener = new Listener() {
-
-        public void handleEvent(Event e) {
-            IPresentablePart item = getPartForTab((CTabItem) e.item);
-            if (item != null) getSite().selectPart(item);
-        }
-    };
-
-    private Listener resizeListener = new Listener() {
-
-        public void handleEvent(Event e) {
-            setControlSize();
-        }
-    };
-
-    /** a property change listener for the parts */
-    private IPropertyListener childPropertyChangeListener = new IPropertyListener() {
-
-        public void propertyChanged(Object source, int property) {
-            if (source instanceof IPresentablePart) {
-                IPresentablePart part = (IPresentablePart) source;
-                childPropertyChanged(part, property);
-            }
-        }
-    };
-
-    /** a dispose listener to do some cleanups when a tab is disposed */
-    private DisposeListener tabDisposeListener = new DisposeListener() {
-
-        public void widgetDisposed(DisposeEvent e) {
-            if (e.widget instanceof CTabItem) {
-                CTabItem item = (CTabItem) e.widget;
-                IPresentablePart part = getPartForTab(item);
-                part.removePropertyListener(childPropertyChangeListener);
-            }
-        }
-    };
-
-    /** the shell listener for upgrading the gradient */
-    private ShellAdapter shellListener = new ShellAdapter() {
-
-        public void shellActivated(ShellEvent event) {
-            updateGradient();
-        }
-
-        public void shellDeactivated(ShellEvent event) {
-            updateGradient();
-        }
-    };
-    
-    /** the listener for preference changes */
-    private IPropertyChangeListener preferenceListener = new IPropertyChangeListener() {
-
-        public void propertyChange(PropertyChangeEvent event) {
-            if(IPreferenceConstants.EDITOR_TAB_POSITION.equals(event.getProperty())) {
-                int tabPos = preferenceStore
-                .getInt(IPreferenceConstants.EDITOR_TAB_POSITION);
-                getTabFolder().setTabPosition(tabPos);
-            }
-        }
-    };
-
-    public R21EditorStackPresentation(Composite parent,
-            IStackPresentationSite stackSite) {
-        super(stackSite);
-
-        // create the tab folder
-        int tabPos = preferenceStore
-                .getInt(IPreferenceConstants.EDITOR_TAB_POSITION);
-        tabFolder = new CTabFolder(parent, tabPos | SWT.BORDER);
-        
-        // add listener for preference changes
-        preferenceStore.addPropertyChangeListener(preferenceListener);
-
-        // minimum tab width
-        tabFolder.MIN_TAB_WIDTH = preferenceStore
-                .getInt(IPreferenceConstants.EDITOR_TAB_WIDTH);
-
-        // prevent close button and scroll buttons from taking focus
-        tabFolder.setTabList(new Control[0]);
-
-        // enable close button in tab folder
-        tabFolder.addCTabFolderListener(closeListener);
-
-        // listener to switch between visible tabItems
-        tabFolder.addListener(SWT.Selection, selectionListener);
-
-        // listener to resize visible components
-        tabFolder.addListener(SWT.Resize, resizeListener);
-
-        // listen for mouse down on tab to set focus, show system menu and
-        // maximize/restore.
-        tabFolder.addMouseListener(mouseListener);
-
-        // the menu
-        tabFolder.addListener(SWT.MenuDetect, menuListener);
-
-        // register drag listener
-        PresentationUtil.addDragListener(tabFolder, dragListener);
-
-        // add the shell listener to track shell activations
-        // TODO: check if workaround can be removed (see bug 55458)
-        tabFolder.getShell().addShellListener(shellListener);
-
-        // initialize system menu
-        populateSystemMenu(systemMenuManager);
-    }
-
-    /**
-     * Initializes the specified menu manager.
-     * 
-     * @param menuManager
-     */
-    private void populateSystemMenu(IMenuManager menuManager) {
-
-        menuManager.add(new GroupMarker("misc")); //$NON-NLS-1$
-        menuManager.add(new GroupMarker("restore")); //$NON-NLS-1$
-        menuManager.add(new UpdatingActionContributionItem(
-                new SystemMenuRestore(getSite())));
-        menuManager.add(new SystemMenuMove(getSite(), getPaneName()));
-        menuManager.add(new GroupMarker("size")); //$NON-NLS-1$
-        menuManager.add(new GroupMarker("state")); //$NON-NLS-1$
-        //systemMenuManager.add(new UpdatingActionContributionItem(new
-        // SystemMenuMinimize(getSite())));
-        menuManager.add(new UpdatingActionContributionItem(
-                new SystemMenuMaximize(getSite())));
-        menuManager.add(new Separator("close")); //$NON-NLS-1$
-        menuManager.add(new UpdatingActionContributionItem(new SystemMenuClose(
-                getSite())));
-
-        getSite().addSystemActions(menuManager);
-    }
-
-    /**
-     * Returns the index of the tab for the given part, or returns
-     * tabFolder.getItemCount() if there is no such tab.
-     * 
-     * @param part
-     *            part being searched for
-     * @return the index of the tab for the given part, or the number of tabs if
-     *         there is no such tab
-     */
-    private final int indexOf(IPresentablePart part) {
-        if (part == null) return tabFolder.getItemCount();
-
-        CTabItem[] items = tabFolder.getItems();
-        for (int idx = 0; idx < items.length; idx++)
-            if (part == getPartForTab(items[idx])) return idx;
-
-        return items.length;
-    }
-
-    /**
-     * Returns the tab for the given part, or null if there is no such tab
-     * 
-     * @param part
-     *            the part being searched for
-     * @return the tab for the given part, or null if there is no such tab
-     */
-    protected final CTabItem getTab(IPresentablePart part) {
-        CTabItem[] items = tabFolder.getItems();
-        int idx = indexOf(part);
-        return idx < items.length ? items[idx] : null;
-    }
-
-    /**
-     * @param part
-     * @param property
-     */
-    protected void childPropertyChanged(IPresentablePart part, int property) {
-        initTab(getTab(part), part);
-    }
-
-    protected final IPresentablePart getPartForTab(CTabItem item) {
-        return (IPresentablePart) item.getData(TAB_DATA);
-    }
-
-    protected CTabFolder getTabFolder() {
-        return tabFolder;
-    }
-
-    public boolean isDisposed() {
-        return tabFolder == null || tabFolder.isDisposed();
-    }
-
-    /**
-     * Set the size of a page in the folder.
-     */
-    private void setControlSize() {
-        if (current != null && tabFolder != null)
-                current.setBounds(calculatePageBounds(tabFolder));
-    }
-
-    public 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;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.internal.skins.Presentation#dispose()
-     */
-    public void dispose() {
-        if (isDisposed()) return;
-
-        // remove shell listener
-        tabFolder.getShell().removeShellListener(shellListener);
-
-        // remove close listener
-        tabFolder.removeCTabFolderListener(closeListener);
-
-        // remove drag listener
-        PresentationUtil.removeDragListener(tabFolder, dragListener);
-        
-        // remove preference listener
-        preferenceStore.removePropertyChangeListener(preferenceListener);
-
-        // dispose system menu manager
-        systemMenuManager.dispose();
-        systemMenuManager.removeAll();
-
-        // dispose tab folder
-        tabFolder.dispose();
-        tabFolder = null;
-    }
-
-    /** the active state */
-    private int activeState = AS_INACTIVE;
-
-    /**
-     * Update the tab folder's colours to match the current theme settings and
-     * active state
-     */
-    private void updateGradient() {
-        
-        if(isDisposed()) return;
-        
-        Color fgColor;
-        Color[] bgColors;
-        int[] bgPercents;
-        boolean vertical = false;
-        if (activeState == AS_ACTIVE_FOCUS) {
-            if (getShellActivated()) {
-                fgColor = R21Colors.getSystemColor(SWT.COLOR_TITLE_FOREGROUND);
-                bgColors = R21Colors.getActiveEditorGradient();
-                bgPercents = R21Colors.getActiveEditorGradientPercents();
-            } else {
-                fgColor = R21Colors
-                        .getSystemColor(SWT.COLOR_TITLE_INACTIVE_FOREGROUND);
-                bgColors = R21Colors.getDeactivatedEditorGradient();
-                bgPercents = R21Colors.getDeactivatedEditorGradientPercents();
-            }
-
-        } else if (activeState == AS_ACTIVE_NOFOCUS) {
-            fgColor = R21Colors.getSystemColor(SWT.COLOR_LIST_FOREGROUND);
-            bgColors = R21Colors.getActiveNoFocusEditorGradient();
-            bgPercents = R21Colors.getActiveNoFocusEditorGradientPercents();
-        } else {
-            fgColor = null;
-            bgColors = null;
-            bgPercents = null;
-        }
-
-        drawGradient(fgColor, bgColors, bgPercents, vertical);
-    }
-
-    /**
-     * Sets the gradient for the selected tab
-     * 
-     * @param fgColor
-     * @param bgColors
-     * @param percentages
-     * @param vertical
-     */
-    protected void drawGradient(Color fgColor, Color[] bgColors,
-            int[] percentages, boolean vertical) {
-        tabFolder.setSelectionForeground(fgColor);
-        tabFolder.setSelectionBackground(bgColors, percentages);
-        tabFolder.update();
-    }
-
-    /**
-     * 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;
-    }
-
-    /**
-     * Returns the top level window.
-     */
-    public Window getWindow() {
-        Control ctrl = getControl();
-        if (ctrl != null) {
-            Object data = ctrl.getShell().getData();
-            if (data instanceof Window) return (Window) data;
-        }
-        return null;
-    }
-
-    /**
-     * Creates the tab item for the specified part.
-     * 
-     * @param part
-     * @param tabIndex
-     * @return the tab item for the part
-     */
-    private CTabItem createPartTab(IPresentablePart part, int tabIndex) {
-        CTabItem tabItem = new CTabItem(tabFolder, SWT.NONE, tabIndex);
-        tabItem.setData(TAB_DATA, part);
-        part.addPropertyListener(childPropertyChangeListener);
-        tabItem.addDisposeListener(tabDisposeListener);
-        initTab(tabItem, part);
-        return tabItem;
-    }
-
-    /**
-     * Initializes a tab for the given part. Sets the text, icon, tool tip, etc.
-     * This will also be called whenever a relevant property changes in the part
-     * to reflect those changes in the tab. Subclasses may override to change
-     * the appearance of tabs for a particular part.
-     * 
-     * @param tabItem
-     *            tab for the part
-     * @param part
-     *            the part being displayed
-     */
-    protected void initTab(CTabItem tabItem, IPresentablePart part) {
-
-        // set tab text and tooltip
-        tabItem.setText(getLabelText(part, true, false));
-        tabItem.setToolTipText(getLabelToolTipText(part));
-
-        // set tab image
-        tabItem.setImage(getLabelImage(part));
-
-        // following code allows a disabled image
-        // but the result was distracting: didn't see any disabled image
-
-        //Image image = getLabelImage(part);
-        //boolean useColorIcons = false; // should we use a preference setting?
-        //
-        //if (image == null || image.isDisposed()) {
-        //// normal image
-        //tabItem.setImage(null);
-        //// disabled image
-        //if (!useColorIcons) {
-        //Image disableImage = tabItem.getDisabledImage();
-        //if (disableImage != null) {
-        //disableImage.dispose();
-        //tabItem.setDisabledImage(null);
-        //}
-        //}
-        //} else if (!image.equals(tabItem.getImage())) {
-        //// normal image
-        //    tabItem.setImage(image);
-        //// disabled image
-        //if (!useColorIcons) {
-        //Image disableImage = tabItem.getDisabledImage();
-        //if (disableImage != null)
-        //disableImage.dispose();
-        //Display display = tabItem.getDisplay();
-        //disableImage = new Image(display, image, SWT.IMAGE_DISABLE);
-        //tabItem.setDisabledImage(disableImage);
-        //}
-        //}
-
-    }
-
-    /**
-     * Returns the label text that should be used for the tab item for the
-     * specified part
-     * 
-     * @param presentablePart
-     * @param dirtyLeft
-     * @param includePath
-     * @return a formated label text
-     */
-    String getLabelText(IPresentablePart presentablePart, boolean dirtyLeft,
-            boolean includePath) {
-        String title = presentablePart.getName().trim();
-        String text = title;
-
-        if (includePath) {
-            String titleTooltip = presentablePart.getTitleToolTip().trim();
-
-            if (titleTooltip.endsWith(title))
-                    titleTooltip = titleTooltip.substring(0,
-                            titleTooltip.lastIndexOf(title)).trim();
-
-            if (titleTooltip.endsWith("\\")) //$NON-NLS-1$
-                    titleTooltip = titleTooltip.substring(0,
-                            titleTooltip.lastIndexOf("\\")).trim(); //$NON-NLS-1$
-
-            if (titleTooltip.endsWith("/")) //$NON-NLS-1$
-                    titleTooltip = titleTooltip.substring(0,
-                            titleTooltip.lastIndexOf("/")).trim(); //$NON-NLS-1$
-
-            if (titleTooltip.length() >= 1) text += " - " + titleTooltip; //$NON-NLS-1$
-        }
-
-        if (presentablePart.isDirty()) {
-            if (dirtyLeft)
-                text = "* " + text; //$NON-NLS-1$
-            else
-                text = text + " *"; //$NON-NLS-1$
-        }
-
-        return text;
-    }
-
-    /**
-     * Returns the image used for the tab item
-     * 
-     * @param presentablePart
-     * @return an image
-     */
-    Image getLabelImage(IPresentablePart presentablePart) {
-        return presentablePart.getTitleImage();
-    }
-
-    /**
-     * Returns the tool tip text used for the tab item
-     * 
-     * @param presentablePart
-     * @return a tool tip text
-     */
-    String getLabelToolTipText(IPresentablePart presentablePart) {
-        return presentablePart.getTitleToolTip();
-    }
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.skins.StackPresentation#addPart(org.eclipse.ui.internal.skins.IPresentablePart, org.eclipse.ui.internal.skins.IPresentablePart)
-	 */
-	public void addPart(IPresentablePart newPart, Object cookie) {
-		
-		int idx;
-		
-		if (cookie instanceof Integer) {
-			idx = ((Integer)cookie).intValue();
-		} else {
-			// Select a location for newly inserted parts
-			idx = tabFolder.getItemCount();
-		}
-
-		if (getTab(newPart) != null) {
-			return;
-		}
-		
-		createPartTab(newPart, idx);
-	}
-	    
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.internal.skins.StackPresentation#removePart(org.eclipse.ui.internal.skins.IPresentablePart)
-     */
-    public void removePart(IPresentablePart oldPart) {
-        if (current == oldPart) current = null;
-
-        CTabItem item = getTab(oldPart);
-        if (item == null) { return; }
-        oldPart.setVisible(false);
-
-        item.dispose();
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.internal.skins.StackPresentation#selectPart(org.eclipse.ui.internal.skins.IPresentablePart)
-     */
-    public void selectPart(IPresentablePart toSelect) {
-        if (toSelect == current) { return; }
-
-        if (current != null) {
-            current.setVisible(false);
-        }
-
-        current = toSelect;
-
-        if (current != null) {
-            tabFolder.setSelection(indexOf(current));
-            current.setVisible(true);
-            setControlSize();
-           
-        }
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.internal.skins.Presentation#setBounds(org.eclipse.swt.graphics.Rectangle)
-     */
-    public void setBounds(Rectangle bounds) {
-        tabFolder.setBounds(bounds);
-        setControlSize();
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.internal.skins.Presentation#computeMinimumSize()
-     */
-    public Point computeMinimumSize() {
-        return Geometry.getSize(tabFolder.computeTrim(0, 0, 0, 0));
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.internal.skins.Presentation#setVisible(boolean)
-     */
-    public void setVisible(boolean isVisible) {
-        if (current != null) current.setVisible(isVisible);
-
-        getTabFolder().setVisible(isVisible);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.internal.skins.Presentation#setState(int)
-     */
-    public void setState(int state) {
-        //		tabFolder.setMinimized(state == IPresentationSite.STATE_MINIMIZED);
-        //		tabFolder.setMaximized(state == IPresentationSite.STATE_MAXIMIZED);
-    }
-
-    /**
-     * Returns the system menu manager.
-     * 
-     * @return the system menu manager
-     */
-    public IMenuManager getSystemMenuManager() {
-        return systemMenuManager;
-    }
-
-    /**
-     * Shows the system context menu at the specified location
-     * 
-     * @param point
-     */
-    protected void showSystemMenu(Point point) {
-        Menu aMenu = systemMenuManager.createContextMenu(tabFolder.getParent());
-        systemMenuManager.update(true);
-        aMenu.setLocation(point.x, point.y);
-        aMenu.setVisible(true);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.internal.skins.Presentation#getControl()
-     */
-    public Control getControl() {
-        return tabFolder;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.internal.skins.StackPresentation#dragOver(org.eclipse.swt.widgets.Control,
-     *      org.eclipse.swt.graphics.Point)
-     */
-    public StackDropResult dragOver(Control currentControl, Point location) {
-
-        // Determine which tab we're currently dragging over
-        Point localPos = tabFolder.toControl(location);
-        final CTabItem tabUnderPointer = tabFolder.getItem(localPos);
-
-        // This drop target only deals with tabs... if we're not dragging over
-        // a tab, exit.
-        if (tabUnderPointer == null) return null;
-
-        // workaround when left tab is dragged over next
-        int dragOverIndex = tabFolder.indexOf(tabUnderPointer);
-
-        return new StackDropResult(Geometry.toDisplay(tabFolder,
-                tabUnderPointer.getBounds()), new Integer(dragOverIndex));
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.presentations.StackPresentation#showSystemMenu()
-     */
-    public void showSystemMenu() {
-        if (null != current) {
-            // switch to the editor
-            CTabItem item = getTab(current);
-            getSite().selectPart(getCurrentPart());
-            Rectangle bounds = item.getBounds();
-            int y = bounds.height;
-            if(getTabFolder().getTabPosition() == SWT.BOTTOM)
-                y += bounds.y;
-            showSystemMenu(getTabFolder().toDisplay(bounds.x, y));
-        }
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.presentations.StackPresentation#showPaneMenu()
-     */
-    public void showPaneMenu() {
-        IPartMenu menu = getPartMenu();
-
-        if (null != menu) {
-            CTabItem tab = getTab(getCurrentPart());
-
-            if (null != tab && null != tab.getControl()) {
-                Rectangle bounds = DragUtil.getDisplayBounds(tab.getControl());
-                menu.showMenu(new Point(bounds.x, bounds.y + bounds.height));
-            }
-        }
-    }
-
-    /**
-     * Returns the IPartMenu for the currently selected part, or null if the
-     * current part does not have a menu.
-     * 
-     * @return the IPartMenu for the currently selected part or null if none
-     */
-    protected IPartMenu getPartMenu() {
-        IPresentablePart part = getCurrentPart();
-        if (part == null) { return null; }
-
-        return part.getMenu();
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.presentations.StackPresentation#getTabList(IPresentablePart)
-     */
-    public Control[] getTabList(IPresentablePart part) {
-        ArrayList list = new ArrayList();
-        if (getControl() != null) list.add(getControl());
-        if (part.getToolBar() != null) list.add(part.getToolBar());
-        if (part.getControl() != null) list.add(part.getControl());
-        return (Control[]) list.toArray(new Control[list.size()]);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.presentations.StackPresentation#getCurrentPart()
-     */
-    public IPresentablePart getCurrentPart() {
-        return current;
-    }
-
-    protected String getPaneName() {
-        return R21PresentationMessages.getString("EditorPane.moveEditor"); //$NON-NLS-1$ 
-    }
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.presentations.StackPresentation#setActive(int)
-	 */
-	public void setActive(int newState) {
-        activeState = newState;
-        updateGradient();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21PresentationFactory.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21PresentationFactory.java
deleted file mode 100644
index 26bef7c..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21PresentationFactory.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.presentations.AbstractPresentationFactory;
-import org.eclipse.ui.presentations.IStackPresentationSite;
-import org.eclipse.ui.presentations.StackPresentation;
-
-/**
- * A presentation factory that creates a look similar to previous verisons of eclipse.
- */
-public class R21PresentationFactory extends AbstractPresentationFactory {
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.presentations.AbstractPresentationFactory
-     */
-    public StackPresentation createEditorPresentation(Composite parent,
-            IStackPresentationSite site) {
-        return new R21EditorStackPresentation(parent, site);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.presentations.AbstractPresentationFactory
-     */
-    public StackPresentation createViewPresentation(Composite parent,
-            IStackPresentationSite site) {
-        return new R21ViewStackPresentation(parent, site);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.presentations.AbstractPresentationFactory
-     */
-    public StackPresentation createStandaloneViewPresentation(Composite parent,
-            IStackPresentationSite site, boolean showTitle) {
-        // TODO: honour showTitle
-        return new R21ViewStackPresentation(parent, site);
-    }
-
-}
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21ViewStackPresentation.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21ViewStackPresentation.java
deleted file mode 100644
index 56f3fed..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21ViewStackPresentation.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations;
-
-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.widgets.Composite;
-import org.eclipse.ui.internal.IPreferenceConstants;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.presentations.r21.R21PresentationMessages;
-import org.eclipse.ui.internal.presentations.r21.widgets.CTabFolderEvent;
-import org.eclipse.ui.internal.presentations.r21.widgets.R21PaneFolder;
-import org.eclipse.ui.internal.presentations.r21.widgets.R21PaneFolderButtonListener;
-import org.eclipse.ui.presentations.IStackPresentationSite;
-
-/**
- * Controls the appearance of views stacked into the workbench.
- * 
- * @since 3.0
- */
-public class R21ViewStackPresentation extends R21BasicStackPresentation {
-	
-	private IPreferenceStore preferenceStore = WorkbenchPlugin.getDefault().getPreferenceStore();
-		
-	private final IPropertyChangeListener propertyChangeListener = new IPropertyChangeListener() {
-		public void propertyChange(PropertyChangeEvent propertyChangeEvent) {
-			if (IPreferenceConstants.VIEW_TAB_POSITION.equals(propertyChangeEvent.getProperty()) && !isDisposed()) {
-				int tabLocation = preferenceStore.getInt(IPreferenceConstants.VIEW_TAB_POSITION); 
-				getPaneFolder().setTabPosition(tabLocation);
-			}
-//			else if (IPreferenceConstants.SHOW_TRADITIONAL_STYLE_TABS.equals(propertyChangeEvent.getProperty()) && !isDisposed()) {
-//				boolean traditionalTab = preferenceStore.getBoolean(IPreferenceConstants.SHOW_TRADITIONAL_STYLE_TABS); 
-//				setTabStyle(traditionalTab);
-//			}		
-		}
-	};
-	
-	private R21PaneFolderButtonListener showListListener = new R21PaneFolderButtonListener () {
-
-        public void showList(CTabFolderEvent event) {
-            event.doit = false;
-            showListDefaultLocation();
-        }
-    };
-	
-	public R21ViewStackPresentation(Composite parent, IStackPresentationSite newSite) {
-		
-		super(new R21PaneFolder(parent, SWT.BORDER), newSite);
-		R21PaneFolder tabFolder = getPaneFolder();
-		
-        tabFolder.addButtonListener(showListListener);
-		
-		preferenceStore.addPropertyChangeListener(propertyChangeListener);
-		int tabLocation = preferenceStore.getInt(IPreferenceConstants.VIEW_TAB_POSITION); 
-		
-		tabFolder.setTabPosition(tabLocation);
-//		setTabStyle(preferenceStore.getBoolean(IPreferenceConstants.SHOW_TRADITIONAL_STYLE_TABS));
-		
-//		// do not support close box on unselected tabs.
-//		tabFolder.setUnselectedCloseVisible(false);
-//		
-//		// do not support icons in unselected tabs.
-//		tabFolder.setUnselectedImageVisible(false);
-//		
-		// set basic colors
-		//ColorSchemeService.setTabAttributes(this, tabFolder);
-
-		updateGradient();
-	}
-	
-//	/**
-//     * Set the tab folder tab style to a tradional style tab
-//	 * @param traditionalTab <code>true</code> if traditional style tabs should be used
-//     * <code>false</code> otherwise.
-//	 */
-//	protected void setTabStyle(boolean traditionalTab) {
-//		// set the tab style to non-simple
-//		getTabFolder().setSimpleTab(traditionalTab);
-//	}
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.skins.Presentation#setActive(boolean)
-	 */
-	public void setActive(boolean isActive) {
-		super.setActive(isActive);
-		
-		updateGradient();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.presentations.StackPresentation#dispose()
-	 */
-	public void dispose() {
-		preferenceStore.removePropertyChangeListener(propertyChangeListener);
-		super.dispose();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.presentations.DefaultPartPresentation#getPartMenu()
-	 */
-	protected String getPaneName() {
-		return R21PresentationMessages.getString("ViewPane.moveView"); //$NON-NLS-1$ 
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.r21presentation.presentations.R21BasicStackPresentation#drawGradient(org.eclipse.swt.graphics.Color, org.eclipse.swt.graphics.Color[], int[], boolean)
-	 */
-
-}
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/R21Colors.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/R21Colors.java
deleted file mode 100644
index 3ba7c1c..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/R21Colors.java
+++ /dev/null
@@ -1,316 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations.r21;
-
-import java.util.HashMap;
-import java.util.Iterator;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * This class manages the R21 workbench colors (they are fixed).
- */
-public class R21Colors {
-
-    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.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/R21PresentationMessages.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/R21PresentationMessages.java
deleted file mode 100644
index 819aad0..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/R21PresentationMessages.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations.r21;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Utility class which helps managing messages
- */
-public abstract class R21PresentationMessages {
-
-    private static final String RESOURCE_BUNDLE = "org.eclipse.ui.internal.presentations.r21.messages"; //$NON-NLS-1$
-
-    private static ResourceBundle bundle = ResourceBundle
-            .getBundle(RESOURCE_BUNDLE);
-
-    /**
-     * 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.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/R21PresentationPlugin.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/R21PresentationPlugin.java
deleted file mode 100644
index 5440c43..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/R21PresentationPlugin.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.eclipse.ui.internal.presentations.r21;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class R21PresentationPlugin extends AbstractUIPlugin {
-	//The shared instance.
-	private static R21PresentationPlugin plugin;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	
-	/**
-	 * The constructor.
-	 */
-	public R21PresentationPlugin() {
-		super();
-		plugin = this;
-		try {
-			resourceBundle   = ResourceBundle.getBundle("org.eclipse.ui.internal.r21presentation.R21lookPluginResources"); //$NON-NLS-1$
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static R21PresentationPlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns the string from the plugin's resource bundle,
-	 * or 'key' if not found.
-	 */
-	public static String getResourceString(String key) {
-		ResourceBundle bundle = R21PresentationPlugin.getDefault().getResourceBundle();
-		try {
-			return (bundle != null) ? bundle.getString(key) : key;
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		return resourceBundle;
-	}
-	
-	
-    /* (non-Javadoc)
-     * @see org.eclipse.core.runtime.Plugin#start(org.osgi.framework.BundleContext)
-     */
-    public void start(BundleContext context) throws Exception {
-        super.start(context);
-        R21Colors.startup();
-    }
-    
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
-     */
-    public void stop(BundleContext context) throws Exception {
-        super.stop(context);
-        R21Colors.shutdown();
-    }
-}
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/messages.properties b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/messages.properties
deleted file mode 100644
index e841a0f..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/messages.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 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 Corporation - initial API and implementation
-###############################################################################
-
-# package: org.eclipse.ui.internal.r21presentation
-
-BasicStackPresentation.menu=&Menu
-BasicStackPresentation.close=&Close
-BasicStackPresentation.pane=&Pane
-
-ViewPane.moveView=&View
-EditorPane.moveEditor=&Editor
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabFolder.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabFolder.java
deleted file mode 100644
index 9824add..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabFolder.java
+++ /dev/null
@@ -1,2191 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations.r21.widgets;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.accessibility.*;
-
-/**
- * Instances of this class implement the notebook user interface
- * metaphor.  It allows the user to select a notebook page from
- * set of pages.
- * <p>
- * The item children that may be added to instances of this class
- * must be of type <code>CTabItem</code>.
- * <code>Control</code> children are created and then set into a
- * tab item using <code>CTabItem#setControl</code>.
- * </p><p>
- * Note that although this class is a subclass of <code>Composite</code>,
- * it does not make sense to set a layout on it.
- * </p><p>
- * <dl>
- * <dt><b>Styles:</b></dt>
- * <dd>TOP, BOTTOM, FLAT</dd>
- * <dt><b>Events:</b></dt>
- * <dd>Selection</dd>
- * <dd>"CTabFolder"</dd>
- * </dl>
- * <p>
- * Note: Only one of the styles TOP and BOTTOM 
- * may be specified.
- * </p><p>
- * IMPORTANT: This class is <em>not</em> intended to be subclassed.
- * </p>
- */
- 
-public class CTabFolder extends Composite {
-	
-	/**
-	 * marginWidth specifies the number of pixels of horizontal margin
-	 * that will be placed along the left and right edges of the form.
-	 *
-	 * The default value is 0.
-	 */
- 	public int marginWidth = 0;
-	/**
-	 * marginHeight specifies the number of pixels of vertical margin
-	 * that will be placed along the top and bottom edges of the form.
-	 *
-	 * The default value is 0.
-	 */
- 	public int marginHeight = 0;
-	
-	/**
-	 * Color of innermost line of drop shadow border.
-	 */
-	public static RGB borderInsideRGB  = new RGB (132, 130, 132);
-	/**
-	 * Color of middle line of drop shadow border.
-	 */
-	public static RGB borderMiddleRGB  = new RGB (143, 141, 138);
-	/**
-	 * Color of outermost line of drop shadow border.
-	 */
-	public static RGB borderOutsideRGB = new RGB (171, 168, 165); 
-	
-	/*
-	 * A multiple of the tab height that specifies the minimum width to which a tab 
-	 * will be compressed before scrolling arrows are used to navigate the tabs.
-	 */
-	public int MIN_TAB_WIDTH = 3;
-
-	/* sizing, positioning */
-	int xClient, yClient;
-	boolean onBottom = false;
-	boolean fixedTabHeight;
-	int tabHeight;
-	
-	/* item management */
-	private CTabItem items[] = new CTabItem[0];
-	private int selectedIndex = -1;
-	int topTabIndex = -1; // index of the left most visible tab.
-
-	/* External Listener management */
-	private CTabFolderListener[] tabListeners = new CTabFolderListener[0];
-	
-	/* Color appearance */
-	Image backgroundImage;
-	Color[] gradientColors;
-	int[] gradientPercents;
-	Color selectionForeground;
-	Color background;
-
-	// internal constants
-	private static final int DEFAULT_WIDTH = 64;
-	private static final int DEFAULT_HEIGHT = 64;
-	
-	// scrolling arrows
-	private ToolBar arrowBar;
-	private Image arrowLeftImage;
-	private Image arrowRightImage;
-
-	private Control topRight;
-
-	// close button
-	boolean showClose = false;
-	private Image closeImage;
-	ToolBar closeBar;
-	private ToolBar inactiveCloseBar;
-	private CTabItem inactiveItem;	
-	
-	// borders
-	boolean showBorders = false;
-	private int borderBottom = 0;
-	private int borderLeft = 0;
-	private int borderRight = 0;
-	private int borderTop = 0;
-	private Color borderColor1;
-	private Color borderColor2;
-	private Color borderColor3;
-
-	// when disposing CTabFolder, don't try to layout the items or 
-	// change the selection as each child is destroyed.
-	private boolean inDispose = false;
-
-	// keep track of size changes in order to redraw only affected area
-	// on Resize
-	private Point oldSize;
-	private Font oldFont;
-	
-	// insertion marker
-	int insertionIndex = -2; // Index of insert marker.  Marker always shown after index.
-	                         // -2 means no insert marker
-	                         
-	// tool tip
-	private Shell tip;
-	private Label label;
-	private boolean showToolTip = false;
-	private CTabItem toolTipItem;
-
-/**
- * Constructs a new instance of this class given its parent
- * and a style value describing its behavior and appearance.
- * <p>
- * The style value is either one of the style constants defined in
- * class <code>SWT</code> which is applicable to instances of this
- * class, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>SWT</code> style constants. The class description
- * lists the style constants that are applicable to the class.
- * Style bits are also inherited from superclasses.
- * </p>
- *
- * @param parent a widget which will be the parent of the new instance (cannot be null)
- * @param style the style of widget to construct
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- * </ul>
- *
- * @see SWT#TOP
- * @see SWT#BOTTOM
- * @see SWT#FLAT
- * @see #getStyle()
- */
-public CTabFolder(Composite parent, int style) {
-	super(parent, checkStyle (style));
-	
-	onBottom = (getStyle() & SWT.BOTTOM) != 0;
-	
-	borderColor1 = new Color(getDisplay(), borderInsideRGB);
-	borderColor2 = new Color(getDisplay(), borderMiddleRGB);
-	borderColor3 = new Color(getDisplay(), borderOutsideRGB);
-
-	// tool tip support
-	tip = new Shell (getShell(), SWT.ON_TOP);
-	label = new Label (tip, SWT.CENTER);
-	
-	// Add all listeners
-	Listener listener = new Listener() {
-		public void handleEvent(Event event) {
-			switch (event.type) {
-				case SWT.Dispose:           onDispose(); break;
-				case SWT.Paint:             onPaint(event);	break;
-				case SWT.Resize:            onResize();	break;
-				case SWT.MouseDoubleClick:  onMouseDoubleClick(event);	break;
-				case SWT.MouseDown:         onMouseDown(event);	break;
-				case SWT.MouseExit:         onMouseExit(event);	break;
-				case SWT.MouseHover:		onMouseHover(event);	break;
-				case SWT.MouseMove:         onMouseMove(event);	break;
-				case SWT.FocusIn:           onFocus(event);	break;
-				case SWT.FocusOut:          onFocus(event);	break;
-				case SWT.KeyDown:           onKeyDown(event); break;
-				case SWT.Traverse:          onTraverse(event); break;
-			}
-		}
-	};
-
-	int[] folderEvents = new int[]{
-		SWT.Dispose,
-		SWT.Paint,
-		SWT.Resize,  
-		SWT.MouseDoubleClick, 
-		SWT.MouseDown, 
-		SWT.MouseExit,
-		SWT.MouseHover, 
-		SWT.MouseMove,
-		SWT.FocusIn, 
-		SWT.FocusOut, 
-		SWT.KeyDown,
-		SWT.Traverse,
-	};
-	for (int i = 0; i < folderEvents.length; i++) {
-		addListener(folderEvents[i], listener);
-	}
-	
-	createArrowBar();
-	createCloseBar();
-	
-	setBorderVisible((style & SWT.BORDER) != 0);
-	
-	initAccessible();	
-
-}
-private static int checkStyle (int style) {
-	int mask = SWT.TOP | SWT.BOTTOM | SWT.FLAT | SWT.LEFT_TO_RIGHT | SWT.RIGHT_TO_LEFT;
-	style = style & mask;
-	// TOP and BOTTOM are mutually exlusive.
-	// TOP is the default
-	if ((style & SWT.TOP) != 0) 
-		style = style & ~(SWT.TOP | SWT.BOTTOM) | SWT.TOP;
-	// reduce the flash by not redrawing the entire area on a Resize event
-	style |= SWT.NO_REDRAW_RESIZE;
-	return style;
-}
-/**	 
-* Adds the listener to receive events.
-* <p>
-*
-* @param listener the listener
-*
-* @exception SWTError <ul>
-*		<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
-*		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
-* 		<li>ERROR_NULL_ARGUMENT when listener is null</li>
-*	</ul>
-*/
-public void addSelectionListener(SelectionListener listener) {
-	checkWidget();
-	if (listener == null) {
-		SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	}
-	TypedListener typedListener = new TypedListener(listener);
-	addListener(SWT.Selection, typedListener);
-	addListener(SWT.DefaultSelection, typedListener);
-}
-/**
- * Adds the listener to the collection of listeners who will
- * be notified when a tab item is closed.
- *
- * @param listener the listener which should be notified
- *
- * @exception IllegalArgumentException <ul>
- *		<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- *      <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- *
- * @see CTabFolderListener
- * @see #removeCTabFolderListener
- */
-public void addCTabFolderListener(CTabFolderListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	// add to array
-	CTabFolderListener[] newTabListeners = new CTabFolderListener[tabListeners.length + 1];
-	System.arraycopy(tabListeners, 0, newTabListeners, 0, tabListeners.length);
-	tabListeners = newTabListeners;
-	tabListeners[tabListeners.length - 1] = listener;
-	showClose = true;
-	setButtonBounds();
-}
-private void closeNotify(CTabItem item, int time) {
-	if (item == null) return;
-	
-	CTabFolderEvent event = new CTabFolderEvent(this);
-	event.widget = this;
-	event.time = time;
-	event.item = item;
-	event.doit = true;
-	if (tabListeners != null) {
-		for (int i = 0; i < tabListeners.length; i++) {
-			tabListeners[i].itemClosed(event);
-		}
-	}
-	if (event.doit) {
-		item.dispose();
-	}
-}
-public Point computeSize (int wHint, int hHint, boolean changed) {
-	checkWidget();
-	int minWidth = 0;
-	int minHeight = 0;
-
-	// preferred width of tab area to show all tabs
-	GC gc = new GC(this);
-	for (int i = 0; i < items.length; i++) {
-		minWidth += items[i].preferredWidth(gc);
-	}
-	gc.dispose();
-
-	// preferred size of controls in tab items
-	for (int i = 0; i < items.length; i++) {
-		Control control = items[i].getControl();
-		if (control != null && !control.isDisposed()){
-			Point size = control.computeSize (wHint, hHint);
-			minWidth = Math.max (minWidth, size.x);
-			minHeight = Math.max (minHeight, size.y);
-		}
-	}
-	if (minWidth == 0) minWidth = DEFAULT_WIDTH;
-	if (minHeight == 0) minHeight = DEFAULT_HEIGHT;
-
-	if (wHint != SWT.DEFAULT) minWidth  = wHint;
-	if (hHint != SWT.DEFAULT) minHeight = hHint;
-
-	Rectangle trim = computeTrim(0, 0, minWidth, minHeight);
-	return new Point (trim.width, trim.height);
-}
-public Rectangle computeTrim (int x, int y, int width, int height) {
-	checkWidget();
-	if (items.length == 0) {
-		if (!showBorders) return new Rectangle(x, y, width, height);
-		int trimX = x - borderRight - 1;
-		int trimY = y - borderBottom - 1;
-		int trimWidth = width + borderRight + 2;
-		int trimHeight = height + borderBottom + 2;
-		return new Rectangle (trimX, trimY, trimWidth, trimHeight);
-	} else {
-		int trimX = x - marginWidth - borderLeft;
-		int trimY = y - marginHeight - tabHeight - borderTop - 1;
-		// -1 is for the line at the bottom of the tabs
-		if (onBottom) {
-			trimY = y - marginHeight - borderTop;
-		}
-		int trimWidth = width + borderLeft + borderRight + 2*marginWidth;
-		int trimHeight = height + borderTop + borderBottom + 2*marginHeight + tabHeight + 1;
-		return new Rectangle (trimX, trimY, trimWidth, trimHeight);
-	}
-}
-/**
- * Create the specified item at 'index'.
- */
-void createItem (CTabItem item, int index) {
-	if (0 > index || index > getItemCount ()){ 
-		SWT.error (SWT.ERROR_INVALID_RANGE);
-	}
-	// grow by one and rearrange the array.
-	CTabItem[] newItems = new CTabItem [items.length + 1];
-	System.arraycopy(items, 0, newItems, 0, index);
-	newItems[index] = item;
-	System.arraycopy(items, index, newItems, index + 1, items.length - index);
-	items = newItems;
-	
-	item.parent = this;
-	
-	if (selectedIndex >= index) {
-		 selectedIndex ++;
-	}
-	if (items.length == 1) {
-		topTabIndex = 0;
-		resetTabSize(true);
-	} else {
-		setItemBounds();
-		showItem(item);
-	}
-	
-	if (items.length == 1) {
-		redraw();
-	} else {
-		redrawTabArea(-1);
-	}
-}
-
-private void createArrowBar() {
-	// create arrow buttons for scrolling 
-	arrowBar = new ToolBar(this, SWT.FLAT);
-	arrowBar.setVisible(false);
-	arrowBar.setBackground(background);
-	ToolItem scrollLeft = new ToolItem(arrowBar, SWT.PUSH);
-	scrollLeft.setEnabled(false);
-	ToolItem scrollRight = new ToolItem(arrowBar, SWT.PUSH);
-	scrollRight.setEnabled(false);
-	
-	scrollLeft.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-			scroll_scrollLeft();
-		}
-	});
-	scrollRight.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-			scroll_scrollRight();
-		}
-	});
-	
-}
-private void createCloseBar() {
-	closeBar = new ToolBar(this, SWT.FLAT);
-	closeBar.setVisible(false);
-	if (gradientColors != null && gradientColors.length > 0) {
-		closeBar.setBackground(gradientColors[gradientColors.length - 1]);
-	} else {
-		closeBar.setBackground(background);
-	}
-	ToolItem closeItem = new ToolItem(closeBar, SWT.PUSH);
-	
-	inactiveCloseBar = new ToolBar(this, SWT.FLAT);
-	inactiveCloseBar.setVisible(false);
-	inactiveCloseBar.setBackground(background);
-	ToolItem inactiveCloseItem = new ToolItem(inactiveCloseBar, SWT.PUSH);
-
-	closeItem.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-			closeNotify(getSelection(), event.time);
-		}
-	});
-	inactiveCloseItem.addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-			closeNotify(inactiveItem, event.time);
-			inactiveCloseBar.setVisible(false);
-			inactiveItem = null;
-		}
-	});
-	inactiveCloseBar.addListener (SWT.MouseExit, new Listener() {
-		public void handleEvent(Event event) {
-			if (inactiveItem != null) {
-				Rectangle itemBounds = inactiveItem.getBounds();
-				if (itemBounds.contains(event.x, event.y)) return;
-			}
-			inactiveCloseBar.setVisible(false);
-			inactiveItem = null;
-		}
-	});
-	
-}
-/**
- * Destroy the specified item.
- */
-void destroyItem (CTabItem item) {
-	if (inDispose) return;
-	
-	int index = indexOf(item);
-	if (index == -1) return; 	// should this trigger an error?
-	
-	insertionIndex = -2;
-	
-	if (items.length == 1) {
-		items = new CTabItem[0];
-		selectedIndex = -1;
-		topTabIndex = 0;
-		
-		Control control = item.getControl();
-		if (control != null && !control.isDisposed()) {
-			control.setVisible(false);
-		}
-		closeBar.setVisible(false);
-		if (!fixedTabHeight) tabHeight = 0;
-		redraw();
-		return;
-	} 
-		
-	// shrink by one and rearrange the array.
-	CTabItem[] newItems = new CTabItem [items.length - 1];
-	System.arraycopy(items, 0, newItems, 0, index);
-	System.arraycopy(items, index + 1, newItems, index, items.length - index - 1);
-	items = newItems;
-	
-	if (topTabIndex == items.length) {
-		--topTabIndex;
-	}
-	
-	// move the selection if this item is selected
-	if (selectedIndex == index) {
-		Control control = item.getControl();
-		if (control != null && !control.isDisposed()) {
-			control.setVisible(false);
-		}
-		selectedIndex = -1;
-		setSelection(Math.max(0, index - 1), true);
-	} else if (selectedIndex > index) {
-		selectedIndex --;
-	}
-	
-	setItemBounds();
-	redrawTabArea(-1);
-}
-private void onKeyDown(Event e) {
-	if (e.keyCode != SWT.ARROW_LEFT && e.keyCode != SWT.ARROW_RIGHT) return;
-	int leadKey = (getStyle() & SWT.MIRRORED) != 0 ? SWT.ARROW_RIGHT : SWT.ARROW_LEFT;
-	if (e.keyCode == leadKey) {
-		if (selectedIndex > 0) {
-			setSelection(selectedIndex - 1, true);
-		}
-	} else {
-		if (selectedIndex < items.length - 1) {
-			setSelection(selectedIndex + 1, true);
-		}
-	}
-}
-/**
- * Dispose the items of the receiver
- */
-private void onDispose() {
-	/*
-	 * Usually when an item is disposed, destroyItem will change the size of the items array, 
-	 * reset the bounds of all the tabs and manage the widget associated with the tab.
-	 * Since the whole folder is being disposed, this is not necessary.  For speed
-	 * the inDispose flag is used to skip over this part of the item dispose.
-	 */
-	inDispose = true;
-	
-	int length = items.length;
-	for (int i = 0; i < length; i++) {						
-		if (items[i] != null) {
-			items[i].dispose();
-		}
-	}
-	
-	// clean up resources
-	if (tip != null  && !tip.isDisposed()) {
-		tip.dispose();
-		tip = null;
-		label = null;
-	}
-	
-	if (arrowLeftImage != null) arrowLeftImage.dispose();
-	arrowLeftImage = null;
-	if (arrowRightImage != null) arrowRightImage.dispose();
-	arrowRightImage = null;
-	if (closeImage != null) closeImage.dispose();
-	closeImage = null;
-	
-	gradientColors = null;
-	gradientPercents = null;
-	backgroundImage = null;
-
-	if (borderColor1 != null) borderColor1.dispose();
-	borderColor1 = null;
-	
-	if (borderColor2 != null) borderColor2.dispose();
-	borderColor2 = null;
-	
-	if (borderColor3 != null) borderColor3.dispose();
-	borderColor3 = null;
-}
-private void onFocus(Event e) {
-	checkWidget();
-	if (selectedIndex >= 0) {
-		redrawTabArea(selectedIndex);
-	} else {
-		setSelection(0, true);
-	}
-}
-/** 
- * Draw a border around the receiver.
- */
-private void drawBorder(GC gc) {
-	
-	Rectangle d = super.getClientArea();
-	
-	if (showBorders) {
-		if ((getStyle() & SWT.FLAT) != 0) {
-			gc.setForeground(borderColor1);
-			gc.drawRectangle(d.x, d.y, d.x + d.width - 1, d.y + d.height - 1);
-		} else {
-			gc.setForeground(borderColor1);
-			gc.drawRectangle(d.x, d.y, d.x + d.width - 3, d.y + d.height - 3);
-		
-			gc.setForeground(borderColor2);
-			gc.drawLine(d.x + 1,           d.y + d.height - 2, d.x + d.width - 1, d.y + d.height - 2);
-			gc.drawLine(d.x + d.width - 2, d.y + 1,            d.x + d.width - 2, d.y + d.height - 1);
-		
-			gc.setForeground(borderColor3);
-			gc.drawLine(d.x + 2,           d.y + d.height - 1, d.x + d.width - 2, d.y + d.height - 1);
-			gc.drawLine(d.x + d.width - 1, d.y + 2,            d.x + d.width - 1, d.y + d.height - 2);
-		
-			// fill in corners with parent's background
-			gc.setForeground(getParent().getBackground());
-			gc.drawLine(d.x + d.width - 2, d.y,     d.x + d.width - 1, d.y);
-			gc.drawLine(d.x + d.width - 1, d.y + 1, d.x + d.width - 1, d.y + 1);
-		
-			gc.drawLine(d.x, d.y + d.height - 2, d.x,     d.y + d.height - 2);
-			gc.drawLine(d.x, d.y + d.height - 1, d.x + 1, d.y + d.height - 1);
-		
-			gc.drawLine(d.x + d.width - 1, d.y + d.height - 1, d.x + d.width - 1, d.y + d.height - 1);
-		}
-		
-	}
-
-	// draw a separator line
-	if (items.length > 0) {	
-		int lineY = d.y + borderTop + tabHeight;
-		if (onBottom) {
-			lineY = d.y + d.height - borderBottom - tabHeight - 1;
-		}
-		gc.setForeground(borderColor1);
-		gc.drawLine(d.x + borderLeft, lineY, d.x + d.width - borderRight, lineY);
-	}
-
-	gc.setForeground(getForeground());
-}
-public Rectangle getClientArea() {
-	checkWidget();
-	Point size = getSize();
-	if (items.length == 0) {
-		if (!showBorders) return super.getClientArea();
-		int width = size.x - borderRight - 2;
-		int height = size.y - borderBottom - 2;
-		return new Rectangle(borderRight + 1, borderBottom + 1, width, height);	
-	} else {
-		int width = size.x - 2*marginWidth - borderLeft - borderRight;
-		int height = size.y - 2*marginHeight - borderTop - borderBottom - tabHeight - 1;
-		return new Rectangle(xClient, yClient, width, height);
-	}
-}
-/**
- * Returns the height of the tab
- * 
- * @return the height of the tab
- * 
- * @exception SWTError <ul>
- *		<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- *	</ul>
- */
-public int getTabHeight(){
-	checkWidget();
-	return tabHeight;
-}
-
-/**
- * Return the tab that is located at the specified index.
- * 
- * @return the item at the specified index
- */
-public CTabItem getItem (int index) {
-	//checkWidget();
-	if (index  < 0 || index >= items.length) 
-		SWT.error(SWT.ERROR_INVALID_RANGE);
-	return items [index];
-}
-/**
-* Gets the item at a point in the widget.
-* <p>
-*
-* @return the item at a point
-*/
-public CTabItem getItem (Point pt) {
-	//checkWidget();
-	if (items.length == 0) return null;
-	int lastItem = getLastItem();
-	lastItem = Math.min(items.length - 1, lastItem + 1);
-	for (int i = topTabIndex; i <= lastItem; i++) {
-		Rectangle bounds = items[i].getBounds();
-		if (bounds.contains(pt)) return items[i];
-	}
-	return null;
-}
-/**
- * Return the number of tabs in the folder.
- * 
- * @return the number of tabs in the folder
- */
-public int getItemCount(){
-	//checkWidget();
-	return items.length;
-}
-/**
- * Return the tab items.
- * 
- * @return the tab items
- */
-public CTabItem [] getItems() {
-	//checkWidget();
-	CTabItem[] tabItems = new CTabItem [items.length];
-	System.arraycopy(items, 0, tabItems, 0, items.length);
-	return tabItems;
-}
-
-private int getLastItem(){
-	if (items.length == 0) return -1;
-	Rectangle area = getClientArea();
-	if (area.width <= 0) return 0;
-	Rectangle toolspace = getToolSpace();
-	if (toolspace.width == 0) return items.length -1;
-	int width = area.width - toolspace.width;
-	int index = topTabIndex;
-	int tabWidth = items[index].width;
-	while (index < items.length - 1) {
-		tabWidth += items[index + 1].width;
-		if (tabWidth > width) break;
-		index++;
-	}
-	return index;
-}
-/**
- * Return the selected tab item, or an empty array if there
- * is no selection.
- * 
- * @return the selected tab item
- */
-public CTabItem getSelection() {
-	//checkWidget();
-	if (selectedIndex == -1) return null;
-	return items[selectedIndex];
-}
-/**
- * Return the index of the selected tab item, or -1 if there
- * is no selection.
- * 
- * @return the index of the selected tab item or -1
- */
-public int getSelectionIndex() {
-	//checkWidget();
-	return selectedIndex;
-}
-private Rectangle getToolSpace() {
-	boolean showArrows = scroll_leftVisible() || scroll_rightVisible();
-	if (!showArrows && topRight == null) return new Rectangle(0, 0, 0, 0);
-	Rectangle toolspace;
-	if (showArrows) {
-		toolspace = arrowBar.getBounds();
-		toolspace.width += borderRight;
-		if (topRight != null) toolspace.width += topRight.getSize().x;
-	} else {
-		toolspace = topRight.getBounds();
-		toolspace.width += borderRight;
-	}
-	return toolspace;
-}
-/**
- * Returns the control in the top right corner of the tab folder. 
- * Typically this is a close button or a composite with a menu and close button.
- *
- * @since 2.1
- *
- * @return the control in the top right corner of the tab folder or null
- * 
- * @exception  SWTError <ul>
- *		<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- *	</ul>
- */
-public Control getTopRight() {
-	checkWidget();
-	return topRight;
-}
-
-/**
- * Return the index of the specified tab or -1 if the tab is not 
- * in the receiver.
- * 
- * @return the index of the specified tab item or -1
- * 
- * @exception SWTError <ul>
- *      <li>ERROR_NULL_ARGUMENT when the item is null</li>
- *	</ul>
- */
-public int indexOf(CTabItem item) {
-	//checkWidget();
-	if (item == null) {
-		SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	}
-	for (int i = 0; i < items.length; i++) {
-		if (items[i] == item) return i;
-	}
-	return -1;
-}
-
-private void initAccessible() {
-	final Accessible accessible = getAccessible();
-	accessible.addAccessibleListener(new AccessibleAdapter() {
-		public void getName(AccessibleEvent e) {
-			String name = null;
-			int childID = e.childID;
-			if (childID >= 0 && childID < items.length) {
-				name = items[childID].getText();
-				int index = name.indexOf('&');
-				if (index > 0) {
-					name = name.substring(0, index) + name.substring(index + 1);
-				}
-			}
-			e.result = name;
-		}
-
-		public void getHelp(AccessibleEvent e) {
-			String help = null;
-			int childID = e.childID;
-			if (childID == ACC.CHILDID_SELF) {
-				help = getToolTipText();
-			} else if (childID >= 0 && childID < items.length) {
-				help = items[childID].getToolTipText();
-			}
-			e.result = help;
-		}
-		
-		public void getKeyboardShortcut(AccessibleEvent e) {
-			String shortcut = null;
-			int childID = e.childID;
-			if (childID >= 0 && childID < items.length) {
-				String text = items[childID].getText();
-				if (text != null) {
-					char mnemonic = getMnemonic(text);	
-					if (mnemonic != '\0') {
-						shortcut = "Alt+"+mnemonic; //$NON-NLS-1$
-					}
-				}
-			}
-			e.result = shortcut;
-		}
-	});
-	
-	accessible.addAccessibleControlListener(new AccessibleControlAdapter() {
-		public void getChildAtPoint(AccessibleControlEvent e) {
-			Point testPoint = toControl(new Point(e.x, e.y));
-			int childID = ACC.CHILDID_NONE;
-			for (int i = 0; i < items.length; i++) {
-				if (items[i].getBounds().contains(testPoint)) {
-					childID = i;
-					break;
-				}
-			}
-			if (childID == ACC.CHILDID_NONE) {
-				Rectangle location = getBounds();
-				location.height = location.height - getClientArea().height;
-				if (location.contains(testPoint)) {
-					childID = ACC.CHILDID_SELF;
-				}
-			}
-			e.childID = childID;
-		}
-
-		
-		public void getLocation(AccessibleControlEvent e) {
-			Rectangle location = null;
-			int childID = e.childID;
-			if (childID == ACC.CHILDID_SELF) {
-				location = getBounds();
-			}
-			if (childID >= 0 && childID < items.length) {
-				location = items[childID].getBounds();
-			}
-			if (location != null) {
-				Point pt = toDisplay(new Point(location.x, location.y));
-				e.x = pt.x;
-				e.y = pt.y;
-				e.width = location.width;
-				e.height = location.height;
-			}
-		}
-		
-		public void getChildCount(AccessibleControlEvent e) {
-			e.detail = items.length;
-		}
-		
-		public void getDefaultAction(AccessibleControlEvent e) {
-			String action = null;
-			int childID = e.childID;
-			if (childID >= 0 && childID < items.length) {
-				action = "Switch"; //$NON-NLS-1$
-			}
-			e.result = action;
-		}
-
-		public void getFocus(AccessibleControlEvent e) {
-			int childID = ACC.CHILDID_NONE;
-			if (isFocusControl()) {
-				if (selectedIndex == -1) {
-					childID = ACC.CHILDID_SELF;
-				} else {
-					childID = selectedIndex;
-				}
-			}
-			e.childID = childID;
-		}
-
-		public void getRole(AccessibleControlEvent e) {
-			int role = 0;
-			int childID = e.childID;
-			if (childID == ACC.CHILDID_SELF) {
-				role = ACC.ROLE_TABFOLDER;
-			} else if (childID >= 0 && childID < items.length) {
-				role = ACC.ROLE_TABITEM;
-			}
-			e.detail = role;
-		}
-		
-		public void getSelection(AccessibleControlEvent e) {
-			e.childID = (selectedIndex == -1) ? ACC.CHILDID_NONE : selectedIndex;
-		}
-		
-		public void getState(AccessibleControlEvent e) {
-			int state = 0;
-			int childID = e.childID;
-			if (childID == ACC.CHILDID_SELF) {
-				state = ACC.STATE_NORMAL;
-			} else if (childID >= 0 && childID < items.length) {
-				state = ACC.STATE_SELECTABLE;
-				if (isFocusControl()) {
-					state |= ACC.STATE_FOCUSABLE;
-				}
-				if (selectedIndex == childID) {
-					state |= ACC.STATE_SELECTED;
-					if (isFocusControl()) {
-						state |= ACC.STATE_FOCUSED;
-					}
-				}
-			}
-			e.detail = state;
-		}
-		
-		public void getChildren(AccessibleControlEvent e) {
-			Object[] children = new Object[items.length];
-			for (int i = 0; i < items.length; i++) {
-				children[i] = new Integer(i);
-			}
-			e.children = children;
-		}
-	});
-	
-	addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-			if (isFocusControl()) {
-				if (selectedIndex == -1) {
-					accessible.setFocus(ACC.CHILDID_SELF);
-				} else {
-					accessible.setFocus(selectedIndex);
-				}
-			}
-		}
-	});
-
-	addListener(SWT.FocusIn, new Listener() {
-		public void handleEvent(Event event) {
-			if (selectedIndex == -1) {
-				accessible.setFocus(ACC.CHILDID_SELF);
-			} else {
-				accessible.setFocus(selectedIndex);
-			}
-		}
-	});
-}
-
-private void setButtonBounds() {
-	
-	updateArrowBar();
-	updateCloseBar();
-
-	Rectangle area = super.getClientArea();
-
-	int offset = 0;
-	if (topRight != null) {
-		Point size = topRight.computeSize(SWT.DEFAULT, tabHeight);
-		int x = area.x + area.width - borderRight - size.x;
-		int y = onBottom ? area.y + area.height - borderBottom - size.y : area.y + borderTop;
-		topRight.setBounds(x, y, size.x, size.y);
-		offset = size.x;
-	}
-	boolean leftVisible = scroll_leftVisible();
-	boolean rightVisible = scroll_rightVisible();
-	if (leftVisible || rightVisible) {
-		Point size = arrowBar.computeSize(SWT.DEFAULT, tabHeight);
-		int x = area.x + area.width - borderRight - size.x - offset;
-		int y = (onBottom) ? area.y + area.height - borderBottom - size.y : area.y + borderTop;
-		
-		arrowBar.setBounds(x, y, size.x, size.y);
-		ToolItem[] items = arrowBar.getItems();
-		items[0].setEnabled(leftVisible);
-		items[1].setEnabled(rightVisible);
-		arrowBar.setVisible(true);
-	} else {
-		arrowBar.setVisible(false);
-	}
-	
-	// When the close button is right at the edge of the Tab folder, hide it because
-	// otherwise it may block off a part of the border on the right
-	if (showClose) {
-		inactiveCloseBar.setVisible(false);
-		CTabItem item = getSelection();
-		if (item == null) {
-			closeBar.setVisible(false);
-		} else {
-			int toolbarHeight = tabHeight - CTabItem.TOP_MARGIN - CTabItem.BOTTOM_MARGIN + 2; // +2 to ignore gap between focus rectangle
-			Point size = closeBar.computeSize(SWT.DEFAULT, toolbarHeight);
-			int x = item.x + item.width - size.x - 2; // -2 to not overlap focus rectangle and trim
-			int y = item.y + Math.max(0, (item.height - toolbarHeight)/2);		
-			closeBar.setBounds(x, y, size.x, toolbarHeight);
-			Rectangle toolspace = getToolSpace();
-			Point folderSize = getSize();
-			boolean visible = (toolspace.width == 0 || x < toolspace.x) && x + size.x < folderSize.x - borderRight;
-			closeBar.setVisible(visible);
-		}
-	}
-}
-private boolean setItemLocation() {
-	if (items.length == 0) return false;
-	Rectangle area = super.getClientArea();
-	int x = area.x;
-	int y = area.y + borderTop;
-	if (onBottom) y = Math.max(0, area.y + area.height - borderBottom - tabHeight);
-	
-	boolean changed = false;
-	for (int i = topTabIndex - 1; i>=0; i--) { 
-		// if the first visible tab is not the first tab
-		CTabItem tab = items[i];
-		x -= tab.width; 
-		if (!changed && (tab.x != x || tab.y != y) ) changed = true;
-		// layout tab items from right to left thus making them invisible
-		tab.x = x;
-		tab.y = y;
-	}
-	
-	x = area.x + borderLeft;
-	for (int i = topTabIndex; i < items.length; i++) {
-		// continue laying out remaining, visible items left to right 
-		CTabItem tab = items[i];
-		tab.x = x;
-		tab.y = y;
-		x = x + tab.width;
-	}
-	setButtonBounds();
-	return changed;
-}
-private void setLastItem(int index) {
-	if (index < 0 || index > items.length - 1) return;
-	Rectangle area = getClientArea();
-	if (area.width <= 0) return;
-	int maxWidth = area.width;
-	Rectangle toolspace = getToolSpace();
-	if (toolspace.width > 0){
-		maxWidth -= toolspace.width;
-	}
-	int tabWidth = items[index].width;
-	while (index > 0) {
-		tabWidth += items[index - 1].width;
-		if (tabWidth > maxWidth) break;
-		index--;
-	}
-	topTabIndex = index;
-	setItemLocation();
-	redrawTabArea(-1);
-}
-/**
- * Layout the items and store the client area size.
- */
-boolean setItemBounds() {
-	boolean changed = false;
-	if (isDisposed()) return changed;
-	Rectangle area = super.getClientArea();
-
-	xClient = area.x + borderLeft + marginWidth;
-	if (onBottom) {
-		yClient = area.y + borderTop + marginHeight; 
-	} else {
-		yClient = area.y + borderTop + tabHeight + 1 + marginHeight; 
-		// +1 is for the line at the bottom of the tabs
-	}
-	
-	if (area.width <= 0 || area.height <= 0 || items.length == 0) return changed;
-	
-	int[] widths = new int[items.length];
-	GC gc = new GC(this);
-	for (int i = 0; i < items.length; i++) {
-		widths[i] = items[i].preferredWidth(gc);
-	}
-	gc.dispose();
-
-	int oldAverageWidth = 0;
-	int averageWidth = (area.width - borderLeft - borderRight) / items.length;
-	while (averageWidth > oldAverageWidth) {
-		int width = area.width - borderLeft - borderRight;
-		int count = items.length;
-		for (int i = 0; i < items.length; i++) {
-			if (widths[i] < averageWidth) {
-				width -= widths[i];
-				count--;
-			}
-		}
-		oldAverageWidth = averageWidth;
-		if (count > 0) {
-			averageWidth = width / count;
-		}
-	}
-	averageWidth = Math.max(averageWidth, MIN_TAB_WIDTH * tabHeight);
-	for (int i = 0; i < items.length; i++) {
-		if (widths[i] > averageWidth) {
-			widths[i] = averageWidth;
-		}
-	}
-	
-	int totalWidth = 0;
-	for (int i = 0; i < items.length; i++) { 
-		CTabItem tab = items[i];
-		if (tab.height != tabHeight || tab.width != widths[i]) changed = true;
-		tab.height = tabHeight;
-		tab.width = widths[i];
-		totalWidth += widths[i];
-	}
-	
-	int areaWidth = area.x + area.width - borderRight;
-	if (totalWidth <= areaWidth) {
-		topTabIndex = 0;
-	} 
-	if (setItemLocation()) changed = true;
-	
-	// Is there a gap after last item showing
-	if (correctLastItem()) changed = true;
-	return changed;
-}
-private boolean onMnemonic (Event event) {
-	char key = event.character;
-	for (int i = 0; i < items.length; i++) {
-		if (items[i] != null) {
-			char mnemonic = getMnemonic (items[i].getText ());
-			if (mnemonic != '\0') {
-				if (Character.toUpperCase (key) == Character.toUpperCase (mnemonic)) {
-					setSelection(i, true);
-					return true;
-				}
-			}
-		}
-	}
-	return false;
-}
-/** 
- * Paint the receiver.
- */
-private void onPaint(Event event) {
-	Font font = getFont();
-	if (oldFont == null || !oldFont.equals(font)) {
-		oldFont = font;
-		resetTabSize(true);
-	}
-	GC gc = event.gc;
-	Rectangle rect = super.getClientArea();
-	if (items.length == 0) {
-		if (showBorders) {		
-			if ((getStyle() & SWT.FLAT) != 0) {
-				gc.setForeground(borderColor1);
-				gc.drawRectangle(rect.x, rect.y, rect.x + rect.width - 1, rect.y + rect.height - 1);
-			} else {
-				gc.setForeground(borderColor1);
-				gc.drawRectangle(rect.x, rect.y, rect.x + rect.width - 3, rect.y + rect.height - 3);
-						
-				// fill in right and bottom edges with parent's background
-				gc.setBackground(getParent().getBackground());
-				gc.fillRectangle(rect.x + rect.width - 2, rect.y, 2, rect.height);
-				gc.fillRectangle(rect.x, rect.y + rect.height - 2, rect.width, 2);
-			}
-			gc.setForeground(getForeground());
-		}
-		return;
-	}
-	
-	// redraw the Border
-	drawBorder(gc);
-	
-	rect.x += borderLeft;
-	rect.y += borderTop;
-	rect.width -= borderLeft + borderRight;
-	rect.height -= borderTop + borderBottom;
-	Rectangle clip = gc.getClipping ();
-	gc.setClipping(clip.intersection(rect));
-	
-	// Draw the unselected tabs first.
-	for (int i=0; i < items.length; i++) {
-		if (i != selectedIndex && event.getBounds().intersects(items[i].getBounds())) {
-			items[i].onPaint(gc, false);
-		}
-	}
-	// Selected tab comes last
-	if (selectedIndex != -1) {
-		items[selectedIndex].onPaint(gc, true);
-	}
-	
-	// draw insertion mark
-	if (insertionIndex > -2) {
-		gc.setForeground(getDisplay().getSystemColor(SWT.COLOR_LIST_SELECTION));
-		if (insertionIndex == -1) {
-			Rectangle bounds = items[0].getBounds();
-			gc.drawLine(bounds.x, bounds.y, bounds.x, bounds.y + bounds.height - 1);
-			gc.drawLine(bounds.x - 2, bounds.y, bounds.x + 2, bounds.y);
-			gc.drawLine(bounds.x - 1, bounds.y + 1, bounds.x + 1, bounds.y + 1);
-			gc.drawLine(bounds.x - 1, bounds.y + bounds.height - 2, bounds.x + 1, bounds.y + bounds.height - 2);
-			gc.drawLine(bounds.x - 2, bounds.y + bounds.height - 1, bounds.x + 2, bounds.y + bounds.height - 1);
-
-		} else {
-			Rectangle bounds = items[insertionIndex].getBounds();
-			gc.drawLine(bounds.x + bounds.width, bounds.y, bounds.x + bounds.width, bounds.y + bounds.height - 1);
-			gc.drawLine(bounds.x + bounds.width - 2, bounds.y, bounds.x + bounds.width + 2, bounds.y);
-			gc.drawLine(bounds.x + bounds.width - 1, bounds.y + 1, bounds.x + bounds.width + 1, bounds.y + 1);
-			gc.drawLine(bounds.x + bounds.width - 1, bounds.y + bounds.height - 2, bounds.x + bounds.width + 1, bounds.y + bounds.height - 2);
-			gc.drawLine(bounds.x + bounds.width - 2, bounds.y + bounds.height - 1, bounds.x + bounds.width + 2, bounds.y + bounds.height - 1);
-		}
-	}
-	
-	gc.setForeground(getForeground());
-	gc.setBackground(getBackground());	
-}
-private void redrawTabArea(int index) {
-	int x = 0, y = 0, width = 0, height = 0;
-	if (index == -1) {
-		Rectangle area = super.getClientArea();
-		if (area.width == 0 || area.height == 0) return;
-		width = area.x + area.width - borderLeft - borderRight;
-		height = tabHeight + 1; // +1 causes top line between content and tabs to be redrawn
-		x = area.x + borderLeft;
-		y = area.y + borderTop; 
-		if (onBottom) {
-			y = Math.max(0, area.y + area.height - borderBottom - height);
-		}
-	} else {
-		CTabItem item = items[index];
-		x = item.x;
-		y = item.y;
-		Rectangle area = super.getClientArea();
-		width = area.x + area.width - x;
-		height = item.height;
-	}
-	redraw(x, y, width, height, false);
-}
-
-/**	 
- * Removes the listener.
- *
- * @param listener the listener
- *
- * @exception SWTError
- *	<ul><li>ERROR_THREAD_INVALID_ACCESS	when called from the wrong thread</li>
- * 		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- * 		<li>ERROR_NULL_ARGUMENT when listener is null</li></ul>
- */
-public void removeSelectionListener(SelectionListener listener) {
-	checkWidget();
-	if (listener == null) {
-		SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	}
-	removeListener(SWT.Selection, listener);
-	removeListener(SWT.DefaultSelection, listener);	
-}
-/**	 
- * Removes the listener.
- *
- * @param listener the listener
- *
- * @exception SWTError
- *	<ul><li>ERROR_THREAD_INVALID_ACCESS	when called from the wrong thread</li>
- * 		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- * 		<li>ERROR_NULL_ARGUMENT when listener is null</li></ul>
- */
-public void removeCTabFolderListener(CTabFolderListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	if (tabListeners.length == 0) return;
-	int index = -1;
-	for (int i = 0; i < tabListeners.length; i++) {
-		if (listener == tabListeners[i]){
-			index = i;
-			break;
-		}
-	}
-	if (index == -1) return;
-	if (tabListeners.length == 1) {
-		tabListeners = new CTabFolderListener[0];
-		showClose = false;
-		setButtonBounds();
-		return;
-	}
-	CTabFolderListener[] newTabListeners = new CTabFolderListener[tabListeners.length - 1];
-	System.arraycopy(tabListeners, 0, newTabListeners, 0, index);
-	System.arraycopy(tabListeners, index + 1, newTabListeners, index, tabListeners.length - index - 1);
-	tabListeners = newTabListeners;
-}
-
-/**
- * The widget was resized. Adjust the size of the currently selected page.
- */ 
-private void onResize() {
-
-	if (items.length == 0) {
-		redraw();
-		return;
-	}
-	
-	if (setItemBounds()) {
-		redrawTabArea(-1);
-	}
-	
-	Point size = getSize();
-	if (oldSize == null) {
-		redraw();
-	} else {
-		if (onBottom && size.y != oldSize.y) {
-			redraw();
-		} else {
-			int x1 = Math.min(size.x, oldSize.x);
-			if (size.x != oldSize.x) x1 -= 10;
-			int y1 = Math.min(size.y, oldSize.y);
-			if (size.y != oldSize.y) y1 -= 10;
-			int x2 = Math.max(size.x, oldSize.x);
-			int y2 = Math.max(size.y, oldSize.y);		
-			redraw(0, y1, x2 + 10, y2 - y1, false);
-			redraw(x1, 0, x2 - x1, y2, false);
-		}
-	}
-	oldSize = size;
-	
-	// resize content
-	if (selectedIndex != -1) {
-		Control control = items[selectedIndex].getControl();
-		if (control != null && !control.isDisposed()) {
-			control.setBounds(getClientArea());
-		}
-	}
-}
-
-public void setBackground (Color color) {
-	super.setBackground(color);
-	background = color;
-	// init inactive close button
-	inactiveCloseBar.setBackground(color);
-	
-	// init scroll buttons
-	arrowBar.setBackground(color);
-
-	//init topRight control
-	if (topRight != null)
-		topRight.setBackground(color);
-
-	// init close button
-	if (gradientColors == null) {
-		closeBar.setBackground(color);
-	}
-}
-/**
- * Specify a gradient of colours to be draw in the background of the selected tab.
- * For example to draw a gradient that varies from dark blue to blue and then to
- * white, use the following call to setBackground:
- * <pre>
- *	cfolder.setBackground(new Color[]{display.getSystemColor(SWT.COLOR_DARK_BLUE), 
- *		                           display.getSystemColor(SWT.COLOR_BLUE),
- *		                           display.getSystemColor(SWT.COLOR_WHITE), 
- *		                           display.getSystemColor(SWT.COLOR_WHITE)},
- *		               new int[] {25, 50, 100});
- * </pre>
- *
- * @param colors an array of Color that specifies the colors to appear in the gradient 
- *               in order of appearance left to right.  The value <code>null</code> clears the
- *               background gradient. The value <code>null</code> can be used inside the array of 
- *               Color to specify the background color.
- * @param percents an array of integers between 0 and 100 specifying the percent of the width 
- *                 of the widget at which the color should change.  The size of the percents array must be one 
- *                 less than the size of the colors array.
- * 
- * @exception SWTError <ul>
- *		<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- *	</ul>
- */
-
-public void setSelectionBackground(Color[] colors, int[] percents) {
-	checkWidget();
-	if (colors != null) {
-		if (percents == null || percents.length != colors.length - 1) {
-			SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-		}
-		if (getDisplay().getDepth() < 15) {
-			// Don't use gradients on low color displays
-			colors = new Color[] { colors[0] };
-			percents = new int[] { };
-		}
-		for (int i = 0; i < percents.length; i++) {
-			if (percents[i] < 0 || percents[i] > 100) {
-				SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-			}
-			if (i > 0 && percents[i] < percents[i-1]) {
-				SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-			}
-		}
-	}
-	
-	// Are these settings the same as before?
-	if (backgroundImage == null) {
-		if ((gradientColors != null) && (colors != null) && 
-			(gradientColors.length == colors.length)) {
-			boolean same = false;
-			for (int i = 0; i < gradientColors.length; i++) {
-				if (gradientColors[i] == null) {
-					same = colors[i] == null;
-				} else {
-					same = gradientColors[i].equals(colors[i]);
-				}
-				if (!same) break;
-			}
-			if (same) {
-				for (int i = 0; i < gradientPercents.length; i++) {
-					same = gradientPercents[i] == percents[i];
-					if (!same) break;
-				}
-			}
-			if (same) return;
-		}
-	} else {
-		backgroundImage = null;
-	}
-	// Store the new settings
-	if (colors == null) {
-		gradientColors = null;
-		gradientPercents = null;
-		closeBar.setBackground(background);
-	} else {
-		gradientColors = new Color[colors.length];
-		for (int i = 0; i < colors.length; ++i)
-			gradientColors[i] = colors[i];
-		gradientPercents = new int[percents.length];
-		for (int i = 0; i < percents.length; ++i)
-			gradientPercents[i] = percents[i];
-		if (getDisplay().getDepth() < 15) closeBar.setBackground(background);
-		else closeBar.setBackground(gradientColors[gradientColors.length - 1]);
-	}
-
-	// Refresh with the new settings
-	if (selectedIndex > -1) redrawTabArea(selectedIndex);
-}
-
-/**
- * Set the image to be drawn in the background of the selected tab.
- * 
- * @param image the image to be drawn in the background
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- * </ul>
- */
-public void setSelectionBackground(Image image) {
-	checkWidget();
-	if (image == backgroundImage) return;
-	if (image != null) {
-		gradientColors = null;
-		gradientPercents = null;
-	}
-	backgroundImage = image;
-	redrawTabArea(selectedIndex);
-}
-/**
- * Toggle the visibility of the border
- * 
- * @param show true if the border should be displayed
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- * </ul>
- */
-public void setBorderVisible(boolean show) {
-	checkWidget();
-//	if (showBorders == show) return;
-	
-	showBorders = show;
-	if (showBorders) {
-		if ((getStyle() & SWT.FLAT) != 0) {
-			borderBottom = borderTop = borderLeft = borderRight = 1;
-		} else {
-			borderLeft = borderTop = 1;
-			borderRight = borderBottom = 3;
-		}
-	} else {
-		borderBottom = borderTop = borderLeft = borderRight = 0;
-	}
-	oldSize = null;
-	notifyListeners(SWT.Resize, new Event());
-}
-public void setFont(Font font) {
-	checkWidget();
-	if (font != null && font.equals(getFont())) return;
-	super.setFont(font);
-	oldFont = getFont();
-	resetTabSize(true);
-}
-/**
- * Set the foreground color of the selected tab.
- * 
- * @param color the color of the text displayed in the selected tab
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- * </ul>
- */
-public void setSelectionForeground (Color color) {
-	checkWidget();
-	if (selectionForeground == color) return;
-	if (color == null) color = getForeground();
-	selectionForeground = color;
-	if (selectedIndex > -1) {
-		redrawTabArea(selectedIndex);
-	}
-}
-/**
- * Display an insert marker before or after the specified tab item. 
- * 
- * A value of null will clear the mark.
- * 
- * @param item the item with which the mark is associated or null
- * 
- * @param after true if the mark should be displayed after the specified item
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- * </ul>
- */
-public void setInsertMark(CTabItem item, boolean after) {
-	checkWidget();
-	int index = -1;
-	if (item != null) {
-		index = indexOf(item);
-	}
-	setInsertMark(index, after);
-}
-/**
- * Display an insert marker before or after the specified tab item.
- * 
- * A value of -1 will clear the mark.
- * 
- * @param index the index of the item with which the mark is associated or null
- * 
- * @param after true if the mark should be displayed after the specified item
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- * </ul>
- */
-public void setInsertMark(int index, boolean after) {
-	checkWidget();
-	if (index < -1 || index >= getItemCount()) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	
-	if (index == -1) {
-		index = -2;
-	} else {
-		index = after ? index : --index;
-	}
-	
-	if (insertionIndex == index) return;
-	int oldIndex = insertionIndex;
-	insertionIndex = index;
-	if (index > -1)	redrawTabArea(index);
-	if (oldIndex > 1) redrawTabArea(oldIndex);
-}
-
-/**
- * Set the selection to the tab at the specified index.
- * 
- * @param index the index of the tab item to be selected
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- * </ul>
- */
-public void setSelection(int index) {
-	checkWidget();
-	if (index < 0 || index >= items.length) return;
-	if (selectedIndex == index) return;
-	
-	int oldIndex = selectedIndex;
-	selectedIndex = index;
-	
-	Control control = items[index].control;
-	if (control != null && !control.isDisposed()) {
-		control.setBounds(getClientArea());
-		control.setVisible(true);
-	}
-	
-	if (oldIndex != -1) {
-		control = items[oldIndex].control;
-		if (control != null && !control.isDisposed()) {
-			control.setVisible(false);
-		}		
-	}
-	showItem(items[selectedIndex]);
-	setButtonBounds();
-	redrawTabArea(-1);
-}
-/**
- * Set the control that appears in the top right corner of the tab folder.
- * Typically this is a close button or a composite with a Menu and close button. 
- * The topRight control is optional.  Setting the top right control to null will remove it from the tab folder.
- *
- * @since 2.1
- * 
- * @param control the control to be displayed in the top right corner or null
- *
- * @exception SWTException <ul>
- *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- *    <li>ERROR_INVALID_ARGUMENT - if the control is not a child of this CTabFolder</li>
- * </ul>
- */
-public void setTopRight(Control control) {
-	checkWidget();
-	if (control != null && control.getParent() != this) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	topRight = control;
-	resetTabSize(true);
-}
-
-/**
- * Shows the item.  If the item is already showing in the receiver,
- * this method simply returns.  Otherwise, the items are scrolled until
- * the item is visible.
- *
- * @param item the item to be shown
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the item is null</li>
- *    <li>ERROR_INVALID_ARGUMENT - if the item has been disposed</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- * </ul>
- *
- * @see CTabFolder#showSelection()
- * 
- * @since 2.0
- */
-public void showItem (CTabItem item) {
-	checkWidget();
-	if (item == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	if (item.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	
-	int index = indexOf(item);
-	if (index < topTabIndex) {
-		topTabIndex = index;
-		setItemLocation();
-		redrawTabArea(-1);
-		return;
-	}
-	Rectangle area = getClientArea();
-	if (area.width <= 0) {
-		topTabIndex = index;
-		return;
-	}
-	int rightEdge = area.x + area.width;
-	Rectangle rect = getToolSpace();
-	if (rect.width > 0) {
-		rightEdge -=  rect.width;
-	}
-	if (item.x + item.width < rightEdge) return;
-	setLastItem(index);
-}
-/**
- * Shows the selection.  If the selection is already showing in the receiver,
- * this method simply returns.  Otherwise, the items are scrolled until
- * the selection is visible.
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- * </ul>
- *
- * @see CTabFolder#showItem(CTabItem)
- * 
- * @since 2.0
- * 
- */
-public void showSelection () {
-	checkWidget (); 
-	if (selectedIndex != -1) {
-		showItem(getSelection());
-	}
-}
-
-char getMnemonic (String string) {
-	int index = 0;
-	int length = string.length ();
-	do {
-		while ((index < length) && (string.charAt (index) != '&')) index++;
-		if (++index >= length) return '\0';
-		if (string.charAt (index) != '&') return string.charAt (index);
-		index++;
-	} while (index < length);
- 	return '\0';
-}
-/**
- * Set the selection to the tab at the specified item.
- * 
- * @param item the tab item to be selected
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- *    <li>ERROR_NULL_ARGUMENT - if argument is null</li>
- * </ul>
- */
-public void setSelection(CTabItem item) {
-	checkWidget();
-	if (item == null) 
-		SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	int index = indexOf(item);
-	setSelection(index);
-}
-/**
- * Set the selection to the tab at the specified index.
- */
-private void setSelection(int index, boolean notify) {	
-	int oldSelectedIndex = selectedIndex;
-	setSelection(index);
-	if (notify && selectedIndex != oldSelectedIndex && selectedIndex != -1) {
-		Event event = new Event();
-		event.item = getItem(selectedIndex);
-		notifyListeners(SWT.Selection, event);
-	}
-}
-
-private Image scaleImage (Image image, int oldSize, int newSize) {
-	Display display = getDisplay();
-	Color foreground = getForeground();
-	Color black = display.getSystemColor(SWT.COLOR_BLACK);
-	Color background = getBackground();
-	PaletteData palette = new PaletteData(new RGB[]{foreground.getRGB(), background.getRGB(), black.getRGB()});
-	ImageData imageData = new ImageData(newSize, newSize, 4, palette);
-	imageData.transparentPixel = 1;
-	Image temp = new Image(display, imageData);
-	GC gc = new GC(temp);
-	gc.setBackground(background);
-	gc.fillRectangle(0, 0, newSize, newSize);
-	gc.drawImage(image, 0, 0, oldSize, oldSize, 0, 0, newSize, newSize);
-	gc.dispose();
-	return temp;
-}
-private void updateCloseBar() {
-	//Temporary code - need a better way to determine toolBar trim
-	int toolbarTrim = 4;
-	String platform = SWT.getPlatform();
-	if ("photon".equals(platform)) toolbarTrim = 6; //$NON-NLS-1$
-	if ("gtk".equals(platform)) toolbarTrim = 8; //$NON-NLS-1$
-
-	int maxHeight = tabHeight - CTabItem.TOP_MARGIN - CTabItem.BOTTOM_MARGIN - toolbarTrim;
-	if (maxHeight < 3) return;
-	int imageHeight = (maxHeight < 9) ? 9 : maxHeight;
-	
-	if (closeImage != null && closeImage.getBounds().height == imageHeight) return;
-	
-	if (closeBar != null) closeBar.dispose();
-	closeBar = null;
-	if (inactiveCloseBar != null) inactiveCloseBar.dispose();
-	inactiveCloseBar = null;
-	createCloseBar();
-	
-	ToolItem closeItem = closeBar.getItems()[0];
-	ToolItem inactiveCloseItem = inactiveCloseBar.getItems()[0];
-		
-	if (closeImage != null) closeImage.dispose();
-	
-	Display display = getDisplay();
-	Color foreground = getForeground();
-	Color black = display.getSystemColor(SWT.COLOR_BLACK);
-	Color background = getBackground();
-	
-	PaletteData palette = new PaletteData(new RGB[]{foreground.getRGB(), background.getRGB(), black.getRGB()});
-	ImageData imageData = new ImageData(imageHeight, imageHeight, 4, palette);
-	imageData.transparentPixel = 1;
-	closeImage = new Image(display, imageData);
-	GC gc = new GC(closeImage);
-	gc.setBackground(background);
-	gc.fillRectangle(0, 0, imageHeight, imageHeight);
-	gc.setForeground(black);
-	
-	//draw an 9x8 'x' centered in image
-	int h = (imageHeight / 2 )* 2;
-	int inset = (h - 8) / 2;
-	gc.drawLine( inset, inset, h - inset - 1, h - inset - 1);
-	gc.drawLine( inset + 1, inset, h - inset, h - inset - 1);
-	gc.drawLine( inset, h - inset - 1, h - inset - 1, inset);
-	gc.drawLine( inset + 1, h - inset - 1, h - inset, inset);
-	
-	gc.dispose();
-	
-	if (maxHeight < imageHeight) {
-		//rescale image
-		Image temp = scaleImage(closeImage, imageHeight, maxHeight);
-		closeImage.dispose();
-		closeImage = temp;
-	}
-	closeItem.setImage(closeImage);
-	inactiveCloseItem.setImage(closeImage);
-}
-private void updateArrowBar() {
-	//Temporary code - need a better way to determine toolBar trim
-	int toolbarTrim = 4;
-	String platform = SWT.getPlatform();
-	if ("photon".equals(platform)) toolbarTrim = 6; //$NON-NLS-1$
-	if ("gtk".equals(platform)) toolbarTrim = 8; //$NON-NLS-1$
-
-	int maxHeight = tabHeight - toolbarTrim;
-	if (maxHeight < 3) return;
-	int imageHeight = (maxHeight < 9) ? 9 : maxHeight;
-	
-	if (arrowLeftImage != null && arrowLeftImage.getBounds().height == imageHeight) return;	
-	
-	if (arrowBar != null) arrowBar.dispose();
-	arrowBar = null;
-	if (arrowLeftImage != null) arrowLeftImage.dispose();
-	if (arrowRightImage != null) arrowRightImage.dispose();
-	
-	createArrowBar();
-	ToolItem[] items = arrowBar.getItems();
-	ToolItem left  = items[0];
-	ToolItem right = items[1];
-	
-	Display display = getDisplay();
-	Color foreground = getForeground();
-	Color black = display.getSystemColor(SWT.COLOR_BLACK);
-	Color background = getBackground();
-	
-	PaletteData palette = new PaletteData(new RGB[]{foreground.getRGB(), background.getRGB(), black.getRGB()});
-	ImageData imageData = new ImageData(7, imageHeight, 4, palette);
-	imageData.transparentPixel = 1;
-	arrowLeftImage = new Image(display, imageData);
-	GC gc = new GC(arrowLeftImage);
-	gc.setBackground(background);
-	gc.fillRectangle(0, 0, 7, imageHeight);
-	gc.setBackground(black);
-	//draw a 9x5 '<' centered vertically in image
-	int h = (imageHeight / 2 )* 2;
-	int midpoint = h / 2 - 1;
-	int[] pointArr = new int[] {6, midpoint - 5,
-                                         1, midpoint, 
-		                                 6,  midpoint + 5,};
-	gc.fillPolygon(pointArr);
-	gc.dispose();
-	
-	palette = new PaletteData(new RGB[]{foreground.getRGB(), background.getRGB(), black.getRGB()});
-	imageData = new ImageData(7, imageHeight, 4, palette);
-	imageData.transparentPixel = 1;
-	arrowRightImage = new Image(display, imageData);
-	gc = new GC(arrowRightImage);
-	gc.setBackground(background);
-	gc.fillRectangle(0, 0, 7, imageHeight);
-	gc.setBackground(black);
-	//draw a 9x5 '>' centered vertically in image
-	pointArr = new int[] {1, midpoint - 5, 
-                                  6, midpoint,
-		                          1, midpoint + 5,};
-	gc.fillPolygon(pointArr);
-	gc.dispose();
-	
-	if (maxHeight < imageHeight) {
-		//rescale image
-		Image leftTemp = scaleImage(arrowLeftImage, imageHeight, maxHeight);
-		arrowLeftImage.dispose();
-		arrowLeftImage = leftTemp;
-		
-		Image rightTemp = scaleImage(arrowRightImage, imageHeight, maxHeight);
-		arrowRightImage.dispose();
-		arrowRightImage = rightTemp;
-	}
-	left.setImage(arrowLeftImage);
-	right.setImage(arrowRightImage);
-}
-
-private void onMouseDoubleClick(Event event) { 
-	Event e = new Event();
-	e.item = getItem(new Point(event.x, event.y));
-	notifyListeners(SWT.DefaultSelection, e);
-}
-/** 
- * A mouse button was pressed down. 
- * If a tab was hit select the tab.
- */
-private void onMouseDown(Event event) {
-	for (int i=0; i<items.length; i++) {
-		if (items[i].getBounds().contains(new Point(event.x, event.y))) {
-			if (i == selectedIndex) {
-				showSelection();
-				return;
-			}
-			forceFocus();
-			setSelection(i, true);
-			if (isFocusControl()) setFocus();
-			return;
-		}
-	}
-}
-
-private void onMouseExit(Event event) {
-	Rectangle inactiveBounds = inactiveCloseBar.getBounds();
-	if (inactiveBounds.contains(event.x, event.y)) return;
-	inactiveCloseBar.setVisible(false);
-	inactiveItem = null;
-	
-	showToolTip = false;
-	toolTipItem = null;
-	if (tip != null && !tip.isDisposed() && tip.isVisible()) tip.setVisible(false);
-}
-
-private void onMouseHover(Event event) {
-	if (tip == null || tip.isDisposed()) return;
-	showToolTip = true;
-	showToolTip(event.x, event.y);
-}
-private void showToolTip (int x, int y) {
-	CTabItem item = getItem(new Point (x, y));
-	if (item != null) {
-		if (item == toolTipItem) return;
-		toolTipItem = item;
-		String tooltip = item.getToolTipText();
-		if (tooltip != null && tooltip.length() > 0) {			
-			Display display = tip.getDisplay();
-			label.setForeground (display.getSystemColor (SWT.COLOR_INFO_FOREGROUND));
-			label.setBackground (display.getSystemColor (SWT.COLOR_INFO_BACKGROUND));
-			label.setText(tooltip);
-			Point labelSize = label.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-			labelSize.x += 2; labelSize.y += 2;
-			label.setSize(labelSize);
-			tip.pack();
-			/*
-			 * On some platforms, there is a minimum size for a shell  
-			 * which may be greater than the label size.
-			 * To avoid having the background of the tip shell showing
-			 * around the label, force the label to fill the entire client area.
-			 */
-			Rectangle area = tip.getClientArea();
-			label.setSize(area.width, area.height);
-			/*
-			 * Position the tooltip and ensure that it is not located off
-			 * the screen.
-			 */
-			Point pt = new Point(item.x + item.width / 4, item.y + item.height + 2);
-			pt = toDisplay(pt);
-			Rectangle rect = display.getBounds();
-			Point tipSize = tip.getSize();
-			pt.x = Math.max (0, Math.min (pt.x, rect.width - tipSize.x));
-			pt.y = Math.max (0, Math.min (pt.y, rect.height - tipSize.y));
-			tip.setLocation(pt);
-			tip.setVisible(true);
-			return;
-		}
-	}
-	
-	toolTipItem = null;
-	if (tip != null && !tip.isDisposed() && tip.isVisible()) tip.setVisible(false);
-}
-private void onMouseMove(Event event) {
-	if (showToolTip) {
-		showToolTip(event.x, event.y);
-	}
-	
-	if (!showClose) return;
-	
-	CTabItem item = null;
-	for (int i=0; i<items.length; i++) {
-		Rectangle rect = items[i].getBounds();
-		if (rect.contains(new Point(event.x, event.y))) {
-			item = items[i];
-			break;
-		}
-	}
-	if (item == inactiveItem) return;
-	
-	inactiveCloseBar.setVisible(false);
-	inactiveItem = null;
-		
-	if (item == null || item == getSelection()) return;
-
-	int toolbarHeight = tabHeight - CTabItem.TOP_MARGIN - CTabItem.BOTTOM_MARGIN + 2; // +2 to ignore gap between focus rectangle
-	Point size = inactiveCloseBar.computeSize(SWT.DEFAULT, toolbarHeight);
-	int x = item.x + item.width - size.x - 2; // -2 to not overlap focus rectangle and trim
-	int y = item.y + Math.max(0, (item.height - toolbarHeight)/2);
-	Rectangle toolspace = getToolSpace();
-	Point folderSize = getSize();
-	if ((toolspace.width == 0 || x < toolspace.x) && x + size.x < folderSize.x - borderRight) {
-		inactiveCloseBar.setBounds(x, y, size.x, toolbarHeight);
-		inactiveCloseBar.setVisible(true);
-		inactiveItem = item;
-	}
-}
-private void onTraverse (Event event) {
-	switch (event.detail) {
-		case SWT.TRAVERSE_ESCAPE:
-// TEMPORARY CODE See bug report 17372
-//		case SWT.TRAVERSE_RETURN:
-		case SWT.TRAVERSE_TAB_NEXT:
-		case SWT.TRAVERSE_TAB_PREVIOUS:
-			event.doit = true;
-			break;
-		case SWT.TRAVERSE_MNEMONIC:
-			event.doit = onMnemonic(event);
-			if (event.doit) event.detail = SWT.TRAVERSE_NONE;
-			break;
-		case SWT.TRAVERSE_PAGE_NEXT:
-		case SWT.TRAVERSE_PAGE_PREVIOUS:
-			event.doit = onPageTraversal(event);
-			if (event.doit) event.detail = SWT.TRAVERSE_NONE;
-			break;
-	}
-}
-
-private boolean onPageTraversal(Event event) {
-	int count = getItemCount ();
-	if (count == 0) return false;
-	int index = getSelectionIndex ();
-	if (index == -1) {
-		index = 0;
-	} else {
-		int offset = (event.detail == SWT.TRAVERSE_PAGE_NEXT) ? 1 : -1;
-		index = (index + offset + count) % count;
-	}
-	setSelection (index, true);
-	return true;
-}
-
-/**
- * Answer true if not all tabs can be visible in the receive
- * thus requiring the scroll buttons to be visible.
- */ 
-private boolean scroll_leftVisible() {
-	return topTabIndex > 0;
-}
-
-/**
- * Answer true if not all tabs can be visible in the receive
- * thus requiring the scroll buttons to be visible.
- */ 
-private boolean scroll_rightVisible() {
-	// only show Scroll buttons if there is more than one item
-	// and if we are not already at the last item
-	if (items.length < 2) return false;
-	Rectangle area = getClientArea();
-	int rightEdge = area.x + area.width;
-	if (rightEdge <= 0) return false;
-	if (topTabIndex > 0) {
-		rightEdge -=  arrowBar.getSize().x;
-	}
-	if (topRight != null) {
-		rightEdge -= topRight.getSize().x;
-	}
-	CTabItem item = items[items.length-1];
-	return (item.x + item.width > rightEdge);
-}
-
-/**
- * Scroll the tab items to the left.
- */
-private void scroll_scrollLeft() {
-	if (items.length == 0) return;
-	setLastItem(topTabIndex - 1);
-}
-
-/**
- * Scroll the tab items to the right.
- */
-private void scroll_scrollRight() {
-	int lastIndex = getLastItem();
-	topTabIndex = lastIndex + 1;
-	setItemLocation();
-	correctLastItem();
-	redrawTabArea(-1);
-}
-private boolean correctLastItem() {
-	Rectangle area = getClientArea();
-	int rightEdge = area.x + area.width;
-	if (rightEdge <= 0) return false;
-	Rectangle toolspace = getToolSpace();
-	if (toolspace.width > 0) {
-		rightEdge -= toolspace.width;
-	}
-	CTabItem item = items[items.length - 1];
-	if (item.x + item.width < rightEdge) {
-		setLastItem(items.length - 1);
-		return true;
-	}
-	return false;
-}
-/**
- * Specify a fixed height for the tab items.  If no height is specified,
- * the default height is the height of the text or the image, whichever 
- * is greater. Specifying a height of 0 will revert to the default height.
- * 
- * @param height the pixel value of the height or 0
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- *    <li>ERROR_INVALID_ARGUMENT - if called with a height of less than 0</li>
- * </ul>
- */
-public void setTabHeight(int height) {
-	checkWidget();
-	if (height < 0) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	fixedTabHeight = true;
-	if (tabHeight == height) return;
-	tabHeight = height;
-	oldSize = null;
-	notifyListeners(SWT.Resize, new Event());
-}
-void resetTabSize(boolean checkHeight){
-	int oldHeight = tabHeight;
-	if (!fixedTabHeight && checkHeight) {
-		int tempHeight = 0;
-		GC gc = new GC(this);
-		for (int i=0; i < items.length; i++) {
-			tempHeight = Math.max(tempHeight, items[i].preferredHeight(gc));
-		}
-		gc.dispose();
-		if (topRight != null) tempHeight = Math.max(tempHeight, topRight.computeSize(SWT.DEFAULT, SWT.DEFAULT).y);
-		tabHeight =  tempHeight;
-	}
-		
-	if (tabHeight != oldHeight){
-		oldSize = null;
-		notifyListeners(SWT.Resize, new Event());
-	} else {
-		setItemBounds();
-		redraw();
-	}
-}
-/**
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- *    <li>ERROR_INVALID_ARGUMENT - if the position value is not either SWT.TOP or SWT.BOTTOM</li>
- * </ul>
- * 
- * UNDER CONSTRUCTION
- * @since 3.0
- */
-public void setTabPosition(int position) {
-	checkWidget();
-	if (position != SWT.TOP && position != SWT.BOTTOM) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	if (onBottom != (position == SWT.BOTTOM)) {
-		onBottom = position == SWT.BOTTOM;
-		setBorderVisible(showBorders);
-		resetTabSize(true);
-//		updateTabHeight(true);
-//		Rectangle rectBefore = getClientArea();
-//		updateItems();
-//		Rectangle rectAfter = getClientArea();
-//		if (!rectBefore.equals(rectAfter)) {
-//			notifyListeners(SWT.Resize, new Event());
-//		}
-//		setItemBounds();
-//		redrawTabArea(-1);
-//		redraw();
-	}
-}
-
-public int getTabPosition() {
-    if(onBottom) return SWT.BOTTOM;
-    return SWT.TOP;
-}
-
-}
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabFolderEvent.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabFolderEvent.java
deleted file mode 100644
index 4872397..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabFolderEvent.java
+++ /dev/null
@@ -1,23 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations.r21.widgets;
-
-import org.eclipse.swt.events.TypedEvent;
-import org.eclipse.swt.widgets.*;
-
-public class CTabFolderEvent extends TypedEvent {
- 	public Widget item;
- 	public boolean doit;
- 	
-CTabFolderEvent(Widget w) {
-	super(w);
-}
-}
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabFolderListener.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabFolderListener.java
deleted file mode 100644
index c32cfd1..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabFolderListener.java
+++ /dev/null
@@ -1,15 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations.r21.widgets;
-
-public interface CTabFolderListener {
-	public void itemClosed(CTabFolderEvent event);
-}
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabItem.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabItem.java
deleted file mode 100644
index 97b6fb9..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabItem.java
+++ /dev/null
@@ -1,520 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations.r21.widgets;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class CTabItem extends Item {
-	CTabFolder parent;
-	int x,y,width,height = 0;
-	String toolTipText;
-	Control control; // the tab page
-		
-	private Image disabledImage;
-	
-	// internal constants
-	static final int LEFT_MARGIN = 4;
-	static final int RIGHT_MARGIN = 4;	
-	static final int TOP_MARGIN = 3;
-	static final int BOTTOM_MARGIN = 3;
-	private static final int INTERNAL_SPACING = 2;
-	
-	private static final String ellipsis = "..."; //$NON-NLS-1$
-	
-	String shortenedText;
-	int shortenedTextWidth;
-	
-/**
- * Constructs a new instance of this class given its parent
- * (which must be a <code>CTabFolder</code>) and a style value
- * describing its behavior and appearance. The item is added
- * to the end of the items maintained by its parent.
- * <p>
- * The style value is either one of the style constants defined in
- * class <code>SWT</code> which is applicable to instances of this
- * class, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>SWT</code> style constants. The class description
- * lists the style constants that are applicable to the class.
- * Style bits are also inherited from superclasses.
- * </p>
- *
- * @param parent a CTabFolder which will be the parent of the new instance (cannot be null)
- * @param style the style of control to construct
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- * </ul>
- *
- * @see SWT
- * @see Widget#getStyle
- */
-public CTabItem (CTabFolder parent, int style) {
-	this(parent, style, parent.getItemCount());
-}
-/**
- * Constructs a new instance of this class given its parent
- * (which must be a <code>CTabFolder</code>), a style value
- * describing its behavior and appearance, and the index
- * at which to place it in the items maintained by its parent.
- * <p>
- * The style value is either one of the style constants defined in
- * class <code>SWT</code> which is applicable to instances of this
- * class, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>SWT</code> style constants. The class description
- * lists the style constants that are applicable to the class.
- * Style bits are also inherited from superclasses.
- * </p>
- *
- * @param parent a CTabFolder which will be the parent of the new instance (cannot be null)
- * @param style the style of control to construct
- * @param index the index to store the receiver in its parent
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- * </ul>
- *
- * @see SWT
- * @see Widget#getStyle
- */
-public CTabItem (CTabFolder parent, int style, int index) {
-	super (parent, checkStyle(style));
-	parent.createItem (this, index);
-}
-private static int checkStyle(int style) {
-	return SWT.NONE;
-}
-
-public void dispose () {
-	if (isDisposed()) return;
-	parent.destroyItem(this);
-	super.dispose();
-	parent = null;
-	control = null;
-	toolTipText = null;
-}
-
-/**
- * Returns a rectangle describing the receiver's size and location
- * relative to its parent.
- *
- * @return the receiver's bounding column rectangle
- *
- * @exception SWTException <ul>
- *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- * </ul>
- */
-public Rectangle getBounds () {
-	//checkWidget();
-	return new Rectangle(x, y, width, height);
-}
-/**
-* Gets the control that is displayed in the content are of the tab item.
-*
-* @return the control
-*
-* @exception SWTError(ERROR_THREAD_INVALID_ACCESS)
-*	when called from the wrong thread
-* @exception SWTError(ERROR_WIDGET_DISPOSED)
-*	when the widget has been disposed
-*/
-public Control getControl () {
-	checkWidget();
-	return control;
-}
-public Display getDisplay() {
-	if (parent == null) SWT.error(SWT.ERROR_WIDGET_DISPOSED);
-	return parent.getDisplay();
-}
-/**
- * Get the image displayed in the tab if the tab is disabled.
- * 
- * @return the disabled image or null
- */
-public Image getDisabledImage(){
-	//checkWidget();
-	return disabledImage;
-}
-/**
- * Returns the receiver's parent, which must be a <code>CTabFolder</code>.
- *
- * @return the receiver's parent
- */
-public CTabFolder getParent () {
-	//checkWidget();
-	return parent;
-}
-/**
- * Returns the receiver's tool tip text, or null if it has
- * not been set.
- *
- * @return the receiver's tool tip text
- *
- * @exception SWTException <ul>
- *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- * </ul>
- */
-public String getToolTipText () {
-	checkWidget();
-	return toolTipText;
-}
-/**
- * Paint the receiver.
- */
-void onPaint(GC gc, boolean isSelected) {
-	
-	if (width == 0 || height == 0) return;
-	
-	Display display = getDisplay();
-	Color highlightShadow = display.getSystemColor(SWT.COLOR_WIDGET_HIGHLIGHT_SHADOW);
-	Color normalShadow = display.getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW);		
-
-	int index = parent.indexOf(this);
-	
-	if (isSelected) {
-
-		Rectangle bounds = null;
-		if (!parent.onBottom) {
-			if (index == parent.topTabIndex) {
-				bounds = new Rectangle(x + 1, y + 1, width - 2, height - 1);
-			} else {
-				bounds = new Rectangle(x + 2, y + 1, width - 3, height - 1);
-			}
-		} else {
-			if (index == parent.topTabIndex) {
-				bounds = new Rectangle(x + 1, y + 1, width - 2, height - 2);
-			} else {
-				bounds = new Rectangle(x + 2, y + 1, width - 3, height - 2);
-			}
-		}
-		if (parent.backgroundImage != null) {
-			// draw a background image behind the text
-			Rectangle imageRect = parent.backgroundImage.getBounds();
-			gc.drawImage(parent.backgroundImage, 0, 0, imageRect.width, imageRect.height,
-				bounds.x, bounds.y, bounds.width, bounds.height);
-		} else if (parent.gradientColors != null) {
-			// draw a gradient behind the text
-			Color oldBackground = gc.getBackground();
-			if (parent.gradientColors.length == 1) {
-				if (parent.gradientColors[0] != null) gc.setBackground(parent.gradientColors[0]);
-				gc.fillRectangle(bounds.x, bounds.y, bounds.width, bounds.height);
-			} else {
-				Color oldForeground = gc.getForeground();
-				Color lastColor = parent.gradientColors[0];
-				if (lastColor == null) lastColor = oldBackground;
-				for (int i = 0, pos = 0; i < parent.gradientPercents.length; ++i) {
-					gc.setForeground(lastColor);
-					lastColor = parent.gradientColors[i + 1];
-					if (lastColor == null) lastColor = oldBackground;
-					gc.setBackground(lastColor);
-					int gradientWidth = (parent.gradientPercents[i] * bounds.width / 100) - pos;
-					gc.fillGradientRectangle(bounds.x + pos, bounds.y, gradientWidth, bounds.height, false);
-					pos += gradientWidth;
-				}
-				gc.setForeground(oldForeground);
-			}
-			gc.setBackground(oldBackground);
-		}
-
-		// draw tab lines
-		if (!parent.onBottom) {
-			gc.setForeground(normalShadow);
-			if (index != parent.topTabIndex) {
-				gc.drawLine(x + 1, y,              x + 1, y);
-				gc.drawLine(x,     y + 1,          x,     y + height - 2);
-				gc.drawLine(x,     y + height - 1, x,     y + height - 1);
-			}
-			gc.drawLine(x + width - 1, y,              x + width - 1, y);
-			gc.drawLine(x + width,     y + 1,          x + width,     y + height - 2);
-			gc.drawLine(x + width,     y + height - 1, x + width,     y + height - 1);
-	
-			gc.setForeground(highlightShadow);
-			if (index != parent.topTabIndex) {
-				gc.drawLine(x + 2, y,              x + 2, y);
-				gc.drawLine(x + 1, y + 1,          x + 1, y + height - 2);
-				gc.drawLine(x + 1, y + height - 1, x + 1, y + height - 1);
-			} else {
-				gc.drawLine(x, y, x, y + height - 1);
-			}
-			
-			gc.drawLine(x + width - 2, y,              x + width - 2, y);
-			gc.drawLine(x + width - 1, y + 1,          x + width - 1, y + height - 2);
-			gc.drawLine(x + width - 1, y + height - 1, x + width - 1, y + height - 1);
-	
-			// light line across top
-			if (index != parent.topTabIndex) {
-				gc.drawLine(x + 3, y, x + width - 3, y);
-			} else {
-				gc.drawLine(x + 1, y, x + width - 3, y);
-			}
-		} else {
-			gc.setForeground(normalShadow);
-			if (index != parent.topTabIndex) {
-				gc.drawLine(x,     y,              x,     y);
-				gc.drawLine(x,     y + 1,          x,     y + height - 2);
-				gc.drawLine(x + 1, y + height - 1, x + 1, y + height - 1);
-			}
-			gc.drawLine(x + width,     y,              x + width,     y);
-			gc.drawLine(x + width,     y + 1,          x + width,     y + height - 2);
-			gc.drawLine(x + width - 1, y + height - 1, x + width - 1, y + height - 1);
-	
-			gc.setForeground(highlightShadow);
-			if (index != parent.topTabIndex) {
-				gc.drawLine(x + 1, y,              x + 1, y);
-				gc.drawLine(x + 1, y + 1,          x + 1, y + height - 2);
-				gc.drawLine(x + 2, y + height - 1, x + 2, y + height - 1);
-			} else {
-				gc.drawLine(x, y, x, y + height - 1);
-			}
-			
-			gc.drawLine(x + width - 1, y,              x + width - 1, y);
-			gc.drawLine(x + width - 1, y + 1,          x + width - 1, y + height - 2);
-			gc.drawLine(x + width - 2, y + height - 1, x + width - 2, y + height - 1);
-	
-			// light line across top and bottom
-			if (index != parent.topTabIndex) {
-				gc.drawLine(x + 1, y, x + width - 2, y);
-				gc.drawLine(x + 2, y + height - 1, x + width - 3, y + height - 1);
-			} else {
-				gc.drawLine(x + 1, y, x + width - 2, y);
-				gc.drawLine(x + 1, y + height - 1, x + width - 3, y + height - 1);
-			}			
-		}
-		if (parent.isFocusControl()) {
-			// draw a focus rectangle
-			int x1, y1, width1, height1;
-			if (!parent.onBottom) {
-				if (index == parent.topTabIndex) {
-					x1 = x + 1; y1 = y + 1; width1 = width - 2; height1 = height - 1;
-				} else {
-					x1 = x + 2; y1 = y + 1; width1 = width - 3; height1 = height - 1;
-				}
-			} else {
-				if (index == parent.topTabIndex) {
-					x1 = x + 1; y1 = y + 1; width1 = width - 2; height1 = height - 2;
-				} else {
-					x1 = x + 2; y1 = y + 1; width1 = width - 3; height1 = height - 2;
-				}
-			}
-			gc.setBackground(display.getSystemColor(SWT.COLOR_BLACK));
-			gc.setForeground(display.getSystemColor(SWT.COLOR_WHITE));
-			gc.drawFocus(x1, y1, width1, height1);
-		}
-	} else {
-		// draw tab lines for unselected items
-		gc.setForeground(normalShadow);
-		if (!parent.onBottom) {
-			if (index != parent.topTabIndex && index != parent.getSelectionIndex() + 1) {
-				gc.drawLine(x, y, x, y + (height / 2));
-			}
-		} else {
-			if (index != parent.topTabIndex && index != parent.getSelectionIndex() + 1) {
-				gc.drawLine(x, y + (height / 2), x, y + height - 1);
-			}
-		}
-		
-	}
-
-	// draw Image
-	int xDraw = x + LEFT_MARGIN;
-	
-	Image image = getImage();
-	if (!isSelected && image != null) {
-		Image temp = getDisabledImage();
-		if (temp != null){
-			image = temp;
-		}
-	}
-	if (image != null) {
-		Rectangle imageBounds = image.getBounds();
-		int imageX = xDraw;
-		int imageHeight = Math.min(height - BOTTOM_MARGIN - TOP_MARGIN, imageBounds.height);
-		int imageY = y + (height - imageHeight) / 2;
-		int imageWidth = imageBounds.width * imageHeight / imageBounds.height;
-		gc.drawImage(image, 
-			         imageBounds.x, imageBounds.y, imageBounds.width, imageBounds.height,
-			         imageX, imageY, imageWidth, imageHeight);
-		xDraw += imageWidth + INTERNAL_SPACING;
-	}
-	
-	// draw Text
-	int textWidth = x + width - xDraw - RIGHT_MARGIN;
-	if (isSelected && parent.showClose) {
-		textWidth = x + width - xDraw - parent.closeBar.getSize().x - RIGHT_MARGIN;
-	}
-	if (shortenedText == null || shortenedTextWidth != textWidth) {
-		shortenedText = shortenText(gc, getText(), textWidth);
-		shortenedTextWidth = textWidth;
-	}
-	String text = shortenedText;
-	
-	if (isSelected && parent.selectionForeground != null) {
-		gc.setForeground(parent.selectionForeground);
-	} else {
-		gc.setForeground(parent.getForeground());
-	}
-	int textY = y + (height - gc.textExtent(text, SWT.DRAW_MNEMONIC).y) / 2; 	
-	gc.drawText(text, xDraw, textY, SWT.DRAW_TRANSPARENT | SWT.DRAW_MNEMONIC);
-	
-	gc.setForeground(parent.getForeground());
-}
-private static String shortenText(GC gc, String text, int width) {
-	if (gc.textExtent(text, SWT.DRAW_MNEMONIC).x <= width) return text;
-	
-	int ellipseWidth = gc.textExtent(ellipsis, SWT.DRAW_MNEMONIC).x;
-	int length = text.length();
-	int end = length - 1;
-	while (end > 0) {
-		text = text.substring(0, end);
-		int l1 = gc.textExtent(text, SWT.DRAW_MNEMONIC).x;
-		if (l1 + ellipseWidth <= width) {
-			return text + ellipsis;
-		}
-		end--;
-	}
-	return text + ellipsis;
-}
-/**
- * Answer the preferred height of the receiver for the GC.
- */
-int preferredHeight(GC gc) {
-	Image image = getImage();
-	int height = 0;
-	if (image != null) height = image.getBounds().height;
-	String text = getText();
-	height = Math.max(height, gc.textExtent(text, SWT.DRAW_MNEMONIC).y);
-	return height + TOP_MARGIN + BOTTOM_MARGIN;
-}
-/**
- * Answer the preferred width of the receiver for the GC.
- */
-int preferredWidth(GC gc) {
-	int width = 0;
-	Image image = getImage();
-	if (image != null) width += image.getBounds().width;
-	String text = getText();
-	if (text != null) {
-		if (image != null) width += INTERNAL_SPACING;
-		width += gc.textExtent(text, SWT.DRAW_MNEMONIC).x;
-	}
-	if (parent.showClose) width += INTERNAL_SPACING + preferredHeight(gc); // closebar will be square and will fill preferred height
-	return width + LEFT_MARGIN + RIGHT_MARGIN;
-}
-/**
- * Sets the control that is used to fill the client area of
- * the tab folder when the user selects the tab item.
- * <p>
- * @param control the new control (or null)
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT - if the control has been disposed</li> 
- *    <li>ERROR_INVALID_PARENT - if the control is not in the same widget tree</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- * </ul>
- */
-public void setControl (Control control) {
-	checkWidget();
-	if (control != null) {
-		if (control.isDisposed()) SWT.error (SWT.ERROR_INVALID_ARGUMENT);
-		if (control.getParent() != parent) SWT.error (SWT.ERROR_INVALID_PARENT);
-	}
-	if (this.control != null && !this.control.isDisposed()) {
-		this.control.setVisible(false);
-	}
-	this.control = control;
-	if (this.control != null) {
-		int index = parent.indexOf (this);
-		if (index == parent.getSelectionIndex ()){
-			this.control.setBounds(parent.getClientArea ());
-			this.control.setVisible(true);
-		} else {
-			this.control.setVisible(false);
-		}
-	}
-}	
-public void setImage (Image image) {
-	checkWidget();
-	if (image != null && image.equals(getImage())) return;
-	super.setImage(image);
-	parent.resetTabSize(true);
-}
-/**
- * Sets the image that is displayed if the tab item is disabled.
- * Null will clear the image.
- * 
- * @param image the image to be displayed when the item is disabled or null
- *
- * @exception SWTException <ul>
- *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- * </ul>
- */
-public void setDisabledImage (Image image) {
-	checkWidget();
-	if (image != null && image.equals(getDisabledImage())) return;
-	disabledImage = image;
-	parent.redraw();
-}
-
-/**
- * Set the widget text.
- * <p>
- * This method sets the widget label.  The label may include
- * mnemonic characters but must not contain line delimiters.
- *
- * @param string the new label for the widget
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the text is null</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- * </ul>
- */
-public void setText (String string) {
-	checkWidget();
-	if (string.equals(getText())) return;
-	super.setText(string);
-	shortenedText = null;
-	shortenedTextWidth = 0;
-	parent.resetTabSize(false);	
-}
-/**
- * Sets the receiver's tool tip text to the argument, which
- * may be null indicating that no tool tip text should be shown.
- *
- * @param string the new tool tip text (or null)
- *
- * @exception SWTException <ul>
- *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- * </ul>
- */
-public void setToolTipText (String string) {
-	checkWidget();
-	toolTipText = string;
-}
-}
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/R21PaneFolder.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/R21PaneFolder.java
deleted file mode 100644
index 7d15361..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/R21PaneFolder.java
+++ /dev/null
@@ -1,436 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations.r21.widgets;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.graphics.Color;
-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.internal.layout.SizeCache;
-import org.eclipse.ui.internal.presentations.ProxyControl;
-import org.eclipse.ui.presentations.IStackPresentationSite;
-
-/**
- * This class implements the tab folders that contains can contain two toolbars and
- * status text. Wherever possible, the toolbars are aligned with the tabs. 
- * If there is not enough room beside the tabs, the toolbars are aligned with the status text. This
- * is the same tab folder that is used to arrange views and editors in Eclipse. 
- * <p>
- * This is closely related to DefaultPartPresentation, but they have different responsibilities. This
- * is essentially a CTabFolder that can manage a toolbar. It should not depend on 
- * data structures from the workbench, and its public interface should only use SWT objects or
- * listeners. DefaultPartPresentation uses a PaneFolder to arrange views or editors. Knowledge
- * of higher-level data structures should go there. 
- * </p>
- * <p>
- * Although it is not actually a control, the public interface is much like 
- * an SWT control. Implementation-wise, this is actually a combination of a CTabFolder and 
- * a ViewForm. It encapsulates the details of moving the toolbar between the CTabFolder and
- * the ViewForm, and provides a simpler interface to the ViewForm/CTabFolder. 
- * </p>
- * 
- * @since 3.0
- */
-public final class R21PaneFolder {	
-	// Tab folder and associated proxy controls
-	private CTabFolder tabFolder;
-//	private Control titleAreaProxy;	
-	
-	// View form and associated proxy controls
-	private ViewForm viewForm;
-	
-	private ProxyControl contentProxy;	
-	private ProxyControl viewFormTopLeftProxy;
-	private ProxyControl viewFormTopRightProxy;
-	private ProxyControl viewFormTopCenterProxy;
-	
-	// Cached sizes of the top-right and top-center controls
-	private SizeCache topRightCache = new SizeCache();
-	private SizeCache topCenterCache = new SizeCache();
-	private SizeCache topLeftCache = new SizeCache();
-	
-	private int tabPosition;
-
-	private boolean putTrimOnTop = false;
-		
-	/**
-	 * List of PaneFolderButtonListener
-	 */
-	private List buttonListeners = new ArrayList(1);
-
-	private int state = IStackPresentationSite.STATE_RESTORED;
-	
-	/**
-	 * State of the folder at the last mousedown event. This is used to prevent
-	 * a mouseup over the minimize or maximize buttons from undoing a state change 
-	 * that was caused by the mousedown.
-	 */
-	private int mousedownState = -1;
-
-//	// CTabFolder listener
-//	private CTabFolder2Adapter expandListener = new CTabFolder2Adapter() {
-//		public void minimize(CTabFolderEvent event) {
-//			event.doit = false;
-//			notifyButtonListeners(IStackPresentationSite.STATE_MINIMIZED);
-//		}
-//		
-//		public void restore(CTabFolderEvent event) {
-//			event.doit = false;
-//			notifyButtonListeners(IStackPresentationSite.STATE_RESTORED);
-//		}
-//		
-//		public void maximize(CTabFolderEvent event) {
-//			event.doit = false;
-//			notifyButtonListeners(IStackPresentationSite.STATE_MAXIMIZED);
-//		}
-//		
-//		/* (non-Javadoc)
-//		 * @see org.eclipse.swt.custom.CTabFolder2Adapter#close(org.eclipse.swt.custom.CTabFolderEvent)
-//		 */
-//		public void close(CTabFolderEvent event) {
-//			event.doit = false;
-//			notifyCloseListeners((CTabItem)event.item);
-//		}
-//		
-//		public void showList(CTabFolderEvent event) {
-//			notifyShowListeners(event);
-//		}
-//		
-//	};
-//	
-	private MouseListener mouseListener = new MouseAdapter() {
-		public void mouseDown(MouseEvent e) {
-			mousedownState = getState();
-		}
-		
-		public void mouseDoubleClick(MouseEvent e) {
-		}		
-	};
-	
-	/**
-	 * Creates a pane folder. This will create exactly one child control in the
-	 * given parent.
-	 * 
-	 * @param parent
-	 * @param flags
-	 */
-	public R21PaneFolder(Composite parent, int flags) {
-		// Initialize tab folder
-		{
-			tabFolder = new CTabFolder(parent, flags);
-			
-//			// Create a proxy control to measure the title area of the tab folder
-//			titleAreaProxy = new Composite(tabFolder, SWT.NONE);
-//			titleAreaProxy.setVisible(false);
-//			tabFolder.setTopRight(titleAreaProxy, SWT.FILL);
-			
-//			tabFolder.addCTabFolder2Listener(expandListener);
-//			
-			tabFolder.addMouseListener(mouseListener);
-		}
-		
-		// Initialize view form
-		{
-			viewForm = new ViewForm(tabFolder, SWT.NONE);
-
-			// Only attach these to the viewForm when there's actuall a control to display
-			viewFormTopLeftProxy = new ProxyControl(viewForm);
-			viewFormTopCenterProxy = new ProxyControl(viewForm);
-			viewFormTopRightProxy = new ProxyControl(viewForm);
-			
-			contentProxy = new ProxyControl(viewForm);
-			viewForm.setContent(contentProxy.getControl());
-		}
-	}
-	
-	/**
-	 * Return the main control for this pane folder
-	 * 
-	 * @return
-	 */
-	public Composite getControl() {
-		return tabFolder;
-	}
-	
-	/**
-	 * Sets the top-center control (usually a toolbar), or null if none.
-	 * Note that the control can have any parent.
-	 * 
-	 * @param topCenter the top-center control or null if none
-	 */
-	public void setTopCenter(Control topCenter) {
-		topCenterCache.setControl(topCenter);
-		if (topCenter != null) {
-			if (!putTrimOnTop) {
-				viewFormTopCenterProxy.setTarget(topCenterCache);
-				viewForm.setTopCenter(viewFormTopCenterProxy.getControl());
-			}
-		} else {
-			if (!putTrimOnTop) {
-				viewForm.setTopCenter(null);
-			}
-		}
-	}
-	
-	/**
-	 * Sets the top-right control (usually a dropdown), or null if none
-	 * 
-	 * @param topRight
-	 */
-	public void setTopRight(Control topRight) {
-		topRightCache.setControl(topRight);
-		if (topRight != null) {
-			if (!putTrimOnTop) {
-				viewFormTopRightProxy.setTarget(topRightCache);
-				viewForm.setTopRight(viewFormTopRightProxy.getControl());
-			}
-		} else {
-			if (!putTrimOnTop) {
-				viewForm.setTopRight(null);
-			}
-		}
-	}
-	
-	/**
-	 * Sets the top-left control (usually a title label), or null if none
-	 * 
-	 * @param topLeft
-	 */
-	public void setTopLeft(Control topLeft) {
-		if (topLeftCache.getControl() != topLeft) {
-			topLeftCache.setControl(topLeft);
-			// The top-left control always goes directly in the ViewForm
-			if (topLeft != null) {
-				viewFormTopLeftProxy.setTarget(topLeftCache);
-				viewForm.setTopLeft(viewFormTopLeftProxy.getControl());
-			} else {
-				viewFormTopLeftProxy.setTarget(null);
-				viewForm.setTopLeft(null);
-			}
-		}
-	}
-
-	/**
-     * Flush all of this folder's size caches to ensure they will be re-computed
-     * on the next layout.
-     */
-	public void flush() {
-		topLeftCache.flush();
-		topRightCache.flush();
-		topCenterCache.flush();
-	}
-
-	public void layout(boolean flushCache) {
-		// Flush the cached sizes if necessary
-		if (flushCache)
-		    flush();
-
-		Rectangle tabFolderClientArea = tabFolder.getClientArea();
-		
-		// Hide tabs if there is only one
-		if (tabFolder.getItemCount() < 2) {
-			//Rectangle tabFolderBounds = tabFolder.getBounds();
-			
-			int delta = getTabHeight() + 1;
-			tabFolderClientArea.height += delta;
-			
-			if (getTabPosition() == SWT.TOP) {
-				tabFolderClientArea.y -= delta;
-			}
-		}
-		
-		viewForm.setBounds(tabFolderClientArea);
-		viewFormTopRightProxy.layout();
-		viewFormTopLeftProxy.layout();
-		viewFormTopCenterProxy.layout();
-	}
-	
-	/**
-	 * Returns the client area for this PaneFolder, relative to the pane folder's control.
-	 * 
-	 * @return
-	 */
-	public Rectangle getClientArea() {
-		Rectangle bounds = contentProxy.getControl().getBounds();
-		
-		Rectangle formArea = viewForm.getBounds();
-		
-		bounds.x += formArea.x;
-		bounds.y += formArea.y;
-		
-		return bounds;
-	}
-	
-	/**
-	 * Returns the current state of the folder (as shown on the button icons)
-	 * 
-	 * @return one of the IStackPresentationSite.STATE_* constants
-	 */
-	public int getState() {
-		return state;
-	}
-
-	/**
-	 * @param buttonId one of the IStackPresentationSite.STATE_* constants
-	 */
-	protected void notifyButtonListeners(int buttonId) {
-		if (mousedownState == getState()) {
-			Iterator iter = buttonListeners.iterator();
-			
-			while (iter.hasNext()) {
-				R21PaneFolderButtonListener listener = (R21PaneFolderButtonListener)iter.next();
-				
-				listener.stateButtonPressed(buttonId);
-			}
-		}
-	}
-
-	/**
-	 * Notifies all listeners that the user clicked on the chevron
-	 * 
-	 * @param event
-	 */
-	protected void notifyShowListeners(CTabFolderEvent event) {
-		Iterator iter = buttonListeners.iterator();
-		
-		while (iter.hasNext()) {
-			R21PaneFolderButtonListener listener = (R21PaneFolderButtonListener)iter.next();
-			
-			listener.showList(event);
-		}
-	}
-	
-	/**
-	 * Notifies all listeners that the close button was pressed
-	 * 
-	 * @param tabItem
-	 */
-	protected void notifyCloseListeners(CTabItem tabItem) {
-		Iterator iter = buttonListeners.iterator();
-		
-		while (iter.hasNext()) {
-			R21PaneFolderButtonListener listener = (R21PaneFolderButtonListener)iter.next();
-			
-			listener.closeButtonPressed(tabItem);
-		}
-	}
-
-
-	public void addButtonListener(R21PaneFolderButtonListener listener) {
-		buttonListeners.add(listener);
-	}
-	
-	public void removeButtonListener(R21PaneFolderButtonListener listener) {
-		buttonListeners.remove(listener);
-	}
-	
-	
-	public void setTabPosition(int newTabPosition) {
-		tabPosition = newTabPosition;
-		tabFolder.setTabPosition(tabPosition);
-	}
-	
-	public int getTabPosition() {
-		return tabPosition;
-	}
-	
-	public boolean isDisposed() {
-		return tabFolder == null || tabFolder.isDisposed();
-	}
-	
-	public CTabItem createItem(int style, int index) {
-		return new CTabItem(tabFolder, style, index);
-	}
-	
-	
-	// The remainder of the methods in this class redirect directly to CTabFolder methods
-	
-	public void setSelection(int selection) {
-		tabFolder.setSelection(selection);
-	}
-
-	/**
-	 * @param i
-	 * @param j
-	 * @param k
-	 * @param l
-	 * @return
-	 */
-	public Rectangle computeTrim(int i, int j, int k, int l) {
-		return tabFolder.computeTrim(i, j, k, l);
-	}
-
-	/**
-	 * @param fgColor
-	 */
-	public void setSelectionForeground(Color fgColor) {
-		tabFolder.setSelectionForeground(fgColor);
-	}
-
-	/**
-	 * @param bgColors
-	 * @param percentages
-	 * @param vertical
-	 */
-	public void setSelectionBackground(Color[] bgColors, int[] percentages, boolean vertical) {
-		tabFolder.setSelectionBackground(bgColors, percentages);
-	}
-	
-	public CTabItem getItem(int idx) {
-		return tabFolder.getItem(idx);
-	}
-
-	public int getSelectionIndex() {
-		return tabFolder.getSelectionIndex();
-	}
-	
-	public int getTabHeight() {
-		return tabFolder.getTabHeight();
-	}
-	
-	public int indexOf(CTabItem toFind) {
-		return tabFolder.indexOf(toFind);
-	}
-	
-	public void setTabHeight(int height) {
-		tabFolder.setTabHeight(height);
-	}
-
-	/**
-	 * @return
-	 */
-	public int getItemCount() {
-		return tabFolder.getItemCount();
-	}
-
-	/**
-	 * @return
-	 */
-	public CTabItem[] getItems() {
-		return tabFolder.getItems();
-	}
-	
-	public CTabItem getItem(Point toGet) {
-		return tabFolder.getItem(toGet);
-	}
-	
-	public CTabItem getSelection() {
-		return tabFolder.getSelection();
-	}
-}
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/R21PaneFolderButtonListener.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/R21PaneFolderButtonListener.java
deleted file mode 100644
index d5f6b31..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/R21PaneFolderButtonListener.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations.r21.widgets;
-
-
-/**
- * This listener receives notifications when the user clicks on one of
- * the buttons (minimize, maximize, or restore) on a pane folder.  
- * 
- * @since 3.0
- */
-public abstract class R21PaneFolderButtonListener {
-	
-	/**
-	 * Called when the minimize, maximize, or restore buttons are pressed.
-	 *   
-	 * @param buttonId one of the IStackPresentationSite.STATE_* constants
-	 */
-	public void stateButtonPressed(int buttonId) {
-	}
-	
-	/**
-	 * Called when a close button is pressed.
-	 *   
-	 * @param item the tab whose close button was pressed
-	 */
-	public void closeButtonPressed(CTabItem item) {
-	}
-	
-	/**
-	 * 
-	 * @since 3.0
-	 */
-	public void showList(CTabFolderEvent event) {
-	}
-}
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/ViewForm.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/ViewForm.java
deleted file mode 100644
index 3a6ae56..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/ViewForm.java
+++ /dev/null
@@ -1,630 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations.r21.widgets;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.SWTException;
-import org.eclipse.swt.events.ControlAdapter;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-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.Layout;
-import org.eclipse.swt.widgets.Listener;
-
-/**
- * Instances of this class implement a Composite that lays out three
- * children horizontally and allows programmatic control of layout and
- * border parameters. ViewForm is used in the workbench to implement a
- * view's label/menu/toolbar local bar.
- * <p>
- * Note that although this class is a subclass of <code>Composite</code>,
- * it does not make sense to set a layout on it.
- * </p><p>
- * <dl>
- * <dt><b>Styles:</b></dt>
- * <dd>BORDER, FLAT</dd>
- * <dt><b>Events:</b></dt>
- * <dd>(None)</dd>
- * </dl>
- * <p>
- * IMPORTANT: This class is <em>not</em> intended to be subclassed.
- * </p>
- */
-
-public class ViewForm extends Composite {
-
-	/**
-	 * marginWidth specifies the number of pixels of horizontal margin
-	 * that will be placed along the left and right edges of the form.
-	 *
-	 * The default value is 0.
-	 */
- 	public int marginWidth = 0;
-	/**
-	 * marginHeight specifies the number of pixels of vertical margin
-	 * that will be placed along the top and bottom edges of the form.
-	 *
-	 * The default value is 0.
-	 */
- 	public int marginHeight = 0;
-	
-	/**
-	 * Color of innermost line of drop shadow border.
-	 */
-	public static RGB borderInsideRGB  = new RGB (132, 130, 132);
-	/**
-	 * Color of middle line of drop shadow border.
-	 */
-	public static RGB borderMiddleRGB  = new RGB (143, 141, 138);
-	/**
-	 * Color of outermost line of drop shadow border.
-	 */
-	public static RGB borderOutsideRGB = new RGB (171, 168, 165);
-	
-	// SWT widgets
-	private Control topLeft;
-	private Control topCenter;
-	private Control topRight;
-	private Control content;
-	
-	// Configuration and state info
-	private boolean separateTopCenter = false;
-	private int drawLine1 = -1;
-	private int drawLine2 = -1;
-	
-	private boolean showBorder = false;
-	
-	private int BORDER_TOP = 0;
-	private int BORDER_BOTTOM = 0;
-	private int BORDER_LEFT = 0;
-	private int BORDER_RIGHT = 0;
-	
-	private Color borderColor1;
-	private Color borderColor2;
-	private Color borderColor3;
-	
-	private Rectangle oldArea;
-	private static final int OFFSCREEN = -200;
-/**
- * Constructs a new instance of this class given its parent
- * and a style value describing its behavior and appearance.
- * <p>
- * The style value is either one of the style constants defined in
- * class <code>SWT</code> which is applicable to instances of this
- * class, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>SWT</code> style constants. The class description
- * lists the style constants that are applicable to the class.
- * Style bits are also inherited from superclasses.
- * </p>
- *
- * @param parent a widget which will be the parent of the new instance (cannot be null)
- * @param style the style of widget to construct
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- * </ul>
- *
- * @see SWT#BORDER
- * @see SWT#FLAT
- * @see #getStyle()
- */		
-public ViewForm(Composite parent, int style) {
-	super(parent, checkStyle(style));
-	
-	borderColor1 = new Color(getDisplay(), borderInsideRGB);
-	borderColor2 = new Color(getDisplay(), borderMiddleRGB);
-	borderColor3 = new Color(getDisplay(), borderOutsideRGB);
-	setBorderVisible((style & SWT.BORDER) != 0);
-
-	addPaintListener(new PaintListener() {
-		public void paintControl(PaintEvent event) {
-			onPaint(event.gc);
-		}
-	});
-	addControlListener(new ControlAdapter(){
-		public void controlResized(ControlEvent e) {
-			onResize();
-		}
-	});
-	
-	addListener(SWT.Dispose, new Listener() {
-		public void handleEvent(Event e) {
-			onDispose();
-		}
-	});	
-}
-/**
- * Check the style bits to ensure that no invalid styles are applied.
- * @private
- */
-private static int checkStyle (int style) {
-	int mask = SWT.FLAT | SWT.LEFT_TO_RIGHT | SWT.RIGHT_TO_LEFT;
-	return style & mask | SWT.NO_REDRAW_RESIZE;
-}
-public Point computeSize(int wHint, int hHint, boolean changed) {
-	checkWidget();
-	// size of title bar area
-	Point leftSize = new Point(0, 0);
-	if (topLeft != null) {
-		leftSize = topLeft.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-		leftSize.x += 1; // +1 for highlight line
-	}
-	Point centerSize = new Point(0, 0);
-	if (topCenter != null) {
-		 centerSize = topCenter.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-	}
-	Point rightSize = new Point(0, 0);
-	if (topRight != null) {
-		 rightSize = topRight.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-	}
-	Point size = new Point(0, 0);
-	// calculate width of title bar
-	if (separateTopCenter ||
-	    (wHint != SWT.DEFAULT &&  leftSize.x + centerSize.x + rightSize.x > wHint)) {
-		size.x = leftSize.x + rightSize.x;
-		size.x = Math.max(centerSize.x, size.x);
-		size.y = Math.max(leftSize.y, rightSize.y) + 1; // +1 for highlight line
-		if (topCenter != null){
-			size.y += centerSize.y;
-		}
-	} else {
-		size.x = leftSize.x + centerSize.x + rightSize.x;
-		size.y = Math.max(leftSize.y, Math.max(centerSize.y, rightSize.y)) + 1; // +1 for highlight line
-	}
-	
-	if (content != null) {
-		Point contentSize = new Point(0, 0);
-		contentSize = content.computeSize(SWT.DEFAULT, SWT.DEFAULT); 
-		size.x = Math.max (size.x, contentSize.x);
-		size.y += contentSize.y + 1; // +1 for line bewteen content and header
-	}
-	
-	size.x += 2 * marginWidth;
-	size.y += 2 * marginHeight;
-	
-	if (wHint != SWT.DEFAULT) size.x  = wHint;
-	if (hHint != SWT.DEFAULT) size.y = hHint;
-	
-	Rectangle trim = computeTrim(0, 0, size.x, size.y);
-	return new Point (trim.width, trim.height);
-}
-public Rectangle computeTrim (int x, int y, int width, int height) {
-	checkWidget ();
-	int trimX = x - BORDER_LEFT;
-	int trimY = y - BORDER_TOP;
-	int trimWidth = width + BORDER_LEFT + BORDER_RIGHT;
-	int trimHeight = height + BORDER_TOP + BORDER_BOTTOM;
-	return new Rectangle(trimX, trimY, trimWidth, trimHeight);
-}
-public Rectangle getClientArea() {
-	checkWidget();
-	Rectangle clientArea = super.getClientArea();
-	clientArea.x += BORDER_LEFT;
-	clientArea.y += BORDER_TOP;
-	clientArea.width -= BORDER_LEFT + BORDER_RIGHT;
-	clientArea.height -= BORDER_TOP + BORDER_BOTTOM;
-	return clientArea;
-}
-/**
-* Returns the content area.
-* 
-* @return the control in the content area of the pane or null
-*/
-public Control getContent() {
-	//checkWidget();
-	return content;
-}
-/**
-* Returns Control that appears in the top center of the pane.
-* Typically this is a toolbar.
-* 
-* @return the control in the top center of the pane or null
-*/
-public Control getTopCenter() {
-	//checkWidget();
-	return topCenter;
-}
-/**
-* Returns the Control that appears in the top left corner of the pane.
-* Typically this is a label such as CLabel.
-* 
-* @return the control in the top left corner of the pane or null
-*/
-public Control getTopLeft() {
-	//checkWidget();
-	return topLeft;
-}
-/**
-* Returns the control in the top right corner of the pane.
-* Typically this is a Close button or a composite with a Menu and Close button.
-* 
-* @return the control in the top right corner of the pane or null
-*/
-public Control getTopRight() {
-	//checkWidget();
-	return topRight;
-}
-public void layout (boolean changed) {
-	checkWidget();
-	Rectangle rect = getClientArea();
-	
-	drawLine1 = -1;
-	drawLine2 = -1;
-	
-	Point leftSize = new Point(0, 0);
-	if (topLeft != null && !topLeft.isDisposed()) {
-		leftSize = topLeft.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-	}
-	Point centerSize = new Point(0, 0);
-	if (topCenter != null && !topCenter.isDisposed()) {
-		 centerSize = topCenter.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-	}
-	Point rightSize = new Point(0, 0);
-	if (topRight != null && !topRight.isDisposed()) {
-		 rightSize = topRight.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-	}
-	
-	int minTopWidth = leftSize.x + centerSize.x + rightSize.x + 2*marginWidth + 1; // +1 for highlight line	
-	int height = rect.y + marginHeight;
-	
-	boolean top = false;
-	if (separateTopCenter || minTopWidth > rect.width) {;
-		int topHeight = Math.max(rightSize.y, leftSize.y);
-		if (topRight != null && !topRight.isDisposed()) {
-			top = true;
-			topRight.setBounds(rect.x + rect.width - marginWidth - rightSize.x, 
-			                   rect.y + 1 + marginHeight, 
-			                   rightSize.x, topHeight);
-			height += 1 + topHeight; // +1 for highlight line
-		}
-		if (topLeft != null && !topLeft.isDisposed()) {
-			top = true;
-			leftSize = topLeft.computeSize(rect.width - 2* marginWidth - rightSize.x - 1, SWT.DEFAULT);
-			topLeft.setBounds(rect.x + 1 + marginWidth, 
-			                  rect.y + 1 + marginHeight, 
-			                  leftSize.x, topHeight);
-			height = Math.max(height, rect.y + marginHeight + 1 + topHeight); // +1 for highlight line
-		}
-		if (topCenter != null && !topCenter.isDisposed()) {
-			top = true;
-			if (height > rect.y + marginHeight) {
-				drawLine1 = height;
-				height += 1; // +1 for divider line
-			}
-			centerSize = topCenter.computeSize(rect.width - 2 * marginWidth, SWT.DEFAULT);
-			topCenter.setBounds(rect.x + rect.width - marginWidth - centerSize.x, 
-			                    height, 
-			                    centerSize.x, centerSize.y);
-			height += centerSize.y;
-
-		}		
-	} else {
-		int topHeight = Math.max(rightSize.y, Math.max(centerSize.y, leftSize.y));
-		if (topRight != null && !topRight.isDisposed()) {
-			top = true;
-			topRight.setBounds(rect.x + rect.width - marginWidth - rightSize.x, 
-			                   rect.y + marginHeight + 1, // +1 for highlight line
-			                   rightSize.x, topHeight);
-			height += 1 + topHeight; // +1 for highlight line
-		}
-		if (topCenter != null && !topCenter.isDisposed()) {
-			top = true;
-			topCenter.setBounds(rect.x + rect.width - marginWidth - rightSize.x - centerSize.x, 
-			                    rect.y + marginHeight + 1, // +1 for highlight line
-			                    centerSize.x, topHeight);
-			height = Math.max(height, rect.y + marginHeight + 1 + topHeight); // +1 for highlight line                    
-		}
-		if (topLeft != null && !topLeft.isDisposed()) {
-			top = true;
-			leftSize = topLeft.computeSize(rect.width - 2 * marginWidth - rightSize.x - centerSize.x - 1, topHeight);
-			topLeft.setBounds(rect.x + marginWidth + 1, // +1 for highlight line
-			                  rect.y + marginHeight + 1, // +1 for highlight line
-			                  leftSize.x, topHeight);
-			height = Math.max(height, rect.y + marginHeight + 1 + topHeight); // +1 for highlight line
-		}
-	}
-
-	if (content != null && !content.isDisposed()) {
-		if (top) {
-			drawLine2 = height;
-			height += 1; // +1 for divider line
-		}
-		 content.setBounds(rect.x + marginWidth, 
-		                   height, 
-		                   rect.width - 2 * marginWidth, 
-		                   rect.y + rect.height - height - marginHeight);
-	}
-}
-private void onDispose() {
-	if (borderColor1 != null) {
-		borderColor1.dispose();
-	}
-	borderColor1 = null;
-	
-	if (borderColor2 != null) {
-		borderColor2.dispose();
-	}
-	borderColor2 = null;
-	
-	if (borderColor3 != null) {
-		borderColor3.dispose();
-	}
-	borderColor3 = null;
-	
-	topLeft = null;
-	topCenter = null;
-	topRight = null;
-	content = null;
-	oldArea = null;
-}
-/**
-* Draws the focus border.
-*/
-private void onPaint(GC gc) {
-	Rectangle d = super.getClientArea();
-	
-	if (showBorder) {
-		if ((getStyle() & SWT.FLAT) !=0) {
-			gc.setForeground(borderColor1);
-			gc.drawRectangle(d.x, d.y, d.x + d.width - 1, d.y + d.height - 1);
-		} else {
-			gc.setForeground(borderColor1);
-			gc.drawRectangle(d.x, d.y, d.x + d.width - 3, d.y + d.height - 3);
-		
-			gc.setForeground(borderColor2);
-			gc.drawLine(d.x + 1,           d.y + d.height - 2, d.x + d.width - 1, d.y + d.height - 2);
-			gc.drawLine(d.x + d.width - 2, d.y + 1,            d.x + d.width - 2, d.y + d.height - 1);
-		
-			gc.setForeground(borderColor3);
-			gc.drawLine(d.x + 2,           d.y + d.height - 1, d.x + d.width - 2, d.y + d.height - 1);
-			gc.drawLine(d.x + d.width - 1, d.y + 2,            d.x + d.width - 1, d.y + d.height - 2);
-		}
-	}
-		
-	if (drawLine1 != -1) {
-		// top seperator line
-		gc.setForeground(borderColor1);
-		gc.drawLine(d.x + BORDER_LEFT, drawLine1, d.x + d.width - BORDER_RIGHT, drawLine1);	
-	}
-	if (drawLine2 != -1) {
-		// content separator line
-		gc.setForeground(borderColor1);
-		gc.drawLine(d.x + BORDER_LEFT, drawLine2, d.x + d.width - BORDER_RIGHT, drawLine2);
-	}
-	// highlight on top
-	int y = drawLine1;
-	if (y == -1){
-		y = drawLine2;
-	}
-	if (y != -1) {
-		gc.setForeground(getDisplay().getSystemColor(SWT.COLOR_WIDGET_HIGHLIGHT_SHADOW));
-		gc.drawLine(d.x + BORDER_LEFT + marginWidth, d.y + BORDER_TOP + marginHeight, 
-		            d.x + BORDER_LEFT + marginWidth, y - 1);
-		gc.drawLine(d.x + BORDER_LEFT + marginWidth, d.y + BORDER_TOP + marginHeight,
-		            d.x + d.width - BORDER_RIGHT - marginWidth - 1, d.y + BORDER_TOP + marginHeight);
-	}
-
-	gc.setForeground(getForeground());
-}
-private void onResize() {
-	layout();
-	
-	Rectangle area = super.getClientArea();
-	if (oldArea == null || oldArea.width == 0 || oldArea.height == 0) {
-		redraw();
-	} else {
-		int width = 0;
-		if (oldArea.width < area.width) {
-			width = area.width - oldArea.width + BORDER_RIGHT;
-		} else if (oldArea.width > area.width) {
-			width = BORDER_RIGHT;			
-		}
-		redraw(area.x + area.width - width, area.y, width, area.height, false);
-		
-		int height = 0;
-		if (oldArea.height < area.height) {
-			height = area.height - oldArea.height + BORDER_BOTTOM;		
-		}
-		if (oldArea.height > area.height) {
-			height = BORDER_BOTTOM;		
-		}
-		redraw(area.x, area.y + area.height - height, area.width, height, false);
-	}
-	oldArea = area;
-}
-/**
-* Sets the content.
-* Setting the content to null will remove it from 
-* the pane - however, the creator of the content must dispose of the content.
-* 
-* @param content the control to be displayed in the content area or null
-* 
-* @exception SWTException <ul>
-*    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-*    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-* </ul>
-*/
-public void setContent(Control content) {
-	checkWidget();
-	if (content != null && content.getParent() != this) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	if (this.content != null && !this.content.isDisposed()) {
-		this.content.setBounds(OFFSCREEN, OFFSCREEN, 0, 0);
-	}
-	this.content = content;
-	layout();
-}
-
-/**
-* Set the widget font.
-* This will apply the font to the topLeft, topRight and topCenter widgets.
-*/
-public void setFont(Font f) {
-	super.setFont(f);
-	if (topLeft != null && !topLeft.isDisposed()) topLeft.setFont(f);
-	if (topCenter != null && !topCenter.isDisposed()) topCenter.setFont(f);
-	if (topRight != null && !topRight.isDisposed()) topRight.setFont(f);
-	
-	layout();
-}
-/**
- * Sets the layout which is associated with the receiver to be
- * the argument which may be null.
- * <p>
- * Note : ViewForm does not use a layout class to size and position its children.
- * </p>
- *
- * @param layout the receiver's new layout or null
- *
- * @exception SWTException <ul>
- *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- * </ul>
- */
-public void setLayout (Layout layout) {
-	checkWidget();
-	return;
-}
-/**
-* Set the control that appears in the top center of the pane.
-* Typically this is a toolbar.
-* The topCenter is optional.  Setting the topCenter to null will remove it from 
-* the pane - however, the creator of the topCenter must dispose of the topCenter.
-* 
-* @param topCenter the control to be displayed in the top center or null
-* 
-* @exception SWTException <ul>
-*    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-*    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-* </ul>
-*/
-public void setTopCenter(Control topCenter) {
-	checkWidget();
-	if (topCenter != null && topCenter.getParent() != this) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	if (this.topCenter != null && !this.topCenter.isDisposed()) {
-		this.topCenter.setBounds(OFFSCREEN, OFFSCREEN, 0, 0);
-	}
-	this.topCenter = topCenter;
-	layout();
-}
-/**
-* Set the control that appears in the top left corner of the pane.
-* Typically this is a label such as CLabel.
-* The topLeft is optional.  Setting the top left control to null will remove it from 
-* the pane - however, the creator of the control must dispose of the control.
-* 
-* @param c the control to be displayed in the top left corner or null
-* 
-* @exception SWTException <ul>
-*    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-*    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-* </ul>
-*/
-public void setTopLeft(Control c) {
-	checkWidget();
-	if (c != null && c.getParent() != this) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	if (this.topLeft != null && !this.topLeft.isDisposed()) {
-		this.topLeft.setBounds(OFFSCREEN, OFFSCREEN, 0, 0);
-	}
-	this.topLeft = c;
-	layout();
-}
-/**
-* Set the control that appears in the top right corner of the pane.
-* Typically this is a Close button or a composite with a Menu and Close button.
-* The topRight is optional.  Setting the top right control to null will remove it from 
-* the pane - however, the creator of the control must dispose of the control.
-* 
-* @param c the control to be displayed in the top right corner or null
-* 
-* @exception SWTException <ul>
-*    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-*    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-*    <li>ERROR_INVALID_ARGUMENT - if the control is not a child of this ViewForm</li>
-* </ul>
-*/
-public void setTopRight(Control c) {
-	checkWidget();
-	if (c != null && c.getParent() != this) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	if (this.topRight != null && !this.topRight.isDisposed()) {
-		this.topRight.setBounds(OFFSCREEN, OFFSCREEN, 0, 0);
-	}
-	this.topRight = c;
-	layout();
-}
-/**
-* Specify whether the border should be displayed or not.
-* 
-* @param show true if the border should be displayed
-* 
-* @exception SWTException <ul>
-*    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-*    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-* </ul>
-*/
-public void setBorderVisible(boolean show) {
-	checkWidget();
-	if (showBorder == show) return;
-	
-	showBorder = show;
-	if (showBorder) {
-		if ((getStyle() & SWT.FLAT)!= 0) {
-			BORDER_LEFT = BORDER_TOP = BORDER_RIGHT = BORDER_BOTTOM = 1;
-		} else {
-			BORDER_LEFT = BORDER_TOP = 1;
-			BORDER_RIGHT = BORDER_BOTTOM = 3;
-		}
-	} else {
-		BORDER_BOTTOM = BORDER_TOP = BORDER_LEFT = BORDER_RIGHT = 0;
-	}
-
-	layout();
-	redraw();
-}
-/**
-* If true, the topCenter will always appear on a separate line by itself, otherwise the 
-* topCenter will appear in the top row if there is room and will be moved to the second row if
-* required.
-* 
-* @param show true if the topCenter will always appear on a separate line by itself
-* 
-* @exception SWTException <ul>
-*    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-*    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-* </ul>
-*/
-public void setTopCenterSeparate(boolean show) {
-	checkWidget();
-	separateTopCenter = show;
-	layout();
-}
-
-}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/.classpath b/bundles/org.eclipse.ui.tutorials.rcp.part1/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/.cvsignore b/bundles/org.eclipse.ui.tutorials.rcp.part1/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/.project b/bundles/org.eclipse.ui.tutorials.rcp.part1/.project
deleted file mode 100644
index e6589e0..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.tutorials.rcp.part1</name>
-	<comment></comment>
-	<projects>
-	</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.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/Run RcpTutorial1.lnk b/bundles/org.eclipse.ui.tutorials.rcp.part1/Run RcpTutorial1.lnk
deleted file mode 100644
index dc6338b..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/Run RcpTutorial1.lnk
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/build.properties b/bundles/org.eclipse.ui.tutorials.rcp.part1/build.properties
deleted file mode 100644
index a1440a5..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-bin.includes = plugin.xml,\
-               *.jar,\
-               part1.jar,\
-               plugin.properties,\
-               html/
-source.part1.jar = src/
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/html/default_style.css b/bundles/org.eclipse.ui.tutorials.rcp.part1/html/default_style.css
deleted file mode 100644
index 8365f5a..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/html/default_style.css
+++ /dev/null
@@ -1,15 +0,0 @@
-p, table, td, th {  font-family: arial, helvetica, geneva; font-size: 10pt}
-pre {  font-family: "Courier New", Courier, mono; font-size: 10pt; background: #EEEEEE;}
-h2 { font-family: arial, helvetica, geneva; font-size: 18pt; font-weight: bold ; line-height: 14px}
-code {  font-family: "Courier New", Courier, mono; font-size: 10pt}
-sup {  font-family: arial,helvetica,geneva; font-size: 10px}
-h3 {  font-family: arial, helvetica, geneva; font-size: 14pt; font-weight: bold}
-li {  font-family: arial, helvetica, geneva; font-size: 10pt}
-h1 {  font-family: arial, helvetica, geneva; font-size: 28px; font-weight: bold}
-body {  font-family: arial, helvetica, geneva; font-size: 10pt; clip:   rect(   ); margin-top: 5mm; margin-left: 3mm}
-.indextop { font-size: x-large;; font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: bold}
-.indexsub { font-size: xx-small;; font-family: Arial, Helvetica, sans-serif; color: #8080FF}
-a.bar:link {  text-decoration: none; color: #FFFFFF}
-a.bar:visited {  color: #FFFFFF; text-decoration: none}
-a.bar:hover {  color: #FFFFFF; text-decoration: underline}
-a.bar {  color: #FFFFFF}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/html/images/Idea.jpg b/bundles/org.eclipse.ui.tutorials.rcp.part1/html/images/Idea.jpg
deleted file mode 100644
index 119ce70..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/html/images/Idea.jpg
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/html/images/note.gif b/bundles/org.eclipse.ui.tutorials.rcp.part1/html/images/note.gif
deleted file mode 100644
index f6260db..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/html/images/note.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/html/images/spin.png b/bundles/org.eclipse.ui.tutorials.rcp.part1/html/images/spin.png
deleted file mode 100644
index b80afab..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/html/images/spin.png
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/html/images/tip.gif b/bundles/org.eclipse.ui.tutorials.rcp.part1/html/images/tip.gif
deleted file mode 100644
index 77b2451..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/html/images/tip.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/html/tutorial1.html b/bundles/org.eclipse.ui.tutorials.rcp.part1/html/tutorial1.html
deleted file mode 100644
index c6f407e..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/html/tutorial1.html
+++ /dev/null
@@ -1,541 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-
-<head>
-<title>Rich Client Platform</title>
-<link href="default_style.css" rel=stylesheet>
-</head>
-
-<body>
-
-<div align="right">
-  <font face="Times New Roman, Times, serif" size="2">Copyright © 2003-2004 Ed
-  Burnette.</font>
-  <table border="0" cellspacing="0" cellpadding="2" width="100%">
-    <tbody>
-      <tr>
-        <td align="left" valign="top" colspan="2" bgcolor="#0080c0"><b><font face="Arial,Helvetica"><font color="#ffffff">Eclipse
-          Article</font></font></b></td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-<div align="left">
-  <h1 title="RCP Tutorial"><img src="images/Idea.jpg" align="middle" width="120" height="86"></h1>
-</div>
-<h1 align="center">Rich Client Tutorial Part 1</h1>
-<p class="summary">The Rich Client Platform (RCP) is an exciting new way to
-build Java applications that can compete with native applications on any
-platform. This tutorial is designed to get you started building RCP applications
-quickly.</p>
-<p><b>By Ed Burnette, SAS Institute Inc.</b><br>
-<font size="-1">June 14, 2004 - Added note on using CVS to get the example source,
-updates for 3.0RC2</font></p>
-<p><i>Note that Eclipse 3 is undergoing constant change so the steps you need to
-take, the APIs, and the results may vary slightly (or not so slightly) from this
-description.</i></p>
-<hr width="100%">
-<h2>Introduction</h2>
-<p>Try this experiment: Show Eclipse to some friends or co-workers who haven't
-seen it before and ask them to guess what language it is written in. Chances
-are, they'll guess VB, C++, or C#, because those languages are used most often
-for high quality client side applications. Then watch the look on their faces
-when you tell them it was created in Java, especially if they are Java
-programmers.</p>
-<p>Because of its unique open source license, you can use the technologies that
-went into Eclipse to create your own commercial quality programs With previous
-version of Eclipse, this was possible but difficult, especially when you wanted
-to heavily customize the menus, layouts, and other user interface elements. That
-was because the &quot;IDE-ness&quot; of Eclipse was hard-wired into it. Version
-3 introduces the Rich Client Platform, which is basically a refactoring of the
-fundamental parts of Eclipse's UI, allowing it to be used for non-IDE
-applications.</p>
-<p>If you want to cut to the chase and look at the code for this part at the
-<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.ui.tutorials.rcp.part1">Eclipse project here</a>.
-Otherwise, let's take a look at how to construct
-an RCP application.</p>
-<h2><a name="section_1"></a> Getting started</h2>
-<p>RCP applications are based on the familiar Eclipse plug-in architecture, (if
-it's not familiar to you, see the references section). Therefore, you'll need to
-create a plug-in to be your main program.
-Select New &gt; Project &gt; Plug-in
-Development &gt; Plug-in Project to bring up the Plug-in Project wizard. On the
-subsequent pages, enter a Project name such as <b>org.eclipse.ui.tutorials.rcp.part1</b>,
-indicate you want a Java project, and
-enter a Plug-in Id (this should match the project name).
-</p>
-<p>
-The generated plug-in class that you may be familiar with in previous
-releases is no longer required in Eclipse 3.0.
-You can still have one to hold global data if you like, but for this
-example just remove it altogether to save a little space.
-To do this, turn off the option that says
-Generate the Java class that controls the plug-ins life cycle.
-Then Click on Finish to
-generate the template.</p>
-
-<h2>Plug-in manifest</h2>
-<p>The plug-in manifest, plugin.xml, ties all the code and resources together.
-You need to define the class name of the main program
-with the <code>org.eclipse.core.runtime.applications</code> extension
-and the perspective with <code>org.eclipse.ui.perspectives</code>.
-When you're done you should have something that looks like listing 1.
-The classes refered to here will be defined in the next section.
-</p>
-
-<p><b>Listing 1. plugin.xml
-</b></p>
-<pre>
-&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
-&lt;?eclipse version=&quot;3.0&quot;?&gt;
-&lt;plugin
-    id=&quot;org.eclipse.ui.tutorials.rcp.part1&quot;
-    name=&quot;%pluginName&quot;
-    version=&quot;0.0.0&quot;
-    provider-name=&quot;%providerName&quot;&gt;
-
-    &lt;runtime&gt;
-        &lt;library name=&quot;part1.jar&quot;&gt;
-            &lt;export name=&quot;*&quot;/&gt;
-        &lt;/library&gt;
-    &lt;/runtime&gt;
-    &lt;requires&gt;
-        &lt;import plugin=&quot;org.eclipse.core.runtime.compatibility&quot;/&gt;
-        &lt;import plugin=&quot;org.eclipse.ui&quot;/&gt;
-    &lt;/requires&gt;
-
-
-    &lt;extension
-        id=&quot;RcpApplication&quot;
-        point=&quot;org.eclipse.core.runtime.applications&quot;&gt;
-        &lt;application&gt;
-            &lt;run
-                class=&quot;org.eclipse.ui.tutorials.rcp.part1.RcpApplication&quot;&gt;
-            &lt;/run&gt;
-        &lt;/application&gt;
-    &lt;/extension&gt;
-    &lt;extension
-        point=&quot;org.eclipse.ui.perspectives&quot;&gt;
-        &lt;perspective
-            name=&quot;%perspectiveName&quot;
-            class=&quot;org.eclipse.ui.tutorials.rcp.part1.RcpPerspective&quot;
-            id=&quot;org.eclipse.ui.tutorials.rcp.part1.RcpPerspective&quot;&gt;
-        &lt;/perspective&gt;
-    &lt;/extension&gt;
-&lt;/plugin&gt;
-</pre>
-
-<p>
-<img src="images/note.gif" alt="Note: " width="62" height="13">
-What about MANIFEST.MF?
-Eclipse 3.0 has a new OSGi based run-time system that introduces
-a new manifest file, MANIFEST.MF.
-In this simple example we're using Eclipse's run-time compatibility
-layer and don't need MANIFEST.MF.
-After you are comfortable with writing plug-ins and
-RCP applications, see the Eclipse 3.0 Runtime Adoption Guide
-(in the references section)
-to learn more about the new run-time
-and how to run without the compatibility layer.
-</p>
-
-<h2>Workbench Advisor</h2>
-<p>
-The Workbench Advisor class helps customize the workbench to add and subtract
-toolbars, perspectives, and so forth.
-This will covered in more detail in part 2 of the tutorial.
-For now, the absolute minimum you have to do here
-is define which perspective is the default one.
-See listing 2 for the code.
-</p>
-
-<p><b>Listing 2. RcpWorkbenchAdvisor class
-</b></p>
-<pre>
-package org.eclipse.ui.tutorials.rcp.part1;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-
-public class RcpWorkbenchAdvisor extends WorkbenchAdvisor {
-
-    public String getInitialWindowPerspectiveId() {
-        return &quot;org.eclipse.ui.tutorials.rcp.part1.RcpPerspective&quot;;
-    }
-}
-</pre>
-
-<h2>The main program</h2>
-<p>
-The main program for an application implements <code>IPlatformRunnable</code>,
-which just has a method called
-<code>run()</code>.
-Listing 3 shows a simple implementation with the minimum you have to do.
-</p>
-<p><b>Listing 3. RcpApplication class
-</b></p>
-<pre>
-package org.eclipse.ui.tutorials.rcp.part1;
-
-import org.eclipse.core.runtime.IPlatformRunnable;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-
-public class RcpApplication implements IPlatformRunnable {
-
-    public Object run(Object args) {
-        WorkbenchAdvisor workbenchAdvisor = new RcpWorkbenchAdvisor();
-        Display display = PlatformUI.createDisplay();
-        try {
-            int returnCode = PlatformUI.createAndRunWorkbench(display,
-                    workbenchAdvisor);
-            if (returnCode == PlatformUI.RETURN_RESTART) {
-                return IPlatformRunnable.EXIT_RESTART;
-            } else {
-                return IPlatformRunnable.EXIT_OK;
-            }
-        } finally {
-            display.dispose();
-        }
-    }
-}
-</pre>
-<h2>Creating a default perspective</h2>
-<p>
-Next, you must define at least one perspective and make it the default.
-Perspectives are created by implementing <code>IPerspectiveFactory</code> (see listing 4).
-The important part
-of this interface is the <code>createInitialLayout()</code> method where you position and
-open any views and/or editors you'd like the user to start with.
-In this example
-we're not going to create any views so it will be a pretty boring perspective.
-</p>
-
-<p><b>Listing 4. RcpPerspective class
-</b></p>
-<pre>
-package org.eclipse.ui.tutorials.rcp.part1;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-public class RcpPerspective implements IPerspectiveFactory {
-
-    public RcpPerspective() {
-    }
-
-    public void createInitialLayout(IPageLayout layout) {
-    }
-}
-
-</pre>
-
-<h2>Miscellaneous</h2>
-<p>The build.properties file (see listing 5)
-will be needed when exporting the application for
-others to use.</p>
-
-<p><b>Listing 5. build.properties
-</b></p>
-<pre>
-bin.includes = plugin.xml,\
-               *.jar,\
-               part1.jar,\
-               plugin.properties
-source.part1.jar = src/
-</pre>
-
-<p>
-Finally, you need to create a plugin.properties file (listing 6) for any natural language strings at the
-plug-in registry level (i.e., things the run-time has to know about your plug-in
-before even loading it).
-You could hard-code these into your plug-in manifest
-but it's best to get into the i18n habit from the start.
-</p>
-
-<p><b>Listing 6. plugin.properties
-</b></p>
-<pre>
-pluginName = RcpTutorial1 Plug-in
-providerName = Eclipse.org
-perspectiveName = RcpTutorial1
-</pre>
-
-<h2>Taking it for a spin</h2>
-<p>To test and debug this plug-in, select Run &gt;
-Debug &gt; Debug..., select Run-time Workbench,
-then click New to create a new configuration.
-In the Arguments tab, select
-<code>org.eclipse.ui.tutorials.rcp.part1.RcpApplication</code>
-for the Application name.
-This comes from the id specified on the
-<code>org.eclipse.core.runtime.applications</code> extension point
-(in this example, <code>RcpApplication</code>), prepended with the
-plug-in id (<code>org.eclipse.ui.tutorials.rcp.part1</code>).
-</p>
-<p>Now switch over to the Plug-ins tab.
-Select the option to
-Choose plug-ins and fragments to launch from the list.
-We want the smallest possible set of plug-ins involved
-in your program so click on Deselect All,
-scroll down and place a checkmark next to your plug-in
-(<code>org.eclipse.ui.tutorials.rcp.part1</code>),
-and click Add Required Plug-ins.
-Then click on Debug and
-you should see a bare-bones Workbench start up (see figure 1).</p>
-
-<p><b>Figure 1. World's simplest RCP application.
-</b></p>
-<img src="images/spin.png">
-
-<p>If you don't see this, you should be able to find an error message in the
-run-time workbench's log file.
-This file is in different places for different releases but
-as of this writing can be found in <code>./configuration/nnnnn.log</code>
-where <i>nnnnn</i> is a long random number. Simply bring
-it up in a text editor and look for the most recent errors. You may find it
-useful to delete the log files before running the program so you won't get
-confused by older messages.</p>
-<p>
-<img src="images/tip.gif" alt="Tip: " width="62" height="13">
-Specify the <code>-consoleLog</code> option
-in the Arguments tab under Program Arguments (in the launch configuration)
-to have all error messages sent to the Console.
-This is easier than searching around for the log file.
-</p>
-
-<h2>Running it outside of Eclipse</h2>
-<p>The whole point of all this is to be able to run stand-alone applications
-without the user having to know anything about the Java and Eclipse code being
-used under the covers. For a real application you will probably want to provide
-a self-contained executable generated by an install program like InstallShield.
-That's really beyond the scope of this article though, so we'll do something
-simpler.</p>
-<p>We need to create a simplified version of the Eclipse install directory
-because the Eclipse plug-in loader expects things to be in a certain layout.
-Here are the steps to get started:</p>
-<ol>
-  <li>Right click on the plug-in project and select Export.
-  <li>Select Deployable plug-ins and fragments and then press Next.
-  <li>Select the plug-in(s) that should be included. For this
-  example that would be org.eclipse.ui.tutorials.rcp.part1.
-  <li>Select the option to deploy as a directory structure, and for the
-  directory enter a name ending with RcpTutorial1 (for example, C:\RcpTutorial1 on
-  Windows).
-  <li>If you want to provide source code for your application,
-  select the Include source code option.
-  <li>Press Finish to export the plug-in.
-  Eclipse will perform a full build in the background
-  and populate the directory for you.
-</ol>
-<p>To complete the RcpTutorial1 directory, copy the startup.jar file from the Eclipse
-install directory into the top level, and copy all the org.eclipse plug-ins
-that are required into the plugins directory.
-Unfortunately, as of this writing there is no automatic way to do this
-so you need to do the copies by hand.
-</p>
-<p>
-Which plug-ins are required, you ask?
-Earlier, when you created a launch configuration to debug
-the RCP application you clicked on
-the Add Required Plug-ins button.
-Simply open the launch configuration again to see the list.
-Copy all the plug-ins that are checked off there.
-</p>
-<p>
-When you're
-done you should have a structure that looks like this:</p>
-<pre>
-    RcpTutorial1
-    |    startup.jar
-    +--- plugins
-         +--- org.eclipse.core.runtime.compatibility_3.0.0
-         +--- org.eclipse.core.runtime_3.0.0
-         +--- org.eclipse.help_3.0.0
-         +--- org.eclipse.jface_3.0.0
-         +--- org.eclipse.osgi.services_3.0.0
-         +--- org.eclipse.osgi.util_3.0.0
-         +--- org.eclipse.osgi_3.0.0
-         +--- org.eclipse.swt.win32_3.0.0
-         +--- org.eclipse.swt_3.0.0
-         +--- org.eclipse.ui.workbench_3.0.0
-         +--- org.eclipse.ui_3.0.0
-         +--- org.eclipse.update.configurator_3.0.0
-         +--- org.eclipse.ui.tutorials.rcp.part1
-</pre>
-<p>That's all you need to run an RCP application, but it would be difficult for
-anyone to use it without some kind of launching program. Eclipse uses
-eclipse.exe, but for this example we'll just use a batch file.
-Create a Windows command file
-called rcptutorial1.cmd and place it in the top level RcpTutorial1 directory. A Unix shell
-script version would be similar.
-<pre>
-   echo on
-   setlocal
-   cd %~dp0
-   start javaw -cp startup.jar org.eclipse.core.launcher.Main
-      -application org.eclipse.ui.tutorials.rcp.part1.RcpApplication %*
-   endlocal
-</pre>
-<p>The start command should be all on one line. As before, the -application
-option refers back to the id specified on the
-org.eclipse.core.runtime.applications extension point.</p>
-<p>You can get as fancy as you want in this script file. Here's a variant that I
-like to use when debugging because it will display any error messages from the
-Eclipse loader in a separate window:</p>
-<pre>
-   echo on
-   setlocal
-   cd %~dp0
-   java -cp startup.jar org.eclipse.core.launcher.Main
-      -application org.eclipse.ui.tutorials.rcp.part1.RcpApplication
-      -consoleLog %* || pause
-   endlocal
-</pre>
-<p>The java command should be all on one line.</p>
-<p>To eliminate the startup window on Windows, you can use a shortcut instead of
-a script file. Right click inside the RcpTutorial1 folder, select New &gt; Shortcut
-and enter this as the location of the item (on one line):</p>
-<pre>
-    %windir%\system32\javaw.exe -cp startup.jar org.eclipse.core.launcher.Main
-        -application org.eclipse.ui.tutorials.rcp.part1.RcpApplication
-</pre>
-<p>Enter a descriptive name on the next page and then press Finish. Then try
-double-clicking on your new shortcut to try it out. You may want to edit the
-shortcut (right click on it and select Properties) to change the default working
-directory.</p>
-<p>
-<img src="images/tip.gif" alt="Tip: " width="62" height="13">
-For fully branding a program with a splash screen, custom icons, and so forth
-you'll need to define a primary feature, some configuration files, and use
-the eclipse.exe launcher.
-See the online help under Platform Plug-in Developer Guide >
-Programmer's Guide > Packaging and delivering Eclipse based products
-for more information.
-</p>
-
-<h2>Troubleshooting</h2>
-<p>
-After I wrote this tutorial I started getting mail from people who couldn't
-run it for one reason or another.
-This section will collect the errors that they've seen and
-the solutions.
-Remember to use the <code>-consoleLog</code> command line option to see
-extra diagnostics in the console window where you invoked your
-RCP application.
-</p>
-<dl>
-
-<dt>
-<b>Launching failed because the following plug-ins are neither in the
-workspace nor selected on the Target Platform preference page: ...</b>
-<dd>
-This one is a sanity check performed by PDE.
-It's pretty self explanitory so just look at the list
-provided, go to the Plug-ins tab of your launch configuration,
-and put a checkmark next to all of the plug-ins listed
-in the error.
-
-<dt>
-<b>!MESSAGE Unable to locate application extension: org.eclipse.ui.tutorials.rcp.part1.RcpApplication</b>
-<dd>
-First, check to make sure that the plug-in containing your
-application is included in your launch configuration.
-Next, check the spelling, and remember that the application name
-is the plug-in id followed by a period and the id you specified on the
-<code>org.eclipse.core.runtime.applications</code> extension.
-This message might also be printed if all the required
-plug-ins are not available at run-time.
-
-<dt>
-<b>!MESSAGE Bundle reference:file:C:/eclipse/plugins/org.eclipse.ui_3.0.0 [13] was not resolved</b>
-<dd>
-This one is a little tougher.
-It usually means that some prerequisite of the plug-in listed was not there
-You can find out exactly what's going on by re-running the program
-with the <code>-console</code> command line option.
-This will allow you to enter OSGi console commands to diagnose the problem.
-After the error occurs again, go to the console window and enter the
-<code>ss</code> command.
-You'll see one or more bundles which were installed but not resolved.
-Pick one of them (in the above message it would be number 13), and enter the
-<code>diag <i>nnn</i></code> command, where <i>nnn</i>
-is the bundle number. For example, "<b>diag 13</b>".
-This will tell you what the missing bundle is.
-Note that you can't run OSGi commands if the program has already terminated.
-
-<dt>
-<b>!MESSAGE Missing required bundle org.eclipse.core.runtime.compatibility_null,null.</b>
-<dd>
-This can be caused if you have incompletely adopted your plug-in
-to the 3.0 OSGi manifest files.
-For this simple example you don't need to create a MANIFEST.MF file
-and you do need to include org.eclipse.core.runtime.compatibility
-in your list of required plug-ins.
-See the 3.0 Runtime Adoption Guide for more information about
-running without the compatibility layer.
-
-
-<dt>
-<b>'1.4' target mode requires '-1.4' compliance mode: 1.3</b>
-<dd>
-This is one of the more annoying PDE build errors, especially since you have to go hunt
-in a zip file for it.
-To correct it, go to Window &gt; Preferences &gt; Java &gt; Compiler
-&gt; Compliance and Classfiles.
-Adjust the compliance levels as follows:<br>
-<table border="1">
-<tr><td>Compiler compliance level: <td>1.4
-<tr><td>Use default compliance settings: <td>off
-<tr><td>Generated .class files compatibility: <td>1.4
-<tr><td>Source compatibility: <td>1.4
-<tr><td>Disallow identifiers called 'assert': <td>Error
-</table>
-
-
-</dl>
-
-
-<h2>Conclusion</h2>
-<p>In part 1 of this tutorial, we looked at what is necessary to create a
-bare-bones Rich Client application. The next part will delve into customizations
-using the WorkbenchAdvisor class.
-All the sample code for this part may be viewed at the
-<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.ui.tutorials.rcp.part1">Eclipse project here</a>.
-You can use
-<a href="http://dev.eclipse.org/cvshowto.html">Eclipse's built-in CVS client</a>
-to download the source to your workspace.
-</p>
-
-<h2>References</h2>
-<a href="http://dev.eclipse.org/viewcvs/index.cgi/%7echeckout%7e/org.eclipse.ui.tutorials.rcp.part2/html/tutorial2.html">
-RCP Tutorial Part 2</a><br>
-<a href="http://dev.eclipse.org/viewcvs/index.cgi/%7echeckout%7e/org.eclipse.ui.tutorials.rcp.part3/html/tutorial3.html">
-RCP Tutorial Part 3</a><br>
-<a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-ui-home/rcp-proposal/rich_client_platform_facilities.html">
-Rich Client Platform Facilities</a><br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36967">Bug 36967 - [Plan
-Item] Enable Eclipse to be used as a rich client platform</a><br>
-<a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/org.eclipse.ui.examples.rcp.browser/readme.html">RCP Browser example
-(project org.eclipse.ui.examples.rcp.browser)</a><br>
-<a href="http://www.eclipse.org/articles/Article-PDE-does-plugins/PDE-intro.html">PDE
-Does Plug-ins</a><br>
-<a href="http://www.eclipse.org/articles/Article-Internationalization/how2I18n.html">How
-to Internationalize your Eclipse Plug-in</a><br>
-<a href="http://www.eclipse.org/articles/Article-Plug-in-architecture/plugin_architecture.html">Notes
-on the Eclipse Plug-in Architecture</a><br>
-<a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/platform-core-home/runtime/adoption.html">
-Eclipse 3.0 Runtime Adoption Guide</a><br>
-</p>
-<p><small>IBM is trademark of International Business Machines Corporation in the
-United States, other countries, or both.</small></p>
-<p><small>Java and all Java-based trademarks and logos are trademarks or
-registered trademarks of Sun Microsystems, Inc. in the United States, other
-countries, or both.</small></p>
-<p><small>Microsoft and Windows are trademarks of Microsoft Corporation in the
-United States, other countries, or both.</small></p>
-<p><small>Other company, product, and service names may be trademarks or service
-marks of others.</small></p>
-
-</body>
-
-</html>
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/plugin.properties b/bundles/org.eclipse.ui.tutorials.rcp.part1/plugin.properties
deleted file mode 100644
index 99f0427..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/plugin.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-pluginName = RcpTutorial1 Plug-in
-providerName = Eclipse.org
-perspectiveName = RcpTutorial1
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/plugin.xml b/bundles/org.eclipse.ui.tutorials.rcp.part1/plugin.xml
deleted file mode 100644
index 107666e..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/plugin.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui.tutorials.rcp.part1"
-   name="%pluginName"
-   version="0.0.0"
-   provider-name="%providerName">
-
-   <runtime>
-      <library name="part1.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.core.runtime.compatibility"/>
-      <import plugin="org.eclipse.ui"/>
-   </requires>
-
-
-   <extension
-         id="RcpApplication"
-         point="org.eclipse.core.runtime.applications">
-      <application>
-         <run
-               class="org.eclipse.ui.tutorials.rcp.part1.RcpApplication">
-         </run>
-      </application>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectives">
-      <perspective
-            name="%perspectiveName"
-            class="org.eclipse.ui.tutorials.rcp.part1.RcpPerspective"
-            id="org.eclipse.ui.tutorials.rcp.part1.RcpPerspective">
-      </perspective>
-   </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/rcptutorial1.cmd b/bundles/org.eclipse.ui.tutorials.rcp.part1/rcptutorial1.cmd
deleted file mode 100644
index da464ce..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/rcptutorial1.cmd
+++ /dev/null
@@ -1,5 +0,0 @@
-echo on
-setlocal
-cd %~dp0
-start javaw -cp startup.jar org.eclipse.core.launcher.Main -application org.eclipse.ui.tutorials.rcp.part1.RcpApplication %*
-endlocal
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/rcptutorial1debug.cmd b/bundles/org.eclipse.ui.tutorials.rcp.part1/rcptutorial1debug.cmd
deleted file mode 100644
index 519c8e8..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/rcptutorial1debug.cmd
+++ /dev/null
@@ -1,5 +0,0 @@
-echo on
-setlocal
-cd %~dp0
-java -cp startup.jar org.eclipse.core.launcher.Main -application org.eclipse.ui.tutorials.rcp.part1.RcpApplication -consoleLog %* || pause
-endlocal
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/RcpApplication.java b/bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/RcpApplication.java
deleted file mode 100644
index 02ab801..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/RcpApplication.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part1;
-
-import org.eclipse.core.runtime.IPlatformRunnable;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-
-public class RcpApplication implements IPlatformRunnable {
-
-    public Object run(Object args) {
-        WorkbenchAdvisor workbenchAdvisor = new RcpWorkbenchAdvisor();
-        Display display = PlatformUI.createDisplay();
-        try {
-            int returnCode = PlatformUI.createAndRunWorkbench(display,
-                    workbenchAdvisor);
-            if (returnCode == PlatformUI.RETURN_RESTART) {
-                return IPlatformRunnable.EXIT_RESTART;
-            } else {
-                return IPlatformRunnable.EXIT_OK;
-            }
-        } finally {
-            display.dispose();
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/RcpPerspective.java b/bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/RcpPerspective.java
deleted file mode 100644
index 67591ae..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/RcpPerspective.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part1;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-public class RcpPerspective implements IPerspectiveFactory {
-
-	public RcpPerspective() {
-	}
-
-	public void createInitialLayout(IPageLayout layout) {
-	}
-}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/RcpWorkbenchAdvisor.java b/bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/RcpWorkbenchAdvisor.java
deleted file mode 100644
index 7a4cebf..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/RcpWorkbenchAdvisor.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part1;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-
-public class RcpWorkbenchAdvisor extends WorkbenchAdvisor {
-
-	public String getInitialWindowPerspectiveId() {
-		return "org.eclipse.ui.tutorials.rcp.part1.RcpPerspective"; //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/.classpath b/bundles/org.eclipse.ui.tutorials.rcp.part2/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/.cvsignore b/bundles/org.eclipse.ui.tutorials.rcp.part2/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/.project b/bundles/org.eclipse.ui.tutorials.rcp.part2/.project
deleted file mode 100644
index 240ce3a..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.tutorials.rcp.part2</name>
-	<comment></comment>
-	<projects>
-	</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.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/Run RcpTutorial2.lnk b/bundles/org.eclipse.ui.tutorials.rcp.part2/Run RcpTutorial2.lnk
deleted file mode 100644
index 7a60904..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/Run RcpTutorial2.lnk
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/build.properties b/bundles/org.eclipse.ui.tutorials.rcp.part2/build.properties
deleted file mode 100644
index a257280..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-bin.includes = plugin.xml,\
-               *.jar,\
-               part2.jar,\
-               plugin.properties,\
-               html/
-source.part2.jar = src/
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/html/default_style.css b/bundles/org.eclipse.ui.tutorials.rcp.part2/html/default_style.css
deleted file mode 100644
index 8365f5a..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/html/default_style.css
+++ /dev/null
@@ -1,15 +0,0 @@
-p, table, td, th {  font-family: arial, helvetica, geneva; font-size: 10pt}
-pre {  font-family: "Courier New", Courier, mono; font-size: 10pt; background: #EEEEEE;}
-h2 { font-family: arial, helvetica, geneva; font-size: 18pt; font-weight: bold ; line-height: 14px}
-code {  font-family: "Courier New", Courier, mono; font-size: 10pt}
-sup {  font-family: arial,helvetica,geneva; font-size: 10px}
-h3 {  font-family: arial, helvetica, geneva; font-size: 14pt; font-weight: bold}
-li {  font-family: arial, helvetica, geneva; font-size: 10pt}
-h1 {  font-family: arial, helvetica, geneva; font-size: 28px; font-weight: bold}
-body {  font-family: arial, helvetica, geneva; font-size: 10pt; clip:   rect(   ); margin-top: 5mm; margin-left: 3mm}
-.indextop { font-size: x-large;; font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: bold}
-.indexsub { font-size: xx-small;; font-family: Arial, Helvetica, sans-serif; color: #8080FF}
-a.bar:link {  text-decoration: none; color: #FFFFFF}
-a.bar:visited {  color: #FFFFFF; text-decoration: none}
-a.bar:hover {  color: #FFFFFF; text-decoration: underline}
-a.bar {  color: #FFFFFF}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/Application.png b/bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/Application.png
deleted file mode 100644
index 9ee532c..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/Application.png
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/Idea.jpg b/bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/Idea.jpg
deleted file mode 100644
index 119ce70..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/Idea.jpg
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/Lifecycle.png b/bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/Lifecycle.png
deleted file mode 100644
index bffabe4..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/Lifecycle.png
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/hellotitle.png b/bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/hellotitle.png
deleted file mode 100644
index 9d9fda0..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/hellotitle.png
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/note.gif b/bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/note.gif
deleted file mode 100644
index f6260db..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/note.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/tip.gif b/bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/tip.gif
deleted file mode 100644
index 77b2451..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/tip.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/html/tutorial2.html b/bundles/org.eclipse.ui.tutorials.rcp.part2/html/tutorial2.html
deleted file mode 100644
index 788c33b..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/html/tutorial2.html
+++ /dev/null
@@ -1,552 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-
-<head>
-<title>Rich Client Platform</title>
-<link href="default_style.css" rel=stylesheet>
-</head>
-
-<body>
-
-<div align="right">
-  <font face="Times New Roman, Times, serif" size="2">Copyright © 2004 Ed
-  Burnette.</font>
-  <table border="0" cellspacing="0" cellpadding="2" width="100%">
-    <tbody>
-      <tr>
-        <td align="left" valign="top" colspan="2" bgcolor="#0080c0"><b><font face="Arial,Helvetica"><font color="#ffffff">Eclipse
-          Article</font></font></b></td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-<div align="left">
-  <h1 title="RCP Tutorial"><img src="images/Idea.jpg" align="middle" width="120" height="86"></h1>
-</div>
-<h1 align="center">Rich Client Tutorial Part 2 - Draft</h1>
-<p class="summary">
-The Rich Client Platform (RCP)
-allows you to
-build Java applications that can compete with native
-applications on any platform.
-Part 1 of the tutorial introduced you to the platform
-and the steps used to build the smallest possible RCP program.
-In part 2 we'll look at what we did in more detail
-and introduce some of the configuration classes
-that let you take control of much of the layout and
-functionality of an RCP application.
-</p>
-<p><b>By Ed Burnette, SAS Institute Inc.</b><br>
-<font size="-1">June 14, 2004 - Added note on using CVS to get the example source</font></p>
-<p><i>Note that Eclipse 3 is undergoing constant change so the steps you need to
-take, the APIs, and the results may vary slightly (or not so slightly) from this
-description.</i></p>
-<hr width="100%">
-
-<h2>Introduction</h2>
-<p>
-In Eclipse 2.1, many functions of the Eclipse IDE were hard-wired
-into the code.
-These included the name and location of the File menu,
-the title of the Workbench Window, and the existence of
-the status bar.
-This was fine for the IDE but when people started to
-use Eclipse as a basis for non-IDE programs, sometimes
-these things didn't make sense.
-Although all the source code was provided, it was
-inconvenient to find the right places that had to be
-changed.
-So for Eclipse 3, the designers refactored the API to
-make these and other hard-wired aspects of the user
-interface controllable through public API.
-</p>
-<p>
-To this end, Eclipse 3 introduces a brand new
-<code>WorkbenchAdvisor</code> class and a set of
-<code>*Configurer</code> interfaces.
-The most important class for an RCP developer to understand is
-<code>WorkbenchAdvisor</code>.
-You extend the base version of the <code>WorkbenchAdvisor</code> class
-in your RCP application and override one or more of the methods
-to set whatever options you want.
-In part 1, we implemented one of the simpler methods,
-<code>getInitialWindowPerspectiveId</code>,
-in order to return the one and only perspective (set of views, editors, and menus)
-for the application.
-</p>
-<p>
-In the next section we'll take a look at the other advisor methods
-to get a quick overview of what is possible with them.
-If you want to cut to the chase and look at the code for this part you can view the
-<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.ui.tutorials.rcp.part2">Eclipse project here</a>.
-</p>
-<p>
-Otherwise, let's start by clearing up
-some possible confusion about
-the relationship between
-Applications, Workbenches, and Workbench Windows.
-</p>
-
-<h2>Applications, Workbenches, and Workbench Windows</h2>
-<p>
-The Application is a class you create that acts as your RCP program's main routine.
-You can think of it as the controller for the program.
-Just like the controller in a Model2 architecture, it is short and sweet
-and doesn't change significantly for different projects.
-All it does is create a Workbench and attach a Workbench Advisor to it.
-</p>
-<p>
-The Workbench is declared and maintained for you as part of the RCP framework.
-There is only one Workbench but it can have more than one visible top-level
-Workbench Window.
-For example, in the Eclipse IDE, when you first start Eclipse you will see
-one Workbench Window, but if you select <b>Window &gt; New Window</b> a second
-window pops up --
-two Workbench Windows, but only one Workbench.
-</p>
-<p>
-Figure 1 shows the relationship between your Application, the Workbench, and
-Workbench Windows.
-</p>
-<img src="images/Application.png">
-<p><b>Figure 1. An RCP program has one Application class that you provide, and one
-Workbench class provided by the framework.
-Typically there is only one Workbench Window but
-the framework supports having more than one.
-</b></p>
-
-<p>
-Ok, now that that's out of the way, let's get our feet wet with
-changing how the Workbench Window looks.
-</p>
-
-<h2>Customizing the Workbench Window</h2>
-<p>
-The simple example in part 1 left room for a status line, tool bar, and
-other visual elements even though they weren't used.
-We could argue that those should be off by default, but
-for some reason they're not so if you don't want them
-then you have to turn them off yourself.
-Also the window didn't have a title and it
-opened much larger than it needed to be.
-A good place to take care of all
-this is the <code>preWindowOpen</code> method
-of <code>WorkbenchAdvisor</code>,
-as shown in listing 1.
-</p>
-<p><b>Listing 1. preWindowOpen example.
-</b></p>
-<pre>
-	public void preWindowOpen(IWorkbenchWindowConfigurer configurer) {
-		super.preWindowOpen(configurer);
-        configurer.setInitialSize(new Point(400, 300));
-        configurer.setShowCoolBar(false);
-        configurer.setShowStatusLine(false);
-		configurer.setTitle("Hello, RCP");
-	}
-</pre>
-
-<p>
-Notice how a Configurer interface (in this case, <code>IWorkbenchWindowConfigurer</code>)
-is passed in to the advisor method.
-You call methods on the Configurer interfaces to actually
-change the options.
-These interfaces are not covered in any detail in this tutorial
-but you can refer to their Javadoc for more information.
-See figure 2 for the final result.
-</p>
-
-<img src="images/hellotitle.png">
-<p><b>
-Figure 2. Workbench window with a title.
-Unused controls are turned off and a title is added using the
-<code>preWindowOpen</code> event of
-<code>WorkbenchAdvisor</code>.
-</b></p>
-
-<h2>Digging into the <code>WorkbenchAdvisor</code> class</h2>
-<p>
-Since RCP is new and documentation is sparse,
-we're going to depart from our tutorial format at this point to
-examine some background information about the
-<code>WorkbenchAdvisor</code> class.
-Methods in this class are called from the platform to
-notify you at every point in the lifecycle of the Workbench
-and top level Workbench Windows.
-They also provide a way to handle exceptions in the
-event loop,
-and provide important parameters to the Workbench such as
-the default perspective.
-First let's take a look at the lifecycle events.
-</p>
-
-<p>
-<img src="images/note.gif" alt="Note: " width="62" height="13">
-Why not an interface?
-You'll notice that <code>WorkbenchAdvisor</code> is an abstract class.
-For the most part, Eclipse APIs shun abstract classes in favor of interfaces and
-base classes that implement those interfaces.
-In this case, the designers intend for <code>WorkbenchAdvisor</code>
-to <i>always</i> be implemented
-by the RCP application, the base class doesn't contain any significant functionality,
-and it is very likely that new methods will need to be added to the base class in the
-future (something that is difficult using interfaces).
-So this was a deliberate design choice.
-See the article on evolving Java APIs in the reference section
-for more tips.
-</p>
-
-<h3>Lifecycle events</h3>
-
-<p>
-There is only one Workbench, and
-typically there is also only one Workbench Window, though you can open
-more than one if you like (on different monitors for example).
-See figure 3 for the most important events in the lifetime of
-Workbenches and their windows.
-Table 1 shows all the methods that you can define in your
-own subclass of <code>WorkbenchAdvisor</code> to let you
-hook into lifecycle events for the Workbench.
-Table 2 shows the corresponding methods for
-Workbench Windows.
-</p>
-
-<img src="images/Lifecycle.png">
-<p><b>Figure 3. Important events in the lifecycle of the Workbench and Workbench Window(s).
-These correspond to methods in <code>WorkbenchAdvisor</code> that are called by the Platform
-to let you perform custom code at these points in time.
-</b></p>
-
-<p><b>Table 1.
-Workbench lifecycle hooks provided by <code>org.eclipse.ui.application.WorkbenchAdvisor</code>.
-</b></p>
-<table border="1">
-	<tr><th>Method
-		<th>Description
-		<th>Parameter(s)
-		
-	<tr><td>initialize
-		<td>Called first to perform any setup such as
-		parsing the command line, registering adapters and declaring images.
-		<td><code>IWorkbenchConfigurer<code>
-		
-	<tr><td>preStartup
-		<td>Called after initialization but before the first window is opened.
-		May be used to set options affecting which editors and views
-		are initially opened.
-		<td>&nbsp;
-		
-	<tr><td>postStartup
-		<td>Called after all windows have been opened or restored,
-		but before the event loop starts.
-		It can be used to start automatic processes and to
-		open tips or other windows.
-		<td>&nbsp;
-
-	<tr><td>preShutdown
-		<td>Called after the event loop has terminated but before any
-		windows have been closed.
-		<td>&nbsp;
-
-	<tr><td>postShutdown
-		<td>Called after all windows are closed during Workbench shutdown.
-		This can be used to save the current application state and
-		clean up anything created
-		by <code>initialize</code>.
-		<td>&nbsp;
-
-</table>
-
-<p><b>Table 2.
-Workbench window lifecycle hooks provided by <code>org.eclipse.ui.application.WorkbenchAdvisor</code>. 
-</b></p>
-<table border="1">
-	<tr><th>Method
-		<th>Description
-		<th>Parameter(s)
-
-	<tr><td>preWindowOpen
-		<td>Called in the constructor of the Workbench Window.
-		Use this method to set options such as whether or not the window will have
-		a menu bar.
-		However none of the window's widgets have been created yet so they
-		can't be referenced in this method.
-		<td><code>IWorkbenchWindowConfigurer</code>
-
-	<tr><td>fillActionBars
-		<td>Called right after <code>preWindowOpen</code>.
-		This is where you set up any hard-wired menus and toolbars.
-		This is probably the most complicated method here because of the flags
-		it is passed.
-		Note: takes a Workbench window, not a configurer.
-		<td><code>IWorkbenchWindow</code>,
-		<code>IActionBarConfigurer</code>, flags
-
-	<tr><td>postWindowRestore
-		<td>Optionally called after a window has been restored
-		from saved state (if any) but before it is opened.
-		Can't really think of a use for this one.
-		It's called but not used in 3.0M8.
-		<td><code>IWorkbenchWindowConfigurer</code>
-		
-	<tr><td>postWindowCreate
-		<td>Optionally called after a window has been restored
-		from saved state (if any) but before it is opened.
-		<td><code>IWorkbenchWindowConfigurer</code>
-		
-	<tr><td>postWindowOpen
-		<td>Called right after the Workbench window is opened.
-		Can be used to tweak any of the window's widgets, for example
-		to set a title or change its size.
-		<td><code>IWorkbenchWindowConfigurer</code>
-
-	<tr><td>preWindowShellClose
-		<td>Called before the Workbench window is closed
-		(technically, before its shell is closed).
-		This is the only function that can veto the close, so it's
-		a good place for an "Are you sure" kind of dialog.
-		<td><code>IWorkbenchWindowConfigurer</code>
-
-	<tr><td>postWindowClose
-		<td>Called after the Workbench window is closed
-		Can be used to clean up anything created by
-		<code>preWindowOpen</code>.
-		<td><code>IWorkbenchWindowConfigurer</code>
-</table>
-
-<h3>Event loop hooks</h3>
-
-<p>
-The event loop is the code that is running most of the time during
-the life of the Workbench.
-It handles all user inputs and dispatches them to the right listeners.
-RCP provides a couple of hooks to handle crashes and perform work during idle time
-(see table 3).
-</p>
-
-<p><b>Table 3.
-Event loop hooks provided by <code>org.eclipse.ui.application.WorkbenchAdvisor</code>.
-</b></p>
-<table border="1">
-	<tr><th>Method
-		<th>Description
-		<th>Parameter(s)
-		
-	<tr><td>eventLoopException
-		<td>Called if there is an unhandled exception in the event loop.
-		The default implementation will log the error.
-		<td><code>Throwable</code>
-
-	<tr><td>eventLoopIdle
-		<td>Called when the event loop has nothing to do.
-		<td><code>Display</code>
-</table>
-
-<h3>Information getting hooks</h3>
-<p>
-Next, there are few methods you can implement that
-the platform will call to get information about your application
-(see table 4).
-The most important one (and the only one that is not optional)
-is <code>getInitialWindowPerspectiveId</code>.
-We used this in part 1 to return the id of the starting (and only)
-perspective in RcpTest.
-</p>
-
-<p><b>Table 4.
-Information requests provided by <code>org.eclipse.ui.application.WorkbenchAdvisor</code>.
-</b></p>
-<table border="1">
-	<tr><th>Method
-		<th>Description
-		<th>Parameter(s)
-		
-	
-	<tr><td>getDefaultPageInput
-		<td>Return the default input for new workbench pages.
-		Defaults to null.
-		<td>&nbsp;
-
-	<tr><td>getInitialWindowPerspectiveId
-		<td>Return the initial perspective used for new workbench windows.
-		This is a required function that has no default.
-		<td>&nbsp;
-
-	<tr><td>getMainPreferencePageId
-		<td>Return the preference page that should be displayed first.
-		Defaults to null, meaning the pages should be arranged alphabetically.
-		<td>&nbsp;
-
-	<tr><td>isApplicationMenu
-		<td>Return true if the menu is one of yours.
-		OLE specific; see Javadoc for details.
-		<td><code>IWorkbenchWindowConfigurer</code>,
-		<code>String</code>
-</table>
-
-<h3>Advanced configuration</h3>
-<p>
-The <code>WorkbenchAdvisor</code> events above should be
-sufficient for most applications, but just in case,
-RCP provides two more methods to take complete control
-of how your application windows and controls are created.
-They're listed in table 5 for completeness but I
-don't expect many programs will need them.
-</p>
-
-<p><b>Table 5.
-Advanced methods in <code>org.eclipse.ui.application.WorkbenchAdvisor</code>.
-</b></p>
-<table border="1">
-	<tr><th>Method
-		<th>Description
-		<th>Parameter(s)
-	
-	<tr><td>createWindowContents
-		<td>Creates the contents of one window.
-		Override this method to define custom contents and layout.
-		<td><code>IWorkbenchWindowConfigurer</code>,
-		<code>Shell</code>
-
-	<tr><td>openWindows
-		<td>Open all Workbench windows on startup.
-		The default implementation tries to restore the previously
-		saved workbench state.
-		<td>&nbsp;
-
-</table>
-
-
-<h2>Preparing for internationalization</h2>
-<p>
-Internationalization (i18n for short) opens
-up your application to a much wider market.
-The first step is simply to pull all your human readable text messages out of
-your code and into a standard format properties file.
-Even if you are not planning to make your code available in multiple languages,
-separating the messages makes it much easier for you to spell check them and
-check them for consistent grammar and word usage.
-</p>
-<p>
-There's nothing magic about messages in Eclipse - you just
-use the good ole Java resource bundle mechanism that you may
-already be familiar with.
-The Eclipse IDE provides a nice Externalization wizard to make
-this less of a chore.
-See the references section below for a link to an article
-that describes how to use it in detail.
-</p>
-<p>
-Briefly, when you're writing a new section of code
-you will often hard-code strings just to get something going.
-For example, in listing 1 we used:
-</p>
-<pre>
-	configurer.setTitle("Hello, RCP");
-</pre>
-<p>
-Once you have a section of code working, though, you should get into the habit
-of invoking the Externalization wizard to pull these strings out.
-Simply right click on the project and select
-<b>Source > Find Strings to Externalize...</b>.
-Any source files that need attention will be listed.
-Pick one and press <b>Externalize...</b> to open the Externalization wizard.
-Follow the directions there to have the wizard convert your code to
-use a resource bundle reference.
-Alternatively you could right click on a single source file and select
-<b>Source > Externalize Strings...</b>.
-highlighted.
-When you're done your source code will look something like this:
-</p>
-<pre>
-	configurer.setTitle(Messages.getString("Hello_RCP")); //$NON-NLS-1$
-</pre>
-<p>
-The string <code>$NON-NLS-1$</code> is a hint for both the compiler and
-the Externalization wizard that the first character string on this line
-is a tag or keyword of some sort and should not be localized.
-</p>
-<p>
-Also you will have a standard format .properties file containing
-the keys and values for all your messages. For example,
-</p>
-<pre>
-RcpTest.properties:
-Hello_RCP=Hello, RCP
-</pre>
-<p>
-Finally, the wizard will create a class that wraps a Java resource bundle
-to load and find things in the .properties file.
-</p>
-<p>
-<img src="images/tip.gif" alt="Tip: " width="62" height="13">
-To perform substitutions use the standard
-<code>java.text.MessageFormat</code> class.
-The <code>format()</code> method is somewhat similar
-to the C routine <code>sprintf</code>, except
-instead of taking format specifiers starting with percent signs,
-<code>format()</code> uses numbered parameters in curly braces.
-Here's an example from the <code>XMLStructureCreator</code> class in the
-compare example plug-in (split onto multiple lines for readability):
-<pre>
-	bodynode.setName(MessageFormat.format("{0} ({1})",
-		new String[] {XMLCompareMessages.getString("XMLStructureCreator.body"),
-		Integer.toString(fcurrentParent.bodies)})); //$NON-NLS-2$ //$NON-NLS-1$
-</pre>
-<p>
-This isn't a good example, though, because typically the format string
-itself should be in a message file too.
-However, messages intended to be read by another program
-(commands, keywords, scripts, and so forth) should
-<b>not</b> be put in a message file.
-</p>
-<p>
-To keep these lines from getting incredibly long you will probably want to
-create helper methods.
-For examples of helper methods see <code>org.eclipse.internal.runtime.Policy</code>.
-</p>
-
-<h2>Conclusion</h2>
-<p>
-In part 2 of this tutorial, we looked at some of the newly refactored API
-of the Rich Client Platform that allows you to develop customized
-native-looking client-side Java programs.
-The next part will delve into defining and populating menus and toolbars.
-All the sample code for this part may be viewed at the
-<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.ui.tutorials.rcp.part2">Eclipse project here</a>.
-You can use
-<a href="http://dev.eclipse.org/cvshowto.html">Eclipse's built-in CVS client</a>
-to download the source to your workspace.
-</p>
-
-<h2>References</h2>
-<p>
-<a href="http://dev.eclipse.org/viewcvs/index.cgi/%7echeckout%7e/org.eclipse.ui.tutorials.rcp.part1/html/tutorial1.html">
-RCP Tutorial Part 1</a><br>
-<a href="http://dev.eclipse.org/viewcvs/index.cgi/%7echeckout%7e/org.eclipse.ui.tutorials.rcp.part3/html/tutorial3.html">
-RCP Tutorial Part 3</a><br>
-<a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-ui-home/rcp-proposal/rich_client_platform_facilities.html">
-Rich Client Platform Facilities</a><br>
-<a href="http://www.eclipse.org/articles/Article-Internationalization/how2I18n.html">
-How to Internationalize your Eclipse Plug-in</a><br>
-<a href="http://www.fawcette.com/javapro/2002_06/online/servlets_06_11_02/">Almost All Java Web Apps Need Model 2
-(introduction to the Model 2 architecture)</a><br>
-<a href="http://www.eclipse.org/eclipse/development/java-api-evolution.html">
-Evolving Java-based APIs</a><br>
-<a href="http://www.eclipsepowered.org">
-Eclipse Powered (rich client plug-ins and resources)</a><br>
-</p>
-
-<p><small>IBM is trademark of International Business Machines Corporation in the
-United States, other countries, or both.</small></p>
-<p><small>Java and all Java-based trademarks and logos are trademarks or
-registered trademarks of Sun Microsystems, Inc. in the United States, other
-countries, or both.</small></p>
-<p><small>Microsoft and Windows are trademarks of Microsoft Corporation in the
-United States, other countries, or both.</small></p>
-<p><small>Other company, product, and service names may be trademarks or service
-marks of others.</small></p>
-
-</body>
-
-</html>
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/plugin.properties b/bundles/org.eclipse.ui.tutorials.rcp.part2/plugin.properties
deleted file mode 100644
index f45f2d1..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/plugin.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-pluginName = RcpTutorial2 Plug-in
-providerName = Eclipse.org
-perspectiveName = RcpTutorial2
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/plugin.xml b/bundles/org.eclipse.ui.tutorials.rcp.part2/plugin.xml
deleted file mode 100644
index e46f179..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/plugin.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui.tutorials.rcp.part2"
-   name="%pluginName"
-   version="0.0.0"
-   provider-name="%providerName">
-
-   <runtime>
-      <library name="part2.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.core.runtime.compatibility"/>
-      <import plugin="org.eclipse.ui"/>
-   </requires>
-
-
-   <extension
-         id="RcpApplication"
-         point="org.eclipse.core.runtime.applications">
-      <application>
-         <run
-               class="org.eclipse.ui.tutorials.rcp.part2.RcpApplication">
-         </run>
-      </application>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectives">
-      <perspective
-            name="%perspectiveName"
-            class="org.eclipse.ui.tutorials.rcp.part2.RcpPerspective"
-            id="org.eclipse.ui.tutorials.rcp.part2.RcpPerspective">
-      </perspective>
-   </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/rcptutorial2.cmd b/bundles/org.eclipse.ui.tutorials.rcp.part2/rcptutorial2.cmd
deleted file mode 100644
index 7cc2405..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/rcptutorial2.cmd
+++ /dev/null
@@ -1,5 +0,0 @@
-echo on
-setlocal
-cd %~dp0
-start javaw -cp startup.jar org.eclipse.core.launcher.Main -application org.eclipse.ui.tutorials.rcp.part2.RcpApplication %*
-endlocal
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/rcptutorial2debug.cmd b/bundles/org.eclipse.ui.tutorials.rcp.part2/rcptutorial2debug.cmd
deleted file mode 100644
index 48031c3..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/rcptutorial2debug.cmd
+++ /dev/null
@@ -1,5 +0,0 @@
-echo on
-setlocal
-cd %~dp0
-java -cp startup.jar org.eclipse.core.launcher.Main -application org.eclipse.ui.tutorials.rcp.part2.RcpApplication -consoleLog %* || pause
-endlocal
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/Messages.java b/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/Messages.java
deleted file mode 100644
index ac11f7f..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/Messages.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Created on Dec 31, 2003
- */
-package org.eclipse.ui.tutorials.rcp.part2;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * @author sasebb
- */
-public class Messages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.ui.tutorials.rcp.part2.RcpTutorial"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE =
-		ResourceBundle.getBundle(BUNDLE_NAME);
-
-	/**
-	 * 
-	 */
-	private Messages() {
-
-		// TODO Auto-generated constructor stub
-	}
-	/**
-	 * @param key
-	 * @return
-	 */
-	public static String getString(String key) {
-		// TODO Auto-generated method stub
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/RcpApplication.java b/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/RcpApplication.java
deleted file mode 100644
index 6b7cf06..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/RcpApplication.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part2;
-
-import org.eclipse.core.runtime.IPlatformRunnable;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-
-public class RcpApplication implements IPlatformRunnable {
-
-    public Object run(Object args) {
-        WorkbenchAdvisor workbenchAdvisor = new RcpWorkbenchAdvisor();
-        Display display = PlatformUI.createDisplay();
-        try {
-            int returnCode = PlatformUI.createAndRunWorkbench(display,
-                    workbenchAdvisor);
-            if (returnCode == PlatformUI.RETURN_RESTART) {
-                return IPlatformRunnable.EXIT_RESTART;
-            } else {
-                return IPlatformRunnable.EXIT_OK;
-            }
-        } finally {
-            display.dispose();
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/RcpPerspective.java b/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/RcpPerspective.java
deleted file mode 100644
index 5b44e42..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/RcpPerspective.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part2;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-public class RcpPerspective implements IPerspectiveFactory {
-
-	public RcpPerspective() {
-	}
-
-	public void createInitialLayout(IPageLayout layout) {
-	}
-}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/RcpTutorial.properties b/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/RcpTutorial.properties
deleted file mode 100644
index 86de732..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/RcpTutorial.properties
+++ /dev/null
@@ -1 +0,0 @@
-Hello_RCP=Hello, RCP
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/RcpWorkbenchAdvisor.java b/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/RcpWorkbenchAdvisor.java
deleted file mode 100644
index 20e43fc..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/RcpWorkbenchAdvisor.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part2;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-
-public class RcpWorkbenchAdvisor extends WorkbenchAdvisor {
-
-	public String getInitialWindowPerspectiveId() {
-		return "org.eclipse.ui.tutorials.rcp.part2.RcpPerspective"; //$NON-NLS-1$
-	}
-
-	public void preWindowOpen(IWorkbenchWindowConfigurer configurer) {
-		super.preWindowOpen(configurer);
-        configurer.setInitialSize(new Point(400, 300));
-        configurer.setShowCoolBar(false);
-        configurer.setShowStatusLine(false);
-		configurer.setTitle(Messages.getString("Hello_RCP")); //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/.classpath b/bundles/org.eclipse.ui.tutorials.rcp.part3/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/.cvsignore b/bundles/org.eclipse.ui.tutorials.rcp.part3/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/.project b/bundles/org.eclipse.ui.tutorials.rcp.part3/.project
deleted file mode 100644
index 0f0612a..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.tutorials.rcp.part3</name>
-	<comment></comment>
-	<projects>
-	</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.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/Run RcpTutorial3.lnk b/bundles/org.eclipse.ui.tutorials.rcp.part3/Run RcpTutorial3.lnk
deleted file mode 100644
index f46df3b..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/Run RcpTutorial3.lnk
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/book.xml b/bundles/org.eclipse.ui.tutorials.rcp.part3/book.xml
deleted file mode 100644
index c6ad379..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/book.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<toc label="RCP Help Sample"  topic="html/book.html">
-	<topic label="Overview" href="html/overview.html"/>
-	<topic label="Tutorial" href="html/tutorial3.html"/>
-</toc>
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/build.properties b/bundles/org.eclipse.ui.tutorials.rcp.part3/build.properties
deleted file mode 100644
index e8f043d..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/build.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-bin.includes = plugin.xml,\
-               *.jar,\
-               part3.jar,\
-               plugin.properties,\
-               book.xml,\
-               html/,\
-               icons/
-source.part3.jar = src/
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/book.html b/bundles/org.eclipse.ui.tutorials.rcp.part3/html/book.html
deleted file mode 100644
index 3f7fce1..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/book.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<html>
-<head>
-</head>
-<body>
-<h1>Book.html goes here</h1>
-</body>
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/default_style.css b/bundles/org.eclipse.ui.tutorials.rcp.part3/html/default_style.css
deleted file mode 100644
index 8365f5a..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/default_style.css
+++ /dev/null
@@ -1,15 +0,0 @@
-p, table, td, th {  font-family: arial, helvetica, geneva; font-size: 10pt}
-pre {  font-family: "Courier New", Courier, mono; font-size: 10pt; background: #EEEEEE;}
-h2 { font-family: arial, helvetica, geneva; font-size: 18pt; font-weight: bold ; line-height: 14px}
-code {  font-family: "Courier New", Courier, mono; font-size: 10pt}
-sup {  font-family: arial,helvetica,geneva; font-size: 10px}
-h3 {  font-family: arial, helvetica, geneva; font-size: 14pt; font-weight: bold}
-li {  font-family: arial, helvetica, geneva; font-size: 10pt}
-h1 {  font-family: arial, helvetica, geneva; font-size: 28px; font-weight: bold}
-body {  font-family: arial, helvetica, geneva; font-size: 10pt; clip:   rect(   ); margin-top: 5mm; margin-left: 3mm}
-.indextop { font-size: x-large;; font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: bold}
-.indexsub { font-size: xx-small;; font-family: Arial, Helvetica, sans-serif; color: #8080FF}
-a.bar:link {  text-decoration: none; color: #FFFFFF}
-a.bar:visited {  color: #FFFFFF; text-decoration: none}
-a.bar:hover {  color: #FFFFFF; text-decoration: underline}
-a.bar {  color: #FFFFFF}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/Idea.jpg b/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/Idea.jpg
deleted file mode 100644
index 119ce70..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/Idea.jpg
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/complete.png b/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/complete.png
deleted file mode 100644
index f2a7b9e..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/complete.png
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/help.png b/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/help.png
deleted file mode 100644
index 32a759e..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/help.png
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/note.gif b/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/note.gif
deleted file mode 100644
index f6260db..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/note.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_1.gif b/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_1.gif
deleted file mode 100644
index 4859d6f..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_1.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_2.gif b/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_2.gif
deleted file mode 100644
index 5ea43dc..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_2.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_3.gif b/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_3.gif
deleted file mode 100644
index a69b68e..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_3.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_4.gif b/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_4.gif
deleted file mode 100644
index a1ad63f..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_4.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_5.gif b/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_5.gif
deleted file mode 100644
index d86a748..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_5.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_6.gif b/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_6.gif
deleted file mode 100644
index b9eb4ec..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_6.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tip.gif b/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tip.gif
deleted file mode 100644
index 77b2451..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tip.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/overview.html b/bundles/org.eclipse.ui.tutorials.rcp.part3/html/overview.html
deleted file mode 100644
index b7129cd..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/overview.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<html>
-<head>
-</head>
-<body>
-<h1>Overview.html goes here</h1>
-</body>
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/tutorial3.html b/bundles/org.eclipse.ui.tutorials.rcp.part3/html/tutorial3.html
deleted file mode 100644
index 45171ad..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/tutorial3.html
+++ /dev/null
@@ -1,517 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-
-<head>
-<title>Rich Client Platform</title>
-<link href="default_style.css" rel=stylesheet>
-</head>
-
-<body>
-
-<div align="right">
-  <font face="Times New Roman, Times, serif" size="2">Copyright © 2004 Ed
-  Burnette.</font>
-  <table border="0" cellspacing="0" cellpadding="2" width="100%">
-    <tbody>
-      <tr>
-        <td align="left" valign="top" colspan="2" bgcolor="#0080c0"><b><font face="Arial,Helvetica"><font color="#ffffff">Eclipse
-          Article</font></font></b></td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-<div align="left">
-  <h1 title="RCP Tutorial"><img src="images/Idea.jpg" align="middle" width="120" height="86"></h1>
-</div>
-<h1 align="center">Rich Client Tutorial Part 3 - Draft</h1>
-<p class="summary">
-The Rich Client Platform (RCP)
-lets you pick and choose functionality from Eclipse
-for use in your own applications.
-Parts 1 and 2 of this tutorial introduced you to the platform
-and some of the configuration classes it provides.
-Part 3 discusses how to add
-functionality such as menus, views, and help files.
-</p>
-<p><b>By Ed Burnette, SAS Institute Inc.</b><br>
-<font size="-1">June 14, 2004 - Added note on using CVS to get the example source</font></p>
-<p><i>Note that Eclipse 3 is undergoing constant change so the steps you need to
-take, the APIs, and the results may vary slightly (or not so slightly) from this
-description.</i></p>
-<hr width="100%">
-
-<h2>Introduction</h2>
-<p>
-Much of our discussion in the previous
-two parts focused on taking things away from
-the platform - turning off toolbars, getting
-rid of menus, and so forth.
-For the final installment of this
-tutorial series we're going to look at putting things back in.
-As before, all source code for the tutorial 
-can be found in the
-<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.ui.tutorials.rcp.part3">Eclipse project here</a>.
-</p>
-
-<h2>Views</h2>
-<p>
-Let's start with a view.
-Eclipse's Plug-in Development Environment
-provides a nice set of extension templates to get you started writing
-sample views, editors, menus,
-and other components.
-Unfortunately, as of this writing, they are almost useless for
-RCP development because the code produced introduces all
-sorts of dependencies on IDE and resource packages
-and plug-ins.
-</p>
-<p>
-<img src="images/tip.gif" alt="Tip: " width="62" height="13">
-The rule of thumb is that anything that references a resource is
-not intended for RCP developers because of the extra code
-and dependencies on workspaces it
-pulls in.
-So if you see the <code>org.eclipse.core.resources</code>
-plug-in in your dependency list, or see an import for
-some class from that package, you're probably doing something wrong.
-This is not a hard and fast rule though, so
-resources should be considered an <i>optional</i>
-part of the Rich Client Platform.
-</p>
-<p>
-To create a view without the templates, you can
-use the schema-based extension wizards from the
-Plug-in Manifest editor (Extensions pane > Add > Generic Wizards > Schema-based
-Extensions) or simply edit the XML in the Source pane.
-Either way, you want to end up with extension XML like this:
-</p>
-<pre>
-	&lt;extension
-	      point="org.eclipse.ui.views"&gt;
-	   &lt;category
-	         name="SampleCategory"
-<img src="images/tag_1.gif" height="13" width="24" align="center" alt="#1">	         id="org.eclipse.ui.tutorials.rcp.part3.viewCategory"&gt;
-	   &lt;/category&gt;
-	   &lt;view
-	         name="Sample"
-	         icon="icons/sample.gif"
-	         category="org.eclipse.ui.tutorials.rcp.part3.viewCategory"
-<img src="images/tag_2.gif" height="13" width="24" align="center" alt="#2">	         class="org.eclipse.ui.tutorials.rcp.part3.views.SampleView"
-	         id="org.eclipse.ui.tutorials.rcp.part3.views.SampleView"&gt;
-	   &lt;/view&gt;
-	&lt;/extension&gt;
-</pre>
-<p>
-The view category (<img src="images/tag_1.gif" height="13" width="24" align="center" alt="#1">)
-is a way to organize your views in the
-Show Views dialog.
-The class (<img src="images/tag_2.gif" height="13" width="24" align="center" alt="#2">)
-extends the <code>ViewPart</code> abstract class as shown below:
-</p>
-
-<pre>
-	public class SampleView extends ViewPart {
-<img src="images/tag_1.gif" height="13" width="24" align="center" alt="#1">	    public static final String ID_VIEW =
-	        "org.eclipse.ui.tutorials.rcp.part3.views.SampleView"; //$NON-NLS-1$
-	
-	    private TableViewer viewer;
-	
-	    public SampleView() {
-	    }
-	
-<img src="images/tag_2.gif" height="13" width="24" align="center" alt="#2">	    public void createPartControl(Composite parent) {
-	        viewer =
-	            new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
-	        viewer.setContentProvider(new ViewContentProvider());
-	        viewer.setLabelProvider(new ViewLabelProvider());
-	        viewer.setInput(this);
-	    }
-	
-	    public void setFocus() {
-	        viewer.getControl().setFocus();
-	    }
-	}
-</pre>
-<p>
-Defining constants that start with <code>ID_</code>
-(<img src="images/tag_1.gif" height="13" width="24" align="center" alt="#1">)
-is a pattern you'll see
-used over and over again in the Eclipse source code.
-Here we use it to duplicate the same id used in the
-plug-in manifest.
-This will be used later when we need a reference to the view.
-</p>
-<p>
-The most important part of this class is the <code>createPartControl</code> method
-(<img src="images/tag_2.gif" height="13" width="24" align="center" alt="#2">).
-It's where you create your JFace or SWT controls that make
-up the view.
-The rest of the source was can be found in the example zip file.
-View programming is beyond the scope of this tutorial
-but you can see the reference section for more information.
-</p>
-
-<h2>Perspective additions</h2>
-<p>
-If you run the code now you won't actually see anything different.
-Why? Because your new view can't appear unless it is added
-to the current perspective.
-You can do this through code or though the org.eclipse.ui.perspectiveExtensions
-extension.
-We'll choose the former because it's a little more flexible.
-To do this, go back to the <code>RcpPerspective</code> class
-defined earlier and modify it to look like this:
-</p>
-
-<pre>
-	public class RcpPerspective implements IPerspectiveFactory {
-<img src="images/tag_1.gif" height="13" width="24" align="center" alt="#1">	    public static final String ID_PERSPECTIVE =
-	        "org.eclipse.ui.tutorials.rcp.part3.RcpPerspective"; //$NON-NLS-1$
-	
-	    public RcpPerspective() {
-	    }
-	
-	    public void createInitialLayout(IPageLayout layout) {
-<img src="images/tag_2.gif" height="13" width="24" align="center" alt="#2">	        layout.setEditorAreaVisible(false);
-<img src="images/tag_3.gif" height="13" width="24" align="center" alt="#3">	        layout.addView(
-	            SampleView.ID_VIEW,
-	            IPageLayout.TOP,
-	            IPageLayout.RATIO_MAX,
-	            IPageLayout.ID_EDITOR_AREA);
-<img src="images/tag_4.gif" height="13" width="24" align="center" alt="#4">	        layout.addPerspectiveShortcut(ID_PERSPECTIVE);
-<img src="images/tag_5.gif" height="13" width="24" align="center" alt="#5">	        layout.addShowViewShortcut(SampleView.ID_VIEW);
-	    }
-	}
-</pre>
-<p>
-Notes:
-</p>
-<table border="0">
-<tr valign="top"><td><img src="images/tag_1.gif" height="13" width="24" align="center" alt="#1">
-<td>Again, just get in the habit of
-defining a constant for all strings, especially ids.
-<tr valign="top"><td><img src="images/tag_2.gif" height="13" width="24" align="center" alt="#2">
-<td>The Platform supports editors but we're not using
-one for this example. Therefore you need to turn off the
-editor area so you won't have a big blank space in the middle
-of your Workbench Window.
-<tr valign="top"><td><img src="images/tag_3.gif" height="13" width="24" align="center" alt="#3">
-<td>This is the most important part of the class.
-It adds the view to the perspective so it will be visible by default.
-The positioning parameters say to place this view above the
-editor area and let it take 100% of the Workbench Window.
-This might be a little strange since we don't have an editor area but
-it's lurking around somewhere even if it's invisible.
-As you add more than one view to your application you can
-define the default stacking and layout of your views here.
-<tr valign="top"><td><img src="images/tag_4.gif" height="13" width="24" align="center" alt="#4">
-<td>This method causes the perspective to be
-on the short list if you implement the <code>PERSPECTIVES_SHORTLIST</code>
-menu item (see the sample code for an example).
-Without it, the perspective will only be on the long list seen
-when the user selects Window > Open Perspective > Other (or whatever
-the equivalent menu path is in your application).
-<tr valign="top"><td><img src="images/tag_5.gif" height="13" width="24" align="center" alt="#5">
-<td>Same thing, only for views.
-</table>
-
-<h3>Fixed views</h3>
-<p>
-By default, views will be moveable, resizeable, and closable.
-Often you don't want that flexibility.
-For example, if you're writing an order entry application
-for unsophisticated users, you don't want to have to answer
-help desk questions about what to do if somebody accidentally closes
-the form view.
-For this reason Eclipse 3.0 introduces the notion of fixed
-perspectives and fixed views.
-</p>
-<p>
-A fixed view is a view that cannot be closed.
-The title bar of the view doesn't even have a close button.
-To create one of these you can use the <code>addFixedView()</code>
-method on <code>IPageLayout</code>.
-</p>
-<p>
-A better way might be to use a fixed perspective.
-A fixed perspective makes all of the views it contains fixed,
-plus it prevents any of them from being moved or resized.
-To make a perspective fixed, simply add the <code>fixed="true"</code>
-attribute to its definition,
-for example:
-</p>
-<pre>
-    &lt;extension
-        point=&quot;org.eclipse.ui.perspectives&quot;&gt;
-        &lt;perspective
-            name=&quot;%perspectiveName&quot;
-            <b>fixed=&quot;true&quot;</b>
-            class=&quot;org.eclipse.ui.tutorials.rcp.part1.RcpPerspective&quot;
-            id=&quot;org.eclipse.ui.tutorials.rcp.part1.RcpPerspective&quot;&gt;
-        &lt;/perspective&gt;
-    &lt;/extension&gt;
-</pre>
-<p>
-By using a fixed perspective and turning off the shortcut bar, you
-can lock the user into one perspective and hide the concept of perspectives
-from them altogether.
-</p>
-
-<h2>Menus</h2>
-<p>
-Letting you configure all the menus was one of the first
-requirements of the RCP.
-There are two ways to add menus in an RCP application:
-</p>
-<ul>
-<li><code>WorkbenchAdvisor.fillActionBars</code>
-<li><code>org.eclipse.ui.actionSets</code> in the plug-in manifest
-</ul>
-<p>
-<code>fillActionBars</code> is the only way to reference built-in 
-Workbench actions, so we'll use it for that purpose.
-Everything else can be contributed by the <code>actionSets</code> extension point.
-Both methods will be demonstrated here.
-Although the example application does not use
-toolbars, they are very similar to menus.
-</p>
-<p>
-First let's take a look at <code>fillActionBars</code>:
-</p>
-<pre>
-	public void fillActionBars(
-	    IWorkbenchWindow window,
-	    IActionBarConfigurer configurer,
-	    int flags) {
-	    super.fillActionBars(window, configurer, flags);
-<img src="images/tag_1.gif" height="13" width="24" align="center" alt="#1">      if ((flags & FILL_MENU_BAR) != 0) {
-	        fillMenuBar(window, configurer);
-	    }
-	}
-</pre>
-<p>
-<code>fillActionBars</code> is takes a flags parameter
-(<img src="images/tag_1.gif" height="13" width="24" align="center" alt="#1">)
-that indicates what
-the code should really do.
-There are flag bits for filling in the menu bar, the tool bar,
-the status line, and even a bit for whether or not this is a fake
-request for preference dialogs (<code>FILL_PROXY</code>).
-The author has had some bad experiences with flags like this,
-so the example code just calls a helper function called <code>fillMenuBar</code>
-to do the actual filling.
-Here's the code for <code>fillMenuBar</code>:
-</p>
-<pre>
-	private void fillMenuBar(
-	    IWorkbenchWindow window,
-	    IActionBarConfigurer configurer) {
-	    IMenuManager menuBar = configurer.getMenuManager();
-	    menuBar.add(createFileMenu(window));
-	    menuBar.add(createEditMenu(window));
-	    menuBar.add(createWindowMenu(window));
-	    menuBar.add(createHelpMenu(window));
-	}
-</pre>
-<p>
-For this example we want to create four top-level
-menus: File, Edit, Window, and Help.
-These correspond to the menus of the same name
-in the Eclipse IDE.
-For a real application you may not want all these,
-or you might want to call them something different.
-See figure 1 for an example.
-</p>
-
-<img src="images/complete.png">
-<p><b>Figure 1. The Workbench menu bar is defined
-in the <code>fillActionBars</code> method of <code>WorkbenchAdvisor</code>,
-and then added to by the manifests of
-all plug-ins that extend <code>org.eclipse.ui.actionSets</code>.
-</b></p>
-
-<p>
-The code for all these methods can be found in the example project.
-Let's just take a closer look at one of of them, the File menu:
-</p>
-
-<pre>
-	private MenuManager createFileMenu(IWorkbenchWindow window) {
-<img src="images/tag_1.gif" height="13" width="24" align="center" alt="#1">	    MenuManager menu = new MenuManager(Messages.getString("File"), //$NON-NLS-1$
-	        IWorkbenchActionConstants.M_FILE);
-<img src="images/tag_2.gif" height="13" width="24" align="center" alt="#2">	    menu.add(new GroupMarker(IWorkbenchActionConstants.FILE_START));
-	    menu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-<img src="images/tag_3.gif" height="13" width="24" align="center" alt="#3">	    menu.add(ActionFactory.QUIT.create(window));
-	    menu.add(new GroupMarker(IWorkbenchActionConstants.FILE_END));
-	    return menu;
-	}
-</pre>
-<p>
-All these menus work the same way.
-First you create a MenuManager for the menu
-(<img src="images/tag_1.gif" height="13" width="24" align="center" alt="#1">)
-using the message file to lookup the actual human-readable title.
-Then you add all the menu items and return the manager.
-See the references section for more information about defining views and menus.
-Next, you create some placeholders
-(<img src="images/tag_2.gif" height="13" width="24" align="center" alt="#2">)
-where additional
-menu items can be added by plug-ins,
-and one real action supplied by the Workbench: the Quit action
-(<img src="images/tag_3.gif" height="13" width="24" align="center" alt="#3">).
-A list of supported Workbench actions can be found by
-looking at the Javadoc for <code>ActionFactory</code> and
-<code>ContributionItemFactory</code>.
-</p>
-<p>
-<img src="images/note.gif" alt="Note: " width="62" height="13">
-There are a number of standard placeholder names
-for menus and toolbars
-that you should use when trying to make yours work just
-like the ones in the IDE.
-By using these predefined groups, plug-ins that contribute menu
-and toolbar items to the Eclipse IDE can also contribute them
-to your RCP application.
-These aren't documented anywhere other than in the Javadoc for
-<code>IWorkbenchActionConstants</code>, and even there you won't find any guidance
-for their intended order.
-The sample code that accompanies this tutorial was created by looking at the
-<code>IDEWorkbenchAdvisor</code> class used by the Eclipse IDE.
-</p>
-
-<h2>Help</h2>
-<p>
-One of the coolest features of the RCP is its help system.
-Simply by providing the table of contents in
-XML format and the documents in HTML,
-you can give your users a searchable help
-system with no coding on your part.
-First, you add an extension to your plug-in manifest like this:
-</p>
-<pre>
-	&lt;extension
-	      point="org.eclipse.help.toc"&gt;
-	   &lt;toc
-	         file="book.xml"
-	         primary="true"&gt;
-	   &lt;/toc&gt;
-	&lt;/extension&gt;
-</pre>
-
-<p>
-Then you create a table of contents file (book.xml in this example)
-to define a hierarchy of help topics.
-Not all the topics have to be in the contents but it is
-good practice to do so.
-Here's an example you can use to get started:
-</p>
-<pre>
-	&lt;toc label="RCP Help Sample"  topic="html/book.html"&gt;
-	   &lt;topic label="Overview" href="html/overview.html"/&gt;
-	&lt;/toc&gt;
-</pre>
-<p>
-See the references section for more information on writing
-and organizing help files, including internationalization.
-</p>
-<p>
-When you're debugging or deploying an RCP application
-that includes help you'll need to include 
-several more help related plug-ins.
-Here's the current list (subject to change in future builds):
-</p>
-<ul>
-<li><code>org.apache.ant</code>
-<li><code>org.apache.lucene</code>
-<li><code>org.eclipse.help.appserver</code>
-<li><code>org.eclipse.help.base</code>
-<li><code>org.eclipse.help.ui</code>
-<li><code>org.eclipse.help.webapp</code>
-<li><code>org.eclipse.tomcat</code>
-</ul>
-<p>
-See <code>createHelpMenu()</code> in the example for code
-to add the Help Contents action to your Help menu.
-When you select it, this action will fire up a
-help browser like the one shown in figure 2.
-</p>
-
-<img src="images/help.png">
-<p><b>Figure 2. The Rich Client Platform provides a
-full featured online help framework so you don't have to.
-All you do is provide the content.
-</b></p>
-
-<h2>Build.properties</h2>
-<p>
-As you add more resources to your plug-in such as html files,
-icons, the help table of contents, and so forth,
-don't forget to update your build.properties file to
-include all the files and/or directories that need to be
-available to the plug-in at run time.
-Here is the updated build.properties XML file containing everything
-needed for the example in this section:
-</p>
-<pre>
-bin.includes = plugin.xml,\
-               *.jar,\
-               part3.jar,\
-               plugin.properties,\
-               <b>book.xml,\</b>
-               <b>html/,\</b>
-               <b>icons/</b>
-source.part3.jar = src/
-</pre>
-
-<h2>Conclusion</h2>
-<p>
-In the final part of this tutorial, we 
-added a simple view, some menus, and help files
-to a create a sample RCP application.
-Hopefully you can can use this example as a reference in
-your own projects.
-All the sample code for this part may be viewed at the
-<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.ui.tutorials.rcp.part3">Eclipse project here</a>.
-You can use
-<a href="http://dev.eclipse.org/cvshowto.html">Eclipse's built-in CVS client</a>
-to download the source to your workspace.
-</p>
-<p>
-Congratulations!
-If you made it this far, you are
-well on your way to developing your own
-Rich Client Platform applications.
-Take a look at the references below for more information
-and community sites and mailing lists where
-you can meet other people using RCP.
-</p>
-
-<h2>References</h2>
-<p>
-<a href="http://dev.eclipse.org/viewcvs/index.cgi/%7echeckout%7e/org.eclipse.ui.tutorials.rcp.part1/html/tutorial1.html">
-RCP Tutorial Part 1</a><br>
-<a href="http://dev.eclipse.org/viewcvs/index.cgi/%7echeckout%7e/org.eclipse.ui.tutorials.rcp.part2/html/tutorial2.html">
-RCP Tutorial Part 2</a><br>
-<a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-ui-home/rcp-proposal/rich_client_platform_facilities.html">
-Rich Client Platform Facilities</a><br>
-<a href="http://www.eclipse.org/articles/viewArticle/ViewArticle2.html">
-Creating an Eclipse View</a><br>
-<a href="http://www.eclipse.org/articles/Article-Online%20Help%20for%202_0/help1.htm">
-Contributing a Little Help</a><br>
-<a href="http://www.eclipsepowered.org">
-Eclipse Powered (rich client plug-ins and resources)</a><br>
-</p>
-
-<p><small>IBM is trademark of International Business Machines Corporation in the
-United States, other countries, or both.</small></p>
-<p><small>Java and all Java-based trademarks and logos are trademarks or
-registered trademarks of Sun Microsystems, Inc. in the United States, other
-countries, or both.</small></p>
-<p><small>Microsoft and Windows are trademarks of Microsoft Corporation in the
-United States, other countries, or both.</small></p>
-<p><small>Other company, product, and service names may be trademarks or service
-marks of others.</small></p>
-
-</body>
-
-</html>
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/icons/sample.gif b/bundles/org.eclipse.ui.tutorials.rcp.part3/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/plugin.properties b/bundles/org.eclipse.ui.tutorials.rcp.part3/plugin.properties
deleted file mode 100644
index 0affcd8..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/plugin.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-pluginName = RcpTutorial3 Plug-in
-providerName = Eclipse.org
-perspectiveName = RcpTutorial3
-categoryName = Sample Category
-viewName = Sample
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/plugin.xml b/bundles/org.eclipse.ui.tutorials.rcp.part3/plugin.xml
deleted file mode 100644
index 607ac39..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/plugin.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui.tutorials.rcp.part3"
-   name="%pluginName"
-   version="0.0.0"
-   provider-name="%providerName">
-
-   <runtime>
-      <library name="part3.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.core.runtime.compatibility"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.help"/>
-      <!-- These are needed at run-time but not at build-time -->
-      <import plugin="org.eclipse.help.ui"/>
-      <import plugin="org.eclipse.help.webapp"/>
-      <import plugin="org.eclipse.tomcat"/>
-   </requires>
-
-
-   <extension
-         id="RcpApplication"
-         point="org.eclipse.core.runtime.applications">
-      <application>
-         <run
-               class="org.eclipse.ui.tutorials.rcp.part3.RcpApplication">
-         </run>
-      </application>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectives">
-      <perspective
-            name="%perspectiveName"
-            icon="icons/sample.gif"
-            fixed="true"
-            class="org.eclipse.ui.tutorials.rcp.part3.RcpPerspective"
-            id="org.eclipse.ui.tutorials.rcp.part3.RcpPerspective">
-      </perspective>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views">
-      <category
-            name="%categoryName"
-            id="org.eclipse.ui.tutorials.rcp.part3.viewCategory">
-      </category>
-      <view
-            name="%viewName"
-            icon="icons/sample.gif"
-            category="org.eclipse.ui.tutorials.rcp.part3.viewCategory"
-            class="org.eclipse.ui.tutorials.rcp.part3.views.SampleView"
-            id="org.eclipse.ui.tutorials.rcp.part3.views.SampleView">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="RCP Action Set"
-            visible="true"
-            id="org.eclipse.ui.tutorials.rcp.part3.actionSet">
-         <action
-               label="&amp;About RCP Tutorial3"
-               class="org.eclipse.ui.tutorials.rcp.part3.actions.AboutAction"
-               menubarPath="help/additions"
-               id="org.eclipse.ui.tutorials.rcp.part3.actions.AboutAction">
-         </action>
-      </actionSet>
-   </extension>
-   <extension
-         point="org.eclipse.help.toc">
-      <toc
-            file="book.xml"
-            primary="true">
-      </toc>
-   </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/rcptutorial3.cmd b/bundles/org.eclipse.ui.tutorials.rcp.part3/rcptutorial3.cmd
deleted file mode 100644
index 3819169..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/rcptutorial3.cmd
+++ /dev/null
@@ -1,5 +0,0 @@
-echo on
-setlocal
-cd %~dp0
-start javaw -cp startup.jar org.eclipse.core.launcher.Main -application org.eclipse.ui.tutorials.rcp.part3.RcpApplication %*
-endlocal
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/rcptutorial3debug.cmd b/bundles/org.eclipse.ui.tutorials.rcp.part3/rcptutorial3debug.cmd
deleted file mode 100644
index 2a99f92..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/rcptutorial3debug.cmd
+++ /dev/null
@@ -1,5 +0,0 @@
-echo on
-setlocal
-cd %~dp0
-java -cp startup.jar org.eclipse.core.launcher.Main -application org.eclipse.ui.tutorials.rcp.part3.RcpApplication -consoleLog %* || pause
-endlocal
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/Messages.java b/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/Messages.java
deleted file mode 100644
index 455fef6..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/Messages.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part3;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class Messages {
-
-    private static final String BUNDLE_NAME = "org.eclipse.ui.tutorials.rcp.part3.RcpTutorial"; //$NON-NLS-1$
-
-    private static final ResourceBundle RESOURCE_BUNDLE =
-        ResourceBundle.getBundle(BUNDLE_NAME);
-
-    private Messages() {
-    }
-
-    public static String getString(String key) {
-        try {
-            return RESOURCE_BUNDLE.getString(key);
-        } catch (MissingResourceException e) {
-            return '!' + key + '!';
-        }
-    }
-}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/RcpApplication.java b/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/RcpApplication.java
deleted file mode 100644
index db262f8..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/RcpApplication.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part3;
-
-import org.eclipse.core.runtime.IPlatformRunnable;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-
-public class RcpApplication implements IPlatformRunnable {
-
-    public Object run(Object args) {
-        WorkbenchAdvisor workbenchAdvisor = new RcpWorkbenchAdvisor();
-        Display display = PlatformUI.createDisplay();
-        try {
-            int returnCode = PlatformUI.createAndRunWorkbench(display,
-                    workbenchAdvisor);
-            if (returnCode == PlatformUI.RETURN_RESTART) {
-                return IPlatformRunnable.EXIT_RESTART;
-            } else {
-                return IPlatformRunnable.EXIT_OK;
-            }
-        } finally {
-            display.dispose();
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/RcpPerspective.java b/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/RcpPerspective.java
deleted file mode 100644
index 1c58dbc..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/RcpPerspective.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part3;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-import org.eclipse.ui.tutorials.rcp.part3.views.SampleView;
-
-public class RcpPerspective implements IPerspectiveFactory {
-    public static final String ID_PERSPECTIVE = "org.eclipse.ui.tutorials.rcp.part3.RcpPerspective"; //$NON-NLS-1$
-
-    public RcpPerspective() {
-    }
-
-    public void createInitialLayout(IPageLayout layout) {
-        layout.setEditorAreaVisible(false);
-        layout.addView(
-            SampleView.ID_VIEW,
-            IPageLayout.TOP,
-            IPageLayout.RATIO_MAX,
-            IPageLayout.ID_EDITOR_AREA);
-        layout.addPerspectiveShortcut(ID_PERSPECTIVE);
-        layout.addShowViewShortcut(SampleView.ID_VIEW);
-    }
-}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/RcpTutorial.properties b/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/RcpTutorial.properties
deleted file mode 100644
index b1dce99..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/RcpTutorial.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-Hello_RCP=Hello, RCP
-File=&File
-Edit=&Edit
-Window=&Window
-Open_Perspective=&Open Perspective
-Show_View=Show &View
-Help=&Help
-AboutTitle=RcpTutorial3
-AboutMessage=RCP tutorial about box goes here.
-One=One
-Two=Two
-Three=Three
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/RcpWorkbenchAdvisor.java b/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/RcpWorkbenchAdvisor.java
deleted file mode 100644
index 49473b5..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/RcpWorkbenchAdvisor.java
+++ /dev/null
@@ -1,130 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part3;
-
-import org.eclipse.jface.action.GroupMarker;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.ContributionItemFactory;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-
-public class RcpWorkbenchAdvisor extends WorkbenchAdvisor {
-
-	public String getInitialWindowPerspectiveId() {
-		return RcpPerspective.ID_PERSPECTIVE;
-	}
-
-	public void initialize(IWorkbenchConfigurer configurer) {
-		super.initialize(configurer);
-		configurer.setSaveAndRestore(true);
-	}
-
-	public void preWindowOpen(IWorkbenchWindowConfigurer configurer) {
-		super.preWindowOpen(configurer);
-		configurer.setInitialSize(new Point(400, 300));
-		configurer.setShowCoolBar(false);
-		configurer.setShowStatusLine(false);
-		configurer.setTitle(Messages.getString("Hello_RCP")); //$NON-NLS-1$
-	}
-
-	public void fillActionBars(IWorkbenchWindow window, IActionBarConfigurer configurer, int flags) {
-		super.fillActionBars(window, configurer, flags);
-		if ((flags & FILL_MENU_BAR) != 0) {
-			fillMenuBar(window, configurer);
-		}
-	}
-
-	private void fillMenuBar(IWorkbenchWindow window, IActionBarConfigurer configurer) {
-		IMenuManager menuBar = configurer.getMenuManager();
-		menuBar.add(createFileMenu(window));
-		menuBar.add(createEditMenu(window));
-		menuBar.add(createWindowMenu(window));
-		menuBar.add(createHelpMenu(window));
-	}
-
-	private MenuManager createFileMenu(IWorkbenchWindow window) {
-		MenuManager menu = new MenuManager(Messages.getString("File"), //$NON-NLS-1$
-				IWorkbenchActionConstants.M_FILE);
-		menu.add(new GroupMarker(IWorkbenchActionConstants.FILE_START));
-		menu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-		menu.add(ActionFactory.QUIT.create(window));
-		menu.add(new GroupMarker(IWorkbenchActionConstants.FILE_END));
-		return menu;
-	}
-
-	private MenuManager createEditMenu(IWorkbenchWindow window) {
-		MenuManager menu = new MenuManager(Messages.getString("Edit"), //$NON-NLS-1$
-				IWorkbenchActionConstants.M_EDIT);
-		menu.add(new GroupMarker(IWorkbenchActionConstants.EDIT_START));
-
-		menu.add(ActionFactory.UNDO.create(window));
-		menu.add(ActionFactory.REDO.create(window));
-		menu.add(new GroupMarker(IWorkbenchActionConstants.UNDO_EXT));
-		menu.add(new Separator());
-
-		menu.add(ActionFactory.CUT.create(window));
-		menu.add(ActionFactory.COPY.create(window));
-		menu.add(ActionFactory.PASTE.create(window));
-		menu.add(new GroupMarker(IWorkbenchActionConstants.CUT_EXT));
-		menu.add(new Separator());
-
-		menu.add(ActionFactory.DELETE.create(window));
-		menu.add(ActionFactory.SELECT_ALL.create(window));
-		menu.add(new Separator());
-
-		menu.add(new GroupMarker(IWorkbenchActionConstants.ADD_EXT));
-
-		menu.add(new GroupMarker(IWorkbenchActionConstants.EDIT_END));
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-		return menu;
-	}
-
-	private MenuManager createWindowMenu(IWorkbenchWindow window) {
-		MenuManager menu = new MenuManager(Messages.getString("Window"), //$NON-NLS-1$
-				IWorkbenchActionConstants.M_WINDOW);
-
-		menu.add(ActionFactory.OPEN_NEW_WINDOW.create(window));
-
-		menu.add(new Separator());
-		MenuManager perspectiveMenu = new MenuManager(Messages.getString("Open_Perspective"), "openPerspective"); //$NON-NLS-1$ $NON-NLS-2$
-		IContributionItem perspectiveList = ContributionItemFactory.PERSPECTIVES_SHORTLIST.create(window);
-		perspectiveMenu.add(perspectiveList);
-		menu.add(perspectiveMenu);
-
-		MenuManager viewMenu = new MenuManager(Messages.getString("Show_View")); //$NON-NLS-1$
-		IContributionItem viewList = ContributionItemFactory.VIEWS_SHORTLIST.create(window);
-		viewMenu.add(viewList);
-		menu.add(viewMenu);
-
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-
-		menu.add(ActionFactory.PREFERENCES.create(window));
-
-		menu.add(ContributionItemFactory.OPEN_WINDOWS.create(window));
-
-		return menu;
-	}
-
-	private MenuManager createHelpMenu(IWorkbenchWindow window) {
-		MenuManager menu = new MenuManager(Messages.getString("Help"), IWorkbenchActionConstants.M_HELP); //$NON-NLS-1$
-		// Welcome or intro page would go here
-		menu.add(ActionFactory.HELP_CONTENTS.create(window));
-		// Tips and tricks page would go here
-		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
-		// To use the real RCP About dialog uncomment these lines
-		// menu.add(new Separator());
-		// menu.add(ActionFactory.ABOUT.create(window));
-
-		return menu;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/actions/AboutAction.java b/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/actions/AboutAction.java
deleted file mode 100644
index e243bfe..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/actions/AboutAction.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part3.actions;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-import org.eclipse.ui.tutorials.rcp.part3.Messages;
-
-public class AboutAction implements IWorkbenchWindowActionDelegate {
-    private IWorkbenchWindow window;
-
-    public AboutAction() {
-    }
-
-    public void run(IAction action) {
-        MessageDialog.openInformation(window.getShell(),
-            Messages.getString("AboutTitle"), //$NON-NLS-1$
-            Messages.getString("AboutMessage")); //$NON-NLS-1$
-    }
-
-    public void selectionChanged(IAction action, ISelection selection) {
-    }
-
-    public void dispose() {
-    }
-
-    public void init(IWorkbenchWindow window) {
-        this.window = window;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/views/SampleView.java b/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/views/SampleView.java
deleted file mode 100644
index cb0f0c6..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/views/SampleView.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part3.views;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.ViewPart;
-import org.eclipse.ui.tutorials.rcp.part3.Messages;
-
-public class SampleView extends ViewPart {
-    public static final String ID_VIEW = "org.eclipse.ui.tutorials.rcp.part3.views.SampleView"; //$NON-NLS-1$
-
-    private TableViewer viewer;
-
-    class ViewContentProvider implements IStructuredContentProvider {
-        public void inputChanged(Viewer v, Object oldInput, Object newInput) {
-        }
-        public void dispose() {
-        }
-        public Object[] getElements(Object parent) {
-            return new String[] { Messages.getString("One"), //$NON-NLS-1$
-                Messages.getString("Two"), //$NON-NLS-1$
-                Messages.getString("Three")}; //$NON-NLS-1$
-        }
-    }
-    class ViewLabelProvider
-        extends LabelProvider
-        implements ITableLabelProvider {
-        public String getColumnText(Object obj, int index) {
-            return getText(obj);
-        }
-        public Image getColumnImage(Object obj, int index) {
-            return getImage(obj);
-        }
-        public Image getImage(Object obj) {
-            return PlatformUI.getWorkbench().getSharedImages().getImage(
-                ISharedImages.IMG_OBJ_ELEMENT);
-        }
-    }
-
-    public SampleView() {
-    }
-
-    public void createPartControl(Composite parent) {
-        viewer =
-            new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
-        viewer.setContentProvider(new ViewContentProvider());
-        viewer.setLabelProvider(new ViewLabelProvider());
-        viewer.setInput(this);
-    }
-
-    public void setFocus() {
-        viewer.getControl().setFocus();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/.classpath b/bundles/org.eclipse.ui.views/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/bundles/org.eclipse.ui.views/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.ui.views/.cvsignore b/bundles/org.eclipse.ui.views/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/bundles/org.eclipse.ui.views/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/bundles/org.eclipse.ui.views/.project b/bundles/org.eclipse.ui.views/.project
deleted file mode 100644
index 0d416b9..0000000
--- a/bundles/org.eclipse.ui.views/.project
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.views</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.core.runtime.compatibility</project>
-		<project>org.eclipse.help</project>
-		<project>org.eclipse.ui</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.views/about.html b/bundles/org.eclipse.ui.views/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/bundles/org.eclipse.ui.views/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.views/build.properties b/bundles/org.eclipse.ui.views/build.properties
deleted file mode 100644
index 9e050b6..0000000
--- a/bundles/org.eclipse.ui.views/build.properties
+++ /dev/null
@@ -1,17 +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 Corporation - initial API and implementation
-###############################################################################
-bin.includes = icons/,\
-               plugin.properties,\
-               plugin.xml,\
-               about.html,\
-               *.jar
-src.includes = about.html
-source.views.jar = src/
diff --git a/bundles/org.eclipse.ui.views/icons/full/eview16/outline_co.gif b/bundles/org.eclipse.ui.views/icons/full/eview16/outline_co.gif
deleted file mode 100644
index 0dc862c..0000000
--- a/bundles/org.eclipse.ui.views/icons/full/eview16/outline_co.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.views/icons/full/eview16/prop_ps.gif b/bundles/org.eclipse.ui.views/icons/full/eview16/prop_ps.gif
deleted file mode 100644
index d11c996..0000000
--- a/bundles/org.eclipse.ui.views/icons/full/eview16/prop_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.views/plugin.properties b/bundles/org.eclipse.ui.views/plugin.properties
deleted file mode 100644
index 1c35449..0000000
--- a/bundles/org.eclipse.ui.views/plugin.properties
+++ /dev/null
@@ -1,20 +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 Corporation - initial API and implementation
-###############################################################################
-pluginName= Views
-providerName= Eclipse.org
-
-Views.PropertySheet = Properties
-Views.ContentOutline = Outline
-
-ViewCommand.propertySheet.name= Properties
-ViewCommand.propertySheet.description= Show the Properties view
-ViewCommand.contentOutline.name= Outline
-ViewCommand.contentOutline.description= Show the Outline view
diff --git a/bundles/org.eclipse.ui.views/plugin.xml b/bundles/org.eclipse.ui.views/plugin.xml
deleted file mode 100644
index e447fb8..0000000
--- a/bundles/org.eclipse.ui.views/plugin.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui.views"
-   name="%pluginName"
-   version="3.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.ui.internal.views.ViewsPlugin">
-
-   <runtime>
-      <library name="views.jar">
-         <export name="*"/>
-         <packages prefixes="org.eclipse.ui.views, org.eclipse.ui.internal.views"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.help"/>
-      <import plugin="org.eclipse.ui"/>
-   </requires>
-
-
-   <extension
-         point="org.eclipse.ui.views">
-      <view
-            name="%Views.PropertySheet"
-            icon="icons/full/eview16/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/eview16/outline_co.gif"
-            category="org.eclipse.ui"
-            class="org.eclipse.ui.views.contentoutline.ContentOutline"
-            id="org.eclipse.ui.views.ContentOutline">
-      </view>
-   </extension>
-
-   <extension
-         point="org.eclipse.ui.commands">
-      <command
-            name="%ViewCommand.propertySheet.name"
-            description="%ViewCommand.propertySheet.description"
-            category="org.eclipse.ui.category.views"
-            id="org.eclipse.ui.views.PropertySheet">
-      </command>
-      <command
-            name="%ViewCommand.contentOutline.name"
-            description="%ViewCommand.contentOutline.description"
-            category="org.eclipse.ui.category.views"
-            id="org.eclipse.ui.views.ContentOutline">
-      </command>
-      <keyBinding
-            string="Alt+Shift+Q O"
-            scope="org.eclipse.ui.globalScope"
-            command="org.eclipse.ui.views.ContentOutline"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            string="Alt+Shift+Q O"
-            scope="org.eclipse.ui.globalScope"
-            command=""
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            string="Command+Alt+Q O"
-            scope="org.eclipse.ui.globalScope"
-            command="org.eclipse.ui.views.ContentOutline"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-   </extension>
-   
-</plugin>
diff --git a/bundles/org.eclipse.ui.views/scripts/exportplugin.xml b/bundles/org.eclipse.ui.views/scripts/exportplugin.xml
deleted file mode 100644
index 5e71e54..0000000
--- a/bundles/org.eclipse.ui.views/scripts/exportplugin.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<project name="Eclipse Views" default="export" basedir="..">
-	<target name="init">
-		<tstamp/>
-		<property name="destdir" value="../../plugin-export" />
-		<property name="plugin"  value="org.eclipse.ui.views" />
-		<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}/views.jar"
-			basedir="bin"
-		/>
-		<copy file="plugin.xml" todir="${dest}"/>
-		<copy file="plugin.properties" todir="${dest}"/>
-		<zip zipfile="${dest}/viewssrc.zip">
-		    <fileset dir="src" />
-		    <fileset dir="extensions" />
-  		</zip>				
-	</target>
-</project>
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/ViewsPlugin.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/ViewsPlugin.java
deleted file mode 100644
index 1d8544a..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/ViewsPlugin.java
+++ /dev/null
@@ -1,49 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.views;
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * The plug-in runtime class for the views UI plug-in (id <code>"org.eclipse.ui.views"</code>).
- * <p>
- * This class provides static methods and fields only; it is not intended to be
- * instantiated or subclassed by clients.
- * </p>
- * 
- * @since 2.1
- */
-public final class ViewsPlugin extends AbstractUIPlugin {
-	/**
-	 * Views UI plug-in id (value <code>"org.eclipse.ui.views"</code>).
-	 */
-	public static final String PLUGIN_ID = "org.eclipse.ui.views"; //$NON-NLS-1$
-
-	private static ViewsPlugin instance;
-	
-	/**
-	 * Returns the singleton instance.
-	 * 
-	 * @return the singleton instance.
-	 */
-	public static ViewsPlugin getDefault() {
-		return instance;
-	}
-	/**
-	 * Creates a new instance of the receiver.
-	 * 
-	 * @see org.eclipse.core.runtime.Plugin#Plugin()
-	 */
-	public ViewsPlugin() {
-		super();
-		instance = this;
-	}
-}
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/ContentOutline.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/ContentOutline.java
deleted file mode 100644
index f25ef32..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/ContentOutline.java
+++ /dev/null
@@ -1,226 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.contentoutline;
-
-import org.eclipse.swt.widgets.Composite;
-
-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.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.part.IContributedContentsView;
-import org.eclipse.ui.part.IPage;
-import org.eclipse.ui.part.IPageBookViewPage;
-import org.eclipse.ui.part.IPageSite;
-import org.eclipse.ui.part.MessagePage;
-import org.eclipse.ui.part.PageBook;
-import org.eclipse.ui.part.PageBookView;
-
-/**
- * Main class for the Content Outline View.
- * <p>
- * This standard view has id <code>"org.eclipse.ui.views.ContentOutline"</code>.
- * </p>
- * When a <b>content outline view</b> notices an editor being activated, it 
- * asks the editor whether it has a <b>content outline page</b> to include
- * in the outline view. This is done using <code>getAdapter</code>:
- * <pre>
- * IEditorPart editor = ...;
- * IContentOutlinePage outlinePage = (IContentOutlinePage) editor.getAdapter(IContentOutlinePage.class);
- * if (outlinePage != null) {
- *    // editor wishes to contribute outlinePage to content outline view
- * }
- * </pre>
- * If the editor supports a content outline page, the editor instantiates
- * and configures the page, and returns it. This page is then added to the 
- * content outline view (a pagebook which presents one page at a time) and 
- * immediately made the current page (the content outline view need not be
- * visible). If the editor does not support a content outline page, the content
- * outline view shows a special default page which makes it clear to the user
- * that the content outline view is disengaged. A content outline page is free
- * to report selection events; the content outline view forwards these events 
- * along to interested parties. When the content outline view notices a
- * different editor being activated, it flips to the editor's corresponding
- * content outline page. When the content outline view notices an editor being
- * closed, it destroys the editor's corresponding content outline page.
- * </p>
- * <p>
- * The workbench will automatically instantiate this class when a Content
- * Outline view is needed for a workbench window. This class was not intended
- * to be instantiated or subclassed by clients.
- * </p>
- */
-public class ContentOutline extends PageBookView implements ISelectionProvider, ISelectionChangedListener {
-
-	private static java.util.ResourceBundle resoutline_nls = java.util.ResourceBundle.getBundle("org.eclipse.ui.views.contentoutline.messages");  //$NON-NLS-1$
-	public static final String PREFIX = PlatformUI.PLUGIN_ID + "."; //$NON-NLS-1$
-
-	/**
-	 * Help context id used for the content outline view
-	 * (value <code>"org.eclipse.ui.content_outline_context"</code>).
-	 */
-	public static final String CONTENT_OUTLINE_VIEW_HELP_CONTEXT_ID = PREFIX + "content_outline_context";//$NON-NLS-1$
-
-	/**
-	 * Message to show on the default page.
-	 */
-	private String defaultText = resoutline_nls.getString("ContentOutline.noOutline"); //$NON-NLS-1$
-
-/**
- * Creates a content outline view with no content outline pages.
- */
-public ContentOutline() {
-	super();
-}
-/* (non-Javadoc)
- * Method declared on ISelectionProvider.
- */
-public void addSelectionChangedListener(ISelectionChangedListener listener) {
-	getSelectionProvider().addSelectionChangedListener(listener);	
-}
-/* (non-Javadoc)
- * Method declared on PageBookView.
- */
-protected IPage createDefaultPage(PageBook book) {
-	MessagePage page = new MessagePage();
-	initPage(page);
-	page.createControl(book);
-	page.setMessage(defaultText);
-	return page;
-}
-/**
- * The <code>PageBookView</code> implementation of this <code>IWorkbenchPart</code>
- * method creates a <code>PageBook</code> control with its default page showing.
- */
-public void createPartControl(Composite parent) {
-	super.createPartControl(parent);
-	WorkbenchHelp.setHelp(getPageBook(), CONTENT_OUTLINE_VIEW_HELP_CONTEXT_ID);
-}
-/* (non-Javadoc)
- * Method declared on PageBookView.
- */
-protected PageRec doCreatePage(IWorkbenchPart part) 
-{
-	// Try to get an outline page.
-	Object obj = part.getAdapter(IContentOutlinePage.class);
-	if (obj instanceof IContentOutlinePage) {
-		IContentOutlinePage page = (IContentOutlinePage)obj;
-		if (page instanceof IPageBookViewPage) 
-			initPage((IPageBookViewPage)page);
-		page.createControl(getPageBook());
-		return new PageRec(part, page);
-	}
-	// There is no content outline
-	return null;
-}
-/* (non-Javadoc)
- * Method declared on PageBookView.
- */
-protected void doDestroyPage(IWorkbenchPart part, PageRec rec) {
-	IContentOutlinePage page = (IContentOutlinePage) rec.page;
-	page.dispose();
-	rec.dispose();
-}
-/* (non-Javadoc)
- * Method declared on IAdaptable.
- */
-public Object getAdapter(Class key) {
-	if (key == IContributedContentsView.class)
-		return new IContributedContentsView () {
-			public IWorkbenchPart getContributingPart() {
-				return getContributingEditor();
-			}
-		};
-	return super.getAdapter(key);
-}
-/* (non-Javadoc)
- * Method declared on PageBookView.
- */
-protected IWorkbenchPart getBootstrapPart() {
-	IWorkbenchPage page = getSite().getPage();
-	if (page != null)
-		return page.getActiveEditor();
-	else
-		return null;
-}
-/**
- * Returns the editor which contributed the current 
- * page to this view.
- *
- * @return the editor which contributed the current page
- * or <code>null</code> if no editor contributed the current page
- */
-private IWorkbenchPart getContributingEditor() {
-	return getCurrentContributingPart();
-}
-/* (non-Javadoc)
- * Method declared on ISelectionProvider.
- */
-public ISelection getSelection() {
-	// get the selection from the selection provider
-	return getSelectionProvider().getSelection();
-}
-/* (non-Javadoc)
- * Method declared on PageBookView.
- * We only want to track editors.
- */
-protected boolean isImportant(IWorkbenchPart part) {
-	//We only care about editors
-	return (part instanceof IEditorPart);
-}
-/* (non-Javadoc)
- * Method declared on IViewPart.
- * Treat this the same as part activation.
- */
-public void partBroughtToTop(IWorkbenchPart part) {
-	partActivated(part);
-}
-/* (non-Javadoc)
- * Method declared on ISelectionProvider.
- */
-public void removeSelectionChangedListener(ISelectionChangedListener listener) {
-	getSelectionProvider().removeSelectionChangedListener(listener);
-}
-/* (non-Javadoc)
- * Method declared on ISelectionChangedListener.
- */
-public void selectionChanged(SelectionChangedEvent event) {
-	getSelectionProvider().selectionChanged(event);
-}
-/* (non-Javadoc)
- * Method declared on ISelectionProvider.
- */
-public void setSelection(ISelection selection) {
-	getSelectionProvider().setSelection(selection);
-}
-/**
- * The <code>ContentOutline</code> implementation of this <code>PageBookView</code> method
- * extends the behavior of its parent to use the current page as a selection provider.
- * 
- * @param pageRec the page record containing the page to show
- */
-protected void showPageRec(PageRec pageRec) {
-	IPageSite pageSite = getPageSite(pageRec.page);
-	ISelectionProvider provider = pageSite.getSelectionProvider();
-	if (provider == null && (pageRec.page instanceof IContentOutlinePage)) 
-		// This means that the page did not set a provider during its initialization 
-		// so for backward compatibility we will set the page itself as the provider.
-		pageSite.setSelectionProvider((IContentOutlinePage)pageRec.page); 
-	super.showPageRec(pageRec);
-}
-}
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/ContentOutlinePage.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/ContentOutlinePage.java
deleted file mode 100644
index 35fa399..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/ContentOutlinePage.java
+++ /dev/null
@@ -1,151 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.contentoutline;
-
-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.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.part.IPageSite;
-import org.eclipse.ui.part.Page;
-
-/**
- * An abstract base class for content outline pages.
- * <p>
- * Clients who are defining an editor may elect to provide a corresponding
- * content outline page. This content outline page will be presented to the
- * user via the standard Content Outline View (the user decides whether their
- * workbench window contains this view) whenever that editor is active.
- * This class should be subclassed.
- * </p>
- * <p>
- * Internally, each content outline page consists of a standard tree viewer; 
- * selections made in the tree viewer are reported as selection change events 
- * by the page (which is a selection provider). The tree viewer is not created 
- * until <code>createPage</code> is called; consequently, subclasses must extend
- * <code>createControl</code> to configure the tree viewer with a proper content 
- * provider, label provider, and input element.
- * </p>
- * <p>
- * Note that those wanting to use a control other than internally created
- * <code>TreeViewer</code> will need to implement 
- * <code>IContentOutlinePage</code> directly rather than subclassing this class.
- * </p> 
- */
-public abstract class ContentOutlinePage extends Page implements IContentOutlinePage, ISelectionChangedListener {
-	private ListenerList selectionChangedListeners = new ListenerList();
-	private TreeViewer treeViewer;
-/**
- * Create a new content outline page.
- */
-protected ContentOutlinePage() {
-	super();
-}
-/* (non-Javadoc)
- * Method declared on ISelectionProvider.
- */
-public void addSelectionChangedListener(ISelectionChangedListener listener) {
-	selectionChangedListeners.add(listener);
-}
-/**
- * The <code>ContentOutlinePage</code> implementation of this 
- * <code>IContentOutlinePage</code> method creates a tree viewer. Subclasses
- * must extend this method configure the tree viewer with a proper content 
- * provider, label provider, and input element.
- */
-public void createControl(Composite parent) {
-	treeViewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
-	treeViewer.addSelectionChangedListener(this);
-}
-/**
- * Fires a selection changed event.
- *
- * @param selction the new selection
- */
-protected void fireSelectionChanged(ISelection selection) {
-	// create an event
-	final SelectionChangedEvent event = new SelectionChangedEvent(this, selection);
-
-	// fire the event
-	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);
-			}
-		});		
-	}
-}
-/* (non-Javadoc)
- * Method declared on IPage (and Page).
- */
-public Control getControl() {
-	if (treeViewer == null)
-		return null;
-	return treeViewer.getControl();
-}
-/* (non-Javadoc)
- * Method declared on ISelectionProvider.
- */
-public ISelection getSelection() {
-	if (treeViewer == null)
-		return StructuredSelection.EMPTY;
-	return treeViewer.getSelection();
-}
-/**
- * Returns this page's tree viewer.
- *
- * @return this page's tree viewer, or <code>null</code> if 
- *   <code>createControl</code> has not been called yet
- */
-protected TreeViewer getTreeViewer() {
-	return treeViewer;
-}
-/**
- * The <code>ContentOutlinePage</code> implementation of this 
- * <code>IPageBookViewPage</code> method registers itself as a selection 
- * provider with the site.
- */
-public void init(IPageSite pageSite) {
-	super.init(pageSite);
-	pageSite.setSelectionProvider(this);
-}
-/* (non-Javadoc)
- * Method declared on ISelectionProvider.
- */
-public void removeSelectionChangedListener(ISelectionChangedListener listener) {
-	selectionChangedListeners.remove(listener);
-}
-/* (non-Javadoc)
- * Method declared on ISelectionChangeListener.
- * Gives notification that the tree selection has changed.
- */
-public void selectionChanged(SelectionChangedEvent event) {
-	fireSelectionChanged(event.getSelection());
-}
-/**
- * Sets focus to a part in the page.
- */
-public void setFocus() {
-	treeViewer.getControl().setFocus();
-}
-/* (non-Javadoc)
- * Method declared on ISelectionProvider.
- */
-public void setSelection(ISelection selection) {
-	if (treeViewer != null) 
-		treeViewer.setSelection(selection);
-}
-}
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/IContentOutlinePage.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/IContentOutlinePage.java
deleted file mode 100644
index 04789db..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/IContentOutlinePage.java
+++ /dev/null
@@ -1,49 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.contentoutline;
-
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.ui.part.IPage;
-
-/**
- * Marker-style interface for a content outline page. This interface defines
- * the minimum requirement for pages within the content outline view, namely
- * they must be pages (implement <code>IPage</code>) and provide selections
- * (implement <code>ISelectionProvider</code>).
- * <p>
- * Access to a content outline page begins when an editor is activated. When
- * activation occurs, the content outline view will ask the editor for its
- * content outline page. This is done by invoking 
- * <code>getAdapter(IContentOutlinePage.class)</code> on the editor.  
- * If the editor returns a page, the view then creates the controls for that
- * page (using <code>createControl</code>) and makes the page visible.
- * </p>
- * <p>
- * Clients may implement this interface from scratch, or subclass the
- * abstract base class <code>ContentOutlinePage</code>.
- * </p>
- * <p> 
- * Note that this interface extends <code>ISelectionProvider</code>.
- * This is no longer required in the case of implementors who also 
- * implement <code>IPageBookViewPage</code> (or extend <code>Page</code>)
- * as they are now passed an <code>IPageSite</code> during their initialization 
- * and this site can be configured with a selection provider. 
- * However to avoid a breaking change 
- *  1) this interface will continue to extend ISelectionProvider 
- *  2) if an IContentOutlinePage does not set a selection provider for its 
- * site, the ContentOutline will continue to use the page itself for 
- * this purpose. 
- * </p> 
- *
- * @see ContentOutlinePage
- */
-public interface IContentOutlinePage extends IPage, ISelectionProvider {
-}
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/messages.properties b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/messages.properties
deleted file mode 100644
index bf8e69c..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/messages.properties
+++ /dev/null
@@ -1,18 +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 Corporation - initial API and implementation
-###############################################################################
-
-# package: org.eclipse.ui.views.contentoutline
-
-
-# ==============================================================================
-# Outline View
-# ==============================================================================
-ContentOutline.noOutline = An outline is not available.
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/package.html b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/package.html
deleted file mode 100644
index 70d2165..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/package.html
+++ /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="Author" content="IBM">
-   <meta name="GENERATOR" content="Mozilla/4.5 [en] (Win98; I) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides the standard Content Outline view which can
-show the active editor's custom outline for the document being edited.
-<br>&nbsp;
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/CategoriesAction.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/CategoriesAction.java
deleted file mode 100644
index 40e4d08..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/CategoriesAction.java
+++ /dev/null
@@ -1,39 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * This action hides or shows categories in the <code>PropertySheetViewer</code>.
- */
-/*package*/ class CategoriesAction extends PropertySheetAction {
-/**
- * Creates the Categories action. This action is used to show
- * or hide categories properties.
- */
-public CategoriesAction(PropertySheetViewer viewer, String name) {
-	super(viewer, name);
-	WorkbenchHelp.setHelp(this, IPropertiesHelpContextIds.CATEGORIES_ACTION);
-}
-/**
- * Toggles the display of categories for the properties.
- */
-public void run() {
-	PropertySheetViewer ps = getPropertySheet();
-	ps.deactivateCellEditor();
-	if (isChecked()) {
-		ps.showCategories();
-	} else {
-		ps.hideCategories();
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ColorPropertyDescriptor.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ColorPropertyDescriptor.java
deleted file mode 100644
index 77f3119..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ColorPropertyDescriptor.java
+++ /dev/null
@@ -1,54 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ColorCellEditor;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Descriptor for a property that has a color value which should be edited
- * with a color cell editor.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * <p>
- * Example:
- * <pre>
- * IPropertyDescriptor pd = new ColorPropertyDescriptor("fg", "Foreground Color");
- * </pre>
- * </p>
- */
-public class ColorPropertyDescriptor extends PropertyDescriptor {
-/**
- * Creates an property descriptor with the given id and display name.
- * 
- * @param id the id of the property
- * @param displayName the name to display for the property
- */
-public ColorPropertyDescriptor(Object id, String displayName) {
-	super(id, displayName);
-}
-/**
- * The <code>ColorPropertyDescriptor</code> implementation of this 
- * <code>IPropertyDescriptor</code> method creates and returns a new
- * <code>ColorCellEditor</code>.
- * <p>
- * The editor is configured with the current validator if there is one.
- * </p>
- */
-public CellEditor createPropertyEditor(Composite parent) {
-	CellEditor editor = new ColorCellEditor(parent);
-	if (getValidator() != null)
-		editor.setValidator(getValidator());
-	return editor;
-}
-}
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ComboBoxLabelProvider.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ComboBoxLabelProvider.java
deleted file mode 100644
index 30b14e8..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ComboBoxLabelProvider.java
+++ /dev/null
@@ -1,81 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-import org.eclipse.jface.viewers.LabelProvider;
-
-/**
- * An <code>ILabelProvider</code> that assists in rendering labels for 
- * <code>ComboBoxPropertyDescriptors</code>.  The label for a given 
- * <code>Integer</code> value is the <code>String</code> at the value in 
- * the provided values array.  
- * 
- * @since 3.0
- */
-public class ComboBoxLabelProvider extends LabelProvider {
-
-    /**
-     * The array of String labels.
-     */
-    private String [] values;
-    
-    /**
-     * @param values the possible label values that this 
-     * <code>ILabelProvider</code> may return.
-     */
-    public ComboBoxLabelProvider(String[] values) {
-        this.values = values;
-    }
-
-    /**
-     * @return the possible label values that this 
-     * <code>ILabelProvider</code> may return.
-     */
-    public String[] getValues() {
-        return values;
-    }
-
-    /**
-     * @param values the possible label values that this 
-     * <code>ILabelProvider</code> may return.
-     */
-    public void setValues(String[] values) {
-        this.values = values;
-    }
-
-    /**
-     * Returns the <code>String</code> that maps to the given 
-     * <code>Integer</code> offset in the values array.
-     * 
-     * @param element an <code>Integer</code> object whose value is a valid 
-     * location within the values array of the receiver
-     * @return a <code>String</code> from the provided values array, or the 
-     * empty <code>String</code> 
-     * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
-     */
-    public String getText(Object element) {
-        if (element == null) {
-            return ""; //$NON-NLS-1$
-        }
-    
-        if (element instanceof Integer) {
-            int index = ((Integer)element).intValue();
-            if (index >= 0 && index < values.length) {
-                return values[index];
-            }
-            else {
-                return ""; //$NON-NLS-1$
-            }
-        }
-               
-        return ""; //$NON-NLS-1$
-    }
-}
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ComboBoxPropertyDescriptor.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ComboBoxPropertyDescriptor.java
deleted file mode 100644
index bf11269..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ComboBoxPropertyDescriptor.java
+++ /dev/null
@@ -1,87 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ComboBoxCellEditor;
-import org.eclipse.jface.viewers.ILabelProvider;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Descriptor for a property that has a value which should be edited
- * with a combo box cell editor.  This class provides a default 
- * <code>ILabelProvider</code> that will render the label of the given 
- * descriptor as the <code>String</code> found in the value array at the 
- * currently selected index.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * <p>
- * Example:
- * <pre>
- * String[] values = {"Top left", "Top right", "Bottom left", "Bottom right"};
- * IPropertyDescriptor pd = new ComboBoxPropertyDescriptor("origin", "Origin", values);
- * </pre>
- * </p>
- */
-public class ComboBoxPropertyDescriptor extends PropertyDescriptor {
-
-	/**
-	 * The list of possible values to display in the combo box
-	 */
-	private String[] values;
-
-    /**
-     * Creates an property descriptor with the given id, display name, and list
-     * of value labels to display in the combo box cell editor.
-     * 
-     * @param id the id of the property
-     * @param displayName the name to display for the property
-     * @param valuesArray the list of possible values to display in the combo box
-     */
-    public ComboBoxPropertyDescriptor(Object id, String displayName, String[] valuesArray) {
-    	super(id, displayName);
-    	values = valuesArray;
-    }
-    
-    /**
-     * The <code>ComboBoxPropertyDescriptor</code> implementation of this 
-     * <code>IPropertyDescriptor</code> method creates and returns a new
-     * <code>ComboBoxCellEditor</code>.
-     * <p>
-     * The editor is configured with the current validator if there is one.
-     * </p>
-     */
-    public CellEditor createPropertyEditor(Composite parent) {
-    	CellEditor editor = new ComboBoxCellEditor(parent, values, SWT.READ_ONLY);
-    	if (getValidator() != null)
-    		editor.setValidator(getValidator());
-    	return editor;
-    }
-    
-    /**
-     * The <code>ComboBoxPropertyDescriptor</code> implementation of this 
-     * <code>IPropertyDescriptor</code> method returns the value set by
-     * the <code>setProvider</code> method or, if no value has been set
-     * it returns a <code>ComboBoxLabelProvider</code> created from the 
-     * valuesArray of this <code>ComboBoxPropertyDescriptor</code>.
-     *
-     * @see #setLabelProvider
-     */
-    public ILabelProvider getLabelProvider() {
-        if (isLabelProviderSet())
-            return super.getLabelProvider();
-        else
-            return new ComboBoxLabelProvider(values); 
-    }    
-}
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/CopyPropertyAction.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/CopyPropertyAction.java
deleted file mode 100644
index 7451be8..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/CopyPropertyAction.java
+++ /dev/null
@@ -1,80 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.properties;
-
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWTError;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-/**
- * Copies a property to the clipboard.
- */
-/*package*/ class CopyPropertyAction extends PropertySheetAction {
-	/**
-	 * System clipboard
-	 */
-	private Clipboard clipboard;
-
-	/**
-	 * Creates the action.
-	 */
-	public CopyPropertyAction(PropertySheetViewer viewer, String name, Clipboard clipboard) {
-		super(viewer, name);
-		WorkbenchHelp.setHelp(this, IPropertiesHelpContextIds.COPY_PROPERTY_ACTION);
-		this.clipboard = clipboard;
-	}
-	
-	/**
-	 * Performs this action.
-	 */
-	public void run() {
-		// Get the selected property
-		IStructuredSelection selection = (IStructuredSelection)getPropertySheet().getSelection();
-		if (selection.isEmpty()) 
-			return;
-		// Assume single selection
-		IPropertySheetEntry entry = (IPropertySheetEntry)selection.getFirstElement();
-
-		// Place text on the clipboard
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(entry.getDisplayName());
-		buffer.append("\t"); //$NON-NLS-1$
-		buffer.append(entry.getValueAsString());
-		
-		setClipboard(buffer.toString());
-	}
-
-	/** 
-	 * Updates enablement based on the current selection
-	 */
-	public void selectionChanged(IStructuredSelection sel) {
-		setEnabled(!sel.isEmpty());
-	}
-
-	private void setClipboard(String text) {
-		try {
-			Object[] data = new Object[] {text};				
-			Transfer[] transferTypes = new Transfer[] {TextTransfer.getInstance()};
-			clipboard.setContents(data, transferTypes);
-		} catch (SWTError e){
-			if (e.code != DND.ERROR_CANNOT_SET_CLIPBOARD)
-				throw e;
-			if (MessageDialog.openQuestion(getPropertySheet().getControl().getShell(), WorkbenchMessages.getString("CopyToClipboardProblemDialog.title"), WorkbenchMessages.getString("CopyToClipboardProblemDialog.message"))) //$NON-NLS-1$ //$NON-NLS-2$
-				setClipboard(text);
-		}	
-	}
-}
-
-
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/DefaultsAction.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/DefaultsAction.java
deleted file mode 100644
index 98bcb11..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/DefaultsAction.java
+++ /dev/null
@@ -1,38 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.properties;
-
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * This action resets the <code>PropertySheetViewer</code> values back
- * to the default values.
- *
- * [Issue: should listen for selection changes in the viewer and set enablement]
- */
-/*package*/ class DefaultsAction extends PropertySheetAction {
-/**
- * Create the Defaults action. This action is used to set
- * the properties back to their default values.
- */
-public DefaultsAction(PropertySheetViewer viewer, String name) {
-	super(viewer, name);
-	WorkbenchHelp.setHelp(this, IPropertiesHelpContextIds.DEFAULTS_ACTION);
-}
-/**
- * Reset the properties to their default values.
- */
-public void run() {
-	getPropertySheet().deactivateCellEditor();
-	getPropertySheet().resetProperties();
-}
-}
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/FilterAction.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/FilterAction.java
deleted file mode 100644
index acfb290..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/FilterAction.java
+++ /dev/null
@@ -1,41 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.properties;
-
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * This action hides or shows expert properties in the <code>PropertySheetViewer</code>.
- */
-/*package*/ class FilterAction extends PropertySheetAction {
-/**
- * Create the Filter action. This action is used to show
- * or hide expert properties.
- */
-public FilterAction(PropertySheetViewer viewer, String name) {
-	super(viewer, name);
-	WorkbenchHelp.setHelp(this, IPropertiesHelpContextIds.FILTER_ACTION);
-}
-/**
- * Toggle the display of expert properties.
- */
-
-public void run() {
-	PropertySheetViewer ps = getPropertySheet();
-	ps.deactivateCellEditor();
-	if (isChecked()) {
-		ps.showExpert();
-	} else {
-		ps.hideExpert();
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ICellEditorActivationListener.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ICellEditorActivationListener.java
deleted file mode 100644
index 2a2eb05..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ICellEditorActivationListener.java
+++ /dev/null
@@ -1,31 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-import org.eclipse.jface.viewers.CellEditor;
-/**
- * A listener which is notified when a cell editor is 
- * activated/deactivated
- */
-/*package*/ interface ICellEditorActivationListener {
-/**
- * Notifies that the cell editor has been activated
- *
- * @param cellEditor the cell editor which has been activated
- */
-public void cellEditorActivated(CellEditor cellEditor);
-/**
- * Notifies that the cell editor has been deactivated
- *
- * @param cellEditor the cell editor which has been deactivated
- */
-public void cellEditorDeactivated(CellEditor cellEditor);
-}
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertiesHelpContextIds.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertiesHelpContextIds.java
deleted file mode 100644
index 18b9ab6..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertiesHelpContextIds.java
+++ /dev/null
@@ -1,34 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Help context ids for the properties view.
- * <p>
- * This interface contains constants only; it is not intended to be implemented
- * or extended.
- * </p>
- * 
- */
-/*package*/ interface IPropertiesHelpContextIds {
-	public static final String PREFIX = PlatformUI.PLUGIN_ID + "."; //$NON-NLS-1$
-
-	// Actions
-	public static final String CATEGORIES_ACTION = PREFIX + "properties_categories_action_context"; //$NON-NLS-1$
-	public static final String DEFAULTS_ACTION = PREFIX + "properties_defaults_action_context"; //$NON-NLS-1$
-	public static final String FILTER_ACTION = PREFIX + "properties_filter_action_context"; //$NON-NLS-1$
-	public static final String COPY_PROPERTY_ACTION = PREFIX + "properties_copy_action_context"; //$NON-NLS-1$
-
-	// Views
-	public static final String PROPERTY_SHEET_VIEW = PREFIX + "property_sheet_view_context"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertyDescriptor.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertyDescriptor.java
deleted file mode 100644
index fced1cf..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertyDescriptor.java
+++ /dev/null
@@ -1,142 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.swt.widgets.Composite;
-/**
- * A descriptor for a property to be presented by a standard property sheet page
- * (<code>PropertySheetPage</code>). These descriptors originate with property 
- * sources (<code>IPropertySource</code>).
- * <p>
- * A property descriptor carries the following information:
- * <ul>
- *   <li>property id (required)</li>
- *   <li>display name (required)</li>
- *   <li>brief description of the property (optional)</li>
- *   <li>category for grouping related properties (optional)</li>
- *   <li>label provider used to display the property value (optional)</li>
- *   <li>cell editor for changing the property value (optional)</li>
- *   <li>help context id (optional)</li>
- * </ul>
- * </p>
- * <p>
- * Clients may implement this interface to provide specialized property 
- * descriptors; however, there are standard implementations declared in
- * this package that take care of the most common cases:
- * <ul>
- *   <li><code>PropertyDescriptor - read-only property</li>
- *   <li><code>TextPropertyDescriptor</code> - edits with a 
- *      <code>TextCellEditor</code></li>
- *   <li><code>CheckboxPropertyDescriptor - edits with a 
- *      <code>CheckboxCellEditor</code></code></li>
- *   <li><code>ComboBoxPropertyDescriptor - edits with a
- *      <code>ComboBoxCellEditor</code></code></li>
- *   <li><code>ColorPropertyDescriptor - edits with a 
- *      <code>ColorCellEditor</code></code></li>
- * </ul>
- * </p>
- *
- * @see IPropertySource#getPropertyDescriptors
- */
-public interface IPropertyDescriptor {
-/**
- * Creates and returns a new cell editor for editing this property. Returns 
- * <code>null</code> if the property is not editable.
- *
- * @param parent the parent widget for the cell editor
- * @return the cell editor for this property, or <code>null</code> if this
- *  property cannot be edited
- */
-public CellEditor createPropertyEditor(Composite parent);
-/**
- * Returns the name of the category to which this property belongs. Properties
- * belonging to the same category are grouped together visually. This localized 
- * string is shown to the user
- * 
- * @return the category name, or <code>null</code> if the default category is to
- *   be used
- */
-public String getCategory();
-/**
- * Returns a brief description of this property. This localized string is shown 
- * to the user when this property is selected.
- * 
- * @return a brief description, or <code>null</code> if none
- */
-public String getDescription();
-/**
- * Returns the display name for this property. This localized string is shown to
- * the user as the name of this property.
- * 
- * @return a displayable name
- */
-public String getDisplayName();
-/**
- * Returns a list of filter types to which this property belongs.
- * The user is able to toggle the filters to show/hide properties belonging to
- * a filter type.
- * <p>
- * Valid values for these flags are declared as constants on 
- *  <code>IPropertySheetEntry</code>
- * </p> 
- * @return a list of filter types to which this property belongs, or
- *   <code>null</code> if none
- */
-public String[] getFilterFlags();
-/**
- * Returns the help context id for this property or 
- * <code>null</code> if this property has no help context id.
- * <p>
- * NOTE: Help support system API's changed since 2.0 and arrays
- * of contexts are no longer supported.
- * </p>
- * <p>
- * Thus the only valid non-<code>null</code> return type for this method
- * is a <code>String</code> representing a context id. The previously
- * valid return types are deprecated. The plural name for this method
- * is unfortunate.
- * </p>
- * 
- * @return the help context id for this entry
- */
-public Object getHelpContextIds();
-/**
- * Returns the id for this property. This object is
- * used internally to distinguish one property descriptor 
- * from another.
- *
- * @return the property id
- */
-public Object getId();
-/**
- * Returns the label provider for this property. The label provider is used
- * to obtain the text (and possible image) for displaying the <it>value</it>
- * of this property.
- *
- * @return the label provider used to display this property
- */
-public ILabelProvider getLabelProvider();
-/**
- * Returns whether this property descriptor and the given one are compatible.
- * <p>
- * The property sheet uses this method during multiple selection to determine
- * whether two property descriptors with the same id are in fact the same 
- * property and can be displayed as a single entry in the property sheet.
- * </p>
- *
- * @param anotherProperty the other property descriptor 
- * @return <code>true</code> if the property descriptors are compatible, and 
- *   <code>false</code> otherwise
- */
-public boolean isCompatibleWith(IPropertyDescriptor anotherProperty);
-}
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySheetEntry.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySheetEntry.java
deleted file mode 100644
index 793d57e..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySheetEntry.java
+++ /dev/null
@@ -1,170 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * <code>IPropertySheetEntry</code> describes the model interface for the
- * property sheet.
- * <p>
- * May be implemented when supplying a custom root entry to a property page.
- * </p>
- */
-public interface IPropertySheetEntry {
-
-    /**
-     * The filter id for expert properties
-     */
-    public String FILTER_ID_EXPERT = "org.eclipse.ui.views.properties.expert"; //$NON-NLS-1$
-
-    /**
-     * Adds the given listener to this entry's collection of listeners.
-     * 
-     * @param listener
-     *            the listener to add
-     */
-    public void addPropertySheetEntryListener(
-            IPropertySheetEntryListener listener);
-
-    /**
-     * Apply the current cell editor value.
-     */
-    public void applyEditorValue();
-
-    /**
-     * Called when the entry is no longer needed
-     */
-    public void dispose();
-
-    /**
-     * Returns the entry's category.
-     * 
-     * @return the entry's category
-     */
-    public String getCategory();
-
-    /**
-     * Returns the child entries for this entry.
-     * 
-     * @return the child entries for this entry
-     */
-    public IPropertySheetEntry[] getChildEntries();
-
-    /**
-     * Return a short description of the property sheet entry. Typically this
-     * description is shown in a status line when the entry is selected.
-     * 
-     * @return the entry's description
-     */
-    public String getDescription();
-
-    /**
-     * Returns the name used to display the property.
-     * 
-     * @return the name used to display the property
-     */
-    public String getDisplayName();
-
-    /**
-     * Return the <code>CellEditor</code> used to edit the property.
-     * 
-     * @param parent
-     *            the parent widget for the editor
-     * @return the <code>CellEditor</code> used to edit the property
-     */
-    CellEditor getEditor(Composite parent);
-
-    /**
-     * Returns the error text to display if the value is invalid.
-     * 
-     * @return the error text to display when the value is invalid or
-     *         <code>null</code>
-     */
-    public String getErrorText();
-
-    /**
-     * Return the filter ids used to group entries into levels such as Expert.
-     * Valid values are defined as constants on this interface.
-     * 
-     * @return the filter ids used to group entries into levels such as Expert.
-     */
-    public String[] getFilters();
-
-    /**
-     * Returns the help context id for this entry, or <code>null</code> if
-     * this entry has no help context id.
-     * <p>
-     * NOTE: Help support system API's changed since 2.0 and arrays of contexts
-     * are no longer supported.
-     * </p>
-     * <p>
-     * Thus the only valid non- <code>null</code> return type for this method
-     * is a <code>String</code> representing a context id. The previously
-     * valid return types are deprecated. The plural name for this method is
-     * unfortunate.
-     * </p>
-     * 
-     * @return the help context id for this entry
-     */
-    public Object getHelpContextIds();
-
-    /**
-     * Returns the image for the property value, if there is one. This image is
-     * managed by the entry it came from. Callers of this method must never
-     * dispose the returned image.
-     * 
-     * @return the image for this property value or <code>null</code>
-     */
-    public Image getImage();
-
-    /**
-     * Returns the value of the objects expressed as a String.
-     * 
-     * @return the value of the objects expressed as a String
-     */
-    public String getValueAsString();
-
-    /**
-     * Returns <code>true</code> if the entry has children.
-     * 
-     * @return <code>true</code> if the entry has children
-     */
-    public boolean hasChildEntries();
-
-    /**
-     * Removes the given listener from this entry's collection of listeners.
-     * 
-     * @param listener
-     *            the listener to remove
-     */
-    public void removePropertySheetEntryListener(
-            IPropertySheetEntryListener listener);
-
-    /**
-     * Resets the property value to its default value if it has been changed.
-     * <p>
-     * Does nothing if the notion of a default value is not meaningful for 
-     * the property.
-     * </p>
-     */
-    void resetPropertyValue();
-
-    /**
-     * Sets the objects which represent the property values for this entry. In
-     * the case of the root entry these objects are the input to the viewer.
-     * 
-     * @param values the values for this entry
-     */
-    public void setValues(Object[] values);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySheetEntryListener.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySheetEntryListener.java
deleted file mode 100644
index 505b210..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySheetEntryListener.java
+++ /dev/null
@@ -1,41 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-/**
- * Listener for changes in objects of type 
- * <code>IPropertySheetEntry</code>.
- * <p>
- * This interface is public since it appears in the api
- * of <code>IPropertySheetEntry</code>. It in not intended
- * to be implemented outside of this package
- * <p>
- */
-public interface IPropertySheetEntryListener {
-/**
- * A node's children have changed (children added or removed) 
- *
- * @param node the node whose's children have changed
- */
-void childEntriesChanged(IPropertySheetEntry node);
-/**
- * A entry's error message has changed
- *
- * @param entry the entry whose's error message has changed
- */
-void errorMessageChanged(IPropertySheetEntry entry);
-/**
- * A entry's value has changed 
- *
- * @param entry the entry whose's value has changed
- */
-void valueChanged(IPropertySheetEntry entry);
-}
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySheetPage.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySheetPage.java
deleted file mode 100644
index 2130c7a..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySheetPage.java
+++ /dev/null
@@ -1,30 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.part.IPage;
-
-/**
- * Interface for a property sheet page that appears in a property sheet view.
- * This interface defines the minimum requirement for pages within the
- * property sheet view, namely they must be pages (implement <code>IPage</code>)
- * be prepared to contribute actions to the property sheet view's tool bar
- * and status line, and listen for selection changes in the active part.
- * <p>
- * Clients may implement this interface from scratch if the property sheet
- * viewer's default page is unsuitable for displaying a part's properties.
- * </p>
- *
- * @see PropertySheetPage
- */
-public interface IPropertySheetPage extends IPage, ISelectionListener {
-}
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySource.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySource.java
deleted file mode 100644
index 5ec47f2..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySource.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *     Gunnar Wagenknecht - fix for bug 21756 (https://bugs.eclipse.org/bugs/show_bug.cgi?id=21756)
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-
-/**
- * Interface to an object which is capable of supplying properties for display by
- * the standard property sheet page implementation (<code>PropertySheetPage</code>).
- * <p>
- * This interface should be implemented by clients.
- * <code>PropertySheetPage</code> discovers the properties to display from 
- * currently selected elements. Elements that implement <code>IPropertySource</code>
- * directly are included, as are elements that implement <code>IAdaptable</code>
- * and have an <code>IPropertySource</code> adapter. Clients should implement
- * this interface for any newly-defined elements that are to have properties
- * displayable by <code>PropertySheetPage</code>. Note that in the latter case,
- * the client will also need to register a suitable adapter factory with the 
- * platform's adapter manager (<code>Platform.getAdapterManager</code>).
- * </p>
- *
- * @see org.eclipse.core.runtime.IAdaptable
- * @see org.eclipse.core.runtime.Platform#getAdapterManager()
- * @see org.eclipse.ui.views.properties.PropertySheetPage
- * @see org.eclipse.ui.views.properties.IPropertySource2
- */
-public interface IPropertySource {
-
-/**
- * Returns a value for this property source that can be edited in a 
- * property sheet.
- * <p>
- * This value is used when this <code>IPropertySource</code> is appearing
- * in the property sheet as the value of a property of some other
- * <code>IPropertySource</code>
- * </p>
- * <p>
- * This value is passed as the input to a cell editor opening on an 
- * <code>IPropertySource</code>.
- * </p>
- * <p>
- * This value is also used when an <code>IPropertySource</code> is being
- * used as the value in a <code>setPropertyValue</code> message. The reciever
- * of the message would then typically use the editable value to update the 
- * original property source or construct a new instance.
- * </p>
- * <p>
- * For example an email address which is a property source may have an
- * editable value which is a string so that it can be edited in a text
- * cell editor. The email address would also have a constructor or setter
- * that takes the edited string so that an appropriate instance can be created
- * or the original instance modified when the edited value is set.
- * </p>
- * <p>
- * This behavior is important for another reason. When the property sheet is
- * showing properties for more than one object (multiple selection), a property 
- * sheet entry will display and edit a single value (typically coming from
- * the first selected object). After a property has been edited in a cell editor,
- * the same value is set as the property value for all of the objects. This is 
- * fine for primitive types but otherwise all of the objects end up with a
- * reference to the same value. Thus by creating an editable value and using it
- * to update the state of the original property source object, one is able to
- * edit several property source objects at once (multiple selection).
- 
- * @return a value that can be edited
- */
-public Object getEditableValue();
-/**
- * Returns the list of property descriptors for this property source.
- * The <code>getPropertyValue</code> and <code>setPropertyValue</code> methods
- * are used to read and write the actual property values by specifying
- * the property ids from these property descriptors.
- * <p>
- * Implementors should cache the descriptors as they will be asked for 
- * the descriptors with any edit/update. Since descriptors provide
- * cell editors, returning the same descriptors if possible allows 
- * for efficient updating.
- * </p>
- * 
- * @return the property descriptors 
- */
-public IPropertyDescriptor[] getPropertyDescriptors();
-/**
- * Returns the value of the property with the given id if it has one.
- * Returns <code>null</code> if the property's value is <code>null</code> 
- * value or if this source does not have the specified property.
- *
- * @see #setPropertyValue
- *
- * @param id the id of the property being set
- * @return the value of the property, or <code>null</code>
- */
-public Object getPropertyValue(Object id);
-/**
- * Returns whether the value of the property with the given id has changed from
- * its default value. Returns <code>false</code> if this source does not have
- * the specified property.
- * <p>
- * If the notion of default value is not meaningful for the specified property
- * than <code>true</code> is returned.
- * </p>
- * 
- * @param id the id of the property 
- * @return <code>true</code> if the value of the specified property has changed
- *   from its original default value or if the specified property does not have 
- *   a meaningful default value, and <code>false</code> otherwise
- * @see IPropertySource2#isPropertyResettable(Object)
- * @see #resetPropertyValue(Object)
- */
-public boolean isPropertySet(Object id);
-/**
- * Resets the property with the given id to its default value if possible.
- * <p>
- * Does nothing if the notion of a default value is not meaningful for 
- * the specified property, or if the property's value cannot be changed,
- * or if this source does not have the specified property.
- * </p>
- * <p>
- * Callers will check if this <code>IPropertySource</code> 
- * implements <code>IPropertySource2</code> and this method will
- * only be called if <code>IPropertySource2#isPropertyResettable(Object)</code>
- * returns <code>true</code> for the property with the given id.
- * </p>
- * 
- * @param id the id of the property being reset
- * @see #isPropertySet(Object)
- * @see IPropertySource2#isPropertyResettable(Object)
- */
-public void resetPropertyValue(Object id);
-/**
- * Sets the property with the given id if possible. Does nothing if the 
- * property's value cannot be changed or if this source does not have the
- * specified property.
- * <p>
- * In general, a property source should not directly reference the value
- * parameter unless it is an atomic object that can be shared, such as a 
- * string.
- * </p>
- * <p>
- * An important reason for this is that several property sources with 
- * compatible descriptors could be appearing in the property sheet at 
- * the same time. An editor produces a single edited value which is passed
- * as the value parameter of this message to all the property sources.
- * Thus to avoid a situation where all of the property sources reference
- * the same value they should use the value parameter to create a
- * new instance of the real value for the given property.
- * </p>
- * <p>
- * There is another reason why a level of indirection is useful. The real
- * value of property may be a type that cannot be edited with a standard cell
- * editor. However instead of returning the real value in <code>getPropertyValue</code>,
- * the value could be converted to a <code>String</code> which could be edited
- * with a standard cell editor. The edited value will be passed to this method
- * which can then turn it back into the real property value.
- * </p>
- * <p>Another variation on returning a value other than the real property value in 
- * <code>getPropertyValue</code> is to return a value which is an
- * <code>IPropertySource</code> (or for which the property sheet can obtain an
- * <code>IPropertySource</code>). In this case the value to edit is obtained from the
- * child property source using <code>getEditableValue</code>. It is this editable value
- * that will be passed back via this method when it has been editted
- * </p>
- *
- * @see #getPropertyValue
- * @see #getEditableValue
- * 
- * @param id the id of the property being set
- * @param value the new value for the property; <code>null</code> is allowed
- */
-public void setPropertyValue(Object id, Object value);
-}
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySource2.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySource2.java
deleted file mode 100644
index ec35d7c..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySource2.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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:
- *     Gunnar Wagenknecht - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-/**
- * Extension to the standard <code>IPropertySource</code> interface.
- * <p>
- * This interface provides extended API to <code>IPropertySource</code> to
- * allow an easier indication of properties that have a default value and can be
- * resetted.
- * </p>
- * 
- * @since 3.0
- * @see org.eclipse.ui.views.properties.IPropertySource
- */
-public interface IPropertySource2 extends IPropertySource {
-
-    /**
-     * Returns whether the value of the property with the specified id is
-     * resettable to a default value.
-     * 
-     * @param id
-     *            the id of the property
-     * @return <code>true</code> if the property with the specified id has a
-     *         meaningful default value to which it can be resetted to, and
-     *         <code>false</code> otherwise
-     * @see IPropertySource#resetPropertyValue(Object)
-     * @see IPropertySource#isPropertySet(Object)
-     */
-    boolean isPropertyResettable(Object id);
-}
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySourceProvider.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySourceProvider.java
deleted file mode 100644
index 09e696e..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySourceProvider.java
+++ /dev/null
@@ -1,27 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-/**
- * Interface used by <code>PropertySheetRoot</code> to obtain an 
- * <code>IPropertySource</code> for a given object.
- * <p>
- * This interface may be implemented by clients.
- * </p>
- */
-public interface IPropertySourceProvider {
-/**
- * Returns a property source for the given object.
- *
- * @param object the object
- */
-public IPropertySource getPropertySource(Object object);
-}
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertiesMessages.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertiesMessages.java
deleted file mode 100644
index 09b7e4f..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertiesMessages.java
+++ /dev/null
@@ -1,54 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.properties;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Utility class which helps manage messages.
- */
-class PropertiesMessages {
-	private static final String RESOURCE_BUNDLE= "org.eclipse.ui.views.properties.messages";//$NON-NLS-1$
-	private static ResourceBundle bundle = ResourceBundle.getBundle(RESOURCE_BUNDLE);
-	
-private PropertiesMessages(){
-	// 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.views/src/org/eclipse/ui/views/properties/PropertyDescriptor.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertyDescriptor.java
deleted file mode 100644
index 24ada8e..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertyDescriptor.java
+++ /dev/null
@@ -1,338 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.widgets.Composite;
-/**
- * Standard implementation for property descriptors.
- * <p>
- * The required attributes of property descriptors (id and display name) are
- * passed to the constructor; the optional attributes can be configured using
- * the various set methods (all have reasonable default values):
- * <ul>
- *   <li><code>setDescription</code></li>
- *   <li><code>setCategory</code></li>
- *   <li><code>setLabelProvider</code></li>
- *   <li><code>setHelpContexts</code></li>
- * </ul>
- * Subclasses should reimplement <code>getPropertyEditor</code> to provide a
- * cell editor for changing the value; otherwise the property will be 
- * effectively read only.
- * </p>
- * <p>
- * There are several concrete subclasses provided in this package that cover
- * the most common cases:
- * <ul>
- *   <li><code>TextPropertyDescriptor</code> - edits with a 
- *      <code>TextCellEditor</code></li>
- *   <li><code>ComboBoxPropertyDescriptor - edits with a
- *      <code>ComboBoxCellEditor</code></code></li>
- *   <li><code>ColorPropertyDescriptor - edits with a 
- *      <code>ColorCellEditor</code></code></li>
- * </ul>
- * </p>
- */
-public class PropertyDescriptor implements IPropertyDescriptor {
-	
-	/**
-	 * The property id.
-	 */
-	private Object id;
-
-	/**
-	 * The name to display for the property.
-	 */
-	private String display;
-	
-	/**
-	 * Category name, or <code>null</code> if none (the default).
-	 */
-	private String category = null;
-
-	/**
-	 * Description of the property, or <code>null</code> if none (the default). 
-	 */
-	private String description = null;
-
-	/**
-	 * The help context ids, or <code>null</code> if none (the default). 
-	 */
-	private Object helpIds;
-
-	/**
-	 * The flags used to filter the property.
-	 */
-	private String[] filterFlags;
-
-	/**
-	 * The object that provides the property value's text and image, or 
-	 * <code>null</code> if the default label provider is used (the default).
-	 */
-	private ILabelProvider labelProvider = null;
-
-	/**
-	 * The object to validate the values in the cell editor, or <code>null</code>
-	 * if none (the default).
-	 */
-	private ICellEditorValidator validator;
-
-	/**
-	 * Indicates if the descriptor is compatible with other descriptors of this
-	 * type. <code>false</code> by default.
-	 */
-	private boolean incompatible = false;
-/**
- * Creates a new property descriptor with the given id and display name
- */
-public PropertyDescriptor(Object id, String displayName) {
-	Assert.isNotNull(id);
-	Assert.isNotNull(displayName);
-	this.id = id;
-	this.display = displayName;
-}
-/**
- * The <code>PropertyDescriptor</code> implementation of this 
- * <code>IPropertyDescriptor</code> method returns <code>null</code>.
- * <p>
- * Since no cell editor is returned, the property is read only.
- * </p>
- */
-public CellEditor createPropertyEditor(Composite parent) {
-	return null;
-}
-/**
- * Returns <code>true</code> if this property descriptor is to be always 
- * considered incompatible with any other property descriptor.
- * This prevents a property from displaying during multiple 
- * selection.
- *
- * @return <code>true</code> to indicate always incompatible
- */
-protected boolean getAlwaysIncompatible() {
-	return incompatible;
-}
-/**
- * The <code>PropertyDescriptor</code> implementation of this 
- * <code>IPropertyDescriptor</code> method returns the value set by
- * the <code>setCategory</code> method. If unset, this method returns
- * <code>null</code> indicating the default category.
- *
- * @see #setCategory
- */
-public String getCategory() {
-	return category;
-}
-/**
- * The <code>PropertyDescriptor</code> implementation of this 
- * <code>IPropertyDescriptor</code> method returns the value set by
- * the <code>setDescription</code> method. If unset, this method returns
- * <code>null</code> indicating no description.
- *
- * @see #setDescription
- */
-public String getDescription() {
-	return description;
-}
-/**
- * The <code>SimplePropertyDescriptor</code> implementation of this 
- * <code>IPropertyDescriptor</code> method returns the value supplied
- * on the constructor.
- */
-public String getDisplayName() {
-	return display;
-}
-/**
- * The <code>SimplePropertyDescriptor</code> implementation of this 
- * <code>IPropertyDescriptor</code> method returns the value set by
- * the <code>setFilterFlags</code> method. If unset, this method returns
- * <code>null</code>.
- * <p>
- * Valid values for these flags are declared as constants on 
- *  <code>IPropertySheetEntry</code>
- */
-public String[] getFilterFlags() {
-	return filterFlags;
-}
-/**
- * The <code>SimplePropertyDescriptor</code> implementation of this 
- * <code>IPropertyDescriptor</code> method returns the value set by
- * the <code>setHelpContextId</code> method. If unset, this method returns
- * <code>null</code>.
- *
- * @see #setHelpContextIds
- */
-public Object getHelpContextIds() {
-	return helpIds;
-}
-/**
- * The <code>PropertyDescriptor</code> implementation of this 
- * <code>IPropertyDescriptor</code> method returns the value supplied
- * on the constructor.
- */
-public Object getId() {
-	return id;
-}
-/**
- * The <code>PropertyDescriptor</code> implementation of this 
- * <code>IPropertyDescriptor</code> method returns the value set by
- * the <code>setProvider</code> method or, if no value has been set
- * it returns a <code>LabelProvider</code>
- *
- * @see #setLabelProvider
- */
-public ILabelProvider getLabelProvider() {
-	if (labelProvider != null)
-		return labelProvider;
-	else
-		return new LabelProvider();	
-}
-/**
- * Returns the input validator for editing the property.
- *
- * @return the validator used to verify correct values for this property,
- *   or <code>null</code>
- */
-protected ICellEditorValidator getValidator() {
-	return validator;
-}
-
-/** 
- * Returns whether a label provider has been set on the receiver.
- * @return whether a label provider has been set on the receiver.
- * @see #setLabelProvider
- * @since 3.0
- */
-public boolean isLabelProviderSet() {
-    return labelProvider != null;
-}
-
-/**
- * The <code>SimplePropertyDescriptor</code> implementation of this 
- * <code>IPropertyDescriptor</code> method returns true if the other
- * property has the same id and category and <code>getAlwaysIncompatible()</code>
- * returns false
- */
-public boolean isCompatibleWith(IPropertyDescriptor anotherProperty) {
-	if (getAlwaysIncompatible()) 
-		return false;
-
-	// Compare id		
-	Object id1 = getId();
-	Object id2 = anotherProperty.getId();
-	if (!id1.equals(id2))
-		return false;
-
-	// Compare Category (may be null)
-	if (getCategory() == null) {
-		if (anotherProperty.getCategory() != null)
-			return false;
-	} else {
-		if (!getCategory().equals(anotherProperty.getCategory()))
-			return false;
-	}
-
-	return true;
-}
-/**
- * Sets a flag indicating whether this property descriptor is to be always 
- * considered incompatible with any other property descriptor.
- * Setting this flag prevents a property from displaying during multiple 
- * selection.
- *
- * @param flag <code>true</code> to indicate always incompatible
- */
-public void setAlwaysIncompatible(boolean flag) {
-	incompatible = flag;
-}
-/**
- * Sets the category for this property descriptor.
- * 
- * @param category the category for the descriptor, or <code>null</code> if none
- * @see #getCategory
- */
-public void setCategory(String category) {
-	this.category = category;
-}
-/**
- * Sets the description for this property descriptor.
- * The description should be limited to a single line so that it can be
- * displayed in the status line.
- * 
- * @param description the description, or <code>null</code> if none
- * @see #getDescription
- */
-public void setDescription(String description) {
-	this.description = description;
-}
-/**
- * Sets the the filter flags for this property descriptor.
- * The description should be limited to a single line so that it can be
- * displayed in the status line.
- * <p>
- * Valid values for these flags are declared as constants on 
- *  <code>IPropertySheetEntry</code>
- * </p>
- * 
- * @param value the filter flags
- * @see #getFilterFlags
- */
-public void setFilterFlags(String value[]) {
-	filterFlags = value;
-}
-/**
- * Sets the help context id for this property descriptor.
- *
- * NOTE: Help support system API's changed since 2.0 and arrays
- * of contexts are no longer supported.
- * </p>
- * <p>
- * Thus the only valid parameter type for this method
- * is a <code>String</code> representing a context id. 
- * The previously valid parameter types are deprecated. 
- * The plural name for this method is unfortunate.
- * </p>
- * 
- * @param contextId the help context id, or <code>null</code> if none
- * @see #getHelpContextIds
- */
-public void setHelpContextIds(Object contextIds) {
-	helpIds = contextIds;
-}
-/**
- * Sets the label provider for this property descriptor.
- * <p>
- * If no label provider is set an instance of <code>LabelProvider</code>
- * will be created as the default when needed.
- * </p>
- * 
- * @param labelProvider the label provider for the descriptor, or 
- *   <code>null</code> if the default label provider should be used
- * @see #getLabelProvider
- */
-public void setLabelProvider(ILabelProvider provider) {
-	labelProvider = provider;
-}
-/**
- * Sets the input validator for the cell editor for this property descriptor.
- * <p>
- * [Issue: This method should be unnecessary is the cell editor's own
- *  validator is used.
- * ]
- * </p>
- * 
- * @param validator the cell input validator, or <code>null</code> if none
- */
-public void setValidator(ICellEditorValidator validator) {
-	this.validator = validator;
-}
-}
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheet.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheet.java
deleted file mode 100644
index ceff99b..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheet.java
+++ /dev/null
@@ -1,187 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.part.*;
-
-/**
- * Main class for the Property Sheet View.
- * <p>
- * This standard view has id <code>"org.eclipse.ui.views.PropertySheet"</code>.
- * </p>
- * <p>
- * Note that property <it>sheets</it> and property sheet pages are not the
- * same thing as property <it>dialogs</it> and their property pages (the property
- * pages extension point is for contributing property pages to property dialogs).
- * Within the property sheet view, all pages are <code>IPropertySheetPage</code>s.
- * </p>
- * <p>
- * Property sheet pages are discovered by the property sheet view automatically
- * when a part is first activated. The property sheet view asks the active part
- * for its property sheet page; this is done by invoking 
- * <code>getAdapter(IPropertySheetPage.class)</code> on the part. If the part 
- * returns a page, the property sheet view then creates the controls for that
- * property sheet page (using <code>createControl</code>), and adds the page to 
- * the property sheet view. Whenever this part becomes active, its corresponding
- * property sheet page is shown in the property sheet view (which may or may not
- * be visible at the time). A part's property sheet page is discarded when the
- * part closes. The property sheet view has a default page (an instance of 
- * <code>PropertySheetPage</code>) which services all parts without a property
- * sheet page of their own.
- * </p>
- * <p>
- * The workbench will automatically instantiates this class when a Property
- * Sheet view is needed for a workbench window. This class is not intended
- * to be instantiated or subclassed by clients.
- * </p>
- *
- * @see IPropertySheetPage
- * @see PropertySheetPage
- */
-public class PropertySheet extends PageBookView implements ISelectionListener {
-	/**
-	 * No longer used but preserved to avoid api change
-	 */
-	public static final String HELP_CONTEXT_PROPERTY_SHEET_VIEW = IPropertiesHelpContextIds.PROPERTY_SHEET_VIEW;
-	
-	/**
-	 * The initial selection when the property sheet opens
-	 */
-	private ISelection bootstrapSelection;
-/**
- * Creates a property sheet view.
- */
-public PropertySheet() {
-	super();
-}
-/* (non-Javadoc)
- * Method declared on PageBookView.
- * Returns the default property sheet page.
- */
-protected IPage createDefaultPage(PageBook book) { 
-	PropertySheetPage page = new PropertySheetPage();
-	initPage(page);
-	page.createControl(book);
-	return page;
-}
-/**
- * The <code>PropertySheet</code> implementation of this <code>IWorkbenchPart</code>
- * method creates a <code>PageBook</code> control with its default page showing.
- */
-public void createPartControl(Composite parent) {
-	super.createPartControl(parent);
-	WorkbenchHelp.setHelp(getPageBook(), IPropertiesHelpContextIds.PROPERTY_SHEET_VIEW);
-}
-/* (non-Javadoc)
- * Method declared on IWorkbenchPart.
- */
-public void dispose() {
-	// run super.
-	super.dispose();
-
-	// remove ourselves as a selection listener
-	getSite().getPage().removeSelectionListener(this);
-}
-/* (non-Javadoc)
- * Method declared on PageBookView.
- */
-protected PageRec doCreatePage(IWorkbenchPart part) { 
-	// Try to get a custom property sheet page.
-	IPropertySheetPage page = (IPropertySheetPage)part.getAdapter(IPropertySheetPage.class);
-	if (page != null) {
-		if (page instanceof IPageBookViewPage) 
-			initPage((IPageBookViewPage) page);
-		page.createControl(getPageBook());
-		return new PageRec(part, page);
-	}
-
-	// Use the default page		
-	return null;
-}
-/* (non-Javadoc)
- * Method declared on PageBookView.
- */
-protected void doDestroyPage(IWorkbenchPart part, PageRec rec) {
-	IPropertySheetPage page = (IPropertySheetPage) rec.page;
-	page.dispose();
-	rec.dispose();
-}
-/* (non-Javadoc)
- * Method declared on PageBookView.
- * Returns the active part on the same workbench page as this property 
- * sheet view.
- */
-protected IWorkbenchPart getBootstrapPart() {
-	IWorkbenchPage page = getSite().getPage();
-	if (page != null) {
-		bootstrapSelection = page.getSelection();
-		return page.getActivePart();
-	} else {
-		return null;
-	}
-}
-/* (non-Javadoc)
- * Method declared on IViewPart.
- */
-public void init(IViewSite site) throws PartInitException {
-	site.getPage().addSelectionListener(this);
-	super.init(site);
-}
-/* (non-Javadoc)
- * Method declared on PageBookView.
- * The property sheet may show properties for any view other than this view.
- */
-protected boolean isImportant(IWorkbenchPart part) {
-	return part != this;
-}
-/**
- * The <code>PropertySheet</code> implementation of this <code>IPartListener</code>
- * method first sees if the active part is an <code>IContributedContentsView</code>
- * adapter and if so, asks it for its contributing part.
- */
-public void partActivated(IWorkbenchPart part) {
-	IContributedContentsView view = (IContributedContentsView)part.getAdapter(IContributedContentsView.class);
-	IWorkbenchPart source = null;
-	if (view != null)
-		source = view.getContributingPart();
-	if (source != null) 
-		super.partActivated(source);
-	else
-		super.partActivated(part);
-
-	// When the view is first opened, pass the selection to the page		
-	if (bootstrapSelection != null) {
-		IPropertySheetPage page = (IPropertySheetPage)getCurrentPage();
-		if (page != null)
-			page.selectionChanged(part, bootstrapSelection);
-		bootstrapSelection = null;	
-	}
-}
-
-/* (non-Javadoc)
- * Method declared on ISelectionListener.
- * Notify the current page that the selection has changed.
- */
-public void selectionChanged(IWorkbenchPart part, ISelection sel) {
-	// we ignore our own selection or null selection
-	if (part == this || sel == null)
-		return;
-	
-	// pass the selection to the page		
-	IPropertySheetPage page = (IPropertySheetPage)getCurrentPage();
-	if(page != null)
-		page.selectionChanged(part, sel);
-}
-}
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetAction.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetAction.java
deleted file mode 100644
index 7688f7a..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetAction.java
+++ /dev/null
@@ -1,51 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-
-import org.eclipse.jface.action.Action;
-
-/**
- * This is the base class of all the local actions used
- * in the PropertySheet.
- */
-/*package*/ abstract class PropertySheetAction extends Action {
-	protected PropertySheetViewer viewer;
-	private String id;
-/**
- * Create a PropertySheetViewer action.
- */
-protected PropertySheetAction(PropertySheetViewer viewer, String name) {
-	super (name);
-	this.id = name;
-	this.viewer = viewer;
-}
-/**
- * Return the unique action ID that will be
- * used in contribution managers.
- */
-public String getId() {
-	return id;
-}
-/**
- * Return the PropertySheetViewer
- */
-public PropertySheetViewer getPropertySheet() {
-	return viewer;
-}
-/**
- * Set the unique ID that should be used
- * in the contribution managers.
- */
-public void setId(String newId) {
-	id = newId;
-}
-}
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetCategory.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetCategory.java
deleted file mode 100644
index 5cc38bc..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetCategory.java
+++ /dev/null
@@ -1,74 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-/**
- * A category in a PropertySheet used to group <code>IPropertySheetEntry</code>
- * entries so they are displayed together.
- */
-/*package*/ class PropertySheetCategory {
-	private String categoryName;
-	private List entries = new ArrayList();
-	private boolean shouldAutoExpand = true;
-/**
- * Create a PropertySheet category with name.
- */
-public PropertySheetCategory(String name) {
-	categoryName = name;
-}
-/**
- * Add an <code>IPropertySheetEntry</code> to the list
- * of entries in this category. 
- */
-public void addEntry(IPropertySheetEntry entry) {
-	entries.add(entry);
-}
-/**
- * Return the category name.
- */
-public String getCategoryName() {
-	return categoryName;
-}
-/**
- * Returns <code>true</code> if this category should be automatically 
- * expanded. The default value is <code>true</code>.
- * 
- * @return <code>true</code> if this category should be automatically 
- * expanded, <code>false</code> otherwise
- */
-public boolean getAutoExpand() {
-	return shouldAutoExpand;
-}
-/**
- * Sets if this category should be automatically 
- * expanded.
- */
-public void setAutoExpand(boolean autoExpand) {
-	shouldAutoExpand = autoExpand;
-}
-/**
- * Returns the entries in this category.
- *
- * @return the entries in this category
- */
-public IPropertySheetEntry[] getChildEntries() {
-	return (IPropertySheetEntry[])entries.toArray(new IPropertySheetEntry[entries.size()]);
-}
-/**
- * Removes all of the entries in this category.
- * Doing so allows us to reuse this category entry.
- */
-public void removeAllEntries() {
-	entries = new ArrayList();
-}
-}
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetEntry.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetEntry.java
deleted file mode 100644
index f201776..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetEntry.java
+++ /dev/null
@@ -1,655 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *     Gunnar Wagenknecht - fix for bug 21756 (https://bugs.eclipse.org/bugs/show_bug.cgi?id=21756)
- *******************************************************************************/
-
-package org.eclipse.ui.views.properties;
-
-import java.text.Collator;
-import java.util.*;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * <code>PropertySheetEntry</code> is an implementation of
- * <code>IPropertySheetEntry</code> which uses <code>IPropertySource</code>
- * and <code>IPropertyDescriptor</code> to interact with domain model objects.
- * <p>
- * Every property sheet entry has a single descriptor (except the root entry
- * which has none). This descriptor determines what property
- * of its objects it will display/edit.
- * </p>
- * <p>
- * Entries do not listen for changes in their objects. Since there is no
- * restriction on properties being independent, a change in one property
- * may affect other properties. The value of a parent's property may also
- * change. As a result we are forced to refresh the entire entry tree
- * when a property changes value.
- * </p>
- * 
- * @since 3.0 (was previously internal)
- */
-public class PropertySheetEntry implements IPropertySheetEntry {
-
-	/**
-	* The values we are displaying/editing.
-	* These objects repesent the value of one of the
-	* properties of the values of our parent entry.
-	* Except for the root entry where they represent the
-	* input (selected) objects.
-	*/
-	private Object[] values = new Object[0];
-	
-	/**
-	* The property sources for the values we are displaying/editing.
-	*/
-	private Map sources = new HashMap(0);
-
-	/**
-	 * The value of this entry is defined as the the first object
-	 * in its value array or, if that object is an 
-	 * <code>IPropertySource</code>, the value it returns when sent
-	 * <code>getEditableValue</code>
-	 */
-	private Object editValue;
-
-	private PropertySheetEntry parent;
-	private IPropertySourceProvider propertySourceProvider;
-	private IPropertyDescriptor descriptor;
-	private CellEditor editor;
-	private String errorText;
-	private PropertySheetEntry[] childEntries = null;
-	private ListenerList listeners = new ListenerList();
-
-	/**
-	 * Create the CellEditorListener for this entry. It listens for
-	 * value changes in the CellEditor, and cancel and finish requests.
-	 */
-	private ICellEditorListener cellEditorListener = new ICellEditorListener() {
-		public void editorValueChanged(boolean oldValidState, boolean newValidState) {
-			if (!newValidState)
-				// currently not valid so show an error message
-				setErrorText(editor.getErrorMessage());
-			else 
-				// currently valid 
-				setErrorText(null);
-		}
-		public void cancelEditor() {
-			setErrorText(null);
-		}
-		public void applyEditorValue() {
-			PropertySheetEntry.this.applyEditorValue();
-		}
-	};
-/* (non-Javadoc)
- * Method declared on IPropertySheetEntry.
- */
-public void addPropertySheetEntryListener(IPropertySheetEntryListener listener) {
-	listeners.add(listener);
-}
-/* (non-Javadoc)
- * Method declared on IPropertySheetEntry.
- */
-public void applyEditorValue() {
-	if (editor == null) 
-		return;
-		
-	// Check if editor has a valid value
-	if (!editor.isValueValid()) {
-		setErrorText(editor.getErrorMessage());
-		return;
-	} 
-	
-	setErrorText(null);
-		
-	// See if the value changed and if so update
-	Object newValue = editor.getValue();
-	boolean changed = false;
-	if (values.length > 1) {
-		changed = true;
-	} else if (editValue == null) {
-		if (newValue != null)
-			changed = true;
-	} else if (!editValue.equals(newValue)) 
-		changed = true;
-
-	// Set the editor value
-	if (changed) 
-		setValue(newValue);	
-}
-/**
- * Return the sorted intersection of all the <code>IPropertyDescriptor</code>s 
- * for the objects.
- * @return List
- */
-private List computeMergedPropertyDescriptors() {
-	if (values.length == 0)
-		return new ArrayList(0);
-		
-	// get all descriptors from each object
-	Map[] propertyDescriptorMaps = new Map[values.length];
-	for (int i = 0; i < values.length; i++) {
-		Object object = values[i];
-		IPropertySource source = getPropertySource(object);
-		if (source == null) {
-			// if one of the selected items is not a property source
-			// then we show no properties
-			return new ArrayList(0);
-		}
-		// get the property descriptors keyed by id
-		propertyDescriptorMaps[i] = computePropertyDescriptorsFor(source);
-	}
-
-	// intersect
-	Map intersection = propertyDescriptorMaps[0];
-	for (int i = 1; i < propertyDescriptorMaps.length; i++) {
-		// get the current ids
-		Object[] ids = intersection.keySet().toArray();
-		for (int j = 0; j < ids.length; j++){
-			Object object = propertyDescriptorMaps[i].get(ids[j]);
-			if (object == null ||
-				// see if the descriptors (which have the same id) are compatible
-				!((IPropertyDescriptor)intersection.get(ids[j])).isCompatibleWith((IPropertyDescriptor)object))
-			 	intersection.remove(ids[j]);
-		}
-	}
-
-	// Sort the descriptors	
-	List descriptors = new ArrayList(intersection.values());
-	Collections.sort(descriptors, new Comparator() {
-		Collator coll = Collator.getInstance(Locale.getDefault());
-		public int compare(Object a, Object b) {
-			IPropertyDescriptor d1, d2;
-			String dname1, dname2;
-			d1 = (IPropertyDescriptor) a;
-			dname1 = d1.getDisplayName();
-			d2 = (IPropertyDescriptor) b;
-			dname2 = d2.getDisplayName();
-			return coll.compare(dname1, dname2);
-		}
-	});
-
-	return descriptors;
-}
-/**
- * Returns an map of property descritptors (keyed on id) for the 
- * given property source.
- *
- * @param source a property source for which to obtain descriptors
- * @return a table of decriptors keyed on their id
- */
-private Map computePropertyDescriptorsFor(IPropertySource source) {
-	IPropertyDescriptor[] descriptors = source.getPropertyDescriptors();
-	Map result = new HashMap(descriptors.length*2+1);
-	for (int i = 0; i < descriptors.length; i++){
-		result.put(descriptors[i].getId(), descriptors[i]);
-	}
-	return result;
-}
-/**
- * Create our child entries.
- */
-private void createChildEntries() {
-	// get the current descriptors
-	List descriptors = computeMergedPropertyDescriptors();
-
-	// rebuild child entries using old when possible
-	childEntries = new PropertySheetEntry[descriptors.size()];
-	for (int i = 0; i < descriptors.size(); i++) {
-		IPropertyDescriptor d = (IPropertyDescriptor)descriptors.get(i);
-		// create new entry
-		PropertySheetEntry entry = new PropertySheetEntry();
-		entry.setDescriptor(d);
-		entry.setParent(this);
-		entry.setPropertySourceProvider(propertySourceProvider);
-		entry.refreshValues();
-		childEntries[i] = entry;
-	}
-}
-/* (non-Javadoc)
- * Method declared on IPropertySheetEntry.
- */
-public void dispose() {
-	if (editor != null) {
-		editor.dispose();
-		editor = null;
-	}
-	// recursive call to dispose children
-	if (childEntries != null)
-		for (int i = 0; i < childEntries.length; i++) {
-			// an error in a property source may cause refreshChildEntries
-			// to fail. Since the Workbench handles such errors we
-			// can be left in a state where a child entry is null.
-			if (childEntries[i] != null)
-				childEntries[i].dispose();
-		}
-}
-/**
- * The child entries of this entry have changed 
- * (children added or removed).
- * Notify all listeners of the change.
- */
-private void fireChildEntriesChanged() {
-	if (listeners == null)
-		return;
-	Object[] array = listeners.getListeners();	
-	for (int i = 0; i < array.length; i++) {
-		IPropertySheetEntryListener listener = (IPropertySheetEntryListener)array[i];
-		listener.childEntriesChanged(this);
-	}
-}
-/**
- * The error message of this entry has changed.
- * Notify all listeners of the change.
- */
-private void fireErrorMessageChanged() {
-	if (listeners == null)
-		return;
-	Object[] array = listeners.getListeners();	
-	for (int i = 0; i < array.length; i++) {
-		IPropertySheetEntryListener listener = (IPropertySheetEntryListener)array[i];
-		listener.errorMessageChanged(this);
-	}
-}
-/**
- * The values of this entry have changed.
- * Notify all listeners of the change.
- */
-private void fireValueChanged() {
-	if (listeners == null)
-		return;
-	Object[] array = listeners.getListeners();	
-	for (int i = 0; i < array.length; i++) {
-		IPropertySheetEntryListener listener = (IPropertySheetEntryListener)array[i];
-		listener.valueChanged(this);
-	}
-}
-/* (non-Javadoc)
- * Method declared on IPropertySheetEntry.
- */
-public String getCategory() {
-	return descriptor.getCategory();
-}
-/* (non-Javadoc)
- * Method declared on IPropertySheetEntry.
- */
-public IPropertySheetEntry[] getChildEntries() {
-	if (childEntries == null) 
-		createChildEntries();
-	return childEntries;
-}
-/* (non-Javadoc)
- * Method declared on IPropertySheetEntry.
- */
-public String getDescription() {
-	return descriptor.getDescription();
-}
-/**
- *  Returns the descriptor for this entry.
- * @return IPropertyDescriptor
- */
-private IPropertyDescriptor getDescriptor() {
-	return descriptor;
-}
-/* (non-Javadoc)
- * Method declared on IPropertySheetEntry.
- */
-public String getDisplayName() {
-	return descriptor.getDisplayName();
-}
-/*
- *  (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySheetEntry#getEditor(org.eclipse.swt.widgets.Composite)
- */
-public CellEditor getEditor(Composite parent) {
-
-	if (editor == null) {
-		editor = descriptor.createPropertyEditor(parent);
-		if (editor != null) {
-			editor.addListener(cellEditorListener);
-		}
-	}
-	if (editor != null) {
-		editor.setValue(editValue);
-		setErrorText(editor.getErrorMessage());
-	}
-	return editor;
-}
-/**
- * Returns the edit value for the object at the given index.
- *
- * @param index the value object index
- * @return the edit value for the object at the given index
- */
-protected Object getEditValue(int index) {
-	Object value = values[index];
-	IPropertySource source = getPropertySource(value);
-	if (source != null) {
-		value = source.getEditableValue();
-	}
-	return value;
-}
-/* (non-Javadoc)
- * Method declared on IPropertySheetEntry.
- */
-public String getErrorText() {
-	return errorText;
-}
-/* (non-Javadoc)
- * Method declared on IPropertySheetEntry.
- */
-public String getFilters() [] {
-	return descriptor.getFilterFlags();
-}
-/* (non-Javadoc)
- * Method declared on IPropertySheetEntry.
- */
-public Object getHelpContextIds() {
-	return descriptor.getHelpContextIds();
-}
-/* (non-Javadoc)
- * Method declared on IPropertySheetEntry.
- */
-public Image getImage() {
-	ILabelProvider provider = descriptor.getLabelProvider();
-	if (provider == null)
-		return null;
-	return provider.getImage(editValue);
-}
-/**
- * Returns an property source for the given object.
- *
- * @param object an object for which to obtain a property source or
- *  <code>null</code> if a property source is not available
- * @return an property source for the given object
- */
-private IPropertySource getPropertySource(Object object) {
-	if (sources.containsKey(object))
-		return (IPropertySource)sources.get(object);
-		
-	IPropertySource result = null; 
-	if (propertySourceProvider != null)
-		result = propertySourceProvider.getPropertySource(object);
-	else if (object instanceof IPropertySource) 
-		result = (IPropertySource)object;
-	else if (object instanceof IAdaptable)
-		result = (IPropertySource)((IAdaptable)object).getAdapter(IPropertySource.class);
-		
-	sources.put(object, result);
-	return result;
-}
-/* (non-Javadoc)
- * Method declared on IPropertySheetEntry.
- */
-public String getValueAsString() {
-	if (editValue == null)
-		return "";//$NON-NLS-1$
-	ILabelProvider provider = descriptor.getLabelProvider();
-	if (provider == null)
-		return editValue.toString();
-	return provider.getText(editValue);
-}
-/**
- * Returns the value objects of this entry.
- * @return Object[]
- */
-private Object[] getValues() {
-	return values;
-}
-/* (non-Javadoc)
- * Method declared on IPropertySheetEntry.
- */
-public boolean hasChildEntries() {
-	if (childEntries != null && childEntries.length > 0)
-		return true;
-	// see if we could have entires if we were asked
-	return computeMergedPropertyDescriptors().size() > 0;
-}
-/**
- * Update our child entries.
- * This implementation tries to reuse child entries if possible 
- * (if the id of the new descriptor matches the descriptor id of the
- * old entry).
- */
-private void refreshChildEntries() {
-	if (childEntries == null)
-		// no children to refresh
-		return;
-		
-	// get the current descriptors
-	List descriptors = computeMergedPropertyDescriptors();
-
-	// cache old entries by their descriptor id
-	Map entryCache = new HashMap (childEntries.length*2+1);
-	for (int i = 0; i < childEntries.length; i++){
-		entryCache.put(childEntries[i].getDescriptor().getId(), childEntries[i]);
-	}
-
-	// create a list of entries to dispose
-	List entriesToDispose = new ArrayList(Arrays.asList(childEntries));
-	
-	// rebuild child entries using old when possible
-	childEntries = new PropertySheetEntry[descriptors.size()];
-	boolean entriesChanged = descriptors.size() != entryCache.size();
-	for (int i = 0; i < descriptors.size(); i++) {
-		IPropertyDescriptor d = (IPropertyDescriptor)descriptors.get(i);
-		// see if we have an entry matching this descriptor
-		PropertySheetEntry entry = (PropertySheetEntry)entryCache.get(d.getId());
-		if (entry != null) {
-			// reuse old entry
-				entry.setDescriptor(d);
-				entriesToDispose.remove(entry);
-		} else {
-			// create new entry
-			entry = new PropertySheetEntry();
-			entry.setDescriptor(d);
-			entry.setParent(this);
-			entry.setPropertySourceProvider(propertySourceProvider);
-			entriesChanged = true;
-		}
-		entry.refreshValues();
-		childEntries[i] = entry;
-	}
-
-	if (entriesChanged)
-		fireChildEntriesChanged();
-
-	//Dispose of entries which are no longer needed		
-	for (int i = 0; i < entriesToDispose.size(); i++) {
-		((IPropertySheetEntry)entriesToDispose.get(i)).dispose();		
-	}	
-}
-/**
- * Refresh the entry tree from the root down
- */
-private void refreshFromRoot() {
-	if (parent == null)
-		refreshChildEntries();
-	else
-		parent.refreshFromRoot();
-}
-/**
- * Update our value objects.
- * We ask our parent for the property values based on
- * our descriptor.
- */
-private void refreshValues() {
-	// get our parent's value objects
-	Object[] currentSources = parent.getValues();
-
-	// loop through the objects getting our property value from each
-	Object[] newValues = new Object[currentSources.length];
-	for (int i = 0; i < currentSources.length; i++) {
-	 	IPropertySource source = parent.getPropertySource(currentSources[i]);
-		newValues[i] = source.getPropertyValue(descriptor.getId());
-	}
-
-	// set our new values
-	setValues(newValues);
-}
-/* (non-Javadoc)
- * Method declared on IPropertySheetEntry.
- */
-public void removePropertySheetEntryListener(IPropertySheetEntryListener listener) {
-	listeners.remove(listener);
-}
-/* (non-Javadoc)
- * Method declared on IPropertySheetEntry.
- */
-public void resetPropertyValue() {
-	if (parent == null)
-		// root does not have a default value
-		return;
-
-	//	Use our parent's values to reset our values.
-	boolean change = false;
-	Object[] objects = parent.getValues();
-	for (int i = 0; i < objects.length; i++){
-		IPropertySource source = getPropertySource(objects[i]);
-		if (source.isPropertySet(descriptor.getId())) {
-            // fix for https://bugs.eclipse.org/bugs/show_bug.cgi?id=21756
-            if(source instanceof IPropertySource2) {
-                IPropertySource2 extendedSource = (IPropertySource2) source;
-                // continue with next if property is not resettable
-                if (!extendedSource.isPropertyResettable(descriptor.getId()))
-                    continue;
-            }
-			source.resetPropertyValue(descriptor.getId());
-			change = true;
-		}
-	}
-	if (change)
-		refreshFromRoot();
-}
-/**
- * Set the descriptor.
- * @param newDescriptor
- */
-private void setDescriptor(IPropertyDescriptor newDescriptor) {
-	// if our descriptor is changing, we have to get rid
-	// of our current editor if there is one
-	if (descriptor != newDescriptor && editor != null) {
-		editor.dispose();
-		editor = null;
-	}
-	descriptor = newDescriptor;
-}
-/*
- * Set the error text.  This should be set to null when
- * the current value is valid, otherwise it should be
- * set to a error string
- */
-private void setErrorText(String newErrorText) {
-	errorText = newErrorText;
-	// inform listeners
-	fireErrorMessageChanged();
-}
-/**
- * Sets the parent of the entry to be propertySheetEntry.
- * @param propertySheetEntry
- */
-private void setParent(PropertySheetEntry propertySheetEntry){
-	parent = propertySheetEntry;
-}
-/**
- * Sets a property source provider for this entry. 
- * This provider is used to obtain an <code>IPropertySource</code>
- * for each of this entries objects. If no provider is
- * set then a default provider is used.
- * @param provider IPropertySourceProvider
- */
-public void setPropertySourceProvider(IPropertySourceProvider provider) {
-	propertySourceProvider = provider;	
-}
-/**
- * Set the value for this entry.
- * <p>
- * We set the given value as the value for all our value objects.
- * We then call our parent to update the property we represent
- * with the given value.
- * We then trigger a model refresh.
- * <p>
- *
- * @param newValue the new value
- */
-private void setValue(Object newValue) {
-	// Set the value
-	for (int i = 0; i < values.length; i++) {
-		values[i] = newValue;
-	}
-
-	// Inform our parent
-	parent.valueChanged(this);
-
-	// Refresh the model
-	refreshFromRoot();	
-}
-/** 
- * The <code>PropertySheetEntry</code> implmentation of this
- * method declared on<code>IPropertySheetEntry</code> will
- * obtain an editable value for the given objects and update
- * the child entries.
- * <p>
- * Updating the child entries will typically call this method
- * on the child entries and thus the entire entry tree is updated
- * </p>
- * @param objects the new values for this entry
- */
-public void setValues(Object[] objects) {
-	values = objects;
-	sources = new HashMap(values.length * 2 + 1);
-	
-	if (values.length == 0) 
-		editValue = null;
-	else {
-		// set the first value object as the entry's value
-		Object newValue = values[0];
-
-		// see if we should convert the value to an editable value
-		IPropertySource source = getPropertySource(newValue);
-		if (source != null)
-			newValue = source.getEditableValue();
-		editValue = newValue;
-	}
-
-	// update our child entries
-	refreshChildEntries();
-
-	// inform listeners that our value changed
-	fireValueChanged();
-}
-/**
- * The value of the given child entry has changed.
- * Therefore we must set this change into our value objects.
- * <p>
- * We must inform our parent so that it can update its value objects
- * </p>
- * <p>
- * Subclasses may override to set the property value in some
- * custom way.
- * </p>
- *
- * @param child the child entry that changed its value
- */
-protected void valueChanged(PropertySheetEntry child) {
-	for (int i = 0; i < values.length; i++) {
-		IPropertySource source = getPropertySource(values[i]);
-		source.setPropertyValue(child.getDescriptor().getId(), child.getEditValue(i));
-	}
-	
-	// inform our parent
-	if (parent != null)
-		parent.valueChanged(this);
-}
-}
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetPage.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetPage.java
deleted file mode 100644
index 0a357d6..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetPage.java
+++ /dev/null
@@ -1,420 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.properties;
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.help.IContext;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.CellEditor;
-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.swt.custom.TableTree;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DragSource;
-import org.eclipse.swt.dnd.DragSourceAdapter;
-import org.eclipse.swt.dnd.DragSourceEvent;
-import org.eclipse.swt.dnd.DragSourceListener;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.events.HelpEvent;
-import org.eclipse.swt.events.HelpListener;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.IContextComputer;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.part.CellEditorActionHandler;
-import org.eclipse.ui.part.Page;
-import org.osgi.framework.Bundle;
-
-/**
- * The standard implementation of property sheet page which presents
- * a table of property names and values obtained from the current selection
- * in the active workbench part.
- * <p>
- * This page obtains the information about what to properties display from 
- * the current selection (which it tracks). 
- * </p>
- * <p>
- * The model for this page is a hierarchy of <code>IPropertySheetEntry</code>.
- * The page may be configured with a custom model by setting the root entry.
- * <p>
- * If no root entry is set then a default model is created which uses the
- * <code>IPropertySource</code> interface to obtain the properties of
- * the current slection. This requires that the selected objects provide an
- * <code>IPropertySource</code> adapter (or implement 
- * <code>IPropertySource</code> directly). This restiction can be overcome
- * by providing this page with an <code>IPropertySourceProvider</code>. If
- * supplied, this provider will be used by the default model to obtain a
- * property source for the current selection 
- * </p>
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- *
- * @see IPropertySource
- */
-public class PropertySheetPage extends Page implements IPropertySheetPage {
-	/**
-	 * Help context id 
-	 * (value <code>"org.eclipse.ui.property_sheet_page_help_context"</code>).
-	 */
-	public static final String HELP_CONTEXT_PROPERTY_SHEET_PAGE = "org.eclipse.ui.property_sheet_page_help_context"; //$NON-NLS-1$
-
-	private PropertySheetViewer viewer;
-	private IPropertySheetEntry rootEntry;
-	private IPropertySourceProvider provider;
-
-	private DefaultsAction defaultsAction;
-	private FilterAction filterAction;
-	private CategoriesAction categoriesAction;
-	private CopyPropertyAction copyAction;
-
-	private ICellEditorActivationListener cellEditorActivationListener;
-	private CellEditorActionHandler cellEditorActionHandler;
-
-	private Clipboard clipboard;
-	/**
-	 * Creates a new property sheet page.
-	 */
-	public PropertySheetPage() {
-		super();
-	}
-	/* (non-Javadoc)
-	 * Method declared on <code>IPage</code>.
-	 */
-	public void createControl(Composite parent) {
-		// create a new viewer
-		viewer = new PropertySheetViewer(parent);
-
-		// set the model for the viewer
-		if (rootEntry == null) {
-			// create a new root
-			PropertySheetEntry root = new PropertySheetEntry();
-			if (provider != null)
-				// set the property source provider
-				root.setPropertySourceProvider(provider);
-			rootEntry = root;
-		}
-		viewer.setRootEntry(rootEntry);
-		viewer.addActivationListener(getCellEditorActivationListener());
-		// add a listener to track when the entry selection changes
-		viewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				handleEntrySelection(event.getSelection());
-			}
-		});
-		initDragAndDrop();
-		makeActions();
-		
-		// Create the popup menu for the page.
-		MenuManager menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$
-		menuMgr.add(copyAction);
-		menuMgr.add(new Separator());
-		menuMgr.add(defaultsAction);
-		Menu menu = menuMgr.createContextMenu(viewer.getControl());
-		viewer.getControl().setMenu(menu);
-
-		// Set help on the viewer 
-		viewer.getControl().addHelpListener(new HelpListener() {
-			/*
-			 * @see HelpListener#helpRequested(HelpEvent)
-			 */
-			public void helpRequested(HelpEvent e) {
-				// Get the context for the selected item
-				IStructuredSelection selection = (IStructuredSelection)viewer.getSelection();
-				if (!selection.isEmpty()) {
-					IPropertySheetEntry entry = (IPropertySheetEntry)selection.getFirstElement();
-					Object helpContextId = entry.getHelpContextIds();
-					if (helpContextId != null) {
-						if (helpContextId instanceof String) {
-							WorkbenchHelp.displayHelp((String)helpContextId);
-							return;
-						}
-
-						// Since 2.0 the only valid type for helpContextIds
-						// is a String (a single id).
-						// However for backward compatibility we have to handle
-						// and array of contexts (Strings and/or IContexts) 
-						// or a context computer.
-						Object[] contexts = null;
-						if (helpContextId instanceof IContextComputer) {
-							// get local contexts
-							contexts = ((IContextComputer)helpContextId).getLocalContexts(e);
-						} else {
-							contexts = (Object[])helpContextId;
-						}
-						// Ignore all but the first element in the array
-						if (contexts[0] instanceof IContext) 
-							WorkbenchHelp.displayHelp((IContext)contexts[0]);
-						else
-							WorkbenchHelp.displayHelp((String)contexts[0]);
-						return;
-					}
-				}
-				
-				// No help for the selection so show page help
-				WorkbenchHelp.displayHelp(HELP_CONTEXT_PROPERTY_SHEET_PAGE);
-			}
-		});
-	}
-	/**
-	 * The <code>PropertySheetPage</code> implementation of this <code>IPage</code> method 
-	 * disposes of this page's entries.
-	 */
-	public void dispose() {
-		super.dispose();
-		if (rootEntry != null) {
-			rootEntry.dispose();
-			rootEntry = null;
-		}
-		if (clipboard != null) {
-			clipboard.dispose();
-			clipboard = null;
-		}			
-	}
-	/**
-	 * Returns the cell editor activation listener for this page
-	 * @return ICellEditorActivationListener the cell editor activation listener for this page
-	 */
-	private ICellEditorActivationListener getCellEditorActivationListener() {
-		if (cellEditorActivationListener == null) {
-			cellEditorActivationListener = new ICellEditorActivationListener() {
-				public void cellEditorActivated(CellEditor cellEditor) {
-					if (cellEditorActionHandler != null)
-						cellEditorActionHandler.addCellEditor(cellEditor);
-				}
-				public void cellEditorDeactivated(CellEditor cellEditor) {
-					if (cellEditorActionHandler != null)
-						cellEditorActionHandler.removeCellEditor(cellEditor);
-				}
-			};
-		}
-		return cellEditorActivationListener;
-	}
-	/* (non-Javadoc)
-	 * Method declared on IPage (and Page).
-	 */
-	public Control getControl() {
-		if (viewer == null)
-			return null;
-		return viewer.getControl();
-	}
-	/**
-	 * Returns the image descriptor with the given relative path.
-	 * @param relativePath The path relative to the workspace root
-	 * @return ImageDescriptor the descriptor for the receiver
-	 */
-	private ImageDescriptor getImageDescriptor(String relativePath) {
-		String iconPath = "icons/full/"; //$NON-NLS-1$
-		
-		Bundle bundle = Platform.getBundle(PlatformUI.PLUGIN_ID);
-		URL url =  bundle.getEntry(iconPath + relativePath);
-		return ImageDescriptor.createFromURL(url);
-		
-	}
-	/**
-	 * Handles a selection change in the entry table.
-	 *
-	 * @param selection the new selection
-	 */
-	public void handleEntrySelection(ISelection selection) {
-		if (defaultsAction != null) {
-			if (selection.isEmpty()) {
-				defaultsAction.setEnabled(false);
-				return;
-			}
-			// see if item is editable
-			boolean editable = viewer.getActiveCellEditor() != null;
-			defaultsAction.setEnabled(editable);
-		}
-	}
-	/**
-	 * Adds drag and drop support.
-	 */
-	protected void initDragAndDrop() {
-		int operations = DND.DROP_COPY;
-		Transfer[] transferTypes = new Transfer[]{
-			TextTransfer.getInstance()};
-		DragSourceListener listener = new DragSourceAdapter() {
-			public void dragSetData(DragSourceEvent event){
-				performDragSetData(event);
-			}
-			public void dragFinished(DragSourceEvent event){
-				//Nothing to do here
-			}
-		};
-		DragSource dragSource = new DragSource(((TableTree)viewer.getControl()).getTable(), operations);
-		dragSource.setTransfer(transferTypes);
-		dragSource.addDragListener(listener);
-	}
-	/**
-	 * The user is attempting to drag.  Add the appropriate
-	 * data to the event.
-	 * @param event The event sent from the drag and drop support.
-	 */
-	void performDragSetData(DragSourceEvent event) {
-		// Get the selected property
-		IStructuredSelection selection = (IStructuredSelection)viewer.getSelection();
-		if (selection.isEmpty()) 
-			return;
-		// Assume single selection
-		IPropertySheetEntry entry = (IPropertySheetEntry)selection.getFirstElement();
-
-		// Place text as the data
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(entry.getDisplayName());
-		buffer.append("\t"); //$NON-NLS-1$
-		buffer.append(entry.getValueAsString());
-		
-		event.data = buffer.toString();			
-	}
-	/**
-	 * Make action objects.
-	 */
-	private void makeActions() {
-		ISharedImages sharedImages = PlatformUI.getWorkbench().getSharedImages();
-		
-		// Restore Default Value
-		defaultsAction = new DefaultsAction(viewer, "defaults"); //$NON-NLS-1$
-		defaultsAction.setText(PropertiesMessages.getString("Defaults.text")); //$NON-NLS-1$
-		defaultsAction.setToolTipText(PropertiesMessages.getString("Defaults.toolTip")); //$NON-NLS-1$
-		defaultsAction.setImageDescriptor(getImageDescriptor("elcl16/defaults_ps.gif")); //$NON-NLS-1$
-		defaultsAction.setDisabledImageDescriptor(getImageDescriptor("dlcl16/defaults_ps.gif")); //$NON-NLS-1$
-		defaultsAction.setEnabled(false);
-
-		// Show Advanced Properties
-		filterAction = new FilterAction(viewer, "filter"); //$NON-NLS-1$
-		filterAction.setText(PropertiesMessages.getString("Filter.text")); //$NON-NLS-1$
-		filterAction.setToolTipText(PropertiesMessages.getString("Filter.toolTip")); //$NON-NLS-1$
-		filterAction.setImageDescriptor(getImageDescriptor("elcl16/filter_ps.gif")); //$NON-NLS-1$
-		filterAction.setChecked(false);
-
-		// Show Categories
-		categoriesAction = new CategoriesAction(viewer, "categories"); //$NON-NLS-1$
-		categoriesAction.setText(PropertiesMessages.getString("Categories.text")); //$NON-NLS-1$
-		categoriesAction.setToolTipText(PropertiesMessages.getString("Categories.toolTip")); //$NON-NLS-1$
-		categoriesAction.setImageDescriptor(getImageDescriptor("elcl16/tree_mode.gif")); //$NON-NLS-1$
-		categoriesAction.setChecked(true);
-	
-		// Copy	
-		Shell shell = viewer.getControl().getShell();
-		clipboard = new Clipboard(shell.getDisplay());
-		copyAction = new CopyPropertyAction(viewer, "copy", clipboard); //$NON-NLS-1$
-		copyAction.setText(PropertiesMessages.getString("CopyProperty.text")); //$NON-NLS-1$
-		copyAction.setImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_COPY));
-	}
-	/* (non-Javadoc)
-	 * Method declared on IPage (and Page).
-	 */
-	public void makeContributions(IMenuManager menuManager, IToolBarManager toolBarManager, IStatusLineManager statusLineManager) {
-
-		// add actions to the tool bar
-		toolBarManager.add(categoriesAction);
-		toolBarManager.add(filterAction);
-		toolBarManager.add(defaultsAction);
-
-		// add actions to the menu
-		menuManager.add(categoriesAction);
-		menuManager.add(filterAction);
-		
-		// set status line manager into the viewer
-		viewer.setStatusLineManager(statusLineManager);
-	}
-	/**
-	 * Updates the model for the viewer.
-	 * <p>
-	 * Note that this means ensuring that the model reflects the state
-	 * of the current viewer input. 
-	 * </p>
-	 */
-	public void refresh() {
-		if (viewer == null)
-			return;
-		// calling setInput on the viewer will cause the model to refresh
-		viewer.setInput(viewer.getInput());
-	}
-	/* (non-Javadoc)
-	 * Method declared on ISelectionListener.
-	 */
-	public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-		if (viewer == null)
-			return;
-
-		// change the viewer input since the workbench selection has changed.
-		if (selection instanceof IStructuredSelection) {
-			viewer.setInput(((IStructuredSelection) selection).toArray());
-		}
-	}
-	/**
-	 * The <code>PropertySheetPage</code> implementation of this <code>IPage</code> method
-	 * calls <code>makeContributions</code> for backwards compatibility with
-	 * previous versions of <code>IPage</code>. 
-	 * <p>
-	 * Subclasses may reimplement.
-	 * </p>
-	 */
-	public void setActionBars(IActionBars actionBars) {
-		super.setActionBars(actionBars);
-		cellEditorActionHandler = new CellEditorActionHandler(actionBars);
-		cellEditorActionHandler.setCopyAction(copyAction);
-	}
-	/**
-	 * Sets focus to a part in the page.
-	 */
-	public void setFocus() {
-		viewer.getControl().setFocus();
-	}
-	/**
-	 * Sets the given property source provider as
-	 * the property source provider.
-	 * <p>
-	 * Calling this method is only valid if you are using
-	 * this page's default root entry.
-	 * </p>
-	 * @param newProvider the property source provider
-	 */
-	public void setPropertySourceProvider(IPropertySourceProvider newProvider) {
-		provider = newProvider;
-		if (rootEntry instanceof PropertySheetEntry) {
-			((PropertySheetEntry) rootEntry).setPropertySourceProvider(provider);
-			// the following will trigger an update
-			viewer.setRootEntry(rootEntry);
-		}
-	}
-	/**
-	 * Sets the given entry as the model for the page.
-	 *
-	 * @param entry the root entry
-	 */
-	public void setRootEntry(IPropertySheetEntry entry) {
-		rootEntry = entry;
-		if (viewer != null)
-			// the following will trigger an update
-			viewer.setRootEntry(rootEntry);
-	}
-}
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetViewer.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetViewer.java
deleted file mode 100644
index 965bdaa..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetViewer.java
+++ /dev/null
@@ -1,1172 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.properties;
-
-import java.text.Collator;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ColumnLayoutData;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ICellEditorListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.TableTree;
-import org.eclipse.swt.custom.TableTreeEditor;
-import org.eclipse.swt.custom.TableTreeItem;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-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.TreeEvent;
-import org.eclipse.swt.events.TreeListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.Widget;
-/**
- * The PropertySheetViewer displays the properties of objects. The model for the
- * viewer consists of a hierarchy of <code>IPropertySheetEntry</code>.
- * <p>
- * This viewer also supports the optional catogorization of the first level
- * <code>IPropertySheetEntry</code> s by using instances of
- * <code>PropertySheetCategory</code>.
- *  
- */
-/* package */
-class PropertySheetViewer extends Viewer {
-	// The input objects for the viewer
-	private Object[] input;
-
-	// The root entry of the viewer
-	private IPropertySheetEntry rootEntry;
-
-	// The current categories
-	private PropertySheetCategory[] categories;
-
-	// SWT widgets
-	private TableTree tableTree;
-	private TableTreeEditor tableTreeEditor;
-	private static String[] columnLabels = {
-			PropertiesMessages.getString("PropertyViewer.property"), PropertiesMessages.getString("PropertyViewer.value")}; //$NON-NLS-2$ //$NON-NLS-1$
-	private static String MISCELLANEOUS_CATEGORY_NAME = PropertiesMessages
-			.getString("PropertyViewer.misc"); //$NON-NLS-1$
-
-	// Cell editor support.
-	private int columnToEdit = 1;
-	private CellEditor cellEditor;
-	private IPropertySheetEntryListener entryListener;
-	private ICellEditorListener editorListener;
-
-	// Flag to indicate if categories (if any) should be shown
-	private boolean isShowingCategories = true;
-	// Flag to indicate expert properties should be shown
-	private boolean isShowingExpertProperties = false;
-
-	// The status line manager for showing messages
-	private IStatusLineManager statusLineManager;
-
-	// Cell editor activation listeners
-	private ListenerList activationListeners = new ListenerList(3);
-	/**
-	 * Creates a property sheet viewer on a newly-created table tree control
-	 * under the given parent. The viewer has no input, and no root entry.
-	 * 
-	 * @param parent
-	 *            the parent control
-	 */
-	public PropertySheetViewer(Composite parent) {
-		tableTree = new TableTree(parent, SWT.FULL_SELECTION | SWT.SINGLE
-				| SWT.HIDE_SELECTION);
-
-		// configure the widget
-		Table table = tableTree.getTable();
-		table.setLinesVisible(true);
-		table.setHeaderVisible(true);
-
-		// configure the columns
-		addColumns();
-
-		// add our listeners to the widget
-		hookControl();
-
-		// create a new table tree editor
-		tableTreeEditor = new TableTreeEditor(tableTree);
-
-		// create the entry and editor listener
-		createEntryListener();
-		createEditorListener();
-	}
-	/**
-	 * Activate a cell editor for the given selected table tree item.
-	 * 
-	 * @param item
-	 *            the selected table tree item
-	 */
-	private void activateCellEditor(TableTreeItem item) {
-		// ensure the cell editor is visible
-		tableTree.showSelection();
-
-		// Get the entry for this item
-		IPropertySheetEntry activeEntry = (IPropertySheetEntry) item.getData();
-
-		// Get the cell editor for the entry.
-		// Note that the editor parent must be the Table control
-		// that is underneath the TableTree
-		cellEditor = activeEntry.getEditor(tableTree.getTable());
-
-		if (cellEditor == null)
-			// unable to create the editor
-			return;
-
-		// activate the cell editor
-		cellEditor.activate();
-
-		// if the cell editor has no control we can stop now
-		Control control = cellEditor.getControl();
-		if (control == null) {
-			cellEditor.deactivate();
-			cellEditor = null;
-			return;
-		}
-
-		// add our editor listener
-		cellEditor.addListener(editorListener);
-
-		// set the layout of the table tree editor to match the cell editor
-		CellEditor.LayoutData layout = cellEditor.getLayoutData();
-		tableTreeEditor.horizontalAlignment = layout.horizontalAlignment;
-		tableTreeEditor.grabHorizontal = layout.grabHorizontal;
-		tableTreeEditor.minimumWidth = layout.minimumWidth;
-		tableTreeEditor.setEditor(control, item, columnToEdit);
-
-		// set the error text from the cel editor
-		setErrorMessage(cellEditor.getErrorMessage());
-
-		// give focus to the cell editor
-		cellEditor.setFocus();
-
-		// notify of activation
-		fireCellEditorActivated(cellEditor);
-	}
-	/**
-	 * Adds a cell editor activation listener. Has no effect if an identical
-	 * activation listener is already registered.
-	 * 
-	 * @param listener
-	 *            a cell editor activation listener
-	 */
-	/* package */
-	void addActivationListener(ICellEditorActivationListener listener) {
-		activationListeners.add(listener);
-	}
-	/**
-	 * Add columns to the table tree and set up the layout manager accordingly.
-	 */
-	private void addColumns() {
-		Table table = tableTree.getTable();
-
-		// create the columns
-		TableColumn[] columns = table.getColumns();
-		for (int i = 0; i < columnLabels.length; i++) {
-			String string = columnLabels[i];
-			if (string != null) {
-				TableColumn column;
-				if (i < columns.length)
-					column = columns[i];
-				else
-					column = new TableColumn(table, 0);
-				column.setText(string);
-			}
-		}
-
-		// property column
-		ColumnLayoutData c1Layout = new ColumnWeightData(40, false);
-
-		// value column
-		ColumnLayoutData c2Layout = new ColumnWeightData(60, true);
-
-		// set columns in Table layout
-		TableLayout layout = new TableLayout();
-		layout.addColumnData(c1Layout);
-		layout.addColumnData(c2Layout);
-		table.setLayout(layout);
-	}
-	/**
-	 * Asks the entry currently being edited to apply its current cell editor
-	 * value.
-	 */
-	private void applyEditorValue() {
-		TableTreeItem treeItem = tableTreeEditor.getItem();
-		// treeItem can be null when view is opened
-		if (treeItem == null || treeItem.isDisposed())
-			return;
-		IPropertySheetEntry entry = (IPropertySheetEntry) treeItem.getData();
-		entry.applyEditorValue();
-	}
-	/**
-	 * Creates the child items for the given widget (item or table tree). This
-	 * method is called when the item is expanded for the first time or when an
-	 * item is assigned as the root of the table tree.
-	 * @param widget TableTreeItem or TableTree to create the children in.
-	 */
-	private void createChildren(Widget widget) {
-		// get the current child items
-		TableTreeItem[] childItems;
-		if (widget == tableTree)
-			childItems = tableTree.getItems();
-		else {
-			childItems = ((TableTreeItem) widget).getItems();
-		}
-
-		if (childItems.length > 0) {
-			Object data = childItems[0].getData();
-			if (data != null)
-				// children already there!
-				return;
-			// remove the dummy
-			childItems[0].dispose();
-		}
-
-		// get the children and create their table tree items
-		Object node = widget.getData();
-		List children = getChildren(node);
-		if (children.isEmpty())
-			// this item does't actually have any children
-			return;
-		for (int i = 0; i < children.size(); i++) {
-			// create a new table tree item
-			createItem(children.get(i), widget, i);
-		}
-	}
-	/**
-	 * Creates a new cell editor listener.
-	 */
-	private void createEditorListener() {
-		editorListener = new ICellEditorListener() {
-			public void cancelEditor() {
-				deactivateCellEditor();
-			}
-			public void editorValueChanged(boolean oldValidState,
-					boolean newValidState) {
-				//Do nothing
-			}
-			public void applyEditorValue() {
-				//Do nothing
-			}
-		};
-	}
-	/**
-	 * Creates a new property sheet entry listener.
-	 */
-	private void createEntryListener() {
-		entryListener = new IPropertySheetEntryListener() {
-			public void childEntriesChanged(IPropertySheetEntry entry) {
-				// update the children of the given entry
-				if (entry == rootEntry)
-					updateChildrenOf(entry, tableTree);
-				else {
-					TableTreeItem item = findItem(entry);
-					if (item != null)
-						updateChildrenOf(entry, item);
-				}
-			}
-			public void valueChanged(IPropertySheetEntry entry) {
-				// update the given entry
-				TableTreeItem item = findItem(entry);
-				if (item != null)
-					updateEntry(entry, item);
-			}
-			public void errorMessageChanged(IPropertySheetEntry entry) {
-				// update the error message
-				setErrorMessage(entry.getErrorText());
-			}
-		};
-	}
-	/**
-	 * Creates a new table tree item, sets the given entry or category (node)in
-	 * its user data field, and adds a listener to the node if it is an entry.
-	 * 
-	 * @param node
-	 *            the entry or category associated with this item
-	 * @param parent
-	 *            the parent widget
-	 * @param index
-	 *            indicates the position to insert the item into its parent
-	 */
-	private void createItem(Object node, Widget parent, int index) {
-		// create the item
-		TableTreeItem item;
-		if (parent instanceof TableTreeItem)
-			item = new TableTreeItem((TableTreeItem) parent, SWT.NONE, index);
-		else
-			item = new TableTreeItem((TableTree) parent, SWT.NONE, index);
-
-		// set the user data field
-		item.setData(node);
-
-		// add our listener
-		if (node instanceof IPropertySheetEntry)
-			((IPropertySheetEntry) node)
-					.addPropertySheetEntryListener(entryListener);
-
-		// update the visual presentation
-		if (node instanceof IPropertySheetEntry)
-			updateEntry((IPropertySheetEntry) node, item);
-		else
-			updateCategory((PropertySheetCategory) node, item);
-	}
-	/**
-	 * Deactivate the currently active cell editor.
-	 */
-	/* package */
-	void deactivateCellEditor() {
-		tableTreeEditor.setEditor(null, null, columnToEdit);
-		if (cellEditor != null) {
-			cellEditor.deactivate();
-			fireCellEditorDeactivated(cellEditor);
-			cellEditor.removeListener(editorListener);
-			cellEditor = null;
-		}
-		// clear any error message from the editor
-		setErrorMessage(null);
-	}
-	/**
-	 * Sends out a selection changed event for the entry table to all registered
-	 * listeners.
-	 */
-	private void entrySelectionChanged() {
-		SelectionChangedEvent changeEvent = new SelectionChangedEvent(this,
-				getSelection());
-		fireSelectionChanged(changeEvent);
-	}
-	/**
-	 * Return a table tree item in the property sheet that has the same entry in
-	 * its user data field as the supplied entry. Return <code>null</code> if
-	 * there is no such item.
-	 * 
-	 * @param entry
-	 *            the entry to serach for
-	 * @return the TableTreeItem for the entry or <code>null</code> if
-	 * there isn't one.
-	 */
-	private TableTreeItem findItem(IPropertySheetEntry entry) {
-		// Iterate through tableTreeItems to find item
-		TableTreeItem[] items = tableTree.getItems();
-		for (int i = 0; i < items.length; i++) {
-			TableTreeItem item = items[i];
-			TableTreeItem findItem = findItem(entry, item);
-			if (findItem != null)
-				return findItem;
-		}
-		return null;
-	}
-	/**
-	 * Return a table tree item in the property sheet that has the same entry in
-	 * its user data field as the supplied entry. Return <code>null</code> if
-	 * there is no such item.
-	 * 
-	 * @param entry
-	 *            the entry to search for
-	 * @param item
-	 *            the item look in
-	 * @return the TableTreeItem for the entry or <code>null</code> if
-	 * there isn't one.
-	 */
-	private TableTreeItem findItem(IPropertySheetEntry entry, TableTreeItem item) {
-		// compare with current item
-		if (entry == item.getData())
-			return item;
-
-		// recurse over children
-		TableTreeItem[] items = item.getItems();
-		for (int i = 0; i < items.length; i++) {
-			TableTreeItem childItem = items[i];
-			TableTreeItem findItem = findItem(entry, childItem);
-			if (findItem != null)
-				return findItem;
-		}
-		return null;
-	}
-	/**
-	 * Notifies all registered cell editor activation listeners of a cell editor
-	 * activation.
-	 * 
-	 * @param activatedCellEditor
-	 *            the activated cell editor
-	 */
-	private void fireCellEditorActivated(CellEditor activatedCellEditor) {
-		Object[] listeners = activationListeners.getListeners();
-		for (int i = 0; i < listeners.length; ++i) {
-			((ICellEditorActivationListener) listeners[i])
-					.cellEditorActivated(activatedCellEditor);
-		}
-	}
-	/**
-	 * Notifies all registered cell editor activation listeners of a cell editor
-	 * deactivation.
-	 * 
-	 * @param activatedCellEditor
-	 *            the deactivated cell editor
-	 */
-	private void fireCellEditorDeactivated(CellEditor activatedCellEditor) {
-		Object[] listeners = activationListeners.getListeners();
-		for (int i = 0; i < listeners.length; ++i) {
-			((ICellEditorActivationListener) listeners[i])
-					.cellEditorDeactivated(activatedCellEditor);
-		}
-	}
-	/**
-	 * Returns the active cell editor of this property sheet viewer or
-	 * <code>null</code> if no cell editor is active.
-	 * 
-	 * @return the active cell editor
-	 */
-	public CellEditor getActiveCellEditor() {
-		return cellEditor;
-	}
-	/**
-	 * Returns the children of the given category or entry
-	 *
-	 * @param node a category or entry
-	 * @return the children of the given category or entry
-	 *  (element type <code>IPropertySheetEntry</code> or 
-	 *  <code>PropertySheetCategory</code>)
-	 */
-	private List getChildren(Object node) {
-		// cast the entry or category
-		IPropertySheetEntry entry = null;
-		PropertySheetCategory category = null;
-		if (node instanceof IPropertySheetEntry)
-			entry = (IPropertySheetEntry) node;
-		else
-			category = (PropertySheetCategory) node;
-
-		// get the child entries or categories
-		List children;
-		if (category == null)
-			children = getChildren(entry);
-		else
-			children = getChildren(category);
-
-		return children;
-	}
-	/**
-	 * Returns the child entries of the given entry
-	 * @param entry The entry to search
-	 * 
-	 * @return the children of the given entry (element type
-	 *         <code>IPropertySheetEntry</code>)
-	 */
-	private List getChildren(IPropertySheetEntry entry) {
-		// if the entry is the root and we are showing categories, and we have
-		// more than the
-		// defualt category, return the categories
-		if (entry == rootEntry && isShowingCategories) {
-			if (categories.length > 1
-					|| (categories.length == 1 && !categories[0]
-							.getCategoryName().equals(
-									MISCELLANEOUS_CATEGORY_NAME)))
-				return Arrays.asList(categories);
-		}
-
-		// return the filtered child entries
-		return getFilteredEntries(entry.getChildEntries());
-	}
-	/**
-	 * Returns the child entries of the given category
-	 * 
-	 * @param category The category to search
-	 * 
-	 * @return the children of the given category (element type
-	 *         <code>IPropertySheetEntry</code>)
-	 */
-	private List getChildren(PropertySheetCategory category) {
-		return getFilteredEntries(category.getChildEntries());
-	}
-	/*
-	 * (non-Javadoc) Method declared on Viewer.
-	 */
-	public Control getControl() {
-		return tableTree;
-	}
-	/**
-	 * Returns the entries which match the current filter.
-	 *
-	 * @param entries the entries to filter
-	 * @return the entries which match the current filter
-	 *  (element type <code>IPropertySheetEntry</code>)
-	 */
-	private List getFilteredEntries(IPropertySheetEntry[] entries) {
-		// if no filter just return all entries
-		if (isShowingExpertProperties)
-			return Arrays.asList(entries);
-
-		// check each entry for the filter
-		List filteredEntries = new ArrayList(entries.length);
-		for (int i = 0; i < entries.length; i++) {
-			String[] filters = entries[i].getFilters();
-			boolean expert = false;
-			if (filters != null) {
-				for (int j = 0; j < filters.length; j++) {
-					if (filters[j].equals(IPropertySheetEntry.FILTER_ID_EXPERT)) {
-						expert = true;
-						break;
-					}
-				}
-			}
-			if (!expert)
-				filteredEntries.add(entries[i]);
-		}
-		return filteredEntries;
-	}
-	/**
-	 * The <code>PropertySheetViewer</code> implementation of this method
-	 * declared on <code>IInputProvider</code> returns the objects for which
-	 * the viewer is currently showing properties. It returns an
-	 * <code>Object[]</code> or <code>null</code>.
-	 */
-	public Object getInput() {
-		return input;
-	}
-	/**
-	 * Returns the root entry for this property sheet viewer. The root entry is
-	 * not visible in the viewer.
-	 * 
-	 * @return the root entry or <code>null</code>.
-	 */
-	public IPropertySheetEntry getRootEntry() {
-		return rootEntry;
-	}
-	/**
-	 * The <code>PropertySheetViewer</code> implementation of this
-	 * <code>ISelectionProvider</code> method returns the result as a
-	 * <code>StructuredSelection</code>.
-	 * <p>
-	 * Note that this method only includes <code>IPropertySheetEntry</code> in
-	 * the selection (no categories).
-	 * </p>
-	 */
-	public ISelection getSelection() {
-		if (tableTree.getSelectionCount() == 0)
-			return StructuredSelection.EMPTY;
-		TableTreeItem[] sel = tableTree.getSelection();
-		List entries = new ArrayList(sel.length);
-		for (int i = 0; i < sel.length; i++) {
-			TableTreeItem ti = sel[i];
-			Object data = ti.getData();
-			if (data instanceof IPropertySheetEntry)
-				entries.add(data);
-		}
-		return new StructuredSelection(entries);
-	}
-	/**
-	 * Selection in the viewer occurred. Check if there is an active cell
-	 * editor. If yes, deactivate it and check if a new cell editor must be
-	 * activated.
-	 * 
-	 * @param selection
-	 *            the TableTreeItem that is selected
-	 */
-	private void handleSelect(TableTreeItem selection) {
-		// deactivate the current cell editor
-		if (cellEditor != null) {
-			applyEditorValue();
-			deactivateCellEditor();
-		}
-
-		// get the new selection
-		TableTreeItem[] sel = new TableTreeItem[]{selection};
-		if (sel.length == 0) {
-			setMessage(null);
-			setErrorMessage(null);
-		} else {
-			Object object = sel[0].getData(); // assume single selection
-			if (object instanceof IPropertySheetEntry) {
-				// get the entry for this item
-				IPropertySheetEntry activeEntry = (IPropertySheetEntry) object;
-
-				// display the description for the item
-				setMessage(activeEntry.getDescription());
-
-				// activate a cell editor on the selection
-				activateCellEditor(sel[0]);
-			}
-		}
-		entrySelectionChanged();
-	}
-	/**
-	 * The expand icon for a node in this viewer has been selected to collapse a
-	 * subtree. Deactivate the cell editor
-	 * 
-	 * @param event
-	 *            the SWT tree event
-	 */
-	private void handleTreeCollapse(TreeEvent event) {
-		if (cellEditor != null) {
-			applyEditorValue();
-			deactivateCellEditor();
-		}
-	}
-	/**
-	 * The expand icon for a node in this viewer has been selected to expand the
-	 * subtree. Create the children 1 level deep.
-	 * <p>
-	 * Note that we use a "dummy" item (no user data) to show a "+" icon beside
-	 * an item which has children before the item is expanded now that it is
-	 * being expanded we have to create the real child items
-	 * </p>
-	 * 
-	 * @param event
-	 *            the SWT tree event
-	 */
-	private void handleTreeExpand(TreeEvent event) {
-		createChildren(event.item);
-	}
-	/**
-	 * Hides the categories.
-	 */
-	/* package */
-	void hideCategories() {
-		isShowingCategories = false;
-		categories = null;
-		refresh();
-	}
-	/**
-	 * Hides the expert properties.
-	 */
-	/* package */
-	void hideExpert() {
-		isShowingExpertProperties = false;
-		refresh();
-	}
-	/**
-	 * Establish this viewer as a listener on the control
-	 */
-	private void hookControl() {
-		// Handle selections in the TableTree
-		// Part1: Double click only (allow traversal via keyboard without
-		// activation
-		tableTree.addSelectionListener(new SelectionAdapter() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				handleSelect((TableTreeItem) e.item);
-			}
-		});
-		// Part2: handle single click activation of cell editor
-		tableTree.getTable().addMouseListener(new MouseAdapter() {
-			public void mouseDown(MouseEvent event) {
-				// only activate if there is a cell editor
-				Point pt = new Point(event.x, event.y);
-				TableTreeItem item = tableTree.getItem(pt);
-				if (item != null) {
-					handleSelect(item);
-				}
-			}
-		});
-
-		// Add a tree listener to expand and collapse which
-		// allows for lazy creation of children
-		tableTree.addTreeListener(new TreeListener() {
-			public void treeExpanded(final TreeEvent event) {
-				handleTreeExpand(event);
-			}
-			public void treeCollapsed(final TreeEvent event) {
-				handleTreeCollapse(event);
-			}
-		});
-
-		// Refresh the table when F5 pressed
-		tableTree.getTable().addKeyListener(new KeyAdapter() {
-			public void keyReleased(KeyEvent e) {
-				if (e.character == SWT.ESC)
-					deactivateCellEditor();
-				else if (e.keyCode == SWT.F5)
-					// The following will simulate a reselect
-					setInput(getInput());
-			}
-		});
-	}
-	/**
-	 * Updates all of the items in the tree.
-	 * <p>
-	 * Note that this means ensuring that the tree items reflect the state of
-	 * the model (entry tree) it does not mean telling the model to update
-	 * itself.
-	 * </p>
-	 */
-	public void refresh() {
-		if (rootEntry != null) {
-			updateChildrenOf(rootEntry, tableTree);
-		}
-	}
-	/**
-	 * Removes the given cell editor activation listener from this viewer. Has
-	 * no effect if an identical activation listener is not registered.
-	 * 
-	 * @param listener
-	 *            a cell editor activation listener
-	 */
-	/* package */
-	void removeActivationListener(ICellEditorActivationListener listener) {
-		activationListeners.remove(listener);
-	}
-	/**
-	 * Remove the given item from the table tree. Remove our listener if the
-	 * item's user data is a an entry then set the user data to null
-	 * 
-	 * @param item
-	 *            the item to remove
-	 */
-	private void removeItem(TableTreeItem item) {
-		Object data = item.getData();
-		if (data instanceof IPropertySheetEntry)
-			((IPropertySheetEntry) data)
-					.removePropertySheetEntryListener(entryListener);
-		item.setData(null);
-		item.dispose();
-	}
-	/**
-	 * Reset the selected properties to their default values.
-	 */
-	public void resetProperties() {
-		// Determine the selection
-		IStructuredSelection selection = (IStructuredSelection) getSelection();
-
-		// Iterate over entries and reset them
-		Iterator enum = selection.iterator();
-		while (enum.hasNext())
-			((IPropertySheetEntry) enum.next()).resetPropertyValue();
-	}
-	/**
-	 * Sets the error message to be displayed in the status line.
-	 * 
-	 * @param errorMessage
-	 *            the message to be displayed, or <code>null</code>
-	 */
-	private void setErrorMessage(String errorMessage) {
-		// show the error message
-		if (statusLineManager != null)
-			statusLineManager.setErrorMessage(errorMessage);
-	}
-	/**
-	 * The <code>PropertySheetViewer</code> implementation of this method
-	 * declared on <code>Viewer</code> method sets the objects for which the
-	 * viewer is currently showing properties.
-	 * <p>
-	 * The input must be an <code>Object[]</code> or <code>null</code>.
-	 * </p>
-	 * 
-	 * @param newInput
-	 *            the input of this viewer, or <code>null</code> if none
-	 */
-	public void setInput(Object newInput) {
-		// need to save any changed value when user clicks elsewhere
-		applyEditorValue();
-		// deactivate our cell editor
-		deactivateCellEditor();
-
-		// set the new input to the root entry
-		input = (Object[]) newInput;
-		if (input == null)
-			input = new Object[0];
-
-		if (rootEntry != null) {
-			rootEntry.setValues(input);
-			// ensure first level children are visible
-			updateChildrenOf(rootEntry, tableTree);
-		}
-	}
-	/**
-	 * Sets the message to be displayed in the status line. This message is
-	 * displayed when there is no error message.
-	 * 
-	 * @param message
-	 *            the message to be displayed, or <code>null</code>
-	 */
-	private void setMessage(String message) {
-		// show the message
-		if (statusLineManager != null)
-			statusLineManager.setMessage(message);
-	}
-	/**
-	 * Sets the root entry for this property sheet viewer. The root entry is not
-	 * visible in the viewer.
-	 * 
-	 * @param root
-	 *            the root entry
-	 */
-	public void setRootEntry(IPropertySheetEntry root) {
-		// If we have a root entry, remove our entry listener
-		if (rootEntry != null)
-			rootEntry.removePropertySheetEntryListener(entryListener);
-
-		rootEntry = root;
-
-		// Set the root as user data on the tableTree
-		tableTree.setData(rootEntry);
-
-		// Add an IPropertySheetEntryListener to listen for entry change
-		// notifications
-		rootEntry.addPropertySheetEntryListener(entryListener);
-
-		// Pass our input to the root, this will trigger entry change
-		// callbacks to update this viewer
-		setInput(input);
-	}
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.Viewer#setSelection(org.eclipse.jface.viewers.ISelection, boolean)
-	 */
-	public void setSelection(ISelection selection, boolean reveal) {
-		//Do nothing by default
-	}
-	/**
-	 * Sets the status line manager this view will use to show messages.
-	 * 
-	 * @param manager
-	 *            the status line manager
-	 */
-	public void setStatusLineManager(IStatusLineManager manager) {
-		statusLineManager = manager;
-	}
-	/**
-	 * Shows the categories.
-	 */
-	/* package */
-	void showCategories() {
-		isShowingCategories = true;
-		refresh();
-	}
-	/**
-	 * Shows the expert properties.
-	 */
-	/* package */
-	void showExpert() {
-		isShowingExpertProperties = true;
-		refresh();
-	}
-	/**
-	 * Updates the categories. Reuses old categories if possible.
-	 */
-	private void updateCategories() {
-		// lazy initialize
-		if (categories == null)
-			categories = new PropertySheetCategory[0];
-
-		// get all the filtered child entries of the root
-		List childEntries = getFilteredEntries(rootEntry.getChildEntries());
-
-		// if the list is empty, just set an empty categories array
-		if (childEntries.size() == 0) {
-			categories = new PropertySheetCategory[0];
-			return;
-		}
-
-		// cache old categories by their descriptor name
-		Map categoryCache = new HashMap(categories.length * 2 + 1);
-		for (int i = 0; i < categories.length; i++) {
-			categories[i].removeAllEntries();
-			categoryCache.put(categories[i].getCategoryName(), categories[i]);
-		}
-
-		// create a list of categories to get rid of
-		List categoriesToRemove = new ArrayList(Arrays.asList(categories));
-
-		// Determine the categories
-		PropertySheetCategory misc = (PropertySheetCategory) categoryCache
-				.get(MISCELLANEOUS_CATEGORY_NAME);
-		if (misc == null)
-			misc = new PropertySheetCategory(MISCELLANEOUS_CATEGORY_NAME);
-		boolean addMisc = false;
-
-		for (int i = 0; i < childEntries.size(); i++) {
-			IPropertySheetEntry childEntry = (IPropertySheetEntry) childEntries
-					.get(i);
-			String categoryName = childEntry.getCategory();
-			if (categoryName == null) {
-				misc.addEntry(childEntry);
-				addMisc = true;
-				categoriesToRemove.remove(misc);
-			} else {
-				PropertySheetCategory category = (PropertySheetCategory) categoryCache
-						.get(categoryName);
-				if (category == null) {
-					category = new PropertySheetCategory(categoryName);
-					categoryCache.put(categoryName, category);
-				} else {
-					categoriesToRemove.remove(category);
-				}
-				category.addEntry(childEntry);
-			}
-		}
-
-		// Add the PSE_MISC category if it has entries
-		if (addMisc)
-			categoryCache.put(MISCELLANEOUS_CATEGORY_NAME, misc);
-
-		// Sort the categories
-		List list = new ArrayList(categoryCache.values());
-		for (int i = 0; i < categoriesToRemove.size(); i++)
-			list.remove(categoriesToRemove.get(i));
-		Collections.sort(list, new Comparator() {
-			Collator coll = Collator.getInstance(Locale.getDefault());
-			public int compare(Object a, Object b) {
-				PropertySheetCategory c1, c2;
-				String dname1, dname2;
-				c1 = (PropertySheetCategory) a;
-				dname1 = c1.getCategoryName();
-				c2 = (PropertySheetCategory) b;
-				dname2 = c2.getCategoryName();
-				return coll.compare(dname1, dname2);
-			}
-		});
-
-		categories = (PropertySheetCategory[]) list
-				.toArray(new PropertySheetCategory[list.size()]);
-	}
-	/**
-	 * Update the category (but not its parent or children).
-	 * 
-	 * @param category
-	 *            the category to update
-	 * @param item
-	 *            the tree item for the given entry
-	 */
-	private void updateCategory(PropertySheetCategory category,
-			TableTreeItem item) {
-		// ensure that backpointer is correct
-		item.setData(category);
-
-		// Update the name and value columns
-		item.setText(0, category.getCategoryName());
-		item.setText(1, ""); //$NON-NLS-1$
-
-		// update the "+" icon
-		if (category.getAutoExpand()) {
-			// we auto expand categories when they first appear
-			createChildren(item);
-			item.setExpanded(true);
-			category.setAutoExpand(false);
-		} else {
-			// we do not want to auto expand categories if the user has
-			// collpased them
-			updatePlus(category, item);
-		}
-	}
-	/**
-	 * Update the child entries or categories of the given entry or category. If
-	 * the given node is the root entry and we are showing categories then the
-	 * child entries are categories, otherwise they are entries.
-	 * 
-	 * @param node
-	 *            the entry or category whose children we will update
-	 * @param widget
-	 *            the widget for the given entry, either a
-	 *            <code>TableTree</code> if the node is the root node or a
-	 *            <code>TableTreeItem</code> otherwise.
-	 */
-	private void updateChildrenOf(Object node, Widget widget) {
-		// cast the entry or category
-		IPropertySheetEntry entry = null;
-		PropertySheetCategory category = null;
-		if (node instanceof IPropertySheetEntry)
-			entry = (IPropertySheetEntry) node;
-		else
-			category = (PropertySheetCategory) node;
-
-		// get the current child table tree items
-		TableTreeItem item = null;
-		TableTreeItem[] childItems;
-		if (node == rootEntry) {
-			childItems = tableTree.getItems();
-		} else {
-			item = (TableTreeItem) widget;
-			childItems = item.getItems();
-		}
-
-		// optimization! prune collapsed subtrees
-		if (item != null && !item.getExpanded()) {
-			// remove all children
-			for (int i = 0; i < childItems.length; i++) {
-				if (childItems[i].getData() != null) {
-					removeItem(childItems[i]);
-				}
-			}
-
-			// append a dummy if necessary
-			if (category != null || entry.hasChildEntries()){
-				//may already have a dummy
-				// its is either a category (which always has at least one
-				// child)
-				// or an entry with chidren.
-				// Note that this test is not perfect, if we have filtering on
-				// then there in fact may be no entires to show when the user
-				// presses the "+" expand icon. But this is an acceptable
-				// compromise.
-				if(childItems.length != 1 || childItems[0].getData() != null)
-					//if already a dummy - do nothing
-					new TableTreeItem(item, SWT.NULL);
-			}	
-			return;
-		}
-
-		// get the child entries or categories
-		if (node == rootEntry && isShowingCategories)
-			// update the categories
-			updateCategories();
-		List children = getChildren(node);
-
-		// remove items
-		Set set = new HashSet(childItems.length * 2 + 1);
-
-		for (int i = 0; i < childItems.length; i++) {
-			Object data = childItems[i].getData();
-			if (data != null) {
-				Object e = data;
-				int ix = children.indexOf(e);
-				if (ix < 0) { // not found
-					removeItem(childItems[i]);
-				} else { // found
-					set.add(e);
-				}
-			} else if (data == null) { // the dummy
-				item.dispose();
-			}
-		}
-
-		// WORKAROUND
-		int oldCnt = -1;
-		if (widget == tableTree)
-			oldCnt = tableTree.getItemCount();
-
-		// add new items
-		int newSize = children.size();
-		for (int i = 0; i < newSize; i++) {
-			Object el = children.get(i);
-			if (!set.contains(el))
-				createItem(el, widget, i);
-		}
-
-		// WORKAROUND
-		if (widget == tableTree && oldCnt == 0 && tableTree.getItemCount() == 1) {
-			tableTree.setRedraw(false);
-			tableTree.setRedraw(true);
-		}
-
-		// get the child table tree items after our changes
-		if (entry == rootEntry)
-			childItems = tableTree.getItems();
-		else
-			childItems = item.getItems();
-
-		// update the child items
-		// This ensures that the children are in the correct order
-		// are showing the correct values.
-		for (int i = 0; i < newSize; i++) {
-			Object el = children.get(i);
-			if (el instanceof IPropertySheetEntry)
-				updateEntry((IPropertySheetEntry) el, childItems[i]);
-			else {
-				updateCategory((PropertySheetCategory) el, childItems[i]);
-				updateChildrenOf(el, childItems[i]);
-			}
-		}
-		// The tree's original selection may no longer apply after the update,
-		// so fire the selection changed event.
-		entrySelectionChanged();
-	}
-	/**
-	 * Update the given entry (but not its children or parent)
-	 * 
-	 * @param entry
-	 *            the entry we will update
-	 * @param item
-	 *            the tree item for the given entry
-	 */
-	private void updateEntry(IPropertySheetEntry entry, TableTreeItem item) {
-		// ensure that backpointer is correct
-		item.setData(entry);
-
-		// update the name and value columns
-		item.setText(0, entry.getDisplayName());
-		item.setText(1, entry.getValueAsString());
-		Image image = entry.getImage();
-		if (item.getImage(1) != image)
-			item.setImage(1, image);
-
-		// update the "+" icon
-		updatePlus(entry, item);
-	}
-	/**
-	 * Updates the "+"/"-" icon of the tree item from the given entry
-	 * or category.
-	 *
-	 * @param node the entry or category
-	 * @param item the table tree item being updated
-	 */
-	private void updatePlus(Object node, TableTreeItem item) {
-		// cast the entry or category
-		IPropertySheetEntry entry = null;
-		PropertySheetCategory category = null;
-		if (node instanceof IPropertySheetEntry)
-			entry = (IPropertySheetEntry) node;
-		else
-			category = (PropertySheetCategory) node;
-
-		boolean hasPlus = item.getItemCount() > 0;
-		boolean needsPlus = category != null || entry.hasChildEntries();
-		boolean removeAll = false;
-		boolean addDummy = false;
-
-		if (hasPlus != needsPlus) {
-			if (needsPlus) {
-				addDummy = true;
-			} else {
-				removeAll = true;
-			}
-		}
-		if (removeAll) {
-			// remove all children
-			TableTreeItem[] items = item.getItems();
-			for (int i = 0; i < items.length; i++) {
-				removeItem(items[i]);
-			}
-		}
-
-		if (addDummy) {
-			new TableTreeItem(item, SWT.NULL); // append a dummy to create the
-											   // plus sign
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/TextPropertyDescriptor.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/TextPropertyDescriptor.java
deleted file mode 100644
index d7318de..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/TextPropertyDescriptor.java
+++ /dev/null
@@ -1,54 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Descriptor for a property that has a value which should be edited with a 
- * text cell editor.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * <p>
- * Example:
- * <pre>
- * IPropertyDescriptor pd = new TextPropertyDescriptor("surname", "Last Name");
- * </pre>
- * </p>
- */
-public class TextPropertyDescriptor extends PropertyDescriptor {
-/**
- * Creates an property descriptor with the given id and display name.
- * 
- * @param id the id of the property
- * @param displayName the name to display for the property
- */
-public TextPropertyDescriptor(Object id, String displayName) {
-	super(id, displayName);
-}
-/**
- * The <code>TextPropertyDescriptor</code> implementation of this 
- * <code>IPropertyDescriptor</code> method creates and returns a new
- * <code>TextCellEditor</code>.
- * <p>
- * The editor is configured with the current validator if there is one.
- * </p>
- */
-public CellEditor createPropertyEditor(Composite parent) {
-	CellEditor editor = new TextCellEditor(parent);
-	if (getValidator() != null)
-		editor.setValidator(getValidator());
-	return editor;
-}
-}
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/messages.properties b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/messages.properties
deleted file mode 100644
index f454650..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/messages.properties
+++ /dev/null
@@ -1,31 +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 Corporation - initial API and implementation
-###############################################################################
-
-# package: org.eclipse.ui.views.properties
-
-# ==============================================================================
-# Properties View
-# ==============================================================================
-
-Categories.text = Show &Categories 
-Categories.toolTip = Show Categories
-
-CopyProperty.text = &Copy
-
-Defaults.text = &Restore Default Value
-Defaults.toolTip = Restore Default Value
-
-Filter.text = Show &Advanced Properties
-Filter.toolTip = Show Advanced Properties
-
-PropertyViewer.property = Property
-PropertyViewer.value = Value
-PropertyViewer.misc = Misc
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/package.html b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/package.html
deleted file mode 100644
index 1a6a1b5..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/package.html
+++ /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="Author" content="IBM">
-   <meta name="GENERATOR" content="Mozilla/4.5 [en] (Win98; I) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides the standard Property Sheet view which displays
-custom properties of the active workbench part's current selection.
-<br>&nbsp;
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.win32/.classpath b/bundles/org.eclipse.ui.win32/.classpath
deleted file mode 100644
index 4848249..0000000
--- a/bundles/org.eclipse.ui.win32/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<classpath>

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

-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>

-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>

-	<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 9be4cd1..0000000
--- a/bundles/org.eclipse.ui.win32/.project
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<projectDescription>

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

-	<comment></comment>

-	<projects>

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

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

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

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

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

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

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

-		<project>org.eclipse.ui.views</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.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 ed5519f..0000000
--- a/bundles/org.eclipse.ui.win32/build.properties
+++ /dev/null
@@ -1,13 +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 Corporation - initial API and implementation
-###############################################################################
-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 00f0955..0000000
--- a/bundles/org.eclipse.ui.win32/fragment.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<fragment
-   id="org.eclipse.ui.win32"
-   name="%Win32Fragment.fragmentName"
-   version="3.0.0"
-   provider-name="%Plugin.providerName"
-   plugin-id="org.eclipse.ui.ide"
-   plugin-version="3.0.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 36f8995..0000000
--- a/bundles/org.eclipse.ui.win32/src/org/eclipse/ui/internal/editorsupport/win32/OleEditor.java
+++ /dev/null
@@ -1,642 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.editorsupport.win32;
-
-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 RENAME_ERROR_TITLE =
-		WorkbenchMessages.getString("OleEditor.errorSaving"); //$NON-NLS-1$
-	private static final String OLE_EXCEPTION_TITLE =
-		WorkbenchMessages.getString("OleEditor.oleExceptionTitle"); //$NON-NLS-1$
-	private static final String OLE_EXCEPTION_MESSAGE =
-		WorkbenchMessages.getString("OleEditor.oleExceptionMessage"); //$NON-NLS-1$
-	private static final String SAVE_ERROR_TITLE =
-		WorkbenchMessages.getString("OleEditor.savingTitle"); //$NON-NLS-1$
-	private static final String SAVE_ERROR_MESSAGE =
-		WorkbenchMessages.getString("OleEditor.savingMessage"); //$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"}); //$NON-NLS-1$
-		if (appId != null) {
-			Variant pVarResult = dispInterface.getProperty(appId[0]);
-			if (pVarResult != null) {
-				OleAutomation application = pVarResult.getAutomation();
-				int[] dispid = application.getIDsOfNames(new String[] {"DisplayScrollBars"}); //$NON-NLS-1$
-				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();
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench.compatibility/.classpath b/bundles/org.eclipse.ui.workbench.compatibility/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/bundles/org.eclipse.ui.workbench.compatibility/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.ui.workbench.compatibility/.cvsignore b/bundles/org.eclipse.ui.workbench.compatibility/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/bundles/org.eclipse.ui.workbench.compatibility/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/bundles/org.eclipse.ui.workbench.compatibility/.project b/bundles/org.eclipse.ui.workbench.compatibility/.project
deleted file mode 100644
index 6695da6..0000000
--- a/bundles/org.eclipse.ui.workbench.compatibility/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.workbench.compatibility</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.core.resources</project>
-		<project>org.eclipse.core.runtime.compatibility</project>
-		<project>org.eclipse.help</project>
-		<project>org.eclipse.jface</project>
-		<project>org.eclipse.swt</project>
-		<project>org.eclipse.ui.workbench</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.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.ui.workbench.compatibility/about.html b/bundles/org.eclipse.ui.workbench.compatibility/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/bundles/org.eclipse.ui.workbench.compatibility/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.compatibility/build.properties b/bundles/org.eclipse.ui.workbench.compatibility/build.properties
deleted file mode 100644
index d865273..0000000
--- a/bundles/org.eclipse.ui.workbench.compatibility/build.properties
+++ /dev/null
@@ -1,14 +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 Corporation - initial API and implementation
-###############################################################################
-
-source.compatibility.jar=src/
-src.includes=about.html
-bin.includes=fragment.xml,about.html,compatibility.jar
diff --git a/bundles/org.eclipse.ui.workbench.compatibility/fragment.xml b/bundles/org.eclipse.ui.workbench.compatibility/fragment.xml
deleted file mode 100644
index 6bae04b..0000000
--- a/bundles/org.eclipse.ui.workbench.compatibility/fragment.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<fragment
-   id="org.eclipse.ui.workbench.compatibility"
-   name="%CompatibilityFragment.fragmentName"
-   version="3.0.0"
-   provider-name="%providerName"
-   plugin-id="org.eclipse.ui.workbench"
-   plugin-version="3.0.0">
-
-   <requires>
-      <import plugin="org.eclipse.core.resources"/>
-   </requires>
-   
-   <!-- N.B. This plug-in fragment contributes compatibility.jar
-     which is declared as a library in the plug-in manifest. -->
-
-</fragment>
diff --git a/bundles/org.eclipse.ui.workbench.compatibility/src/org/eclipse/ui/internal/CompatibleWorkbenchPage.java b/bundles/org.eclipse.ui.workbench.compatibility/src/org/eclipse/ui/internal/CompatibleWorkbenchPage.java
deleted file mode 100644
index 62839c7..0000000
--- a/bundles/org.eclipse.ui.workbench.compatibility/src/org/eclipse/ui/internal/CompatibleWorkbenchPage.java
+++ /dev/null
@@ -1,162 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal;
-
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-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.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorRegistry;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-
-/**
- * Internal class used in providing increased binary compatibility for
- * pre-3.0 plug-ins. This declaration masks the empty class of the same
- * name declared in the Workbench proper. This class implements
- * IWorkbenchPage that existed in 2.1 but were removed in 3.0 because they
- * referenced resource API.
- * 
- * @since 3.0
- */
-public class CompatibleWorkbenchPage implements ICompatibleWorkbenchPage {
-	/**
-	 * openEditor(IFile) is declared on IWorkbenchPage in 2.1.
-	 * This method was removed in 3.0 because it references resource API.
-	 */
-	public IEditorPart openEditor(IFile input) throws PartInitException {
-		// invoke org.eclipse.ui.ide.IDE.openEditor(IWorkbenchPage, IFile, boolean);
-		return openEditor(
-				new Class[] {IWorkbenchPage.class, IFile.class, boolean.class},
-				new Object[] {this, input, new Boolean(true)});
-	}
-	
-	/**
-	 * openEditor(IFile,String) is declared on IWorkbenchPage in 2.1.
-	 * This method was removed in 3.0 because it references resource API.
-	 */
-	public IEditorPart openEditor(IFile input, String editorID) throws PartInitException {
-		return openEditor(input, editorID, true);
-	}
-
-
-	/**
-	 * openEditor(IFile,String,boolean) is declared on IWorkbenchPage in 2.1.
-	 * This method was removed in 3.0 because it references resource API.
-	 */
-	public IEditorPart openEditor(IFile input, String editorID, boolean activate) throws PartInitException {
-		return ((IWorkbenchPage) this).openEditor(getFileEditorInput(input), editorID);
-	}
-
-
-	/**
-	 * openEditor(IMarker) is declared on IWorkbenchPage in 2.1.
-	 * This method was removed in 3.0 because it references resource API.
-	 */
-	public IEditorPart openEditor(IMarker marker) throws PartInitException {
-		return openEditor(marker, true);
-	}
-
-
-	/**
-	 * openEditor(IMarker,boolean) is declared on IWorkbenchPage in 2.1.
-	 * This method was removed in 3.0 because it references resource API.
-	 */
-	public IEditorPart openEditor(IMarker marker, boolean activate) throws PartInitException {
-		// invoke org.eclipse.ui.ide.IDE.openEditor(IWorkbenchPage, IMarker, boolean);
-		return openEditor(
-				new Class[] {IWorkbenchPage.class, IMarker.class, boolean.class},
-				new Object[] {this, marker, new Boolean(activate)});
-	}
-
-
-	/**
-	 * openSystemEditor(IFile) is declared on IWorkbenchPage in 2.1.
-	 * This method was removed in 3.0 because it references resource API.
-	 */
-	public void openSystemEditor(IFile file) throws PartInitException {
-		((IWorkbenchPage) this).openEditor(getFileEditorInput(file), IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID); 
-		
-	}
-
-	/* Implementation support: Use reflection for the following code pattern: 
-	 * new org.eclipse.ui.part.FileEditorInput(file)
-	 * The class FileEditorInput is found in the org.eclipse.ui.ide plug-in.
-	 */
-	private IEditorInput getFileEditorInput(IFile file) throws PartInitException {
-		IPluginDescriptor desc= Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.ui.ide"); //$NON-NLS-1$		
-		Exception problem;
-		try {
-			Class clazz =
-				desc.getPluginClassLoader().loadClass("org.eclipse.ui.part.FileEditorInput"); //$NON-NLS-1$
-			Constructor constructor = 
-				clazz.getConstructor(new Class[] {IFile.class});
-			return (IEditorInput) constructor.newInstance(new Object[] {file});
-		} catch (NullPointerException e) {
-			problem = e;
-		} catch (ClassNotFoundException e) {
-			problem = e;
-		} catch (NoSuchMethodException e) {
-			problem = e;
-		} catch (IllegalArgumentException e) {
-			problem = e;
-		} catch (IllegalAccessException e) {
-			problem = e;
-		} catch (InvocationTargetException e) {
-			problem = e;
-		} catch (InstantiationException e) {
-			problem = e;
-		}
-		IStatus status = new Status(IStatus.ERROR, WorkbenchPlugin.PI_WORKBENCH, 0, "openEditor() compatibility support failed - new FileEditorInput(file)", problem);  //$NON-NLS-1$
-		WorkbenchPlugin.log(status.getMessage(), status);
-		throw new PartInitException(status);
-	}
-	
-	/* Implementation support: 
-	 * Use reflection to invoke the appropriate static openEditor(...) method on IDE
-	 * The IDE class is found in the org.eclipse.ui.ide plug-in.
-	 */
-	private IEditorPart openEditor(Class[] argTypes, Object[] args) throws PartInitException {
-		IPluginDescriptor desc = Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.ui.ide"); //$NON-NLS-1$
-		Throwable problem;
-		try {
-			Class clazz =
-				desc.getPluginClassLoader().loadClass("org.eclipse.ui.ide.IDE"); //$NON-NLS-1$
-			Method method =
-				clazz.getMethod("openEditor", argTypes); //$NON-NLS-1$
-			return (IEditorPart) method.invoke(null, args);
-		} catch (NullPointerException e) {
-			problem = e;
-		} catch (ClassNotFoundException e) {
-			problem = e;
-		} catch (NoSuchMethodException e) {
-			problem = e;
-		} catch (IllegalArgumentException e) {
-			problem = e;
-		} catch (IllegalAccessException e) {
-			problem = e;
-		} catch (InvocationTargetException e) {
-			problem = e;
-		}
-		IStatus status = new Status(IStatus.ERROR, WorkbenchPlugin.PI_WORKBENCH, 0, "openEditor() compatibility support failed - IDE.openEditor()", problem);  //$NON-NLS-1$
-		WorkbenchPlugin.log(status.getMessage(), status);
-		throw new PartInitException(status);
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench.compatibility/src/org/eclipse/ui/internal/ICompatibleWorkbenchPage.java b/bundles/org.eclipse.ui.workbench.compatibility/src/org/eclipse/ui/internal/ICompatibleWorkbenchPage.java
deleted file mode 100644
index 9ec58c3..0000000
--- a/bundles/org.eclipse.ui.workbench.compatibility/src/org/eclipse/ui/internal/ICompatibleWorkbenchPage.java
+++ /dev/null
@@ -1,153 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.PartInitException;
-
-/**
- * Internal interface used in providing increased binary compatibility for
- * pre-3.0 plug-ins. This declaration masks the empty interface of the same
- * name declared in the Workbench proper. This interface declares 
- * IWorkbenchPage that existed in 2.1 but were removed in 3.0 because they
- * referenced resource API.
- * 
- * @since 3.0
- */
-public interface ICompatibleWorkbenchPage {
-	/**
-	 * 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 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;
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/NewProgressViewer.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/NewProgressViewer.java
index 3969aeb..36f3e8f 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/NewProgressViewer.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/NewProgressViewer.java
@@ -1614,6 +1614,8 @@
 	////// SelectionProvider
 
     public ISelection getSelection() {
+    	if (list.isDisposed())
+    		return new StructuredSelection();
     	ArrayList l= new ArrayList();
 		Control[] cs= list.getChildren();
 		for (int i= 0; i < cs.length; i++) {
diff --git a/bundles/org.eclipse.ui/.classpath b/bundles/org.eclipse.ui/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/bundles/org.eclipse.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<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 889495f..0000000
--- a/bundles/org.eclipse.ui/.options
+++ /dev/null
@@ -1,57 +0,0 @@
-# Debugging options for the org.eclipse.ui plugin.
-
-# Turn on debugging for the org.eclipse.ui plugin.
-org.eclipse.ui/debug=false
-
-# 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 events received and dispatched by the key binding architecture
-org.eclipse.ui/trace/keyBindings=false
-
-# Report every event received by the key binding architecture
-org.eclipse.ui/trace/keyBindings.verbose=false
-
-
-# Report every change in the list of contexts.
-org.eclipse.ui/trace/contexts=false
-
-# Report a bit of stack around every change in the list of contexts.
-org.eclipse.ui/trace/contexts.verbose=false
-
-# Report handler conflicts within the workbench
-org.eclipse.ui/trace/handlers=false
-
-# Report verbose information about changing handlers in the system.
-org.eclipse.ui/trace/handlers.verbose=false
-
-# Report UIJobs that take more than 100 ms.
-org.eclipse.ui/debug/uijob.longwarning=false
-
-#Report if a stale job was found
-org.eclipse.ui/debug/job.stale=false
-
-# Restrict the verbose information to a particular command
-org.eclipse.ui/trace/handlers.verbose.commandId=
diff --git a/bundles/org.eclipse.ui/.project b/bundles/org.eclipse.ui/.project
deleted file mode 100644
index 14b5fed..0000000
--- a/bundles/org.eclipse.ui/.project
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.core.runtime.compatibility</project>
-		<project>org.eclipse.help</project>
-		<project>org.eclipse.jface</project>
-		<project>org.eclipse.swt</project>
-		<project>org.eclipse.ui.workbench</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 c0a0cbb..0000000
--- a/bundles/org.eclipse.ui/build.properties
+++ /dev/null
@@ -1,19 +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 Corporation - initial API and implementation
-###############################################################################
-bin.includes = 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 5d1bc25..0000000
--- a/bundles/org.eclipse.ui/buildnotes_workbench.html
+++ /dev/null
@@ -1,2654 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html xmlns:v="urn:schemas-microsoft-com:vml"
-xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns:st1="urn:schemas-microsoft-com:office:smarttags"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 10">
-<meta name=Originator content="Microsoft Word 10">
-<link rel=File-List href="buildnotes_workbench_files/filelist.xml">
-<link rel=Edit-Time-Data href="buildnotes_workbench_files/editdata.mso">
-<!--[if !mso]>
-<style>
-v\:* {behavior:url(#default#VML);}
-o\:* {behavior:url(#default#VML);}
-w\:* {behavior:url(#default#VML);}
-.shape {behavior:url(#default#VML);}
-</style>
-<![endif]-->
-<title>Eclipse Platform Release Notes - Workbench</title>
-<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
- name="date"/>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Author>tod creasey</o:Author>
-  <o:LastAuthor>tod creasey</o:LastAuthor>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>12</o:TotalTime>
-  <o:Created>2004-06-07T20:40:00Z</o:Created>
-  <o:LastSaved>2004-06-07T20:52:00Z</o:LastSaved>
-  <o:Pages>1</o:Pages>
-  <o:Words>6855</o:Words>
-  <o:Characters>39080</o:Characters>
-  <o:Company>IBM</o:Company>
-  <o:Lines>325</o:Lines>
-  <o:Paragraphs>91</o:Paragraphs>
-  <o:CharactersWithSpaces>45844</o:CharactersWithSpaces>
-  <o:Version>10.4219</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:SpellingState>Clean</w:SpellingState>
-  <w:GrammarState>Clean</w:GrammarState>
-  <w:Compatibility>
-   <w:UseFELayout/>
-  </w:Compatibility>
-  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
- </w:WordDocument>
-</xml><![endif]--><!--[if !mso]><object
- classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui></object>
-<style>
-st1\:*{behavior:url(#ieooui) }
-</style>
-<![endif]-->
-<style>
-<!--
- /* Font Definitions */
- @font-face
-	{font-family:Wingdings;
-	panose-1:5 0 0 0 0 0 0 0 0 0;
-	mso-font-charset:2;
-	mso-generic-font-family:auto;
-	mso-font-pitch:variable;
-	mso-font-signature:0 268435456 0 0 -2147483648 0;}
-@font-face
-	{font-family:SimSun;
-	panose-1:2 1 6 0 3 1 1 1 1 1;
-	mso-font-alt:\5B8B\4F53;
-	mso-font-charset:134;
-	mso-generic-font-family:auto;
-	mso-font-format:other;
-	mso-font-pitch:variable;
-	mso-font-signature:1 135135232 16 0 262144 0;}
-@font-face
-	{font-family:"\@SimSun";
-	panose-1:2 1 6 0 3 1 1 1 1 1;
-	mso-font-charset:134;
-	mso-generic-font-family:auto;
-	mso-font-pitch:variable;
-	mso-font-signature:3 135135232 16 0 262145 0;}
- /* Style Definitions */
- p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:SimSun;}
-h1
-	{mso-margin-top-alt:auto;
-	margin-right:0in;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	mso-outline-level:1;
-	font-size:24.0pt;
-	font-family:"Times New Roman";
-	font-weight:bold;}
-h2
-	{mso-margin-top-alt:auto;
-	margin-right:0in;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	mso-outline-level:2;
-	font-size:18.0pt;
-	font-family:"Times New Roman";
-	font-weight:bold;}
-h3
-	{mso-margin-top-alt:auto;
-	margin-right:0in;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	mso-outline-level:3;
-	font-size:13.5pt;
-	font-family:"Times New Roman";
-	font-weight:bold;}
-a:link, span.MsoHyperlink
-	{color:blue;
-	text-decoration:underline;
-	text-underline:single;}
-a:visited, span.MsoHyperlinkFollowed
-	{color:blue;
-	text-decoration:underline;
-	text-underline:single;}
-p
-	{mso-margin-top-alt:auto;
-	margin-right:0in;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:SimSun;}
-code
-	{font-family:"Courier New";
-	mso-ascii-font-family:"Courier New";
-	mso-fareast-font-family:SimSun;
-	mso-hansi-font-family:"Courier New";
-	mso-bidi-font-family:"Courier New";}
-span.SpellE
-	{mso-style-name:"";
-	mso-spl-e:yes;}
-span.GramE
-	{mso-style-name:"";
-	mso-gram-e:yes;}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
- /* List Definitions */
- @list l0
-	{mso-list-id:181163980;
-	mso-list-template-ids:-205078884;}
-@list l0:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:.5in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l1
-	{mso-list-id:232085524;
-	mso-list-template-ids:-2135542118;}
-@list l1:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:.5in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l2
-	{mso-list-id:263341315;
-	mso-list-template-ids:-1662060850;}
-@list l2:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:.5in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l3
-	{mso-list-id:383405360;
-	mso-list-template-ids:1415840134;}
-@list l3:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:.5in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l4
-	{mso-list-id:396131038;
-	mso-list-template-ids:-523704434;}
-@list l4:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:.5in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l5
-	{mso-list-id:605815168;
-	mso-list-template-ids:-1804590736;}
-@list l5:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:.5in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l6
-	{mso-list-id:875003607;
-	mso-list-template-ids:-938971410;}
-@list l6:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:.5in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l7
-	{mso-list-id:1388262323;
-	mso-list-template-ids:1040331216;}
-@list l7:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:.5in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l8
-	{mso-list-id:1738823697;
-	mso-list-template-ids:-1976898000;}
-@list l8:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:.5in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l9
-	{mso-list-id:1850023587;
-	mso-list-template-ids:585895798;}
-@list l9:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:.5in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l10
-	{mso-list-id:1954899890;
-	mso-list-template-ids:-511285146;}
-@list l10:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:.5in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l11
-	{mso-list-id:1999188567;
-	mso-list-template-ids:-406059150;}
-@list l11:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:.5in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-ol
-	{margin-bottom:0in;}
-ul
-	{margin-bottom:0in;}
--->
-</style>
-<!--[if gte mso 10]>
-<style>
- /* Style Definitions */
- table.MsoNormalTable
-	{mso-style-name:"Table Normal";
-	mso-tstyle-rowband-size:0;
-	mso-tstyle-colband-size:0;
-	mso-style-noshow:yes;
-	mso-style-parent:"";
-	mso-padding-alt:0in 5.4pt 0in 5.4pt;
-	mso-para-margin:0in;
-	mso-para-margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:10.0pt;
-	font-family:"Times New Roman";}
-</style>
-<![endif]-->
-<meta name=Build content=Build>
-</head>
-
-<body lang=EN-US link=blue vlink=blue style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<h1>Eclipse Platform Build Notes<br>
-Workbench</h1>
-
-  <p>Integration Build (<st1:date Year="2004" Day="18" Month="6">June 18, 2004, 5:30 p.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-      <p>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62883">Bug 62883</a>.  [Progress] Images in progress area are misaligned and chopped<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65835">Bug 65766</a>.  [Perspectives] Perspective buttons order sometimes inconsistant<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65835">Bug 65835</a>.  [ViewMgmt] (regression) View tabs open in random order (further fixes)<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67721">Bug 67721</a>.  need API spec for product preference customization key<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67722">Bug 67722</a>.  IllegalArgumentException during shutdown<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67843">Bug 67843</a>.  [Progress] IProgressService.busyCursorWhile() doesn't show progress dialog from modal dialogs<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67882">Bug 67882</a>.  New icons available June 18<br>
-      </p>
-
-  <p>Integration Build (<st1:date Year="2004" Day="17" Month="6">June 17, 2004, 8 p.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-      <p>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60768">Bug 60768</a>.  CBanner at top does vertical sizing based on left components<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67729">Bug 67729</a>.  NPE on startup (all the time!)<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67731">Bug 67731</a>.  NPE on startup (part 2)<br>
-      </p>
-
-  <p>Integration Build (<st1:date Year="2004" Day="17" Month="6">June 17, 2004, 4 p.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-      <p>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62217">Bug 62217</a>.  [EditorMgmt] Editor tabs lose their order when the workbench is saved<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65766">Bug 65766</a>.  [Perspectives] Perspective buttons get added from right to left<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67330">Bug 67330</a>.  [Wizards] New Wizard fails with no categories<br>
-      </p>
-
-  <p>Integration Build (<st1:date Year="2004" Day="17" Month="6">June 17, 2004, 12 p.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-      <p>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57892">Bug 57892</a>.  [Graphics] Task icon is clipped in vertical rule (further fixing)<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67612">Bug 67612</a>.  [Progress] Searching dialog not closing<br>
-      </p>
-
-  <p>Integration Build (<st1:date Year="2004" Day="17" Month="6">June 17, 2004, 8 a.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-      <p>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57892">Bug 57892</a>.  [Graphics] Task icon is clipped in vertical rule (rolling back part of the fix)<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62245">Bug 62245</a>.  [ProblemsView] Problem view: improve presentation of current error/warning count<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65339">Bug 65339</a>.  [FastView] FastViews added to fixed perspectives are still closeable<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65835">Bug 65835</a>.  [ViewMgmt] (regression) View tabs open in random order<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66182">Bug 66182</a>.  [KeyBindings] multi-stroke keyboard shortcut popup swallows keys (further fixes)<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66820">Bug 66820</a>.  [Workbench] Perspective bar empty after restart<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66895">Bug 66895</a>.  [R21PRES] Unable to use RC2 after closing all perspectives<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67552">Bug 67552</a>.  Non-externalized string in UI<br>
-      </p>
-
-  <p>Integration Build (<st1:date Year="2004" Day="16" Month="6">June 16, 2004, 8 p.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-      <p>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57892">Bug 57892</a>.  [Graphics] Task icon is clipped in vertical rule<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63595">Bug 63595</a>.  [FastView] IPageLayout.addFastView does not seems to work at all in 3.0M9 <br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65213">Bug 65213</a>.  [Workbench] [R21PRES] Closing view, leaving one open doesn't always get rid of tabs<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65444">Bug 65444</a>.  [R21PRES] Close button shown when views not closeable<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66224">Bug 66224</a>.  [Workbench] Got Assertion failed using build I200406080800<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66673">Bug 66673</a>.  New icons available for the UI June 11<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67496">Bug 67496</a>.  [Tests] Add a perspective with a fast view test to the suites<br>
-      </p>
-
-  <p>Integration Build (<st1:date Year="2004" Day="16" Month="6">June 16, 2004, 4 p.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-      <p>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63362">Bug 63362</a>.  [KeyBindings] [ViewMgmt] Key bindings do not work in detached views<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64024">Bug 64024</a>.  [Workbench] Many objects leaked for each window opened/closed<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65136">Bug 65136</a>.  [RCP] [ViewMgmt] Multi-view instances not persisted properly across sessions<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66182">Bug 66182</a>.  [KeyBindings] multi-stroke keyboard shortcut popup swallows keys<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66377">Bug 66377</a>.  CVS repositories view disappeared<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66476">Bug 66476</a>.  [Fonts/Colours] Text font change not propagated to Java editor<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66733">Bug 66733</a>.  Workbench does not shutdown<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66782">Bug 66782</a>.  IntroPart setInitializationData can die on an NPE<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66810">Bug 66810</a>.  ClassCastException in WorkbenchIntroManager<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66819">Bug 66819</a>.  [Workbench] fastview refresh leaves lines behind<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67232">Bug 67232</a>.  New wizard banner graphics need to be applied<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67262">Bug 67262</a>.  [EditorMgmt] Add new file association for external programs adds duplicates<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67267">Bug 67267</a>.  [Progress] PROPERTY_IN_DIALOG needs to be API and needs to be documented<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67325">Bug 67325</a>.  [Progress] Jobs that should be marked "system" (NEW)<br>
-      </p>
-
-  <p>Integration Build (<st1:date Year="2004" Day="16" Month="6">June 16, 2004, 8 a.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-      <p>
-      	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61811">Bug 61811</a>.  NewProgressViewer problems when painting<br>
-      	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62883">Bug 62883</a>.  [Progress] Images in progress area are misaligned and chopped<br>
-      	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64775">Bug 64775</a>.  [Progress] progress view showing busy, but view is empty<br>
-      	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65276">Bug 65276</a>.  [Preferences] Preference dialog should disable OK when okPressed<br>
-      	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65606">Bug 65606</a>.  [ViewMgmt] IPerspectiveListener2 is notified too late<br>
-      	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66357">Bug 66357</a>.  Eclipse stops opening editors<br>
-      	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66439">Bug 66439</a>.  Copy of Class causes update error in package explorer<br>
-      	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66750">Bug 66750</a>.  [Progress] Progress Dialog for jobs no longer opens<br>
-      	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66756">Bug 66756</a>.  [Presentations] presentationFactories schema file is invalid<br>
-      	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66773">Bug 66773</a>.  Hangs every time I add a new feature/site<br>
-      </p>
-
-
-  <p>Integration Build (<st1:date Year="2004" Day="7" Month="6">June 9, 2004</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-  <p>57266 [Workbench] Workspace prompt should follow platform conventions for 
-    directory path <br>
-    63666 [R21PRES] Must drag tabs to move individual views in 2.1 presentation 
-    <br>
-    64908 [Tasks] Task tag creation and locked workspace<br>
-    66259 [KeyBindings] Polish patch: support view activation via a keyboard shortcut 
-    <br>
-  </p>
-  <p> Integration Build (<st1:date Year="2004" Day="7" Month="6">June 7, 2004</st1:date>)</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem
-reports fixed<o:p></o:p></span></b></p>
-
-<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width="100%"
- style='width:100.0%;mso-cellspacing:0in;mso-padding-alt:3.0pt 3.0pt 3.0pt 3.0pt'>
- <tr style='mso-yfti-irow:0'>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41224">41224</a> <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal>[Dialogs] Switch to Editor dialog does not rearrange <span
-  class=SpellE>layo</span>... <span style='color:black'><o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:1'>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57659">57659</a> <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal>[<span class=SpellE>ViewMgmt</span>] (regression) View not
-  <span class=SpellE>acitvated</span> when a toolbar... <span style='color:
-  black'><o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:2'>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62243">62243</a> <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal>[Workbench] Support to directly activate views via a <span
-  class=SpellE>keyb</span>... <span style='color:black'><o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:3'>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62709">62709</a> <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal>[<span class=SpellE>ActivityMgmt</span>] Need to expose
-  Team capability in SDK <span style='color:black'><o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:4'>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64043">64043</a> <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal>[Workbench] Ctrl-tab in maximized editor causes <span
-  class=SpellE>NullPoint</span>... <span style='color:black'><o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:5'>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64637">64637</a> <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal>Platform UI tests are unbearably slow <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:6'>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64784">64784</a> <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal>[<span class=SpellE>EditorMgmt</span>] NPE switching to
-  editor <span style='color:black'><o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:7'>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64908">64908</a> <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal>[Tasks] Task tag creation and locked workspace <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:8'>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64937">64937</a> <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal>[Progress] Using <span class=SpellE>IProgressService.busyCursorWhile</span>()
-  from ... <span style='color:black'><o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:9'>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65124">65124</a> <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal>[RCP] [<span class=SpellE>ViewMgmt</span>] Use name
-  attribute in product extension ... <span style='color:black'><o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:10'>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65549">65549</a> <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><span class=SpellE>ViewTests</span> need to be aware of
-  thread scenarios other then... <span style='color:black'><o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:11'>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65550">65550</a> <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><span class=SpellE>ViewRegistry</span> not <span
-  class=SpellE>syncExec'ing</span> when possible registry <span class=SpellE>chan</span>...
-  <span style='color:black'><o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:12'>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65603">65603</a> <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal>[Progress] Dialog with &quot;run in background&quot;
-  appears, even ... <span style='color:black'><o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:13'>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65711">65711</a> <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal>[Problems] Problems View takes too long to show <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:14'>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65851">65851</a> <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal>[Decorators] Schema should specify kind=java for <span
-  class=SpellE>objectCl</span>... <span style='color:black'><o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:15'>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65950">65950</a> <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><span class=SpellE>UIJob</span> should check cancellation
-  more <span style='color:black'><o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:16;mso-yfti-lastrow:yes'>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66034">66034</a> <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal>[<span class=SpellE>DynamicUI</span>] Remove listeners to
-  View and Perspective <span class=SpellE>regi</span>... <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
- </tr>
-</table>
-
-<p><o:p>&nbsp;</o:p></p>
-
-<p>Integration Build (Tuesday, <st1:date Year="2004" Day="20" Month="4">April
- 20th, 2004</st1:date>)</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<h2>Problem reports fixed</h2>
-
-<ul type=disc>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=2059">2059</a>
-     [Workbench] CVS password saving between session (1GDX7JK)</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=2780">2780</a> [Editor
-     Mgmt] workbench should indicate <span class=SpellE>whe</span> zoom is on
-     (1GJ860L)</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=16861">16861</a>
-     [Perspectives] <span class=GramE>The</span> separation between <span
-     class=SpellE>persp</span>. <span class=GramE>and</span> fast views does
-     not seem visible.</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=17242">17242</a> [View
-     Mgmt] Inconsistency dragging fast views</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=21639">21639</a> [DND]
-     Should reorder fast views on shortcut bar with DND</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=22008">22008</a> [View
-     Mgmt] Previous part should reactivate after dismissing fast view</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=25285">25285</a> Fast
-     View on bottom</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=27203">27203</a> [View
-     Mgmt] Fast view changes width when it shouldn't</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=30435">30435</a> [View
-     Mgmt] <span class=SpellE>Fastview</span> move too sensitive</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=31737">31737</a> [View
-     Mgmt] Clicking on <span class=SpellE>coolbar</span> should dismiss fast
-     view</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=32262">32262</a>
-     [Markers] DCR: Image and description for <span class=SpellE>IMarkerResolution</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=34216">34216</a> [View
-     Mgmt] Option to Remove Fast View Animation</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=36641">36641</a>
-     [Views] More flexible docking of fast views</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=36946">36946</a> [Plan
-     Item] Add cheat sheets</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=39789">39789</a>
-     [Tasks] when used as fast view, it will pop up even when all items
-     filtered</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41172">41172</a>
-     [Dialogs] Bug with Image in <span class=SpellE>TitleAreaDialog</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42176">42176</a>
-     [Navigator] Invalid thread access when closing a project</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=43821">43821</a>
-     [Decorators] <span class=SpellE>ILightweigthDecorator</span> should be
-     able to decorate multiple quadrants</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=48418">48418</a> Vague
-     progress messages confusing in Problems View</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=48660">48660</a> <span
-     class=SpellE>DeferredTreeContentManager</span> hard to reuse</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=50174">50174</a>
-     Missing localizations for extension point names</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=50963">50963</a> <span
-     class=SpellE>CheckedTreeSelectionDialog</span>: Select All/Deselect all
-     not working</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=52129">52129</a> [<span
-     class=SpellE>FastViews</span>] make fast view <span class=SpellE>dismissable</span>
-     by keystroke</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=53552">53552</a>
-     Strange status text in Console view</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=54020">54020</a> [<span
-     class=SpellE>EditorMgmt</span>] Multiple editor tabs appear active when
-     area split</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=54548">54548</a>
-     [About] About dialog should obtain info from <span class=SpellE>IProduct</span>
-     and <span class=SpellE>IBundleGroup</span> instead of platform
-     configuration</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55567">55567</a>
-     [Workbench] No way to build all with auto build on</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55593">55593</a>
-     [Activities] SDK activities shipped in Platform <span class=SpellE>plugin</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55607">55607</a> [<span
-     class=SpellE>cheatsheets</span>] <span class=SpellE>cheatsheets</span>
-     should not depend on <span class=SpellE>org.eclipse.ui.intro</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55646">55646</a> [UI
-     forms] <span class=SpellE>ui.forms</span> .project has unwanted project
-     references</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55649">55649</a> [UI
-     intro] <span class=SpellE>ui.intro</span> .project has unwanted project
-     references</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55667">55667</a>
-     [intro] Java development tutorial is &quot;blank;&quot;</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55741">55741</a>
-     Project&gt;Clean does not give immediate feedback and takes a while</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56196">56196</a>
-     [Progress] Cannot create file when using repository</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56240">56240</a> <span
-     class=SpellE>Emacs</span> key binding does not work in Java editor</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56282">56282</a> [<span
-     class=SpellE>FastView</span>] Cannot drag tab folder onto <span
-     class=SpellE>fastview</span> bar</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56330">56330</a>
-     [Workbench] Perspective bar is clipped</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56437">56437</a>
-     [Font/<span class=SpellE>Colour</span>] Eclipse 3.0 M8 Encoding Problem</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56860">56860</a> [<span
-     class=SpellE>WorkingSets</span>] Not Display Working Set Wizard Banner
-     Image</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57134">57134</a>
-     [Wizards] Cut off textbox in New Project Wizard</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57138">57138</a> [<span
-     class=SpellE>UIForms</span>] the flat look for components in eclipse forms
-     does not work</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57224">57224</a>
-     [Problems] Problems view should pop up without stealing the focus</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57275">57275</a>
-     [Activities] Configure Activities dialog; folder descriptions</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57277">57277</a>
-     [Wizards] Wizard pages do not adjust to wizard shell resizing well</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57384">57384</a> [RCP]
-     Main window not active on startup, <span class=SpellE>IWindowListeners</span>
-     never receive <span class=SpellE>windowActivated</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57698">57698</a>
-     [Intro] DBCS: nothing happen clicking &quot;Eclipse community&quot; at
-     Intro What's new</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58088">58088</a> [<span
-     class=SpellE>CheatSheets</span>] <span class=SpellE>tooltips</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58203">58203</a> Leak
-     from <span class=SpellE>ProgressManager.runnableMonitors</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58216">58216</a>
-     [Progress] should show busy cursor first when #<span class=SpellE>showInDialog</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58235">58235</a>
-     [Navigator] <span class=SpellE>ClassCastException</span> in <span
-     class=SpellE>saveState</span> (invalid cast to <span class=SpellE>IResource</span>?)</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58292">58292</a>
-     Wizard dialog does not show blocking jobs</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58297">58297</a> Need
-     to invert wording of Run In Background preference</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58309">58309</a>
-     workspace builds are not completing</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58321">58321</a> [<span
-     class=SpellE>EclipseForms</span>] Public API requested for <span
-     class=SpellE>FormUtil.ensureVisible</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58362">58362</a>
-     &quot;Delete&quot; operation in Navigator uses old style progress.</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58533">58533</a> Need
-     to check for <span class=SpellE>setSystem</span> being set after schedule</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58542">58542</a>
-     Dangerous change to <span class=SpellE>setSystem</span> in <span
-     class=SpellE>MarkersViews</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58558">58558</a> [<span
-     class=SpellE>ActivityMgmt</span>] <span class=SpellE>defaultEnabled</span>
-     activities do not have their state persisted properly</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58662">58662</a>
-     System Jobs showing in progress viewers</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58669">58669</a>
-     Should open new user dialog immediately</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58698">58698</a>
-     [About] Help / About / Plug-in Details gets <span class=SpellE>NullPointerException</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58731">58731</a> <span
-     class=SpellE>WorkbenchActivityHelper</span> doesn't work for contributions
-     with null <span class=SpellE>plugin</span> ID</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58758">58758</a> Error
-     dialog uses context menu</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58761">58761</a> [<span
-     class=SpellE>KeyBindings</span>] broken reference to <span class=SpellE>WidgetMethodHandler</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58831">58831</a> [RCP]
-     Eclipse <span class=SpellE>dosn't</span> start due to corrupted <span
-     class=SpellE>workbench.xml</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58942">58942</a>
-     Rewording in blocked jobs dialog</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58981">58981</a> [Progress]
-     <span class=SpellE>ErrorNotificationDialog</span> didn't find the detail
-     information</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59049">59049</a>
-     [Contexts] <span class=SpellE>WorkbenchContextSupport</span> doesn't
-     register new dialog shells as TYPE_DIALOG</li>
-</ul>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p><!-- I20040413 -->Integration Build (Tuesday, <st1:date Year="2004" Day="13"
-Month="4">April 13th, 2004</st1:date>)</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<ul type=disc>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l8 level1 lfo2;tab-stops:list .5in'><span class=SpellE><span
-     class=GramE>org.eclipse.ui.IThemePreview</span></span> has been moved into
-     the <span class=SpellE>org.eclipse.ui.themes</span> package. </li>
-</ul>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<h2>Problem reports fixed<o:p></o:p></h2>
-
-<ul type=disc xmlns:bz="http://www.bugzilla.org/rdf#">
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=20150">20150</a> [Key
-     Bindings] &quot;<span class=SpellE>Ctrl+Space</span>&quot; lost to code
-     assist</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=21708">21708</a>
-     [Viewers] Combo should support a Viewer</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=31835">31835</a>
-     [Tasks] Task list too eager to come to front</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=35766">35766</a> [<span
-     class=SpellE>MenuMgmt</span>] <span class=SpellE>EditorActionBars</span> -
-     <span class=SpellE>ContributionItems</span> not being disposed of properly</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=38412">38412</a>
-     [Actions] Tree &amp; Table cell editors too small</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=39223">39223</a>
-     Open/Close Project locks for several minutes</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40636">40636</a>
-     [Dialogs] <span class=SpellE>org.eclipse.ui.dialogs.FilteredList$Label</span>
-     can throw <span class=SpellE>NullPointerException</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41164">41164</a>
-     [Dialogs] Need to move <span class=SpellE>ResourceSelectionDialog</span>
-     to the new Job API</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44814">44814</a> [RCP]
-     launcher requires only 1.3 VM</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=45336">45336</a>
-     [Problems View] Remove the show on new problems option from the <span
-     class=SpellE>pref</span> page</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=46154">46154</a> Move
-     to new progress API</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=47054">47054</a> Help
-     &quot;About&quot; page is empty</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=49040">49040</a> <span
-     class=SpellE>IllegalStateException</span>: Job manager has been shut down</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=49117">49117</a> [Plan
-     Item] Workbench needs hooks for new welcome support</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=49700">49700</a>
-     [Dialogs] creating working set leaks an image</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=51282">51282</a> [RCP]
-     <span class=SpellE>WorkbenchAdvisor.preShutdown</span> not called</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=52159">52159</a> [<span
-     class=SpellE>ActivityMgmt</span>] Activity entry in window menu needs to
-     be defined in object contribution</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=52436">52436</a>
-     [Problems View] Problems view opens up in Compare view</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=53105">53105</a>
-     [Themes/Fonts/Colors] Theme API needs to piggyback on existing font/color
-     API and so does workbench</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=53249">53249</a>
-     [Editor Mgmt] NPE in TabbedEditorWorkbook$1.maximize</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=54748">54748</a>
-     progress, background operations, and novice users</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55090">55090</a>
-     [Progress] How to show busy in multiple instances of the same view</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55106">55106</a>
-     [Intro] Finalize API</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55162">55162</a> <span
-     class=SpellE>IPresentablePart</span> needs to be able to opt out of done
-     state</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55735">55735</a>
-     [Progress] Double-clicking on <span class=SpellE>statusline</span>
-     progress icon has no effect</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55755">55755</a> Using
-     latest build the error log view is missing</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55918">55918</a>
-     [Wizards] New wizard description text area is white on <span class=SpellE>linux</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56039">56039</a> [Font/<span
-     class=SpellE>Colours</span>] Hard to find definition of &quot;mapped
-     to&quot; font</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56281">56281</a> [<span
-     class=SpellE>ViewMgmt</span>] View message is now the full title instead
-     of the string between ()'s</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56336">56336</a> [<span
-     class=SpellE>KeyBindings</span>] The Alt + - System Menu</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56446">56446</a>
-     New-&gt;Other... opens &quot;new project&quot; wizard</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56484">56484</a>
-     [Fonts/Colors] Theme API cannot rely on <span class=SpellE>JFaceResources</span>.</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56489">56489</a> [<span
-     class=SpellE>KeyBindings</span>] New key bindings missing from Milestone 8</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56844">56844</a> Write
-     drag-and-drop test suites</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56961">56961</a>
-     [Workbench] <span class=SpellE>EarlyStartupRunnable.getExecutableExtension</span>()
-     references runtime internals</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56977">56977</a> [<span
-     class=SpellE>DynamicUI</span>] <span class=SpellE>testFindPerspectiveWithId</span>
-     failed in nightly builds</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57273">57273</a>
-     [Activities] Configure Activities dialog; Java tree entries</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57384">57384</a> [RCP]
-     Main window not active on startup, <span class=SpellE>IWindowListeners</span>
-     never receive <span class=SpellE>windowActivated</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57437">57437</a>
-     Preferences&gt;Workbench&gt;Colors and Fonts issues</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57456">57456</a>
-     [Activities] New Wizard should show items from enabled <span class=SpellE>actiivties</span>
-     by default</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57532">57532</a> <span
-     class=SpellE>IllegalStateException</span> disposing theme manager</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57579">57579</a>
-     [Progress] Run in Background should animate to progress indicator</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57586">57586</a>
-     Markers views title turns bold too often</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57722">57722</a>
-     [Intro] Exception in Intro on startup</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57847">57847</a>
-     [Fonts/Colors] <span class=SpellE>TreeViewer</span> in <span class=SpellE>prefs</span>
-     page does not <span class=SpellE>honour</span> dialog font</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57851">57851</a>
-     [Progress] NPE in <span class=SpellE>WorkbenchSiteProgressService</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57880">57880</a> [DND]
-     NPE in drag and drop prevents window from redrawing</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57907">57907</a>
-     [Progress] NPE in <span class=SpellE>workbenchsiteprogressmanager</span></li>
-</ul>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p><!-- I20040330 -->Integration Build (Tuesday, <st1:date Year="2004" Day="30"
-Month="3">March 30th, 2004</st1:date>)</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<h2>Problem reports fixed</h2>
-
-<ul type=disc>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l1 level1 lfo4;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=52957">52957</a> [<span
-     class=SpellE>KeyBindings</span>] <span class=SpellE>Keybinding</span>
-     Service consumes keystrokes for unregistered commands</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l1 level1 lfo4;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=54709">54709</a> [<span
-     class=SpellE>ContextMgmt</span>] Enhance <span class=SpellE>ContextManagerEvent</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l1 level1 lfo4;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55799">55799</a>
-     [Intro] When new welcome is available, don't show the old one</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l1 level1 lfo4;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55884">55894</a> [<span
-     class=SpellE>ActivityMgmt</span>] <span class=SpellE>IDEWorkbenchActivityHelper</span>
-     is initialized too early</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l1 level1 lfo4;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56034">56034</a>
-     [Colors/Fonts] Spelling mistake in Part title font description</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l1 level1 lfo4;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56075">56075</a>
-     [Wizards] New project wizard; Next enabled with no selection</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l1 level1 lfo4;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56454">56454</a>
-     [Activities] Configure Activities dialog does not use dialog font</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l1 level1 lfo4;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56455">56455</a>
-     [Preferences] Appearance <span class=SpellE>Pref</span> Page &quot;Current
-     Theme&quot; label does not use dialog font</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l1 level1 lfo4;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56577">56577</a> [Colors/Fonts]
-     Importing color preferences is not applied until restart</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l1 level1 lfo4;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56615">56615</a>
-     [Wizards] New Project Wizard Dialog Labels are Staggered by 4 Pixels</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l1 level1 lfo4;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56616">56616</a>
-     [Wizards] Description area of new wizard should eat all vertical space if
-     there is no image</li>
-</ul>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p><!-- I20040217 -->Integration Build (Tuesday, <st1:date Year="2004" Day="17"
-Month="2">February 17th, 2004</st1:date>)</p>
-
-<h2>What's new in this drop</h2>
-
-<ul type=disc>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l0 level1 lfo5;tab-stops:list .5in'>Activities can now be enabled
-     by default in the activities schema. See <a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=51458">51458</a> for
-     details. </li>
-</ul>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<h2>Problem reports fixed</h2>
-
-<ul type=disc>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l2 level1 lfo6;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=50856">50856</a>
-     [Intro] Problems creating workspace on subsequent starts.</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l2 level1 lfo6;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=51845">51845</a>
-     [Intro] Standby mode not in correct place after first restart</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l2 level1 lfo6;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=52157">52157</a> [<span
-     class=SpellE>ActivityMgmt</span>] Need a preference to suppress <span
-     class=SpellE>ShowAll</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l2 level1 lfo6;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=52248">52248</a> Can't
-     open CVS Repositories view.</li>
-</ul>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p><!-- I20040210 -->Integration Build (Tuesday, <st1:date Year="2004" Day="10"
-Month="2">February 10th, 2004</st1:date>)</p>
-
-<h2>What's new in this drop</h2>
-
-<p>The workbench now reacts to runtime <span class=SpellE>plugin</span>
-activation. Known workbench extensions are recognized and the workbench is
-updated dynamically. In most cases these updates require no interaction from
-the user but several require the user to reset their perspectives. In these
-cases, the user is prompted with a dialog to that effect.</p>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<h2>Problem reports fixed</h2>
-
-<ul type=disc>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l10 level1 lfo7;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=51110">51110</a>
-     [Preferences] Error notifying a preference listener on font change.</li>
-</ul>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p><!-- I20040127 -->Integration Build (Tuesday, <st1:date Year="2004" Day="27"
-Month="1">January 27, 2004</st1:date>)</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<h2>Problem reports fixed</h2>
-
-<ul type=disc>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l7 level1 lfo8;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41410">41410</a>
-     Default Text Font should be fixed-width on Linux-GTK</li>
-</ul>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p><!-- I20040120 -->Integration Build (Tuesday, <st1:date Year="2004" Day="20"
-Month="1">January 20, 2004</st1:date>)</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<p class=MsoNormal>A possible fix for Bug <a
-href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=49970">49970</a> ([<span
-class=SpellE>ViewMgmt</span>] Ant View will not display first in the Java
-Browsing perspective) has been introduced. </p>
-
-<h2>Breaking API Changes</h2>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<h2>Problem reports fixed</h2>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p><!-- I20040113 -->Integration Build (Tuesday, <st1:date Year="2004" Day="13"
-Month="1">January 13, 2004</st1:date>)</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41561">41581</a>
-Minor usability problems with progress view errors</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42616">42616</a>
-[Preferences] Null pointer exception creating CVS preference page </p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42858">42858</a>
-[Jobs] Offer a way to clear errors without opening Progress view</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44455"><span
-class=GramE>44455</span></a><span class=GramE> [<span class=SpellE>ActivityMgmt</span>]
-No Running man <span class=SpellE>menu+tool</span> even though java role
-enabled.</span> </p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=47091"><span
-class=GramE>47091</span></a><span class=GramE> [<span class=SpellE>ActivityMgmt</span>]
-Unable <span class=SpellE>toeasily</span> turn off activities in a category
-without all activities being enabled.</span></p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=47098">47098</a> [<span
-class=SpellE>ActivityMgmt</span>] Empty Menu bar item (Run) when External tools
-filtered out</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p><!-- I20040106 -->Integration Build (Tuesday, <st1:date Year="2004" Day="6"
-Month="1">January 6, 2004</st1:date>)</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40980">40980</a>
-[Dialogs] NPE in property dialog when adaptable provides contributor resource
-adapter</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=49331">49331</a>
-[Dialogs] Workbench Machine Speed Preference not persistent</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p><!-- I20031223 -->Integration Build (Tuesday, <st1:date Year="2003" Day="23"
-Month="12">December 23, 2003</st1:date>)</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=49274">49274</a>
-[Activities] <span class=GramE>Cannot</span> open preference dialog if previous
-selected node not in <span class=SpellE>fitlered</span> list</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p><!-- I20031216 -->Integration Build (Tuesday, <st1:date Year="2003" Day="16"
-Month="12">December 16, 2003</st1:date>)</p>
-
-<h2>What's new in this drop</h2>
-
-<p>The initial implementation of the platform UI colors API has been released.
-This API is analogous to the existing fonts API in that it provides a registry
-(see <span class=SpellE><span class=GramE>org.eclipse.jface.resource.JFaceResources.getColorRegistry</span></span><span
-class=GramE>(</span>)) from which instances of defined colors may be obtained
-and the <span class=SpellE>org.eclipse.ui.colorDefinitions</span> extension
-point which <span class=SpellE>plugins</span> may use to define them.
-Additionally, there is now a Colors preference page located under the Workbench
-page that allows user customization of colors. </p>
-
-<p>Although the API is in place and relatively complete (see Bug 48745), the
-workbench does not yet utilize it for its own color needs. This will come for
-subsequent builds. </p>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=48745">48745</a>
-Colors preference page does not properly handle ancestor color changes</p>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=37436">37436</a>
-[Preferences] one preference page for colors</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=38462">38462</a>
-[Dialogs] Tree in Preference &amp; Properties dialog should be resizable</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44671">44671</a> [<span
-class=SpellE>ActivityMgmt</span>] Need to <span class=SpellE>showAll</span>
-option for role support</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=45825">45825</a> [<span
-class=SpellE>ActivityMgmt</span>] Perspectives don't respect activity
-enablement</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=48364">48364</a> <span
-class=SpellE>PreferenceDialog</span> can reopen empty</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=48745">48745</a>
-Colors preference page does not properly handle ancestor color changes</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p><!-- I20031209 -->Integration Build (Tuesday, <st1:date Year="2003" Day="9"
-Month="12">December 9, 2003</st1:date>)</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<p class=MsoNormal>Deprecated matching methods on <span class=SpellE>IActivity</span>
-and <span class=SpellE>IActivityManager</span> have been removed as well as <span
-class=SpellE><span class=GramE>getActivityManager</span></span><span
-class=GramE>(</span>) and <span class=SpellE>setEnabledActivities</span>() on <span
-class=SpellE>IWorkbench</span>. To <span class=SpellE>accomodate</span> for <span
-class=SpellE>futher</span> extensions, <span class=SpellE>IWorkbench</span> now
-inherits from <span class=SpellE>IAdaptable</span> and a new class <span
-class=SpellE>IWorkbenchActivitySupport</span> may be obtained in this way. <span
-class=SpellE>IWorkbenchActivitySupport</span> contains <span class=SpellE><span
-class=GramE>getActivityManager</span></span><span class=GramE>(</span>) and <span
-class=SpellE>setEnabledActivities</span>(). </p>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=36297">36297</a>
-[Preferences] Need a page that informs of preference page creation failure</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=47404">47404</a>
-[Jobs] UI no longer responsive during CVS update action</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=47852">47852</a>
-[Jobs] NPE during redraw animation</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p><!-- I20031202 -->Integration Build (Tuesday, <st1:date Year="2003" Day="2"
-Month="12">December 2, 2003</st1:date>)</p>
-
-<h2>What's new in this drop</h2>
-
-<p>We have provided a new key configuration available on the keys preference
-page. This shows some of the ideas that might enter into the key bindings
-defined for 3.0. This is a rough draft, and prone to a lot of change. Please
-try it out, and provide feedback to either <a
-href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=37934">Bug 37934</a> or the
-<a href="mailto:platform-ui-dev@eclipse.org">platform-<span class=SpellE>ui</span>-dev
-mailing list</a>. </p>
-
-<h2>Other highlights</h2>
-
-<p>Key configurations are no longer forced to inherit from the default key
-configuration. </p>
-
-<h2>Breaking API Changes</h2>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=47532">47532</a> <span
-class=SpellE>SystemSummaryDialog</span> uses <span class=SpellE>core.runtime</span>
-internal API</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p><!-- I20031125 -->Integration Build (Tuesday, <st1:date Year="2003" Day="25"
-Month="11">November 25, 2003</st1:date>)</p>
-
-<h2>What's new in this drop</h2>
-
-<p><span class=SpellE>CyclePartAction</span> (used by the next/previous view/editor/perspective
-commands) now supports multiple-stroke key bindings. For example, if you bind
-&quot;Next Editor&quot; to &quot;<span class=SpellE>Ctrl+L</span> <span
-class=SpellE>Ctrl+E</span>&quot;, then you can press &quot;<span class=SpellE>Ctrl+L</span>
-<span class=SpellE>Ctrl+E</span>&quot; to open the cycle part dialog and press
-&quot;<span class=SpellE>Ctrl+E</span>&quot; to continue cycling through the
-list. </p>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<h2>Problem reports fixed</h2>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p><!-- I20031120 -->Eclipse M5 Candidate Build 20031120</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<p>The <span class=GramE>roles API has</span> been made obsolete in <span
-class=SpellE>favour</span> of categories of activities. </p>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=33018"><span
-class=GramE>33018</span></a><span class=GramE> <span class=SpellE>plugin.xml</span>
-context menu</span> should not have &quot;Run Ant...&quot; item<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=46958">46958</a> <span
-class=SpellE>IllegalStateException</span>: Job manager has been shut down.<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=47046">47046</a> Caps
-Lock maps to R<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=47046">47116</a>
-Exception on startup after crash<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=47046">47150</a> <span
-class=SpellE>ProgressMonitorJobsDialog</span> used on shutdown </p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p><!-- I20031119 -->Eclipse Integration Build 20031119</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=46492">46492</a>
-Explicit job manager startup/shutdown needed</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p><!-- I20031118 -->Eclipse Integration Build 20031118</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=45943">45943</a>
-[Fonts] Java Compare Text Font fails to Map <span class=GramE>To</span> Other
-Font</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p><!-- I20031111 -->Eclipse Integration Build 20031111</p>
-
-<h2>What's new in this drop</h2>
-
-<ul type=disc>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l5 level1 lfo9;tab-stops:list .5in'>Changes for the Rich Client
-     Platform effort have been released. The Platform UI, Platform Text,
-     Platform Help, and downstream components in the Eclipse SDK (e.g. JDT,
-     PDE) have adapted to these changes. For more details, see <a
-     href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-ui-home/rcp-proposal/rich_client_platform_facilities.html">the
-     RCP proposal page</a>.</li>
-</ul>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<ul type=disc>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l4 level1 lfo10;tab-stops:list .5in'>There have been several
-     breaking API changes due to the Rich Client Platform effort. For more
-     details, see the Porting Guide, available on the <a
-     href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-ui-home/rcp-proposal/rich_client_platform_facilities.html"><span
-     class=SpellE>the</span> RCP proposal page</a>.</li>
-</ul>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<ul type=disc>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l11 level1 lfo11;tab-stops:list .5in'>The support for embedded
-     OLE editors on Windows platforms is currently broken. This will be fixed
-     for Milestone 5 (<st1:date Year="2003" Day="21" Month="11">Nov 21, 2003</st1:date>).</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l11 level1 lfo11;tab-stops:list .5in'>The prompt to exit when
-     closing the last window is currently disabled. This will be fixed for
-     Milestone 5 (<st1:date Year="2003" Day="21" Month="11">Nov 21, 2003</st1:date>).
-     </li>
-</ul>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41806">41806</a>
-Platform mechanism for asynchronous prompts<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=43657">43657</a> Allow
-delete selection in key sequence entry widget<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=43801">43801</a> Can't
-assign &quot;Esc Backspace&quot;<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=43804">43804</a>
-Entering key sequence appends to previous<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44930">44930</a> Show
-Views dialog should flatten a single category </p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p>Eclipse Integration Build 20031104</p>
-
-<h2>What's new in this drop</h2>
-
-<p class=MsoNormal>We've removed dependencies on <span class=SpellE>Xerces</span>
-from all of platform-<span class=SpellE>ui</span>. </p>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<p class=MsoNormal>There is a known issue with '<span class=SpellE>Ctrl+W</span>'
-to close editors. </p>
-
-<h2>Problem reports fixed</h2>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p>Eclipse Integration Build 20031021</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40636">40636</a>
-[Dialogs] <span class=SpellE>org.eclipse.ui.dialogs.FilteredList$Label</span>
-can throw <span class=SpellE>NullPointerException</span><br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42175">42175</a>
-[Viewers] Adding new tree items to an expanded Tree node scrolls away the
-current selection<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42755">42755</a> [Jobs]
-Access Job List While Having a Modal Dialog <br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44496">44496</a> Typo '<span
-class=SpellE>pagee</span>' in <span class=SpellE>WorkbenchWindow</span> log
-message<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44668">44668</a>
-[Navigator] &quot;Link with&quot; button in Navigator doesn't scroll to current
-file if it's already selected <br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44827">44827</a>
-[Viewers] <span class=SpellE>StructuredViewer's</span> <span class=SpellE>UpdateItemSafeRunnable</span>
-holds onto last selected element-memory leak </p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p>Eclipse Integration Build 20031015</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p>Eclipse Integration Build 20031008</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44183">44183</a>
-[Jobs] Missing mnemonic for Verbose on Progress view's view menu</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44352">44352</a>
-Regression: File associations to an external program broken</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p>Eclipse Integration Build 20031007</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40026">40026</a>
-[Jobs] cancel hint</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42149">42149</a>
-[Decorations] Decorations Calculation never says anything other than 20%</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42346">42346</a>
-[Tasks] Associated task not remaining with associated line</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42959">42959</a>
-[Jobs] Progress View: Cannot cancel a waiting job</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=43939">43939</a> Need
-to support the <span class=SpellE>IProgressWithBlocking</span> in <span
-class=SpellE>ProgressMonitorDialog</span></p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44033">44033</a>
-Schema Ext. Point Documents have invalid copyright formatting</p>
-
-<p><a href="fhttps://bugs.eclipse.org/bugs/show_bug.cgi?id=44237">44237</a>
-[Jobs] Progress View: finished jobs not removed from view</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p>Eclipse Integration Build 20030923</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=43355">43355</a>
-[Jobs] Exception during auto-build</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=43408">43408</a>
-[Jobs] <span class=SpellE>ConcurrentModificationException</span> in <span
-class=SpellE>JobProgressManager</span></p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=43415">43415 </a>[Dialogs]
-<span class=SpellE>SWTException</span> from <span class=SpellE>ProgressIndicator</span></p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=43947">43947</a>
-[Jobs] <span class=GramE>Should</span> use job name when task name is null</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p>Eclipse Integration Build 20030916</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42978">42978</a>
-Patch for <span class=SpellE>DeferredTreeContentProvider</span></p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p>Eclipse Integration Build 20030909</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=37280">37280</a> [<span
-class=SpellE>KeyBindinds</span>] Select view/editor/perspective should have no
-rocker option</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41931">41931</a>
-Breakpoint half-activates source file</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42010">42010</a>
-Group created with SWT.CENTER style</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42025">42025</a>
-Status line update job running too often?</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42176">42176</a>
-Invalid thread access when closing a project</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42394">42394</a>
-[Jobs] Patch to <span class=SpellE>JobProgressManager</span></p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42418">42418</a>
-[Jobs] Rapid save and then build causes hangs</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42451">42451</a>
-[Dialogs] <span class=SpellE>ImageRegistry</span> throws null pointer exception
-in application with multiple <span class=GramE>Display's</span></p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42526">42526</a>
-Patch: <span class=SpellE>RenameResourceAction</span> and <span class=SpellE>CopyResourceAction</span></p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<h1>Eclipse Platform Build Notes<br>
-Workbench</h1>
-
-<p>Eclipse Integration Build 20030827</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41925">41925</a> dead
-lock when organizing imports</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42220">42220</a>
-Unable to bind CTRL+W</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42228">42228</a>
-Custom key binding stopped working</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p>Eclipse Integration Build 200308261317</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41901">41901</a> NPE
-upon startup</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p>Eclipse Integration Build 20030826</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41916">41916</a>
-Progress View: Status Line updates too much in verbose mode</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41927">41927</a>
-[Dialogs] Selecting in <span class=SpellE>PreferenceDialog</span> generates too
-many invalid entries</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p>Eclipse Integration Build 20030825</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41715">41715</a>
-[Jobs] Background job feedback should be in status line</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40499">40499</a> [CVS
-UI] GTK: Can't browse repository with new CVS option enabled</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41589">41589</a>
-[Properties View] Combo boxes in property sheets do not retain new values</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41644"><span
-class=GramE>41644</span></a><span class=GramE> device</span> is disposed on
-shutdown</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p>Eclipse Integration Build 20030819</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40852">40852</a>
-Progress View needs icons</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p>Eclipse Integration Build 20030812</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40570"><span
-class=GramE>40570</span></a><span class=GramE> [Dialogs] New Project wizard</span>
-throws NPE with two backslashes</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41172">41172</a>
-[Dialogs] Bug with Image in <span class=SpellE>TitleAreaDialog</span></p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41206">41206</a>
-Duplicate decoration for lightweight decorator on Object</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41312">41312 </a><span
-class=SpellE>ClassCastException</span> in <span class=SpellE>ProgressContentProvider</span></p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p>Eclipse Integration Build 20030806</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40851">40851</a> Add
-flashing red icon when there is an error shown</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41024">41024</a>
-[Decorators] Test decorators should not be on by default</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41136">41136</a>
-[Jobs] concurrent modification in progress view</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41153">41153</a>
-[Dialogs] Open resource not showing results</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41154">41154</a>
-[Dialogs] Open Resource: Resource list lags</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p class=MsoNormal>Eclipse Integration Build 20030805 </p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40615"><span
-class=GramE>40615</span></a><span class=GramE> [Preferences] <span
-class=SpellE>IntegerFieldEditor</span> validation</span> does not work</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40849">40849</a>
-Progress View should come to front on error</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40853">40853</a> Need
-<span class=GramE>hover</span> help for Animation Icon</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40855">40855</a> Need
-a clear all option for errors in the progress view</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40900">40900</a>
-[Jobs] Jobs not always shown on startup</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p class=MsoNormal>Eclipse Integration Build 20030729 </p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40407">40407</a> <span
-class=SpellE>ColorSelector</span> needs an accessible listener</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p class=MsoNormal>Eclipse Integration Build 20030722 </p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=38902">Bug <span
-class=GramE>38092</span></a><span class=GramE> [Wizards] <span class=SpellE>Javadoc</span>
-typo in <span class=SpellE>org.eclipse.jface.wizard.Wizard</span></span></p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40524">Bug 40524</a>
-Expansion of package view causes <span class=SpellE>ConcurrentModificationException</span></p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p class=MsoNormal>Eclipse Integration Build 20030718 </p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p>Bug 40236 [View Mgmt] Shortcut bar flickers when adding a new project</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p class=MsoNormal>Eclipse Integration Build 20030716 </p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40128">40128</a>
-Decorators sometimes take two attempts to disable</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p class=MsoNormal>Eclipse Integration Build 20030715 </p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=39986">39986</a>
-Decorators acting funny</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p class=MsoNormal>Eclipse Integration Build 20030708 </p>
-
-<h2>What's new in this drop</h2>
-
-<ul type=disc>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l9 level1 lfo12;tab-stops:list .5in'>New API: <span class=SpellE>org.eclipse.jface.viewers.IPostSelectionListener</span>.
-     See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=39511">bug
-     39511</a>. </li>
-</ul>
-
-<h3>Other highlights</h3>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p class=MsoNormal><code><span style='font-size:10.0pt'>Bug 39511 [Viewers]
-Supporting post selection changed listeners. </span></code></p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p class=MsoNormal>Eclipse Integration Build 20030701 </p>
-
-<h2>What's new in this drop</h2>
-
-<p><strong>First cut of the responsive UI work</strong>. Following on from the
-job handling released by Core in M1 the UI team has released further support
-for the Job framework in the UI. It is now possible to create an instance of <span
-class=SpellE>UIJob</span> which will run in the UI Thread rather than in some
-other Thread supplied by the <span class=SpellE>JobManager</span>. This is a
-requirement for any code that must interact with an SWT component.</p>
-
-<p><span class=SpellE>UIJob</span> requires a Display to be able to run as it
-is run using an <span class=SpellE>asynchExec</span>. This Display must be set
-before the <span class=SpellE>UIJob</span> is scheduled. If a <span
-class=SpellE>UIJob</span> is used then the creator of the <span class=SpellE>UIJob</span>
-must also set the display to run it in and be sure that that display exists
-when the code is executed. An alternative to <span class=SpellE>UIJob</span> is
-the <span class=SpellE>WorkbenchUIJob</span> which will get a display from a <span
-class=SpellE>WorkbenchWindow</span> if one is not <span class=SpellE>set.WorkbenchUIJob</span>
-is defined in the <span class=SpellE>org.eclipse.ui.workbench</span> project
-and so it can be used by <span class=SpellE>plugins</span> with <span
-class=SpellE>org.eclipse.ui.workbench</span> as a prerequisite.</p>
-
-<p>The first cut of the progress indicator is now also available. It is
-disabled by default. You can enable it by adding the line <span class=SpellE><code><span
-style='font-size:10.0pt'>org.eclipse.ui.workbench/showProgressIndicator</span></code></span><code><span
-style='font-size:10.0pt'>=true</span></code> to the file
-plugin_customization.ini in <span class=SpellE>org.eclipse.platform</span>.</p>
-
-<h3>Other highlights</h3>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p>Bug 38782 <span class=SpellE>TreeViewer</span> add calls a refresh </p>
-
-<p><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-06-24&amp;chfieldto=2003-07-01&amp;product=Platform&amp;component=UI&amp;cmdtype=doit&amp;&amp;order=Bug+Number">Click
-here</a> to see <span class=SpellE>PRs</span> which have been marked as
-RESOLVED, VERIFIED or CLOSED between 2003/06/24and 2003/07/01.</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p class=MsoNormal>Eclipse Integration Build 20030624 </p>
-
-<h2>What's new in this drop</h2>
-
-<h3>Other highlights</h3>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p class=MsoNormal><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-06-17&amp;chfieldto=2003-06-24&amp;product=Platform&amp;component=UI&amp;cmdtype=doit&amp;&amp;order=Bug+Number">Click
-here</a> to see <span class=SpellE>PRs</span> which have been marked as
-RESOLVED, VERIFIED or CLOSED between 2003/06/17 and 2003/06/24. </p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p class=MsoNormal>Eclipse Integration Build 20030617 </p>
-
-<h2>What's new in this drop</h2>
-
-<h3>Other highlights</h3>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p class=MsoNormal><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-06-10&amp;chfieldto=2003-06-17&amp;product=Platform&amp;component=UI&amp;cmdtype=doit&amp;&amp;order=Bug+Number">Click
-here</a> to see <span class=SpellE>PRs</span> which have been marked as
-RESOLVED, VERIFIED or CLOSED between 2003/06/10 and 2003/06/17. </p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p class=MsoNormal>Eclipse Integration Build 20030610 </p>
-
-<h2>What's new in this drop</h2>
-
-<h3>Other highlights</h3>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p class=MsoNormal><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-06-03&amp;chfieldto=2003-06-10&amp;product=Platform&amp;component=UI&amp;cmdtype=doit&amp;&amp;order=Bug+Number">Click
-here</a> to see <span class=SpellE>PRs</span> which have been marked as
-RESOLVED, VERIFIED or CLOSED between 2003/06/03 and 2003/06/10. </p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p class=MsoNormal>Eclipse Integration Build 20030603 </p>
-
-<h2>What's new in this drop</h2>
-
-<h3>Other highlights</h3>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p class=MsoNormal><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-05-20&amp;chfieldto=2003-06-03&amp;product=Platform&amp;component=UI&amp;cmdtype=doit&amp;&amp;order=Bug+Number">Click
-here</a> to see <span class=SpellE>PRs</span> which have been marked as
-RESOLVED, VERIFIED or CLOSED between 2003/05/20 and 2003/06/03. </p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p class=MsoNormal>Eclipse Integration Build 20030520 </p>
-
-<h2>What's new in this drop</h2>
-
-<h3>Other highlights</h3>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p class=MsoNormal><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-05-13&amp;chfieldto=2003-05-20&amp;product=Platform&amp;component=UI&amp;cmdtype=doit&amp;&amp;order=Bug+Number">Click
-here</a> to see <span class=SpellE>PRs</span> which have been marked as
-RESOLVED, VERIFIED or CLOSED between 2003/05/13 and 2003/05/20. </p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p class=MsoNormal>Eclipse Integration Build 200305013 </p>
-
-<h2>What's new in this drop</h2>
-
-<h3>Other highlights</h3>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p class=MsoNormal><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-05-06&amp;chfieldto=2003-05-13&amp;product=Platform&amp;component=UI&amp;cmdtype=doit&amp;&amp;order=Bug+Number">Click
-here</a> to see <span class=SpellE>PRs</span> which have been marked as
-RESOLVED, VERIFIED or CLOSED between 2003/05/06 and 2003/05/13. </p>
-
-</div>
-
-</body>
-
-</html>
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 f7e6cc0..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/backward_nav.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/backward_nav.gif
deleted file mode 100644
index 2972ff5..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 1aca259..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/collapseall.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/collapseall.gif
deleted file mode 100644
index 7dc0de5..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/collapseall.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 641ba72..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/filter_ps.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/filter_ps.gif
deleted file mode 100644
index ba6d891..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/forward_nav.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/forward_nav.gif
deleted file mode 100644
index 319fe8d..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 4957126..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/home_nav.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/home_nav.gif
deleted file mode 100644
index 819e85b..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/linkto_help.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/linkto_help.gif
deleted file mode 100644
index 267c040..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/linkto_help.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 7402dc9..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 84e330d..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/progress_rem.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/progress_rem.gif
deleted file mode 100644
index 559e462..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/progress_rem.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/progress_remall.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/progress_remall.gif
deleted file mode 100644
index ecd1be5..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/progress_remall.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/progress_stop.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/progress_stop.gif
deleted file mode 100644
index 4f3dcba..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/progress_stop.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 c5c70e1..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/selected_mode.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/selected_mode.gif
deleted file mode 100644
index e2ab9b0..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/showchild_mode.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/showchild_mode.gif
deleted file mode 100644
index 8c92e4a..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 0e83deb..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 8a23317..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/showtsk_tsk.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/showtsk_tsk.gif
deleted file mode 100644
index fff68f9..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 f707e71..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/step_current.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/step_current.gif
deleted file mode 100644
index 319fe8d..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/step_current.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/step_done.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/step_done.gif
deleted file mode 100644
index 0e83deb..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/step_done.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/synced.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/synced.gif
deleted file mode 100644
index 4f6e43a..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/synced.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 62bdbe2..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 d4ce22b..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 a492838..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/dtool16/copy_edit.gif b/bundles/org.eclipse.ui/icons/full/dtool16/copy_edit.gif
deleted file mode 100644
index 98626a8..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 bd43144..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/delete_edit.gif b/bundles/org.eclipse.ui/icons/full/dtool16/delete_edit.gif
deleted file mode 100644
index 9e14298..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 3f89cd9..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/help_contents.gif b/bundles/org.eclipse.ui/icons/full/dtool16/help_contents.gif
deleted file mode 100644
index 74bf617..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/help_contents.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 cd44741..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/paste_edit.gif b/bundles/org.eclipse.ui/icons/full/dtool16/paste_edit.gif
deleted file mode 100644
index 1c7668d..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 eac7c8e..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/print_edit.gif b/bundles/org.eclipse.ui/icons/full/dtool16/print_edit.gif
deleted file mode 100644
index 4d2722f..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/redo_edit.gif b/bundles/org.eclipse.ui/icons/full/dtool16/redo_edit.gif
deleted file mode 100644
index 04e8840..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/save_edit.gif b/bundles/org.eclipse.ui/icons/full/dtool16/save_edit.gif
deleted file mode 100644
index ad505a9..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 ee1f41d..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 df83a54..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/undo_edit.gif b/bundles/org.eclipse.ui/icons/full/dtool16/undo_edit.gif
deleted file mode 100644
index c081984..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/addtsk_tsk.gif b/bundles/org.eclipse.ui/icons/full/elcl16/addtsk_tsk.gif
deleted file mode 100644
index a5ac28d..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/backward_nav.gif b/bundles/org.eclipse.ui/icons/full/elcl16/backward_nav.gif
deleted file mode 100644
index 4fb4150..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 1aca259..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 a2d80a9..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 c064899..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/filter_ps.gif b/bundles/org.eclipse.ui/icons/full/elcl16/filter_ps.gif
deleted file mode 100644
index 6fe6f0e..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/forward_nav.gif b/bundles/org.eclipse.ui/icons/full/elcl16/forward_nav.gif
deleted file mode 100644
index e2f8c3e..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 cf62b63..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/home_nav.gif b/bundles/org.eclipse.ui/icons/full/elcl16/home_nav.gif
deleted file mode 100644
index 4472e8c..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/linkto_help.gif b/bundles/org.eclipse.ui/icons/full/elcl16/linkto_help.gif
deleted file mode 100644
index 86550fe..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/linkto_help.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 7402dc9..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 381c4a9..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/progress_rem.gif b/bundles/org.eclipse.ui/icons/full/elcl16/progress_rem.gif
deleted file mode 100644
index 2cd9c54..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/progress_rem.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/progress_remall.gif b/bundles/org.eclipse.ui/icons/full/elcl16/progress_remall.gif
deleted file mode 100644
index 28a3785..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/progress_remall.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/progress_stop.gif b/bundles/org.eclipse.ui/icons/full/elcl16/progress_stop.gif
deleted file mode 100644
index dc47edf..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/progress_stop.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 049cac6..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/selected_mode.gif b/bundles/org.eclipse.ui/icons/full/elcl16/selected_mode.gif
deleted file mode 100644
index 3d4241b..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/showchild_mode.gif b/bundles/org.eclipse.ui/icons/full/elcl16/showchild_mode.gif
deleted file mode 100644
index 6514f7b..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 9cacb96..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 2ff6678..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/showtsk_tsk.gif b/bundles/org.eclipse.ui/icons/full/elcl16/showtsk_tsk.gif
deleted file mode 100644
index 96028b3..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 6c6bd58..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/step_current.gif b/bundles/org.eclipse.ui/icons/full/elcl16/step_current.gif
deleted file mode 100644
index e3a7cc7..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/step_current.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/step_done.gif b/bundles/org.eclipse.ui/icons/full/elcl16/step_done.gif
deleted file mode 100644
index 9cacb96..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/step_done.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/synced.gif b/bundles/org.eclipse.ui/icons/full/elcl16/synced.gif
deleted file mode 100644
index 870934b..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/synced.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 dda8bae..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 884952f..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 a492838..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/copy_edit.gif b/bundles/org.eclipse.ui/icons/full/etool16/copy_edit.gif
deleted file mode 100644
index 71d7c95..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 d044e59..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/delete_edit.gif b/bundles/org.eclipse.ui/icons/full/etool16/delete_edit.gif
deleted file mode 100644
index b6922ac..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 5a0837d..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/help_contents.gif b/bundles/org.eclipse.ui/icons/full/etool16/help_contents.gif
deleted file mode 100644
index 9d70301..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/help_contents.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 d38085a..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/paste_edit.gif b/bundles/org.eclipse.ui/icons/full/etool16/paste_edit.gif
deleted file mode 100644
index 39dd4d9..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 dfc1dab..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/print_edit.gif b/bundles/org.eclipse.ui/icons/full/etool16/print_edit.gif
deleted file mode 100644
index 04cb84b..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/redo_edit.gif b/bundles/org.eclipse.ui/icons/full/etool16/redo_edit.gif
deleted file mode 100644
index c84e5b1..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/save_edit.gif b/bundles/org.eclipse.ui/icons/full/etool16/save_edit.gif
deleted file mode 100644
index 499dd0c..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 ef0eab5..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 466bfb1..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/undo_edit.gif b/bundles/org.eclipse.ui/icons/full/etool16/undo_edit.gif
deleted file mode 100644
index eae118a..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 8eefad3..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 6ff3783..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 55ca8f3..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 4b98a62..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 a47d473..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/outline_co.gif b/bundles/org.eclipse.ui/icons/full/eview16/outline_co.gif
deleted file mode 100644
index 0dc862c..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/problems_view.gif b/bundles/org.eclipse.ui/icons/full/eview16/problems_view.gif
deleted file mode 100644
index 807b28a..0000000
--- a/bundles/org.eclipse.ui/icons/full/eview16/problems_view.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 d11c996..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/tasks_tsk.gif b/bundles/org.eclipse.ui/icons/full/eview16/tasks_tsk.gif
deleted file mode 100644
index d3d10f5..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/obj16/activity.gif b/bundles/org.eclipse.ui/icons/full/obj16/activity.gif
deleted file mode 100644
index 7c3356c..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/activity.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/activity_category.gif b/bundles/org.eclipse.ui/icons/full/obj16/activity_category.gif
deleted file mode 100644
index 15c223e..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/activity_category.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/add_obj.gif b/bundles/org.eclipse.ui/icons/full/obj16/add_obj.gif
deleted file mode 100644
index 252d7eb..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/add_obj.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 82c7fbd..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/blank.gif b/bundles/org.eclipse.ui/icons/full/obj16/blank.gif
deleted file mode 100644
index 0a64b75..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/blank.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/change_obj.gif b/bundles/org.eclipse.ui/icons/full/obj16/change_obj.gif
deleted file mode 100644
index ce8bdb9..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/change_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 9cacb96..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/delete_obj.gif b/bundles/org.eclipse.ui/icons/full/obj16/delete_obj.gif
deleted file mode 100644
index b6922ac..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/delete_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 33be7d8..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 9b048d6..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 7ccc6a7..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 51e703b..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/font.gif b/bundles/org.eclipse.ui/icons/full/obj16/font.gif
deleted file mode 100644
index 6538949..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/font.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/header_complete.gif b/bundles/org.eclipse.ui/icons/full/obj16/header_complete.gif
deleted file mode 100644
index d6344db..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/header_complete.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/header_priority.gif b/bundles/org.eclipse.ui/icons/full/obj16/header_priority.gif
deleted file mode 100644
index 33cc76e..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/header_priority.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 609dbb7..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 f6b9f8a..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 2da001e..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 a6815bc..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/menu.gif b/bundles/org.eclipse.ui/icons/full/obj16/menu.gif
deleted file mode 100644
index c46ec73..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/menu.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/submenu.gif b/bundles/org.eclipse.ui/icons/full/obj16/submenu.gif
deleted file mode 100644
index 2228dc8..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/submenu.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 c73e332..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/theme_category.gif b/bundles/org.eclipse.ui/icons/full/obj16/theme_category.gif
deleted file mode 100644
index 68079f9..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/theme_category.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/toolbar.gif b/bundles/org.eclipse.ui/icons/full/obj16/toolbar.gif
deleted file mode 100644
index d8735b8..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/toolbar.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 14009e9..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/ovr16/pinned_ovr.gif b/bundles/org.eclipse.ui/icons/full/ovr16/pinned_ovr.gif
deleted file mode 100644
index 2f3b201..0000000
--- a/bundles/org.eclipse.ui/icons/full/ovr16/pinned_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/pointer/bottom_mask.bmp b/bundles/org.eclipse.ui/icons/full/pointer/bottom_mask.bmp
deleted file mode 100644
index 22eb40d..0000000
--- a/bundles/org.eclipse.ui/icons/full/pointer/bottom_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/pointer/bottom_source.bmp b/bundles/org.eclipse.ui/icons/full/pointer/bottom_source.bmp
deleted file mode 100644
index 4d243c6..0000000
--- a/bundles/org.eclipse.ui/icons/full/pointer/bottom_source.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/pointer/invalid_mask.bmp b/bundles/org.eclipse.ui/icons/full/pointer/invalid_mask.bmp
deleted file mode 100644
index 22eb40d..0000000
--- a/bundles/org.eclipse.ui/icons/full/pointer/invalid_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/pointer/invalid_source.bmp b/bundles/org.eclipse.ui/icons/full/pointer/invalid_source.bmp
deleted file mode 100644
index b53df6f..0000000
--- a/bundles/org.eclipse.ui/icons/full/pointer/invalid_source.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/pointer/left_mask.bmp b/bundles/org.eclipse.ui/icons/full/pointer/left_mask.bmp
deleted file mode 100644
index 22eb40d..0000000
--- a/bundles/org.eclipse.ui/icons/full/pointer/left_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/pointer/left_source.bmp b/bundles/org.eclipse.ui/icons/full/pointer/left_source.bmp
deleted file mode 100644
index 48d3098..0000000
--- a/bundles/org.eclipse.ui/icons/full/pointer/left_source.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/pointer/offscreen_mask.bmp b/bundles/org.eclipse.ui/icons/full/pointer/offscreen_mask.bmp
deleted file mode 100644
index 8fa7b96..0000000
--- a/bundles/org.eclipse.ui/icons/full/pointer/offscreen_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/pointer/offscreen_source.bmp b/bundles/org.eclipse.ui/icons/full/pointer/offscreen_source.bmp
deleted file mode 100644
index 85de577..0000000
--- a/bundles/org.eclipse.ui/icons/full/pointer/offscreen_source.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/pointer/right_mask.bmp b/bundles/org.eclipse.ui/icons/full/pointer/right_mask.bmp
deleted file mode 100644
index 22eb40d..0000000
--- a/bundles/org.eclipse.ui/icons/full/pointer/right_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/pointer/right_source.bmp b/bundles/org.eclipse.ui/icons/full/pointer/right_source.bmp
deleted file mode 100644
index 8bc50f4..0000000
--- a/bundles/org.eclipse.ui/icons/full/pointer/right_source.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/pointer/stack_mask.bmp b/bundles/org.eclipse.ui/icons/full/pointer/stack_mask.bmp
deleted file mode 100644
index 5bad51c..0000000
--- a/bundles/org.eclipse.ui/icons/full/pointer/stack_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/pointer/stack_source.bmp b/bundles/org.eclipse.ui/icons/full/pointer/stack_source.bmp
deleted file mode 100644
index 7a8fc84..0000000
--- a/bundles/org.eclipse.ui/icons/full/pointer/stack_source.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/pointer/tofastview_mask.bmp b/bundles/org.eclipse.ui/icons/full/pointer/tofastview_mask.bmp
deleted file mode 100644
index 22eb40d..0000000
--- a/bundles/org.eclipse.ui/icons/full/pointer/tofastview_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/pointer/tofastview_source.bmp b/bundles/org.eclipse.ui/icons/full/pointer/tofastview_source.bmp
deleted file mode 100644
index d461156..0000000
--- a/bundles/org.eclipse.ui/icons/full/pointer/tofastview_source.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/pointer/top_mask.bmp b/bundles/org.eclipse.ui/icons/full/pointer/top_mask.bmp
deleted file mode 100644
index 22eb40d..0000000
--- a/bundles/org.eclipse.ui/icons/full/pointer/top_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/pointer/top_source.bmp b/bundles/org.eclipse.ui/icons/full/pointer/top_source.bmp
deleted file mode 100644
index 5255241..0000000
--- a/bundles/org.eclipse.ui/icons/full/pointer/top_source.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/progress/errorstate.gif b/bundles/org.eclipse.ui/icons/full/progress/errorstate.gif
deleted file mode 100644
index a3b621b..0000000
--- a/bundles/org.eclipse.ui/icons/full/progress/errorstate.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/progress/lockedstate.gif b/bundles/org.eclipse.ui/icons/full/progress/lockedstate.gif
deleted file mode 100644
index e637951..0000000
--- a/bundles/org.eclipse.ui/icons/full/progress/lockedstate.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/progress/progress_error.gif b/bundles/org.eclipse.ui/icons/full/progress/progress_error.gif
deleted file mode 100644
index 553252c..0000000
--- a/bundles/org.eclipse.ui/icons/full/progress/progress_error.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/progress/progress_none.gif b/bundles/org.eclipse.ui/icons/full/progress/progress_none.gif
deleted file mode 100644
index 4aa54a6..0000000
--- a/bundles/org.eclipse.ui/icons/full/progress/progress_none.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/progress/progress_ok.gif b/bundles/org.eclipse.ui/icons/full/progress/progress_ok.gif
deleted file mode 100644
index 0fc45ba..0000000
--- a/bundles/org.eclipse.ui/icons/full/progress/progress_ok.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/progress/progress_task.gif b/bundles/org.eclipse.ui/icons/full/progress/progress_task.gif
deleted file mode 100644
index 09d5848..0000000
--- a/bundles/org.eclipse.ui/icons/full/progress/progress_task.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/progress/pview.gif b/bundles/org.eclipse.ui/icons/full/progress/pview.gif
deleted file mode 100644
index 4aa54a6..0000000
--- a/bundles/org.eclipse.ui/icons/full/progress/pview.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/progress/sleeping.gif b/bundles/org.eclipse.ui/icons/full/progress/sleeping.gif
deleted file mode 100644
index 1683fca..0000000
--- a/bundles/org.eclipse.ui/icons/full/progress/sleeping.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/progress/waiting.gif b/bundles/org.eclipse.ui/icons/full/progress/waiting.gif
deleted file mode 100644
index 0930dac..0000000
--- a/bundles/org.eclipse.ui/icons/full/progress/waiting.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 42bb23b..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 1581898..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 0cbc9bd..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 3a62eb2..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 e2045ed..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 db114c8..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 ecd75f4..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 136e94c..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 f988dc6..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 dc7d3a7..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_wiz.gif b/bundles/org.eclipse.ui/icons/full/wizban/saveas_wiz.gif
deleted file mode 100644
index 8074543..0000000
--- a/bundles/org.eclipse.ui/icons/full/wizban/saveas_wiz.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 b2beab0..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 ea15411..0000000
--- a/bundles/org.eclipse.ui/plugin.properties
+++ /dev/null
@@ -1,234 +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 Corporation - initial API and implementation
-###############################################################################
-Plugin.name = Eclipse UI
-Plugin.providerName = Eclipse.org
-
-CarbonFragment.fragmentName=Eclipse UI MacOS X Enhancements
-
-ExtPoint.acceleratorConfigurations = Accelerator Configurations
-ExtPoint.acceleratorScopes = Accelerator Scopes
-ExtPoint.acceleratorSets = Accelerator Sets
-ExtPoint.actionDefinitions = Action Definitions
-ExtPoint.activities = Activities
-ExtPoint.actionSets = Action Sets
-ExtPoint.actionSetPartAssociations = Action Set Part Associations
-ExtPoint.commands = Commands
-ExtPoint.contexts = Contexts
-ExtPoint.decorators = Decorators
-ExtPoint.dropActions = Drop Actions
-ExtPoint.editorActions = Editor Menus and Actions
-ExtPoint.editors = Editors
-ExtPoint.elementFactories = Element Factories
-ExtPoint.exportWizards = Export Wizards
-ExtPoint.fontDefinitions = Font Definitions
-ExtPoint.helpSupport = Help UI
-ExtPoint.importWizards = Import Wizards
-ExtPoint.intro = Introduction Extensions
-ExtPoint.newWizards = Resource Creation Wizards
-ExtPoint.perspectiveExtensions = Perspective Extensions
-ExtPoint.perspectives = Perspectives
-ExtPoint.popupMenus = Popup Menus
-ExtPoint.preferencePages = Preference Pages
-ExtPoint.themes = Themes
-ExtPoint.presentationFactories = Presentation Factories
-ExtPoint.propertyPages = Property Pages
-ExtPoint.startup = Startup
-ExtPoint.systemSummarySections = System Summary Sections
-ExtPoint.viewActions = View Menus and Actions
-ExtPoint.views = Views
-ExtPoint.workingSets = Working set dialogs
-
-Views.Category.Basic = Basic
-Views.IntroAdapter = Welcome
-
-FontsPreference.BannerFontLabel = Banner Font
-FontsPreference.DialogFontLabel = Dialog Font
-FontsPreference.HeaderFontLabel = Header Font
-FontsPreference.TextFontLabel = Text Font
-FontsPreference.TitleFont = Part title font
-FontsPreference.ViewMessageFont = View message 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.
-FontsPreference.TitleFontDescription  = The font that is used for view and editor titles.  Please note that it is recommended that this font not be bold or italic because the workbench will use bold and italic versions of this font to display progress.
-FontsPreference.ViewMessageFontDescription = The font that is used for messages in the view title bar (if present).
-Presentation.misc=Basic
-Presentation.misc.desc=Basic colors and fonts used throughout workbench dialogs and editors.
-Presentation.default=Workbench
-Presentation.default.desc=Colors and fonts used by the default Eclipse presentation.
-
-category.file.name=File
-category.file.description=
-category.edit.name=Edit
-category.edit.description=
-category.navigate.name=Navigate
-category.navigate.description=
-category.window.name=Window
-category.window.description=
-category.help.name=Help
-category.help.description=
-
-command.aboutAction.description = Open the about dialog
-command.aboutAction.name = About
-command.activateEditor.description = Activate the editor
-command.activateEditor.name = Activate Editor
-command.addBookmark.description = Add a bookmark
-command.addBookmark.name = Add Bookmark
-command.back.description = Navigate back
-command.back.name = Back
-command.backwardHistory.description = Move backward in the editor navigation history
-command.backwardHistory.name = Backward History
-command.close.description = Close the active editor
-command.close.name = Close
-command.closeAll.description = Close all editors
-command.closeAll.name = Close All
-command.closeAllPerspectives.description = Close all open perspectives
-command.closeAllPerspectives.name = Close All Perspectives
-command.closePerspective.description = Close the current perspective
-command.closePerspective.name = Close Perspective
-command.copy.description = Copy the selection to the clipboard
-command.copy.name = Copy
-command.customizePerspective.description = Customize the current perspective
-command.customizePerspective.name = Customize Perspective
-command.cut.description = Cut the selection to the clipboard
-command.cut.name = Cut
-command.delete.description = Delete the selection
-command.delete.name = Delete
-command.exit.description = Exit the application
-command.exit.name = Exit
-command.export.description = Export
-command.export.name = Export
-command.findReplace.description = Find and replace text
-command.findReplace.name = Find and Replace
-command.forward.description = Navigate forward
-command.forward.name = Forward
-command.forwardHistory.description = Move forward in the editor navigation history
-command.forwardHistory.name = Forward History
-command.goInto.description = Navigate into the selected item
-command.goInto.name = Go Into
-command.helpContents.description = Open the help contents
-command.helpContents.name = Help Contents
-command.hideShowEditors.description = Hide all editors
-command.hideShowEditors.name = Hide Editors
-command.import.description = Import
-command.import.name = Import
-command.lockToolBar.description = Lock the Toolbars
-command.lockToolBar.name = Lock the Toolbars
-command.maximizePart.name = Maximize Active View or Editor
-command.maximizePart.description = Toggles maximize/restore state of active view or editor
-command.move.description = Move the selected item
-command.move.name = Move
-command.newWizard.description = Open the New item wizard
-command.newWizard.name = New
-command.next.description = Navigate to the next item
-command.next.name = Next
-command.nextEditor.description = Switch to the next editor
-command.nextEditor.name = Next Editor
-command.nextPerspective.description = Switch to the next perspective
-command.nextPerspective.name = Next Perspective
-command.nextView.description = Switch to the next view
-command.nextView.name = Next View
-command.openEditorDropDown.description = Open the editor drop down list
-command.openEditorDropDown.name = Open Editor Drop Down
-command.paste.description = Paste from the clipboard
-command.paste.name = Paste
-command.pinEditor.description = Pin the current editor
-command.pinEditor.name = Pin Editor
-command.preferences.description = Open the preferences dialog
-command.preferences.name = Preferences
-command.previous.description = Navigate to the previous item
-command.previous.name = Previous
-command.previousEditor.description = Switch to the previous editor
-command.previousEditor.name = Previous Editor
-command.previousPerspective.description = Switch to the previous perspective
-command.previousPerspective.name = Previous Perspective
-command.previousView.description = Switch to the previous view
-command.previousView.name = Previous View
-command.print.description = Print
-command.print.name = Print
-command.properties.description = Display the properties of the selected item
-command.properties.name = Properties
-command.quickStart.description = Open a welcome page
-command.quickStart.name = Welcome
-command.redo.description = Redo the last operation
-command.redo.name = Redo
-command.refresh.description = Refresh the selected items
-command.refresh.name = Refresh
-command.rename.description = Rename the selected item
-command.rename.name = Rename
-command.resetPerspective.description = Reset the current perspective to its default state
-command.resetPerspective.name = Reset Perspective
-command.revert.description = Revert to the last saved state
-command.revert.name = Revert
-command.save.description = Save the current contents
-command.save.name = Save
-command.saveAll.description = Save all current contents
-command.saveAll.name = Save All
-command.saveAs.description = Save the current contents to another location
-command.saveAs.name = Save As
-command.savePerspective.description = Save the current perspective
-command.savePerspective.name = Save Perspective As
-command.selectAll.description = Select all
-command.selectAll.name = Select All
-command.showSystemMenu.description = Show the system menu
-command.showSystemMenu.name = Show System Menu
-command.showViewMenu.description = Show the view menu
-command.showViewMenu.name = Show View Menu
-command.switchToEditor.description = Switch to an editor
-command.switchToEditor.name = Switch to Editor
-command.tipsAndTricks.description = Open the tips and tricks help page
-command.tipsAndTricks.name = Tips and Tricks
-command.undo.description = Undo the last operation
-command.undo.name = Undo
-command.up.description = Navigate up one level
-command.up.name = Up
-
-context.editingText.description = Editing Text Context
-context.editingText.name = Editing Text
-context.dialogAndWindow.name = In Dialogs and Windows
-context.dialogAndWindow.description = Either a dialog or a window is open
-context.dialog.name = In Dialogs
-context.dialog.description = A dialog is open
-context.window.name = In Windows
-context.window.description = A window is open
-
-keyConfiguration.default.description = Default Key Configuration
-keyConfiguration.default.name = Default 
-keyConfiguration.emacs.description = Emacs Key Configuration
-keyConfiguration.emacs.name = Emacs
-
-Color.activeTabText=Active part foreground
-Color.activeTabTextDesc=The color used for active view and editor title text.
-Color.activeNofocusTabText=Active (non-focus) part foreground
-Color.activeNofocusTabTextDesc=The color used for active (but without focus) view and editor title text.
-Color.inactiveTabText=Inactive part foreground
-Color.inactiveTabTextDesc=The color used for inactive view and editor title text.
-
-Color.activeTabBGStart=Active part background begin
-Color.activeTabBGEnd=Active part background end
-Color.activeTabBGStartDesc=The first color used for active view and editor title gradients.
-Color.activeTabBGEndDesc=The second color used for active view and editor title gradients.
-Color.activeNofocusTabBGStart=Active (non-focus) part background begin
-Color.activeNofocusTabBGEnd=Active (non-focus) part background end
-Color.activeNofocusTabBGStartDesc=The first color used for active (but without focus) view and editor title gradients.
-Color.activeNofocusTabBGEndDesc=The second color used for active (but without focus) view and editor title gradients.
-Color.inactiveTabBGStart=Inactive part background begin
-Color.inactiveTabBGEnd=Inactive part background end
-Color.inactiveTabBGStartDesc=The first color used for inactive view and editor title gradients.  This color is also used for active editors that do not have focus.
-Color.inactiveTabBGEndDesc=The second color used for inactive view and editor title gradients.  This color is also used for the view menu background.
-
-Color.errorText=Error text color
-Color.errorTextDesc=Color used to show error messages.
-Color.hyperlinkText=Hyperlink text color
-Color.hyperlinkTextDesc=Color used to show links.
-Color.activeHyperlinkText=Active hyperlink text color
-Color.activeHyperlinkTextDesc=Color used to show active links.
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui/plugin.xml b/bundles/org.eclipse.ui/plugin.xml
deleted file mode 100644
index 6bb9755..0000000
--- a/bundles/org.eclipse.ui/plugin.xml
+++ /dev/null
@@ -1,1347 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui"
-   name="%Plugin.name"
-   version="3.0.0"
-   provider-name="%Plugin.providerName"
-   class="org.eclipse.ui.internal.UIPlugin">
-
-   <runtime>
-      <library name="ui.jar">
-         <export name="*"/>
-         <packages prefixes="org.eclipse.ui.internal"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.help"/>
-      <import plugin="org.eclipse.swt" export="true"/>
-      <import plugin="org.eclipse.jface" export="true"/>
-      <import plugin="org.eclipse.ui.workbench" export="true"/>
-   </requires>
-
-
-<!-- Workbench extension points -->
-   <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="acceleratorSets" name="%ExtPoint.acceleratorSets" schema="schema/acceleratorSets.exsd"/>
-   <extension-point id="actionDefinitions" name="%ExtPoint.actionDefinitions" schema="schema/actionDefinitions.exsd"/>
-   <extension-point id="activities" name="%ExtPoint.activities" schema="schema/activities.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="commands" name="%ExtPoint.commands" schema="schema/commands.exsd"/>
-   <extension-point id="contexts" name="%ExtPoint.contexts" schema="schema/contexts.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="helpSupport" name="%ExtPoint.helpSupport" schema="schema/helpSupport.exsd"/>
-   <extension-point id="importWizards" name="%ExtPoint.importWizards" schema="schema/importWizards.exsd"/>
-   <extension-point id="intro" name="%ExtPoint.intro" schema="schema/intro.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="presentationFactories" name="%ExtPoint.presentationFactories" schema="schema/presentationFactories.exsd"/>
-   <extension-point id="propertyPages" name="%ExtPoint.propertyPages" schema="schema/propertyPages.exsd"/>
-   <extension-point id="startup" name="%ExtPoint.startup" schema="schema/startup.exsd"/>
-   <extension-point id="systemSummarySections" name="%ExtPoint.systemSummarySections" schema="schema/systemSummarySections.exsd"/>
-   <extension-point id="themes" name="%ExtPoint.themes" schema="schema/themes.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"/>
-
-   <extension
-         point="org.eclipse.ui.contexts">
-      <context
-            name="%context.editingText.name"
-            description="%context.editingText.description"
-            id="org.eclipse.ui.textEditorScope"
-            parentId="org.eclipse.ui.contexts.window">
-      </context>
-<!-- This is the root context.  Basically, all key bindings should have
-           this context as their parent.  Key bindings in this context will
-           apply to both windows and dialogs.
-        -->
-      <context
-            name="%context.dialogAndWindow.name"
-            description="%context.dialogAndWindow.description"
-            id="org.eclipse.ui.contexts.dialogAndWindow">
-      </context>
-<!-- This is the root context for key bindings that should apply in
-           windows (e.g., IWorkbenchWindow).  Key bindings in this context
-           will only apply to windows (not dialogs).
-        -->
-      <context
-            name="%context.window.name"
-            description="%context.window.description"
-            id="org.eclipse.ui.contexts.window"
-            parentId="org.eclipse.ui.contexts.dialogAndWindow">
-      </context>
-<!-- This is the root context for key bindings that should apply in
-           dialogs (e.g., shells without parents).  Key bindings in this
-           context will only apply to dialogs (not windows).
-        -->
-      <context
-            name="%context.dialog.name"
-            description="%context.dialog.description"
-            id="org.eclipse.ui.contexts.dialog"
-            parentId="org.eclipse.ui.contexts.dialogAndWindow">
-      </context>
-   </extension>
-   <extension
-         point="org.eclipse.ui.commands">
-      <activeKeyConfiguration
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </activeKeyConfiguration>
-      <category
-            name="%category.file.name"
-            description="%category.file.description"
-            id="org.eclipse.ui.category.file">
-      </category>
-      <category
-            name="%category.edit.name"
-            description="%category.edit.description"
-            id="org.eclipse.ui.category.edit">
-      </category>
-      <category
-            name="%category.navigate.name"
-            description="%category.navigate.description"
-            id="org.eclipse.ui.category.navigate">
-      </category>
-      <category
-            name="%category.window.name"
-            description="%category.window.description"
-            id="org.eclipse.ui.category.window">
-      </category>
-      <category
-            name="%category.help.name"
-            description="%category.help.description"
-            id="org.eclipse.ui.category.help">
-      </category>
-      <command
-            name="%command.helpContents.name"
-            description="%command.helpContents.description"
-            categoryId="org.eclipse.ui.category.help"
-            id="org.eclipse.ui.help.helpContents">
-      </command>
-      <command
-            name="%command.quickStart.name"
-            description="%command.quickStart.description"
-            categoryId="org.eclipse.ui.category.help"
-            id="org.eclipse.ui.help.quickStartAction">
-      </command>
-      <command
-            name="%command.tipsAndTricks.name"
-            description="%command.tipsAndTricks.description"
-            categoryId="org.eclipse.ui.category.help"
-            id="org.eclipse.ui.help.tipsAndTricksAction">
-      </command>
-      <command
-            name="%command.aboutAction.name"
-            description="%command.aboutAction.description"
-            categoryId="org.eclipse.ui.category.help"
-            id="org.eclipse.ui.help.aboutAction">
-      </command>
-      <command
-            name="%command.newWizard.name"
-            description="%command.newWizard.description"
-            categoryId="org.eclipse.ui.category.file"
-            id="org.eclipse.ui.newWizard">
-      </command>
-      <command
-            name="%command.close.name"
-            description="%command.close.description"
-            categoryId="org.eclipse.ui.category.file"
-            id="org.eclipse.ui.file.close">
-      </command>
-      <command
-            name="%command.closeAll.name"
-            description="%command.closeAll.description"
-            categoryId="org.eclipse.ui.category.file"
-            id="org.eclipse.ui.file.closeAll">
-      </command>
-      <command
-            name="%command.import.name"
-            description="%command.import.description"
-            categoryId="org.eclipse.ui.category.file"
-            id="org.eclipse.ui.file.import">
-      </command>
-      <command
-            name="%command.export.name"
-            description="%command.export.description"
-            categoryId="org.eclipse.ui.category.file"
-            id="org.eclipse.ui.file.export">
-      </command>
-      <command
-            name="%command.save.name"
-            description="%command.save.description"
-            categoryId="org.eclipse.ui.category.file"
-            id="org.eclipse.ui.file.save">
-      </command>
-      <command
-            name="%command.saveAs.name"
-            description="%command.saveAs.description"
-            categoryId="org.eclipse.ui.category.file"
-            id="org.eclipse.ui.file.saveAs">
-      </command>
-      <command
-            name="%command.saveAll.name"
-            description="%command.saveAll.description"
-            categoryId="org.eclipse.ui.category.file"
-            id="org.eclipse.ui.file.saveAll">
-      </command>
-      <command
-            name="%command.print.name"
-            description="%command.print.description"
-            categoryId="org.eclipse.ui.category.file"
-            id="org.eclipse.ui.file.print">
-      </command>
-      <command
-            name="%command.revert.name"
-            description="%command.revert.description"
-            categoryId="org.eclipse.ui.category.file"
-            id="org.eclipse.ui.file.revert">
-      </command>
-      <command
-            name="%command.refresh.name"
-            description="%command.refresh.description"
-            categoryId="org.eclipse.ui.category.file"
-            id="org.eclipse.ui.file.refresh">
-      </command>
-      <command
-            name="%command.properties.name"
-            description="%command.properties.description"
-            categoryId="org.eclipse.ui.category.file"
-            id="org.eclipse.ui.file.properties">
-      </command>
-      <command
-            name="%command.exit.name"
-            description="%command.exit.description"
-            categoryId="org.eclipse.ui.category.file"
-            id="org.eclipse.ui.file.exit">
-      </command>
-      <command
-            name="%command.undo.name"
-            description="%command.undo.description"
-            categoryId="org.eclipse.ui.category.edit"
-            id="org.eclipse.ui.edit.undo">
-      </command>
-      <command
-            name="%command.redo.name"
-            description="%command.redo.description"
-            categoryId="org.eclipse.ui.category.edit"
-            id="org.eclipse.ui.edit.redo">
-      </command>
-      <command
-            name="%command.cut.name"
-            description="%command.cut.description"
-            categoryId="org.eclipse.ui.category.edit"
-            id="org.eclipse.ui.edit.cut">
-      </command>
-      <command
-            name="%command.copy.name"
-            description="%command.copy.description"
-            categoryId="org.eclipse.ui.category.edit"
-            id="org.eclipse.ui.edit.copy">
-      </command>
-      <command
-            name="%command.paste.name"
-            description="%command.paste.description"
-            categoryId="org.eclipse.ui.category.edit"
-            id="org.eclipse.ui.edit.paste">
-      </command>
-      <command
-            name="%command.delete.name"
-            description="%command.delete.description"
-            categoryId="org.eclipse.ui.category.edit"
-            id="org.eclipse.ui.edit.delete">
-      </command>
-      <command
-            name="%command.move.name"
-            description="%command.move.description"
-            categoryId="org.eclipse.ui.category.file"
-            id="org.eclipse.ui.edit.move">
-      </command>
-      <command
-            name="%command.rename.name"
-            description="%command.rename.description"
-            categoryId="org.eclipse.ui.category.file"
-            id="org.eclipse.ui.edit.rename">
-      </command>
-      <command
-            name="%command.selectAll.name"
-            description="%command.selectAll.description"
-            categoryId="org.eclipse.ui.category.edit"
-            id="org.eclipse.ui.edit.selectAll">
-      </command>
-      <command
-            name="%command.findReplace.name"
-            description="%command.findReplace.description"
-            categoryId="org.eclipse.ui.category.edit"
-            id="org.eclipse.ui.edit.findReplace">
-      </command>
-      <command
-            name="%command.addBookmark.name"
-            description="%command.addBookmark.description"
-            categoryId="org.eclipse.ui.category.edit"
-            id="org.eclipse.ui.edit.addBookmark">
-      </command>
-      <command
-            name="%command.goInto.name"
-            description="%command.goInto.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.ui.navigate.goInto">
-      </command>
-      <command
-            name="%command.back.name"
-            description="%command.back.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.ui.navigate.back">
-      </command>
-      <command
-            name="%command.forward.name"
-            description="%command.forward.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.ui.navigate.forward">
-      </command>
-      <command
-            name="%command.up.name"
-            description="%command.up.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.ui.navigate.up">
-      </command>
-      <command
-            name="%command.next.name"
-            description="%command.next.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.ui.navigate.next">
-      </command>
-      <command
-            name="%command.backwardHistory.name"
-            description="%command.backwardHistory.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.ui.navigate.backwardHistory">
-      </command>
-      <command
-            name="%command.forwardHistory.name"
-            description="%command.forwardHistory.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.ui.navigate.forwardHistory">
-      </command>
-      <command
-            name="%command.previous.name"
-            description="%command.previous.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.ui.navigate.previous">
-      </command>
-      <command
-            name="%command.openEditorDropDown.name"
-            description="%command.openEditorDropDown.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.openEditorDropDown">
-      </command>
-      <command
-            name="%command.switchToEditor.name"
-            description="%command.switchToEditor.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.switchToEditor">
-      </command>
-      <command
-            name="%command.showSystemMenu.name"
-            description="%command.showSystemMenu.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.showSystemMenu">
-      </command>
-      <command
-            name="%command.showViewMenu.name"
-            description="%command.showViewMenu.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.showViewMenu">
-      </command>
-      <command
-            name="%command.activateEditor.name"
-            description="%command.activateEditor.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.activateEditor">
-      </command>
-      <command
-            name="%command.maximizePart.name"
-            description="%command.maximizePart.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.maximizePart">
-      </command>
-      <command
-            name="%command.nextEditor.name"
-            description="%command.nextEditor.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.nextEditor">
-      </command>
-      <command
-            name="%command.previousEditor.name"
-            description="%command.previousEditor.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.previousEditor">
-      </command>
-      <command
-            name="%command.nextView.name"
-            description="%command.nextView.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.nextView">
-      </command>
-      <command
-            name="%command.previousView.name"
-            description="%command.previousView.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.previousView">
-      </command>
-      <command
-            name="%command.nextPerspective.name"
-            description="%command.nextPerspective.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.nextPerspective">
-      </command>
-      <command
-            name="%command.previousPerspective.name"
-            description="%command.previousPerspective.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.previousPerspective">
-      </command>
-      <command
-            name="%command.closeAllPerspectives.name"
-            description="%command.closeAllPerspectives.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.closeAllPerspectives">
-      </command>
-      <command
-            name="%command.closePerspective.name"
-            description="%command.closePerspective.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.closePerspective">
-      </command>
-      <command
-            name="%command.customizePerspective.name"
-            description="%command.customizePerspective.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.customizePerspective">
-      </command>
-      <command
-            name="%command.hideShowEditors.name"
-            description="%command.hideShowEditors.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.hideShowEditors">
-      </command>
-      <command
-            name="%command.lockToolBar.name"
-            description="%command.lockToolBar.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.lockToolBar">
-      </command>
-      <command
-            name="%command.pinEditor.name"
-            description="%command.pinEditor.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.pinEditor">
-      </command>
-      <command
-            name="%command.preferences.name"
-            description="%command.preferences.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.preferences">
-      </command>
-      <command
-            name="%command.resetPerspective.name"
-            description="%command.resetPerspective.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.resetPerspective">
-      </command>
-      <command
-            name="%command.savePerspective.name"
-            description="%command.savePerspective.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.savePerspective">
-      </command>
-      <handlerSubmission
-            commandId="org.eclipse.ui.edit.copy"
-            handler="org.eclipse.ui.internal.commands.ws.WidgetMethodHandler:copy">
-      </handlerSubmission>
-      <handlerSubmission
-            commandId="org.eclipse.ui.edit.cut"
-            handler="org.eclipse.ui.internal.commands.ws.WidgetMethodHandler:cut">
-      </handlerSubmission>
-      <handlerSubmission
-            commandId="org.eclipse.ui.edit.paste"
-            handler="org.eclipse.ui.internal.commands.ws.WidgetMethodHandler:paste">
-      </handlerSubmission>
-      <handlerSubmission
-            commandId="org.eclipse.ui.edit.selectAll"
-            handler="org.eclipse.ui.internal.commands.ws.SelectAllHandler">
-      </handlerSubmission>
-      <keyBinding
-            commandId="org.eclipse.ui.newWizard"
-            keySequence="Ctrl+N"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.close"
-            keySequence="M1+W"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.close"
-            keySequence="Ctrl+F4"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.closeAll"
-            keySequence="M1+M2+W"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.closeAll"
-            keySequence="Ctrl+Shift+F4"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.save"
-            keySequence="Ctrl+S"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.saveAll"
-            keySequence="Ctrl+Shift+S"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.rename"
-            keySequence="F2"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.print"
-            keySequence="Ctrl+P"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.properties"
-            keySequence="Alt+Cr"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.refresh"
-            keySequence="F5"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.undo"
-            keySequence="Ctrl+Z"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.redo"
-            keySequence="Ctrl+Y"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.cut"
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            keySequence="M1+X"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.copy"
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            keySequence="M1+C"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.paste"
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            keySequence="M1+V"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.selectAll"
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            keySequence="M1+A"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.delete"
-            keySequence="DEL"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.findReplace"
-            keySequence="Ctrl+F"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.navigate.next"
-            keySequence="Ctrl+."
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.navigate.previous"
-            keySequence="Ctrl+,"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.navigate.backwardHistory"
-            keySequence="Alt+Arrow_Left"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.navigate.forwardHistory"
-            keySequence="Alt+Arrow_Right"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.openEditorDropDown"
-            keySequence="M1+E"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.switchToEditor"
-            keySequence="M1+M2+E"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.showSystemMenu"
-            keySequence="Alt+-"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.showViewMenu"
-            keySequence="Ctrl+F10"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.activateEditor"
-            keySequence="F12"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.maximizePart"
-            keySequence="Ctrl+M"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.nextEditor"
-            keySequence="Ctrl+F6"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.previousEditor"
-            keySequence="Ctrl+Shift+F6"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.nextView"
-            keySequence="Ctrl+F7"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.previousView"
-            keySequence="Ctrl+Shift+F7"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.nextPerspective"
-            keySequence="Ctrl+F8"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.previousPerspective"
-            keySequence="Ctrl+Shift+F8"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+F4"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+Shift+F4"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+S"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+Shift+S"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+P"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+Z"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+Y"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+X"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+C"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+V"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+A"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+F"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+Shift+R"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+."
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+,"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+B"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+F10"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+F6"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+Shift+F6"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+F7"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+Shift+F7"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+F8"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+Shift+F8"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.save"
-            platform="carbon"
-            keySequence="Command+S"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.saveAll"
-            platform="carbon"
-            keySequence="Command+Shift+S"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.print"
-            platform="carbon"
-            keySequence="Command+P"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.undo"
-            platform="carbon"
-            keySequence="Command+Z"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.redo"
-            platform="carbon"
-            keySequence="Command+Y"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.findReplace"
-            platform="carbon"
-            keySequence="Command+F"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.navigate.next"
-            platform="carbon"
-            keySequence="Command+."
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.navigate.previous"
-            platform="carbon"
-            keySequence="Command+Shift+."
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.showViewMenu"
-            platform="carbon"
-            keySequence="Command+F10"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.nextEditor"
-            platform="carbon"
-            keySequence="Command+F6"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.previousEditor"
-            platform="carbon"
-            keySequence="Command+Shift+F6"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.nextView"
-            platform="carbon"
-            keySequence="Command+F7"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.previousView"
-            platform="carbon"
-            keySequence="Command+Shift+F7"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.nextPerspective"
-            platform="carbon"
-            keySequence="Command+F8"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.previousPerspective"
-            platform="carbon"
-            keySequence="Command+Shift+F8"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.cut"
-            platform="gtk"
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            keySequence="Shift+Del"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.copy"
-            platform="gtk"
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            keySequence="Ctrl+Insert"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.paste"
-            platform="gtk"
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            keySequence="Shift+Insert"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.cut"
-            platform="motif"
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            keySequence="Shift+Del"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.copy"
-            platform="motif"
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            keySequence="Ctrl+Insert"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.paste"
-            platform="motif"
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            keySequence="Shift+Insert"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.close"
-            keySequence="Ctrl+X K"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.closeAll"
-            keySequence="Ctrl+X Ctrl+C"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.save"
-            keySequence="Ctrl+X Ctrl+S"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.saveAll"
-            keySequence="Ctrl+X S"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.print"
-            keySequence="Alt+F9"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.print"
-            keySequence="Esc F9"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.undo"
-            keySequence="F9"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.undo"
-            keySequence="Ctrl+X U"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.undo"
-            keySequence="Ctrl+Shift+-"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.redo"
-            keySequence="F10"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.redo"
-            keySequence="Ctrl+X R"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.redo"
-            keySequence="Ctrl+Shift++"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.close"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.cut"
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            keySequence="Ctrl+W"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.cut"
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            keySequence="Shift+Del"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.copy"
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            keySequence="Alt+W"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.copy"
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            keySequence="Esc W"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.copy"
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            keySequence="Ctrl+Ins"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.paste"
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            keySequence="Ctrl+Y"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.paste"
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            keySequence="Shift+Ins"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.selectAll"
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            keySequence="Ctrl+X H"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.findReplace"
-            keySequence="Alt+R"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.findReplace"
-            keySequence="Esc R"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.switchToEditor"
-            keySequence="Ctrl+X Ctrl+B"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyConfiguration
-            name="%keyConfiguration.default.name"
-            description="%keyConfiguration.default.description"
-            id="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyConfiguration>
-      <keyConfiguration
-            name="%keyConfiguration.emacs.name"
-            description="%keyConfiguration.emacs.description"
-            parentId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            id="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyConfiguration>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views">
-      <category
-            name="%Views.Category.Basic"
-            id="org.eclipse.ui">
-      </category>
-      <view
-            class="org.eclipse.ui.internal.ViewIntroAdapterPart"
-            category="org.eclipse.ui"
-            name="%Views.IntroAdapter"
-            id="org.eclipse.ui.internal.introview">
-      </view>
-      <stickyView
-      		location="RIGHT"
-            id="org.eclipse.ui.internal.introview">
-      </stickyView>
-   </extension>
-   <extension
-         point="org.eclipse.ui.elementFactories">
-      <factory
-            class="org.eclipse.ui.internal.WorkingSetFactory"
-            id="org.eclipse.ui.internal.WorkingSetFactory">
-      </factory>
-   </extension>
-   <extension
-         point="org.eclipse.ui.themes">
-<!-- do not add to this category!  This is bound to the default presentation and will disappear if another presentation is used. -->
-      <themeElementCategory
-            label="%Presentation.default"
-            class="org.eclipse.ui.internal.themes.WorkbenchPreview"
-            id="org.eclipse.ui.presentation.default">
-         <description>
-            %Presentation.default.desc
-         </description>
-      </themeElementCategory>
-      <themeElementCategory
-            label="%Presentation.misc"
-            id="org.eclipse.ui.workbenchMisc">
-         <description>
-            %Presentation.misc.desc
-         </description>
-      </themeElementCategory>
-      <categoryPresentationBinding
-            categoryId="org.eclipse.ui.presentation.default"
-            presentationId="org.eclipse.ui.presentations.default">
-      </categoryPresentationBinding>
-      <fontDefinition
-            label="%FontsPreference.BannerFontLabel"
-            categoryId="org.eclipse.ui.workbenchMisc"
-            id="org.eclipse.jface.bannerfont">
-         <description>
-            %FontsPreference.BannerFontDescription
-         </description>
-      </fontDefinition>
-      <fontDefinition
-            label="%FontsPreference.DialogFontLabel"
-            categoryId="org.eclipse.ui.workbenchMisc"
-            id="org.eclipse.jface.dialogfont">
-         <description>
-            %FontsPreference.DialogFontDescription
-         </description>
-      </fontDefinition>
-      <fontDefinition
-            label="%FontsPreference.HeaderFontLabel"
-            categoryId="org.eclipse.ui.workbenchMisc"
-            id="org.eclipse.jface.headerfont">
-         <description>
-            %FontsPreference.HeaderFontDescription
-         </description>
-      </fontDefinition>
-      <fontDefinition
-            label="%FontsPreference.TextFontLabel"
-            categoryId="org.eclipse.ui.workbenchMisc"
-            id="org.eclipse.jface.textfont">
-         <description>
-            %FontsPreference.TextFontDescription
-         </description>
-      </fontDefinition>
-      <fontDefinition
-            label="%FontsPreference.TitleFont"
-            categoryId="org.eclipse.ui.presentation.default"
-            id="org.eclipse.ui.workbench.TAB_TEXT_FONT">
-         <description>
-            %FontsPreference.TitleFontDescription
-         </description>
-      </fontDefinition>
-      <fontDefinition
-            label="%FontsPreference.ViewMessageFont"
-            categoryId="org.eclipse.ui.presentation.default"
-            id="org.eclipse.ui.workbench.VIEW_MESSAGE_TEXT_FONT">
-         <description>
-            %FontsPreference.ViewMessageFontDescription
-         </description>
-      </fontDefinition>
-      <colorDefinition
-            label="%Color.errorText"
-            value="COLOR_RED"
-            categoryId="org.eclipse.ui.workbenchMisc"
-            id="ERROR_COLOR">
-         <description>
-            %Color.errorTextDesc
-         </description>
-      </colorDefinition>
-      <colorDefinition
-            label="%Color.hyperlinkText"
-            categoryId="org.eclipse.ui.workbenchMisc"
-            value="COLOR_DARK_BLUE"
-            id="HYPERLINK_COLOR">
-         <description>
-            %Color.hyperlinkTextDesc
-         </description>
-      </colorDefinition>
-      <colorDefinition
-            label="%Color.activeHyperlinkText"
-            categoryId="org.eclipse.ui.workbenchMisc"
-            value="COLOR_BLUE"
-            id="ACTIVE_HYPERLINK_COLOR">
-         <description>
-            %Color.activeHyperlinkTextDesc
-         </description>
-      </colorDefinition>
-<!-- Active Tab Colors -->
-      <colorDefinition
-            label="%Color.activeTabText"
-            categoryId="org.eclipse.ui.presentation.default"
-            value="COLOR_TITLE_FOREGROUND"
-            id="org.eclipse.ui.workbench.ACTIVE_TAB_TEXT_COLOR">
-         <description>
-            %Color.activeTabTextDesc
-         </description>
-         <colorValue
-               ws="motif"
-               value="COLOR_TITLE_INACTIVE_FOREGROUND">
-         </colorValue>
-      </colorDefinition>
-      <colorDefinition
-            label="%Color.activeTabBGEnd"
-            categoryId="org.eclipse.ui.presentation.default"
-            id="org.eclipse.ui.workbench.ACTIVE_TAB_BG_END">
-         <colorFactory
-               plugin="org.eclipse.ui"
-               class="org.eclipse.ui.themes.RGBBlendColorFactory">
-            <parameter
-                  name="color1"
-                  value="COLOR_TITLE_BACKGROUND_GRADIENT">
-            </parameter>
-            <parameter
-                  name="color2"
-                  value="COLOR_TITLE_BACKGROUND_GRADIENT">
-            </parameter>
-         </colorFactory>
-         <description>
-            %Color.activeTabBGEndDesc
-         </description>
-         <colorValue
-               ws="motif"
-               value="COLOR_TITLE_INACTIVE_BACKGROUND_GRADIENT">
-         </colorValue>
-      </colorDefinition>
-      <colorDefinition
-            label="%Color.activeTabBGStart"
-            value="COLOR_TITLE_BACKGROUND"
-            categoryId="org.eclipse.ui.presentation.default"
-            id="org.eclipse.ui.workbench.ACTIVE_TAB_BG_START">
-         <description>
-            %Color.activeTabBGStartDesc
-         </description>
-         <colorValue
-               ws="motif"
-               value="COLOR_TITLE_INACTIVE_BACKGROUND">
-         </colorValue>
-      </colorDefinition>
-<!-- Active (Nofocus) Tab Colors -->
-      <colorDefinition
-            label="%Color.activeNofocusTabText"
-            categoryId="org.eclipse.ui.presentation.default"
-            value="COLOR_TITLE_INACTIVE_FOREGROUND"
-            id="org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_TEXT_COLOR">
-         <description>
-            %Color.activeNofocusTabTextDesc
-         </description>
-      </colorDefinition>
-      <colorDefinition
-            label="%Color.activeNofocusTabBGEnd"
-            categoryId="org.eclipse.ui.presentation.default"
-            value="COLOR_TITLE_INACTIVE_BACKGROUND_GRADIENT"
-            id="org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_BG_END">
-         <description>
-            %Color.activeNofocusTabBGStartDesc
-         </description>
-      </colorDefinition>
-      <colorDefinition
-            label="%Color.activeNofocusTabBGStart"
-            value="COLOR_TITLE_INACTIVE_BACKGROUND"
-            categoryId="org.eclipse.ui.presentation.default"
-            id="org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_BG_START">
-         <description>
-            %Color.activeNofocusTabBGEndDesc
-         </description>
-      </colorDefinition>      
-<!-- Inactive Tab Colors -->
-      <colorDefinition
-            label="%Color.inactiveTabText"
-            categoryId="org.eclipse.ui.presentation.default"
-            value="COLOR_WIDGET_FOREGROUND"
-            id="org.eclipse.ui.workbench.INACTIVE_TAB_TEXT_COLOR">
-         <description>
-            %Color.inactiveTabTextDesc
-         </description>
-      </colorDefinition>
-      <colorDefinition
-            label="%Color.inactiveTabBGStart"
-            categoryId="org.eclipse.ui.presentation.default"
-            id="org.eclipse.ui.workbench.INACTIVE_TAB_BG_START">
-         <colorFactory
-               plugin="org.eclipse.ui"
-               class="org.eclipse.ui.internal.themes.RGBContrastFactory">
-            <parameter
-                  name="foreground"
-                  value="COLOR_WIDGET_FOREGROUND">
-            </parameter>
-            <parameter
-                  name="background1"
-                  value="COLOR_WHITE">
-            </parameter>
-            <parameter
-                  name="background2"
-                  value="COLOR_WIDGET_BACKGROUND">
-            </parameter>
-         </colorFactory>
-         <description>
-            %Color.inactiveTabBGStartDesc
-         </description>
-      </colorDefinition>
-      <colorDefinition
-            label="%Color.inactiveTabBGEnd"
-            value="COLOR_WIDGET_BACKGROUND"
-            categoryId="org.eclipse.ui.presentation.default"
-            id="org.eclipse.ui.workbench.INACTIVE_TAB_BG_END">
-         <description>
-            %Color.inactiveTabBGEndDesc
-         </description>
-      </colorDefinition>
-<!-- percentage value for the active tab gradient -->
-      <data
-            name="org.eclipse.ui.workbench.ACTIVE_TAB_PERCENT"
-            value="100">
-      </data>
-<!-- percentage value for the active (nofocus) tab gradient -->
-      <data
-            name="org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_PERCENT"
-            value="100">
-      </data>      
-<!-- percentage value for the inactive tab gradient -->
-      <data
-            name="org.eclipse.ui.workbench.INACTIVE_TAB_PERCENT"
-            value="100">
-      </data>
-<!-- whether the active gradient is vertical -->
-      <data
-            name="org.eclipse.ui.workbench.ACTIVE_TAB_VERTICAL"
-            value="true">
-      </data>
-<!-- whether the active (nofocus) gradient is vertical -->
-      <data
-            name="org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_VERTICAL"
-            value="true">
-      </data>      
-<!-- whether the inactive gradient is vertical -->
-      <data
-            name="org.eclipse.ui.workbench.INACTIVE_TAB_VERTICAL"
-            value="true">
-      </data>
-   </extension>
-   <extension
-         point="org.eclipse.core.runtime.preferences">
-      <initializer
-            class="org.eclipse.ui.internal.UIPreferenceInitializer">
-      </initializer>
-   </extension>
-   <extension
-         point="org.eclipse.ui.systemSummarySections">
-      <section
-            sectionTitle="Platform Details"
-            class="org.eclipse.ui.internal.about.ConfigurationLogDefaultSection"
-            id="10.DefaultSection">
-      </section>
-   </extension>
-   <extension
-         point="org.eclipse.ui.presentationFactories">
-      <factory
-            name="Default"
-            class="org.eclipse.ui.presentations.WorkbenchPresentationFactory"
-            id="org.eclipse.ui.presentations.default">
-      </factory>
-   </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 ca23f81..0000000
--- a/bundles/org.eclipse.ui/schema/acceleratorConfigurations.exsd
+++ /dev/null
@@ -1,142 +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>
-         &lt;p&gt;
-&lt;b&gt;WARNING: This extension point is DEPRECATED.&lt;/b&gt;&lt;br&gt;
-Do not use this extension point, it will be removed in future versions of this product.
-Instead, use the extension point &lt;a href=&quot;org_eclipse_ui_commands.html&quot;&gt;org.eclipse.ui.commands&lt;/a&gt;
-&lt;/p&gt;
-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 dc13e1f..0000000
--- a/bundles/org.eclipse.ui/schema/acceleratorScopes.exsd
+++ /dev/null
@@ -1,146 +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>
-         &lt;p&gt;
-&lt;b&gt;WARNING: This extension point is DEPRECATED.&lt;/b&gt;&lt;br&gt;
-Do not use this extension point, it will be removed in future versions of this product.
-Instead, use the extension point &lt;a href=&quot;org_eclipse_ui_commands.html&quot;&gt;org.eclipse.ui.commands&lt;/a&gt;
-&lt;/p&gt;
-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 &quot;Text Editor Scope&quot;, the accelerators of that accelerator set will only operate if the &quot;Text Editor Scope&quot; 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&apos;s id as the value of its &quot;scopeId&quot; 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=&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; 
-&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 cdb9730..0000000
--- a/bundles/org.eclipse.ui/schema/acceleratorSets.exsd
+++ /dev/null
@@ -1,179 +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>
-         &lt;p&gt;
-&lt;b&gt;WARNING: This extension point is DEPRECATED.&lt;/b&gt;&lt;br&gt;
-Do not use this extension point, it will be removed in future versions of this product.
-Instead, use the extension point &lt;a href=&quot;org_eclipse_ui_commands.html&quot;&gt;org.eclipse.ui.commands&lt;/a&gt;
-&lt;/p&gt;
-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">
-            <annotation>
-               <documentation>
-                  the unique identifier of the action definition of the action associated with this accelerator. If the id is not specified this accelerator deletes any  mappings with the same key. This is used to delete a key binding for a specific Locale.
-               </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 &apos;||&apos;, 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 (&apos;?&apos; 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=&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; 
-&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 &quot;ja&quot; as its locale and B defines &quot;ja_JP&quot;, B is used in case the current locale is &quot;ja_JP&quot;. 
-&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&apos;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 9981036..0000000
--- a/bundles/org.eclipse.ui/schema/actionDefinitions.exsd
+++ /dev/null
@@ -1,143 +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>
-         &lt;p&gt;
-&lt;b&gt;WARNING: This extension point is DEPRECATED.&lt;/b&gt;&lt;br&gt;
-Do not use this extension point, it will be removed in future versions of this product.
-Instead, use the extension point &lt;a href=&quot;org_eclipse_ui_commands.html&quot;&gt;org.eclipse.ui.commands&lt;/a&gt;
-&lt;/p&gt;
-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&apos;s associated action definition. An action registers itself with an action definition by calling the setActionDefinitionId(String id) method and supplying the action definition&apos;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>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  the name of the action as displayed to the user.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="description" type="string">
-            <annotation>
-               <documentation>
-                  a short description of the action to display to the user.
-               </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=&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; 
-&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=&quot;#FF0000&quot;&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 5da18f3..0000000
--- a/bundles/org.eclipse.ui/schema/actionSetPartAssociations.exsd
+++ /dev/null
@@ -1,127 +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=&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;
-&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>
-         Copyright (c) 2002, 2003 IBM Corporation and others.&lt;br&gt;
-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 
-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </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 14e2d1c..0000000
--- a/bundles/org.eclipse.ui/schema/actionSets.exsd
+++ /dev/null
@@ -1,513 +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.exsd"/>
-
-   <include schemaLocation="commonExpression.exsd"/>
-
-   <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"/>
-         </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>
-                  Specifies the command that this action will handle. By specifying and action, the key binding service can assign a key sequence to this action. See the extension point &lt;a href=&quot;org_eclipse_ui_commands.html&quot;&gt;org.eclipse.ui.commands&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>
-
-   <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.&lt;br&gt;
-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 
-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/activities.exsd b/bundles/org.eclipse.ui/schema/activities.exsd
deleted file mode 100644
index 29deaca..0000000
--- a/bundles/org.eclipse.ui/schema/activities.exsd
+++ /dev/null
@@ -1,289 +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="activities" name="Activities"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-The &lt;code&gt;org.eclipse.ui.activities&lt;/code&gt; extension point is used to declare activities and associated elements.  Activities are used by the platform to filter certain plugin contributions from the users view until such a time that they express interest in them.  This allows Eclipse to grow dynamically based on the usage pattern of a user.
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence minOccurs="0" maxOccurs="unbounded">
-            <element ref="activity"/>
-            <element ref="activityRequirementBinding"/>
-            <element ref="activityPatternBinding"/>
-            <element ref="category"/>
-            <element ref="categoryActivityBinding"/>
-            <element ref="defaultEnablement"/>
-         </sequence>
-         <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>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="activity">
-      <annotation>
-         <documentation>
-            This element is used to define activities. If more than one of these elements exist with the same &lt;code&gt;id&lt;/code&gt; attribute, only the last declared element (in order of reading the registry) is considered valid.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="description" type="string">
-            <annotation>
-               <documentation>
-                  a translatable short description of this activity for display in the UI
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the unique identifier of this activity
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the translatable name of this activity for display in the UI
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="activityRequirementBinding">
-      <annotation>
-         <documentation>
-            This element allows one to bind activities to activities. The relationship is such that if the activityId is ever enabled then the requiredActivityId is enabled as well.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="requiredActivityId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the unique identifier of required activity to bind
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="activityId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the unique identifier of the activity to bind
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="activityPatternBinding">
-      <annotation>
-         <documentation>
-            This element allows one to bind activities to patterns.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="activityId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the unique identifier of the activity to bind
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="pattern" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the pattern to be bound. Patterns are regular expressions which match unique identifiers.  Please see the Java documentation for &lt;code&gt;java.util.regex.Pattern&lt;/code&gt; for further details.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="category">
-      <annotation>
-         <documentation>
-            This element is used to define categories. If more than one of these elements exist with the same &lt;code&gt;id&lt;/code&gt; attribute, only the last declared element (in order of reading the registry) is considered valid.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="description" type="string">
-            <annotation>
-               <documentation>
-                  a translatable short description of this category for display in the UI
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the unique identifier of this category
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the translatable name of this category for display in the UI
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="categoryActivityBinding">
-      <annotation>
-         <documentation>
-            This element allows one to bind categories to activities.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="activityId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the unique identifier of the activity to bind
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="categoryId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the unique identifier of the category to bind
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="defaultEnablement">
-      <annotation>
-         <documentation>
-            This element allows one to specify that a given activity should be enabled by default.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the unique identifier of the activity
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-3.0
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of several activity and category definitions as well as associated bindings.
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.ui.activities&quot;&gt;
-  &lt;activity id=&quot;com.xyz.Activity&quot;
-      description=&quot;Filters contributions from com.xyz&quot;
-   name=&quot;My Activity&quot; /&gt;
-
-  &lt;activity id=&quot;com.xyz.OtherActivity&quot;
-      description=&quot;Filters other contributions from com.xyz&quot;
-   name=&quot;My Other Activity&quot; /&gt;
-  &lt;!-- other activity requires activity --&gt;  
-  &lt;activityRequirementBinding activityId=&quot;com.xyz.OtherActivity&quot;
-   requiredActivityId=&quot;com.xyz.Activity&quot; /&gt;
-  &lt;category id=&quot;com.xyz.Category&quot;
-   description=&quot;com.xyz Activities&quot;
-   name=&quot;My Category&quot; /&gt;
-   
-     &lt;!-- put the activity in the category --&gt;
-  &lt;categoryActivityBinding activityId=&quot;com.xyz.Activity&quot;
-   categoryId=&quot;com.xyz.Category&quot; /&gt;
-   
-     &lt;!-- bind all contributions from plugin com.xyz --&gt;
-  &lt;activityPatternBinding id=&quot;com.xyz.Activity&quot;
-   pattern=&quot;com\.xyz/.*&quot; /&gt;
-  
-  &lt;!-- bind my.contribution from plugin com.xyz.other --&gt;
-  &lt;activityPatternBinding id=&quot;com.xyz.OtherActivity&quot;
-   pattern=&quot;com\.xyz\.other/my.contribution&quot; /&gt;
-   
-  &lt;!-- our activity should be enabled by default --&gt;
-  &lt;defaultEnablement id=&quot;com.xyz.Activity&quot; /&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-There is currently no public API for declaring activities or associated elements other than this extension point.  The state of activities in the workbench is accessible via &lt;code&gt;org.eclipse.ui.IWorkbench.getActivitySupport()&lt;/code&gt;.  From here you may query and update the set of currently enabled activities.
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         There are no &quot;default activities&quot; provided by the workbench.  Activities are intended to be defined at the product level, such as the Eclipse SDK, so as to tightly integrate all of the (known) components that product contains.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-Copyright (c) 2000, 2003 IBM Corporation and others.&lt;br&gt;
-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
-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/commands.exsd b/bundles/org.eclipse.ui/schema/commands.exsd
deleted file mode 100644
index fa3ff36..0000000
--- a/bundles/org.eclipse.ui/schema/commands.exsd
+++ /dev/null
@@ -1,480 +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="commands" name="Commands"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-The &lt;code&gt;org.eclipse.ui.commands&lt;/code&gt; extension point is used to declare commands and command categories, using the &lt;code&gt;command&lt;/code&gt; and &lt;code&gt;category&lt;/code&gt; elements. Through this extension point, one can also assign key sequences to commands using the &lt;code&gt;keyBinding&lt;/code&gt; element. Key sequences are bound to commands based on key configurations and contexts which are declared here as well, using the &lt;code&gt;keyConfiguration&lt;/code&gt; and &lt;code&gt;context&lt;/code&gt; elements.
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="activeKeyConfiguration"/>
-            <element ref="category"/>
-            <element ref="command"/>
-            <element ref="keyBinding"/>
-            <element ref="keyConfiguration"/>
-            <element ref="context"/>
-         </sequence>
-         <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>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  A fully qualified identifier of the target extension point.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="activeKeyConfiguration">
-      <annotation>
-         <documentation>
-            This element is used to define the initial active key configuration for Eclipse. If more than one of these elements exist, only the last declared element (in order of reading the plugin registry) is considered valid.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="value" type="string">
-            <annotation>
-               <documentation>
-                  The unique id (&lt;code&gt;id&lt;/code&gt;attribute) of the keyConfiguration element one wishes to be initially active.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="keyConfigurationId" type="string">
-            <annotation>
-               <documentation>
-                  The unique id (&lt;code&gt;id&lt;/code&gt;attribute) of the keyConfiguration element one wishes to be initially active.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="category">
-      <annotation>
-         <documentation>
-            In the UI, commands are often organized by category to make them more manageable. This element is used to define these categories. Commands can add themselves to at most one category. If more than one of these elements exist with the same &lt;code&gt;id&lt;/code&gt; attribute, only the last declared element (in order of reading the plugin registry) is considered valid.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="description" type="string">
-            <annotation>
-               <documentation>
-                  A translatable short description of this category for display in the UI.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The unique identifier of this category.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The translatable name of this category for display in the UI.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="command">
-      <annotation>
-         <documentation>
-            This element is used to define commands. A command represents an request from the user that can be handled by an action, and should be semantically unique among other commands. Do not define a command if there is already one defined with the same meaning. If more than one of these elements exist with the same &lt;code&gt;id&lt;/code&gt; attribute, only the last declared element (in order of reading the plugin registry) is considered valid. See the extension points &lt;a href=&quot;org_eclipse_ui_actionSets.html&quot;&gt;org.eclipse.ui.actionSets&lt;/a&gt; and &lt;a href=&quot;org_eclipse_ui_editorActions.html&quot;&gt;org.eclipse.ui.editorActions&lt;/a&gt; to understand how actions are connected to commands.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="category" type="string">
-            <annotation>
-               <documentation>
-                  The unique id of the category for this command. If this command does not specify a category, it will still appear in all UI, alongside other specifically categorized commands.
-@deprecated Please use &quot;categoryId&quot; instead.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="description" type="string">
-            <annotation>
-               <documentation>
-                  A translatable short description of this command for display in the UI.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The unique identifier of this command.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The translatable name of this command for display in the UI. Command are typically named in the form of an imperative verb.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="categoryId" type="string">
-            <annotation>
-               <documentation>
-                  The unique id of the category for this command. If this command does not specify a category, it will still appear in all UI, alongside other specifically categorized commands.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="keyBinding">
-      <annotation>
-         <documentation>
-            This element allows one to assign key sequences to commands.
-         </documentation>
-      </annotation>
-      <complexType>
-<!--sequence>
-            <element ref="sequence" minOccurs="0" maxOccurs="1"/>
-         </sequence-->
-         <attribute name="configuration" type="string">
-            <annotation>
-               <documentation>
-                  The unique id of the key configuration of this key binding.
-@deprecated Please use keyConfigurationId instead.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="command" type="string">
-            <annotation>
-               <documentation>
-                  The unique identifier of the command to which the key sequence specified by this key binding is assigned. If the value of this attribute is an empty string, the key sequence is assigned to an internal &apos;no operation&apos; command. This is useful for &apos;undefining&apos; key bindings in specific key configurations and contexts which may have been borrowed from their parents.
-@deprecate Please use &quot;commandId&quot; instead.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="locale" type="string">
-            <annotation>
-               <documentation>
-                  An optional attribute indicating that this key binding is only defined for the specified locale. Locales are specified according to the format declared in &lt;code&gt;java.util.Locale&lt;/code&gt;.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="platform" type="string">
-            <annotation>
-               <documentation>
-                  An optional attribute indicating that this key binding is only defined for the specified platform. The possible values of the &lt;code&gt;platform&lt;/code&gt; attribute are the set of the possible values returned by &lt;code&gt;org.eclipse.swt.SWT.getPlatform()&lt;/code&gt;.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="contextId" type="string">
-            <annotation>
-               <documentation>
-                  The unique id of the context of this key binding.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="string" type="string">
-            <annotation>
-               <documentation>
-                  The key sequence to assign to the command. Key sequences consist of one or more key strokes, where a key stroke consists of a key on the keyboard, optionally pressed in combination with one or more of the following modifiers: Ctrl, Alt, Shift, and Command. Key strokes are separated by spaces, and modifiers are separated by &apos;+&apos; characters.
-@deprecate Please user &quot;keySequence&quot; instead.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="scope" type="string">
-            <annotation>
-               <documentation>
-                  The unique id of the context of this key binding.
-@deprecated Please use &quot;contextId&quot; instead.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="keyConfigurationId" type="string">
-            <annotation>
-               <documentation>
-                  The unique id of the key configuration of this key binding.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="commandId" type="string">
-            <annotation>
-               <documentation>
-                  The unique identifier of the command to which the key sequence specified by this key binding is assigned. If the value of this attribute is an empty string, the key sequence is assigned to an internal &apos;no operation&apos; command. This is useful for &apos;undefining&apos; key bindings in specific key configurations and contexts which may have been borrowed from their parents.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="keySequence" type="string">
-            <annotation>
-               <documentation>
-                  The key sequence to assign to the command. Key sequences consist of one or more key strokes, where a key stroke consists of a key on the keyboard, optionally pressed in combination with one or more of the following modifiers: Ctrl, Alt, Shift, and Command. Key strokes are separated by spaces, and modifiers are separated by &apos;+&apos; characters.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="keyConfiguration">
-      <annotation>
-         <documentation>
-            This element is used to define key configurations. If more than one of these elements exist with the same &lt;code&gt;id&lt;/code&gt; attribute, only the last declared element (in order of reading the plugin registry) is considered valid.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="description" type="string">
-            <annotation>
-               <documentation>
-                  A translatable short description of this key configuration for display in the UI.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The unique identifier of this key configuration.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The translatable name of this key configuration for display in the UI. If this key configuration has a parent, it is not necessary to add &quot;(extends ...)&quot; to the name. This will be automatically added by the UI where necessary.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="parent" type="string">
-            <annotation>
-               <documentation>
-                  The unique id of the parent key configuration. If this key configuration has a parent, it will borrow all key bindings from its parent, in addition to the key bindings defined in its own key configuration.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="parentId" type="string">
-            <annotation>
-               <documentation>
-                  The unique id of the parent key configuration. If this key configuration has a parent, it will borrow all key bindings from its parent, in addition to the key bindings defined in its own key configuration.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-<!--element name="stroke">
-      <complexType>
-         <attribute name="value" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element-->
-<!--element name="sequence">
-      <complexType>
-         <sequence>
-            <element ref="stroke" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-      </complexType>
-   </element-->
-   <element name="context">
-      <annotation>
-         <documentation>
-            This element is used to define contexts. If more than one of these elements exist with the same &lt;code&gt;id&lt;/code&gt; attribute, only the last declared element (in order of reading the plugin registry) is considered valid.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="description" type="string">
-            <annotation>
-               <documentation>
-                  A translatable short description of this context for display in the UI.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The unique identifier of this context.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The translatable name of this context for display in the UI. If this context has a parent, it is not necessary to add &quot;(extends parent)&quot; to the name. This will be automatically added by the UI where necessary.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="parent" type="string">
-            <annotation>
-               <documentation>
-                  The unique id of the parent context. If this context has a parent, it will borrow all key bindings from its parent, in addition to the key bindings defined in its own context.
-@deprecated Please use &quot;parentId&quot; instead.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="parentId" type="string">
-            <annotation>
-               <documentation>
-                  The unique id of the parent context. If this context has a parent, it will borrow all key bindings from its parent, in addition to the key bindings defined in its own context.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="handlerSubmission">
-      <annotation>
-         <documentation>
-            &lt;p&gt;
-This element declares a handler for a command.  This handler is then associated with the command with the given restrictions.  This association is done at start-up.  Associating a handler does not mean that this handler will always be the one chosen by the workbench; the actual choice is done by examining the workbench state and comparing with the various handler submissions.
-&lt;/p&gt;
-&lt;p&gt;
-This particular API should still be considered experimental.  While you may use it, you must be willing to accept that this API may change radically or be removed entirely at some point in the future.  We appreciate feedback on this API to &lt;a href=&quot;mailto:platform-ui-dev@eclipse.org&quot;&gt;platform-ui-dev@eclipse.org&lt;/a&gt;.
-&lt;/p&gt;
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="commandId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The identifier of the command to which this handler should be associated.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="handler" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The name of the class of the handler.  If the class is an implementation of IExecutableExtension, then it is possible to pass data into the object.  This handler will be proxied until the handler is queried for information -- at which point the class will be loaded, and an instance created.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="java.lang.Object"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="scope">
-      <annotation>
-         <documentation>
-            This element is used to define scopes. If more than one of these elements exist with the same &lt;code&gt;id&lt;/code&gt; attribute, only the last declared element (in order of reading the plugin registry) is considered valid.
-@deprecated Please use the &quot;org.eclipse.ui.contexts&quot; extension point instead.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="description" type="string">
-            <annotation>
-               <documentation>
-                  A translatable short description of this scope for display in the UI.
-
-@deprecated Please use the &quot;org.eclipse.ui.contexts&quot; extension point instead.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The unique identifier of this scope.
-
-@deprecated Please use the &quot;org.eclipse.ui.contexts&quot; extension point instead.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The translatable name of this scope for display in the UI. If this scope has a parent, it is not necessary to add &quot;(extends parent)&quot; to the name. This will be automatically added by the UI where necessary.
-
-@deprecated Please use the &quot;org.eclipse.ui.contexts&quot; extension point instead.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="parent" type="string">
-            <annotation>
-               <documentation>
-                  The unique id of the parent scope. If this scope has a parent, it will borrow all key bindings from its parent, in addition to the key bindings defined in its own scope.
-
-@deprecated Please use the &quot;org.eclipse.ui.contexts&quot; extension point instead.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-2.1
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-The &lt;code&gt;plugin.xml&lt;/code&gt; file in the &lt;code&gt;org.eclipse.ui&lt;/code&gt; plugin makes extensive use of the &lt;code&gt;org.eclipse.ui.commands&lt;/code&gt; extension point.
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-This is no public API for declaring commands, categories, key bindings, key configurations, or contexts other than this extension point. Public API for querying and setting contexts, as well as registering actions to handle specific commands can be found in &lt;code&gt;org.eclipse.ui.IKeyBindingService&lt;/code&gt;.
-&lt;/p&gt;
-      </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.&lt;br&gt;
-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 
-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/commonAction.exsd b/bundles/org.eclipse.ui/schema/commonAction.exsd
deleted file mode 100644
index b6094f9..0000000
--- a/bundles/org.eclipse.ui/schema/commonAction.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="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 &lt;samp&gt;separator&lt;/samp&gt; 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 &lt;samp&gt;enablement&lt;/samp&gt; element is specified.

-         </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.&lt;br&gt;

-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 

-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui/schema/commonExpression.exsd b/bundles/org.eclipse.ui/schema/commonExpression.exsd
deleted file mode 100644
index 1bb3e40..0000000
--- a/bundles/org.eclipse.ui/schema/commonExpression.exsd
+++ /dev/null
@@ -1,272 +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 extension.

-         </documentation>

-      </annotation>

-      <complexType>

-         <choice>

-            <element ref="and"/>

-            <element ref="or"/>

-            <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 extension.

-         </documentation>

-      </annotation>

-      <complexType>

-         <choice>

-            <element ref="and"/>

-            <element ref="or"/>

-            <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&apos;s two sub-element expressions.

-         </documentation>

-      </annotation>

-      <complexType>

-         <choice minOccurs="2" maxOccurs="2">

-            <element ref="and"/>

-            <element ref="or"/>

-            <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&apos;s two sub-element expressions.

-         </documentation>

-      </annotation>

-      <complexType>

-         <choice minOccurs="2" maxOccurs="2">

-            <element ref="and"/>

-            <element ref="or"/>

-            <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&apos;s sub-element expressions.

-         </documentation>

-      </annotation>

-      <complexType>

-         <choice>

-            <element ref="and"/>

-            <element ref="or"/>

-            <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, &lt;samp&gt;org.eclipse.ui.IActionFilter&lt;/samp&gt; interface.

-         </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 one of the following: &lt;samp&gt;installed&lt;/samp&gt; or &lt;samp&gt;activated&lt;/samp&gt;.

-         </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 one of the following: &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 the &lt;samp&gt;java.lang.System&lt;/samp&gt;.

-         </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.&lt;br&gt;

-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 

-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui/schema/contexts.exsd b/bundles/org.eclipse.ui/schema/contexts.exsd
deleted file mode 100644
index 49b9b94..0000000
--- a/bundles/org.eclipse.ui/schema/contexts.exsd
+++ /dev/null
@@ -1,140 +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="contexts" name="Contexts"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-The &lt;code&gt;org.eclipse.ui.contexts&lt;/code&gt; extension point is used to declare contexts and associated elements.
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="context"/>
-            <element ref="contextContextBinding"/>
-         </sequence>
-         <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>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  A fully qualified identifier of the target extension point.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="context">
-      <annotation>
-         <documentation>
-            This element is used to define contexts. If more than one of these elements exist with the same &lt;code&gt;id&lt;/code&gt; attribute, only the last declared element (in order of reading the registry) is considered valid.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="description" type="string">
-            <annotation>
-               <documentation>
-                  A translatable short description of this context for display in the UI.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The unique identifier of this context.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The translatable name of this context for display in the UI.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="parentId" type="string">
-            <annotation>
-               <documentation>
-                  The unique identifier of the parent of this context.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-3.0
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-The &lt;code&gt;plugin.xml&lt;/code&gt; file in the &lt;code&gt;org.eclipse.ui&lt;/code&gt; plugin makes use of the &lt;code&gt;org.eclipse.ui.contexts&lt;/code&gt; extension point.
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-There is currently no public API for declaring contexts or associated elements other than this extension point.
-&lt;/p&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) 2000, 2003 IBM Corporation and others.&lt;br&gt;
-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
-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-&lt;/p&gt;
-      </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 78fdbc6..0000000
--- a/bundles/org.eclipse.ui/schema/decorators.exsd
+++ /dev/null
@@ -1,276 +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 is 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>
-
-   <include schemaLocation="commonExpression.exsd"/>
-
-   <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" minOccurs="0" maxOccurs="1"/>
-         </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">
-            <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>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="java.lang.Object"/>
-               </appInfo>
-            </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="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>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </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>
-
-   <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;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;
-
-&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;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;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, 2004 IBM Corporation and others.&lt;br&gt;
-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 
-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&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 8fabe4f..0000000
--- a/bundles/org.eclipse.ui/schema/dropActions.exsd
+++ /dev/null
@@ -1,164 +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&apos;s content outliner 
-into another java file in the resource navigator. 
-Since the resource navigator doesn&apos;t know anything 
-about Java content, it doesn&apos;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="action" 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="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=&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;  
-&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( 
-                &quot;my_drop_action&quot;, 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>
-         Copyright (c) 2002, 2003 IBM Corporation and others.&lt;br&gt;
-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 
-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </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 ff2607b..0000000
--- a/bundles/org.eclipse.ui/schema/editorActions.exsd
+++ /dev/null
@@ -1,469 +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="editorActions" 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.exsd"/>
-
-   <include schemaLocation="commonExpression.exsd"/>
-
-   <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>
-                  Specifies the command that this action will handle. By specifying and action, the key binding service can assign a key sequence to this action. See the extension point &lt;a href=&quot;org_eclipse_ui_commands.html&quot;&gt;org.eclipse.ui.commands&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>
-         <attribute name="actionID" type="string">
-            <annotation>
-               <documentation>
-                  Internal tag for use by the text editors. Should not be used by plug-in developers.
-               </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.&lt;br&gt;
-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 
-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </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 100ee5a..0000000
--- a/bundles/org.eclipse.ui/schema/editors.exsd
+++ /dev/null
@@ -1,295 +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 &quot;Open&quot; 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 &quot;htm, html&quot;.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string">
-            <annotation>
-               <documentation>
-                  the name of a class that implements &lt;samp&gt;org.eclipse.ui.IEditorPart&lt;/samp&gt;. The 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. 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.IEditorPart"/>
-               </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&apos;s directory. The 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>
-            </annotation>
-         </attribute>
-         <attribute name="launcher" type="string">
-            <annotation>
-               <documentation>
-                  the name of a class which that implements &lt;samp&gt;org.eclipse.ui.IEditorLauncher&lt;/samp&gt;. 
-A launcher will open an external editor. The 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="contributorClass" type="string">
-            <annotation>
-               <documentation>
-                  the name of a class that implements &lt;samp&gt;org.eclipse.ui.IEditorActionBarContributor&lt;/samp&gt;. This attribute should only be defined if the &lt;samp&gt;class&lt;/samp&gt; attribute 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 &quot;Open with...&quot;
-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 &quot;ejb.htm, ejb.html&quot;.
-               </documentation>
-            </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 &quot;org.eclipse.jface.textfont&quot; in the editor&apos;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=&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; 
-&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 &quot;Default Text Editor&quot;. 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.&lt;br&gt;
-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 
-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </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 fc85274..0000000
--- a/bundles/org.eclipse.ui/schema/elementFactories.exsd
+++ /dev/null
@@ -1,164 +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 = &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; 
-&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>
-         Copyright (c) 2002, 2003 IBM Corporation and others.&lt;br&gt;
-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 
-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </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 1ef434e..0000000
--- a/bundles/org.eclipse.ui/schema/exportWizards.exsd
+++ /dev/null
@@ -1,192 +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 &quot;Export Dialog&quot;, 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.
-&lt;/p&gt;
-      </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=&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; 
-&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>
-         Copyright (c) 2002, 2003 IBM Corporation and others.&lt;br&gt;
-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 
-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </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 936c3eb..0000000
--- a/bundles/org.eclipse.ui/schema/fontDefinitions.exsd
+++ /dev/null
@@ -1,184 +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.
-
-This extension point has been deprecated in 3.0.  You should now add fontDefinition elements to org.eclipse.ui.themes.
-      </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="value" type="string">
-            <annotation>
-               <documentation>
-                  the font value.  This is in the form: &lt;code&gt;&lt;it&gt;fontname&lt;/it&gt;-&lt;it&gt;style&lt;/it&gt;-&lt;it&gt;height&lt;/it&gt;&lt;/code&gt; where &lt;code&gt;&lt;it&gt;fontname&lt;/it&gt;&lt;/code&gt; is the name of a font, &lt;code&gt;&lt;it&gt;style&lt;/it&gt;&lt;/code&gt; is a font style (one of &lt;code&gt;&quot;regular&quot;&lt;/code&gt;, &lt;code&gt;&quot;bold&quot;&lt;/code&gt;, &lt;code&gt;&quot;italic&quot;&lt;/code&gt;, or &lt;code&gt;&quot;bold italic&quot;&lt;/code&gt;) and &lt;code&gt;&lt;it&gt;height&lt;/it&gt;&lt;/code&gt; is an integer representing the font height.&lt;/p&gt;
-&lt;p&gt;Example: &lt;code&gt;Times New Roman-bold-36&lt;/code&gt;.&lt;/p&gt;  
-&lt;p&gt;
-Only one (or neither) of value or defaultsTo may be used.
-&lt;/p&gt;
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="categoryId" type="string">
-            <annotation>
-               <documentation>
-                  the optional id of the presentation category this font belongs to.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="defaultsTo" type="string">
-            <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.
-&lt;p&gt;
-Only one or neither of value or defaultsTo may be used.
-&lt;/p&gt;
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="description">
-      <annotation>
-         <documentation>
-            a short description of the fonts usage
-         </documentation>
-      </annotation>
-      <complexType>
-      </complexType>
-   </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=&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; 
-&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>
-         Copyright (c) 2002, 2003 IBM Corporation and others.&lt;br&gt;
-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 
-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/helpSupport.exsd b/bundles/org.eclipse.ui/schema/helpSupport.exsd
deleted file mode 100644
index e3a5852..0000000
--- a/bundles/org.eclipse.ui/schema/helpSupport.exsd
+++ /dev/null
@@ -1,117 +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="helpSupport" name="HelpSupport"/>
-      </appInfo>
-      <documentation>
-         This extension point is for contributing the help system UI. The platform should be configured with no more than one help system UI.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="config" minOccurs="0" maxOccurs="1"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="config">
-      <complexType>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the implementation class for displaying online and context-sensitive
-help.  This class must implement the &lt;samp&gt;org.eclipse.ui.help.AbstractHelpUI&lt;/samp&gt;
-interface.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.help.AbstractHelpUI"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         3.0 (originally named org.eclipse.help.support)
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is a sample usage of the help support extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.ui.helpSupport&quot;&gt;
-  &lt;config class=&quot;com.example.XYZHelpUI&quot;/&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The supplied class must implement a subclass of &lt;samp&gt;org.eclipse.ui.help.AbstractHelpUI&lt;/samp&gt;. 
-Implementation of the abstract methods in that class
-determine what happens when a user asks for online help or context-sensitive help. The implementation should access contributed help information using org.eclipse.help.HelpSystem.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         The &lt;samp&gt;org.eclipse.help.ui&lt;/samp&gt; plug-in contains an implementation of the help system UI.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2000, 2003 IBM Corporation and others.&lt;br&gt;
-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 &lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </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 a615cce..0000000
--- a/bundles/org.eclipse.ui/schema/importWizards.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="importWizards" name="Import Wizards"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to register import wizard extensions. Import wizards appear as choices within the &quot;Import Dialog&quot; 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.
-&lt;/p&gt;
-      </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=&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; 
-&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.&lt;br&gt;
-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 
-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/intro.exsd b/bundles/org.eclipse.ui/schema/intro.exsd
deleted file mode 100644
index 3713955..0000000
--- a/bundles/org.eclipse.ui/schema/intro.exsd
+++ /dev/null
@@ -1,183 +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="intro" name="Intro Part"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;This extension point is used to register implementations of special workbench parts, called intro parts, that are responsible for introducing a product to new users. An intro part is typically shown the first time a product is started up. Rules for associating an intro part implementation with particular products are also contributed via this extension point.
-&lt;/p&gt;
-The life cycle is as follows:
-&lt;ul&gt;
-&lt;li&gt;The intro area is created on workbench start up. As with editor and view areas, this area is managed by an intro site (implementing &lt;code&gt;org.eclipse.ui.intro.IIntroSite&lt;/code&gt;).&lt;/li&gt;
-&lt;li&gt;The id of the current product (Platform.getProduct()) is used to choose the relevant intro part implementation.
-&lt;/li&gt;
-&lt;li&gt;The intro part class (implementing &lt;code&gt;org.eclipse.ui.intro.IIntroPart&lt;/code&gt;) is created and initialized with the intro site.
-&lt;/li&gt;
-&lt;li&gt;While the intro part is showing to the user, it can transition back and forth between full and standby mode (either programmatically or explicitly by the user).
-&lt;/li&gt;
-&lt;li&gt;Eventually the intro part is closed (either programmatically or explicitly by the user). The current perspective takes over the entire workbench window area.
-&lt;/li&gt;
-&lt;/ul&gt;
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="intro" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="introProductBinding" 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="intro">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="id" icon="icon"/>
-         </appInfo>
-         <documentation>
-            Specifies an introduction. An introduction is a product-specific presentation shown to first-time users on product start up.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique identifier for this introduction
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="icon" type="string">
-            <annotation>
-               <documentation>
-                  a plug-in-relative file name of the icon that will be associated with this introduction
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified name of the class implementing the &lt;code&gt;org.eclipse.ui.intro.IIntroPart&lt;/code&gt; interface.  A common practice 
-is to subclass &lt;samp&gt;org.eclipse.ui.part.intro.IntroPart&lt;/samp&gt; 
-in order to inherit the default functionality.  This class implements the introduction.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.intro.IIntroPart"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="introProductBinding">
-      <annotation>
-         <documentation>
-            Specifies a binding between a product and an introduction. These bindings determine which introduction is appropriate for the current product (as defined by &lt;code&gt;org.eclipse.core.runtime.Platform.getProduct()&lt;/code&gt;).
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="productId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  unique id of a product
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="introId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  unique id of an introduction
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         3.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of an intro part extension that contributes an particular introduction and associates it with a particular product:
-&lt;p&gt;
-&lt;pre&gt;
-  &lt;extension point=&quot;org.eclipse.ui.intro&quot;&gt;
-     &lt;intro
-        id=&quot;com.example.xyz.intro.custom&quot;
-        class=&quot;com.example.xyz.intro.IntroPart&quot;/&gt;
-     &lt;introProductBinding
-        productId=&quot;com.example.xyz.Product&quot;
-        introId=&quot;com.example.xyz.intro.custom&quot;/&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;code&gt;class&lt;/code&gt; attribute must be the fully qualified name of a class that implements the&lt;code&gt;org.eclipse.ui.intro.IIntroPart&lt;/code&gt; interface by subclassing &lt;code&gt;org.eclipse.ui.part.intro.IntroPart&lt;/code&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         There are no default implementations of the initial user experience. Each Eclipse-based product is responsible for providing one that is closely matched to its branding and function.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2004 IBM Corporation and others.&lt;br&gt;
-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 
-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&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 4c27b01..0000000
--- a/bundles/org.eclipse.ui/schema/newWizards.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="newWizards" name="Creation Wizards"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to register resource creation wizard extensions. Creation wizards appear as choices within the &quot;New Dialog&quot;, and are typically used to create folders and files. 
-&lt;p&gt;
-In the &quot;New Dialog&quot;, wizards are organized into categories which usually reflect a particular problem domain.  For instance, a Java oriented plugin may define a category called &quot;Java&quot; which is appropriate for &quot;Class&quot; or &quot;Package&quot; 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 &quot;Other&quot; category. 
-&lt;/p&gt;
-
-&lt;p&gt;
-Wizards may optionally specify a description subelement whose body should contain short text about the wizard.
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <choice minOccurs="0" maxOccurs="unbounded">
-            <element ref="category"/>
-            <element ref="wizard"/>
-            <element ref="primaryWizard"/>
-         </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 (&apos;/&apos;) 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 &quot;Other&quot; 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="project" type="boolean">
-            <annotation>
-               <documentation>
-                  an optional attribute indicating the wizard will create an IProject resource.
-Also causes the wizard to appear as a choice within the &quot;New Project Dialog&quot;.
-               </documentation>
-            </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="preferredPerspectives" type="string">
-            <annotation>
-               <documentation>
-                  an optional attribute specifying a comma-separated list of perspective IDs.  If the current perspective is in this list, then no perspective activation occurs when IProject resource creation is finished.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="helpHref" type="string">
-            <annotation>
-               <documentation>
-                  a help url that can describe this wizard in detail.
-&lt;p&gt;
-Since 3.0
-&lt;/p&gt;
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="descriptionImage" type="string">
-            <annotation>
-               <documentation>
-                  a larger image that can help describe this wizard.
-&lt;p&gt;
-Since 3.0
-&lt;/p&gt;
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </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>
-
-   <element name="primaryWizard">
-      <annotation>
-         <documentation>
-            a means of declaring that a wizard is &quot;primary&quot; in the UI.  A primary wizard is emphasized in the new wizard dialog.  Please note that this element is not intended to be used by plug in developers!  This element exists so that product managers may emphasize a set of wizards for their products.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the id of a wizard that should be made primary.
-               </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=&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; 
-&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.&lt;br&gt;
-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 
-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </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 1d3c024..0000000
--- a/bundles/org.eclipse.ui/schema/perspectiveExtensions.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="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"/>
-            <element ref="showInPart"/>
-         </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&apos;s &quot;Show View&quot; submenu of the &quot;Window&quot; 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&apos;s &quot;Open Perspective&quot; submenu of the &quot;Window&quot; 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&apos;s &quot;New&quot; submenu of the &quot;File&quot; 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&apos;s &quot;Show In...&quot; 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 &quot;true&quot; or &quot;false&quot; if used.
-If this attribute is not used, the view will be initially visible by default.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="closeable" type="boolean">
-            <annotation>
-               <documentation>
-                  whether the view is closeable in the target perspective. This attribute should have a value of &quot;true&quot; or &quot;false&quot; if used.  If this attribute is not used, the view will be closeable, unless the perspective itself is marked as fixed.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="moveable" type="boolean">
-            <annotation>
-               <documentation>
-                  whether the view is moveable.  A non-moveable view cannot be moved either within the same folder, or moved between folders in the perspective.  This attribute should have a value of &quot;true&quot; or &quot;false&quot; if used.
-If this attribute is not used, the view will be moveable, unless the perspective itself is marked as fixed.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="standalone" type="boolean">
-            <annotation>
-               <documentation>
-                  whether the view is a standalone view.  A standalone view cannot be docked together with others in the same folder.  This attribute should have a value of &quot;true&quot; or &quot;false&quot; if used.  This attribute is ignored if the relationship attribute is &quot;fast&quot; or &quot;stacked&quot;.  If this attribute is not used, the view will be a regular view, not a standalone view (default is &quot;false&quot;).
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="showTitle" type="boolean">
-            <annotation>
-               <documentation>
-                  whether the view&apos;s title is shown.  This attribute should have a value of &quot;true&quot; or &quot;false&quot; if used.  This attribute only applies to standalone views.  If this attribute is not used, the view&apos;s title will be shown (default is &quot;true&quot;).
-               </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=&quot;org.eclipse.ui.perspectiveExtensions&quot;&gt; 
-        &lt;perspectiveExtension 
-            targetID=&quot;org.eclipse.ui.resourcePerspective&quot;&gt; 
-            &lt;actionSet id=&quot;org.eclipse.jdt.ui.JavaActionSet&quot;/&gt; 
-            &lt;viewShortcut id=&quot;org.eclipse.jdt.ui.PackageExplorer&quot;/&gt; 
-            &lt;newWizardShortcut id=&quot;org.eclipse.jdt.ui.wizards.NewProjectCreationWizard&quot;/&gt; 
-            &lt;perspectiveShortcut id=&quot;org.eclipse.jdt.ui.JavaPerspective&quot;/&gt; 
-            &lt;view id=&quot;org.eclipse.jdt.ui.PackageExplorer&quot; 
-                relative=&quot;org.eclipse.ui.views.ResourceNavigator&quot; 
-                relationship=&quot;stack&quot;/&gt; 
-            &lt;view id=&quot;org.eclipse.jdt.ui.TypeHierarchy&quot; 
-                relative=&quot;org.eclipse.ui.views.ResourceNavigator&quot; 
-                relationship=&quot;left&quot; 
-                ratio=&quot;0.50&quot;/&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>
-         Copyright (c) 2002, 2003 IBM Corporation and others.&lt;br&gt;
-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 
-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </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 c630fdb..0000000
--- a/bundles/org.eclipse.ui/schema/perspectives.exsd
+++ /dev/null
@@ -1,171 +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 &quot;Open Perspective&quot; submenu of the &quot;Window&quot; 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>
-         <attribute name="fixed" type="boolean">
-            <annotation>
-               <documentation>
-                  indicates whether the layout of the perspective is fixed.  If true, then views created by the perspective factory are not closeable, and cannot be moved.  The default is false.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="description" type="string">
-      <annotation>
-         <documentation>
-            an optional subelement whose body should contain text providing a 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=&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; 
-&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 &quot;Open Perspective&quot; 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 &quot;Resource Perspective&quot;.  
-Additional perspectives may be added by plug-ins. 
-They are selected using the &quot;Open Perspective&quot; submenu of the &quot;Window&quot; menu.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2002, 2003 IBM Corporation and others.&lt;br&gt;
-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 
-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </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 94d0f1e..0000000
--- a/bundles/org.eclipse.ui/schema/popupMenus.exsd
+++ /dev/null
@@ -1,571 +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.exsd"/>
-
-   <include schemaLocation="commonExpression.exsd"/>
-
-   <include schemaLocation="schema://org.eclipse.core.expressions/schema/expressionLanguage.exsd"/>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="objectContribution"/>
-            <element ref="viewerContribution"/>
-         </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="enablement" 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="definitionId" type="string">
-            <annotation>
-               <documentation>
-                  This specifies the command that this action is handling.  This is used to decide which key binding to display in the pop-up menu.
-               </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;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.&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 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>
-               <appInfo>
-                  <meta.attribute kind="java"/>
-               </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;
-&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>
-         <attribute name="overrideActionId" type="string">
-            <annotation>
-               <documentation>
-                  an optional attribute that specifies the identifier of an action which this action overrides. The action represented by this identifier will not be contributed to the context menu. The action identifier must be from a prerequisite plug-in only. This attribute is only applicable to action elements of an object contribution.
-               </documentation>
-            </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>
-      </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, &lt;samp&gt;org.eclipse.ui.IActionFilter&lt;/samp&gt;.
-         </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=&quot;*.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.&lt;br&gt;
-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 
-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </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 8452e3b..0000000
--- a/bundles/org.eclipse.ui/schema/preferencePages.exsd
+++ /dev/null
@@ -1,160 +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 &apos;/&apos;. 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.
-&lt;/p&gt;
-      </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 &apos;/&apos;, 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=&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; 
-&lt;/pre&gt;
-&lt;/p&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>
-         Copyright (c) 2002, 2003 IBM Corporation and others.&lt;br&gt;
-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 
-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/presentationFactories.exsd b/bundles/org.eclipse.ui/schema/presentationFactories.exsd
deleted file mode 100644
index 21a736b..0000000
--- a/bundles/org.eclipse.ui/schema/presentationFactories.exsd
+++ /dev/null
@@ -1,123 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>  

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui.workbench">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.ui.workbench" id="presentationFactories" name="Presentation Factories"/>

-      </appInfo>

-      <documentation>

-         This extension point is used to add presentation factories to the workbench.
-         A presentation factory defines the overall look and feel of the workbench,
-         including how views and editors are presented.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="factory" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="factory">

-      <complexType>

-         <attribute name="class" type="string" use="required">

-            <annotation>

-               <documentation>

-                  Specify the fully qualified class to be used for the presentation factory.  The specified value must be a subclass of &lt;code&gt;org.eclipse.ui.presentations.AbstractPresentationFactory&lt;/code&gt;.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.presentations.AbstractPresentationFactory"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique name that will be used to identify this presentation factory

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a translatable name that can be used to show this presentation factory in the UI

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="since"/>

-      </appInfo>

-      <documentation>

-         3.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         The following is an example of a presentationFactory extension:
-
-  &lt;extension point=&quot;org.eclipse.ui.presentationFactories&quot;&gt;
-     &lt;factory
-        class=&quot;org.eclipse.ui.workbench.ExampleWorkbenchPresentationFactory&quot;/&gt;
-  &lt;/extension&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         The class specified in the factory element must be a concrete subclass of &lt;code&gt;org.eclipse.ui.presentations.AbstractPresentationFactory&lt;/code&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         If a presentation factory is not specified or is missing then the implementation in &lt;code&gt;org.eclipse.ui.presentations.WorkbenchPresentationFactory&lt;/code&gt; will be used.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         

-      </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 4f89d84..0000000
--- a/bundles/org.eclipse.ui/schema/propertyPages.exsd
+++ /dev/null
@@ -1,215 +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;
-
-&lt;p&gt;
-Property pages are shown in a dialog box that is normally visible when the &quot;Properties&quot; 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;
-
-&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.
-&lt;/p&gt;
-      </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">
-      <annotation>
-         <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, &lt;samp&gt;org.eclipse.ui.IActionFilter&lt;/samp&gt;.
-         </documentation>
-      </annotation>
-      <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=&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; 
-&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>
-         Copyright (c) 2002, 2003 IBM Corporation and others.&lt;br&gt;
-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 
-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </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 08a6bc7..0000000
--- a/bundles/org.eclipse.ui/schema/startup.exsd
+++ /dev/null
@@ -1,117 +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 or the class given as the attribute on the startup element 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 separate thread. 
-
-If the startup element has a class attribute, the method earlyStartup() will be called on this class.  Otherwise, this method will be called from the plugin class.
-
-These plugins are listed in the workbench preferences and the user may disable any plugin from early startup.
-      </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">
-      <complexType>
-         <attribute name="class" type="string">
-            <annotation>
-               <documentation>
-                  a fully qualified name of the class that implements 
-&lt;samp&gt;org.eclipse.ui.IStartup&lt;/samp&gt;.
-Since release 3.0.
-               </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 a startup extension: 
-&lt;pre&gt;
-&lt;p&gt;
-   &lt;extension point=&quot;org.eclipse.ui.startup&quot;/&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>
-         Copyright (c) 2002, 2003 IBM Corporation and others.&lt;br&gt;
-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 
-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/systemSummarySections.exsd b/bundles/org.eclipse.ui/schema/systemSummarySections.exsd
deleted file mode 100644
index 643a56c..0000000
--- a/bundles/org.eclipse.ui/schema/systemSummarySections.exsd
+++ /dev/null
@@ -1,140 +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="systemSummarySections" name="System Summary Sections"/>

-      </appInfo>

-      <documentation>

-         The Eclipse UI provides an AboutDialog that can be branded and reused by client product plugins.  This dialog includes a SystemSummary dialog that contains configuration details.  By extending the org.eclipse.ui.systemSummarySections extension point clients are able to put their own information into the log.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="section" 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="section">

-      <complexType>

-         <attribute name="class" type="string" use="required">

-            <annotation>

-               <documentation>

-                  The fully qualified name of a class the implements 
-&lt;code&gt;org.eclipse.ui.about.ISystemSummarySection&lt;/code&gt;.  The class must provide a default constructor.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="sectionTitle" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a translatable name that will be displayed as the title of this section in the system summary

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional, unique name that will be used to identify this system summary section

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="since"/>

-      </appInfo>

-      <documentation>

-         3.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         Following is an example of a systemSummarySections extension: 
-
-&lt;extension
- point=&quot;org.eclipse.ui.systemSummarySections&quot;&gt;
- &lt;section
-  sectionTitle=&quot;Cookie Manager Plugin&quot;
-  class=&quot;org.eclipse.ui.examples.rcp.browser.ConfigDetails&quot;
-  id=&quot;RCPBrowser.ConfigDetails&quot;&gt;
- &lt;/section&gt;
-&lt;/extension&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         The class specified in the section element must be a concrete subclass of &lt;code&gt;org.eclipse.ui.about.ISystemSummarySection&lt;/code&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         The Workbench uses this extension point to provide the following sections in the system summary dialog:
-
-- System properties: The contents of the table returned by java.lang.System.getProperties.
-
-- Features: The id of all features found by eclipse.
-
-- Plug-in Registry: The id of all plugins found by eclipse.
-
-- User Preferences: The contents of the Eclipse PreferencesService.
-
-- Error Log: The contents of the platform&apos;s error log.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         Copyright (c) 2004 IBM Corporation and others.&lt;br&gt;
-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 
-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui/schema/themes.exsd b/bundles/org.eclipse.ui/schema/themes.exsd
deleted file mode 100644
index 85b7d61..0000000
--- a/bundles/org.eclipse.ui/schema/themes.exsd
+++ /dev/null
@@ -1,635 +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="TThthemes" name="Themes"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to customize the appearance of the UI.  It allows definition of color and font entities as well as theme entitities.  Themes allow applications to selectivly override default color and font specifications for particular uses.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="theme" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="colorDefinition" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="fontDefinition" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="themeElementCategory" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="data" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="categoryPresentationBinding" 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="theme">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="name" icon="icon"/>
-         </appInfo>
-         <documentation>
-            A collection of font, color and data overrides.  Such a collection may be used to alter the appearance of the workbench.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="colorOverride" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="fontOverride" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="description" minOccurs="0" maxOccurs="1"/>
-            <element ref="data" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique name that will be used to identify this theme
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable name of the theme to be presented to the user
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="themeElementCategory">
-      <annotation>
-         <documentation>
-            A logical grouping of theme element definitions.  This category may include colors and fonts.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="description"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the id for this category
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="parentId" type="string">
-            <annotation>
-               <documentation>
-                  the id of the parent category, if any.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string">
-            <annotation>
-               <documentation>
-                  a class that implements &lt;code&gt;org.eclipse.ui.themes.IThemePreview&lt;/code&gt;
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.IPresentationPreview"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="label" type="string">
-            <annotation>
-               <documentation>
-                  a translatable name of the theme element category to be presented to the user
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="colorDefinition">
-      <annotation>
-         <documentation>
-            A symbolic color definition.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="colorFactory" minOccurs="0" maxOccurs="1"/>
-            <element ref="colorValue" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="description" minOccurs="0" maxOccurs="1"/>
-         </sequence>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  a unique id that can be used to identify this color definition.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="label" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable name of the color to be presented to the user.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="defaultsTo" type="string">
-            <annotation>
-               <documentation>
-                  the id of another color definition that is the default setting for the receiver. When there is no preference for this color the color registry will have the value of defaultsTo set for it in the registry.
-
-Only one of &lt;code&gt;defaultsTo&lt;/code&gt;, &lt;code&gt;value&lt;/code&gt; or &lt;code&gt;colorFactory&lt;/code&gt; may be defined.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="value" type="string">
-            <annotation>
-               <documentation>
-                  The default value of this color.  The value may be specified in the following ways:
-&lt;ul&gt;
-&lt;li&gt;a String containing comma seperated integers in the form red,green,blue 
-&lt;li&gt;a String that maps to an SWT color constant (ie:  COLOR_RED).
-&lt;/ul&gt;
-Only one of &lt;code&gt;defaultsTo&lt;/code&gt;, &lt;code&gt;value&lt;/code&gt; or &lt;code&gt;colorFactory&lt;/code&gt; may be defined.  If &lt;code&gt;value&lt;/code&gt; is specified, additional value definitions may be specified on a per platform/windowing system basis via the &lt;code&gt;colorValue&lt;/code&gt; element.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="categoryId" type="string">
-            <annotation>
-               <documentation>
-                  the optional id of the &lt;code&gt;themeElementCategory&lt;/code&gt; this color belongs to.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="colorFactory" type="string">
-            <annotation>
-               <documentation>
-                  a class that implements &lt;code&gt;org.eclipse.ui.themes.IColorFactory&lt;/code&gt;.  This may be used instead of &lt;code&gt;value&lt;/code&gt; to specify the default value of the color.  Please be advised that this should be used with caution - usage of this attribute will cause plugin activation.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.themes.IColorFactory"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="isEditable" type="boolean">
-            <annotation>
-               <documentation>
-                  whether the user should be allowed to edit this color in the preference page.  If this is &lt;code&gt;false&lt;/code&gt; then the contribution is not shown to the user.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="fontDefinition">
-      <annotation>
-         <documentation>
-            A symbolic font definition.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="fontValue" minOccurs="0" maxOccurs="unbounded"/>
-            <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="value" type="string">
-            <annotation>
-               <documentation>
-                  the font value.  This is in the form: &lt;code&gt;&lt;it&gt;fontname&lt;/it&gt;-&lt;it&gt;style&lt;/it&gt;-&lt;it&gt;height&lt;/it&gt;&lt;/code&gt; where &lt;code&gt;&lt;it&gt;fontname&lt;/it&gt;&lt;/code&gt; is the name of a font, &lt;code&gt;&lt;it&gt;style&lt;/it&gt;&lt;/code&gt; is a font style (one of &lt;code&gt;&quot;regular&quot;&lt;/code&gt;, &lt;code&gt;&quot;bold&quot;&lt;/code&gt;, &lt;code&gt;&quot;italic&quot;&lt;/code&gt;, or &lt;code&gt;&quot;bold italic&quot;&lt;/code&gt;) and &lt;code&gt;&lt;it&gt;height&lt;/it&gt;&lt;/code&gt; is an integer representing the font height.&lt;/p&gt;
-&lt;p&gt;Example: &lt;code&gt;Times New Roman-bold-36&lt;/code&gt;.&lt;/p&gt;  
-&lt;p&gt;Only one (or neither) of &lt;code&gt;value&lt;/code&gt; or &lt;code&gt;defaultsTo&lt;/code&gt; may be used.&lt;/p&gt;  If &lt;code&gt;value&lt;/code&gt; is specified, additional value definitions may be specified on a per platform/windowing system basis via the &lt;code&gt;fontValue&lt;/code&gt; element.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="categoryId" type="string">
-            <annotation>
-               <documentation>
-                  the optional id of the &lt;code&gt;themeElementCategory&lt;/code&gt; this font belongs to.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="defaultsTo" type="string">
-            <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.
-&lt;p&gt;
-Only one (or neither) of &lt;code&gt;value&lt;/code&gt; or &lt;code&gt;defaultsTo&lt;/code&gt; may be used.
-&lt;/p&gt;
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="isEditable" type="boolean">
-            <annotation>
-               <documentation>
-                  whether the user should be allowed to edit this color in the preference page.  If this is &lt;code&gt;false&lt;/code&gt; then the contribution is not shown to the user.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="colorOverride">
-      <annotation>
-         <documentation>
-            Allows overriding of colors defined in &lt;code&gt;colorDefinition&lt;/code&gt; elements.  These colors will be applied when the theme is in use.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="colorFactory" minOccurs="0" maxOccurs="1"/>
-            <element ref="colorValue" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique id that can be used to identify this color definition override.  This should match an existing font identifier.  Strictly speaking, you may ovverride colors that do not exist in the base theme although this practice is not recommended.  In effect, such overrides will have behaviour similar to &lt;code&gt;colorDefinition&lt;/code&gt;s that have &lt;code&gt;isEditable&lt;/code&gt; set to &lt;code&gt;false&lt;/code&gt;.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="value" type="string">
-            <annotation>
-               <documentation>
-                  the overriding value of this color.  The value may be specified in the following ways:
-&lt;ul&gt;
-&lt;li&gt;a String containing comma seperated integers in the form red,green,blue 
-&lt;li&gt;a String that maps to an SWT color constant (ie:  COLOR_RED).
-&lt;/ul&gt;
-Only one of &lt;code&gt;value&lt;/code&gt; or &lt;code&gt;colorFactory&lt;/code&gt; may be defined.
-Unlike a &lt;code&gt;colorDefinition&lt;/code&gt;, you may not supply a &lt;code&gt;defaultsTo&lt;/code&gt; for an override.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="colorFactory" type="string">
-            <annotation>
-               <documentation>
-                  a class that implements &lt;code&gt;org.eclipse.ui.themes.IColorFactory&lt;/code&gt;.  This may be used instead of &lt;code&gt;value&lt;/code&gt; to specify the default value of the color.  Please be advised that this should be used with caution - usage of this attribute will cause plugin activation.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="fontOverride">
-      <annotation>
-         <documentation>
-            Allows overriding of fonts defined in &lt;code&gt;fontsDefinition&lt;/code&gt; elements.  These fonts will be applied when the theme is in use.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="fontValue" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique id that can be used to identify this font definition override.  This should match an existing font identifier.  Strictly speaking, you may ovverride fonts that do not exist in the base theme although this practice is not recommended.  In effect, such overrides will have behaviour similar to &lt;code&gt;fontDefinition&lt;/code&gt;s that have &lt;code&gt;isEditable&lt;/code&gt; set to &lt;code&gt;false&lt;/code&gt;.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="value" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the overriding value of this font.  This is in the form: &lt;code&gt;&lt;it&gt;fontname&lt;/it&gt;-&lt;it&gt;style&lt;/it&gt;-&lt;it&gt;height&lt;/it&gt;&lt;/code&gt; where &lt;code&gt;&lt;it&gt;fontname&lt;/it&gt;&lt;/code&gt; is the name of a font, &lt;code&gt;&lt;it&gt;style&lt;/it&gt;&lt;/code&gt; is a font style (one of &lt;code&gt;&quot;regular&quot;&lt;/code&gt;, &lt;code&gt;&quot;bold&quot;&lt;/code&gt;, &lt;code&gt;&quot;italic&quot;&lt;/code&gt;, or &lt;code&gt;&quot;bold italic&quot;&lt;/code&gt;) and &lt;code&gt;&lt;it&gt;height&lt;/it&gt;&lt;/code&gt; is an integer representing the font height.&lt;/p&gt;
-&lt;p&gt;Example: &lt;code&gt;Times New Roman-bold-36&lt;/code&gt;.&lt;/p&gt;
-&lt;p&gt;&lt;code&gt;value&lt;/code&gt; must be defined for a font override.
-Unlike a &lt;code&gt;fontDefinition&lt;/code&gt;, you may not supply a &lt;code&gt;defaultsTo&lt;/code&gt; for a &lt;code&gt;fontOverride&lt;/code&gt;.&lt;/p&gt;
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="description" type="string">
-      <annotation>
-         <documentation>
-            A short description of the elements usage.
-         </documentation>
-      </annotation>
-   </element>
-
-   <element name="colorFactory">
-      <annotation>
-         <documentation>
-            The element version of the &lt;code&gt;colorFactory&lt;/code&gt; attribute.  This is used when the colorFactory implements &lt;code&gt;org.eclipse.core.runtime.IExecutableExtension&lt;/code&gt; and there is parameterized data that you wish used in its initialization.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="parameter" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a class that implements &lt;code&gt;org.eclipse.ui.themes.IColorFactory&lt;/code&gt;.  It may also implement &lt;code&gt;org.eclipse.core.runtime.IExecutableExtension&lt;/code&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.themes.IColorFactory"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="plugin" type="string">
-            <annotation>
-               <documentation>
-                  the identifier of the plugin that contains the class
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="parameter">
-      <annotation>
-         <documentation>
-            A parameter element to be used within the colorFactory element.  This will be passed as initialization data to the colorFactory class.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the parameter name
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="value" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the parameter value
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="data">
-      <annotation>
-         <documentation>
-            &lt;p&gt;An element that allows arbitrary data to be associated with a theme or the default theme.  This data may be gradient directions or percentages, labels, author information, etc.&lt;/p&gt;
-&lt;p&gt;This element has behaviour similar to definitions and overrides.  If a key is present in both the default theme and an identified theme, then the identified themes value will be used when that theme is accessed.  If the identified theme does not supply a value then the default is used.&lt;/p&gt;
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the data name,
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="value" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the data value
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="colorValue">
-      <annotation>
-         <documentation>
-            This element allows specification of a color value on a per-platform basis.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="colorFactory" minOccurs="0" maxOccurs="1"/>
-         </sequence>
-         <attribute name="os" type="string">
-            <annotation>
-               <documentation>
-                  an optional os string to enable choosing of color based on current OS. eg: win32,linux
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="ws" type="string">
-            <annotation>
-               <documentation>
-                  an optional os string to enable choosing of color based on current WS. eg: win32,gtk
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="value" type="string">
-            <annotation>
-               <documentation>
-                  The default value of this color.  The value may be specified in the following ways:
-&lt;ul&gt;
-&lt;li&gt;a String containing comma seperated integers in the form red,green,blue 
-&lt;li&gt;a String that maps to an SWT color constant (ie:  COLOR_RED).
-&lt;/ul&gt;
-Only one of &lt;code&gt;value&lt;/code&gt; or &lt;code&gt;colorFactory&lt;/code&gt; may be defined.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="colorFactory" type="string">
-            <annotation>
-               <documentation>
-                  a class that implements &lt;code&gt;org.eclipse.ui.themes.IColorFactory&lt;/code&gt;.  This may be used instead of &lt;code&gt;value&lt;/code&gt; to specify the value of the color.  Please be advised that this should be used with caution - usage of this attribute will cause plugin activation.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.themes.IColorFactory"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="fontValue">
-      <annotation>
-         <documentation>
-            This element allows specification of a font value on a per-platform basis.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="os" type="string">
-            <annotation>
-               <documentation>
-                  an optional os string to enable choosing of font based on current OS. eg: win32,linux
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="ws" type="string">
-            <annotation>
-               <documentation>
-                  an optional os string to enable choosing of font based on current WS. eg: win32,gtk
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="value" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the font value.  This is in the form: &lt;code&gt;&lt;it&gt;fontname&lt;/it&gt;-&lt;it&gt;style&lt;/it&gt;-&lt;it&gt;height&lt;/it&gt;&lt;/code&gt; where &lt;code&gt;&lt;it&gt;fontname&lt;/it&gt;&lt;/code&gt; is the name of a font, &lt;code&gt;&lt;it&gt;style&lt;/it&gt;&lt;/code&gt; is a font style (one of &lt;code&gt;&quot;regular&quot;&lt;/code&gt;, &lt;code&gt;&quot;bold&quot;&lt;/code&gt;, &lt;code&gt;&quot;italic&quot;&lt;/code&gt;, or &lt;code&gt;&quot;bold italic&quot;&lt;/code&gt;) and &lt;code&gt;&lt;it&gt;height&lt;/it&gt;&lt;/code&gt; is an integer representing the font height.&lt;/p&gt;
-&lt;p&gt;Example: &lt;code&gt;Times New Roman-bold-36&lt;/code&gt;.&lt;/p&gt;
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="categoryPresentationBinding">
-      <annotation>
-         <documentation>
-            This element allows a category to be bound to a specific presentation as described by the &lt;code&gt;org.eclipse.ui.presentationFactory&lt;/code&gt; extension point.  If a category has any presentation bindings then it (and it&apos;s children) is only configurable by the user if it is bound to the active presentation.  This is useful for removing unused items from user consideration.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="categoryId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="presentationId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         The workbench provides the font definitions for the text, dialog, banner, header and part title fonts.  it also supplies color definitions for the hyperlink, active hyperlink, error, active part (background gradient parts and forground) and the inactive part (background gradient parts and forground).  The workbench also provides data constants for the title gradient percentages (active and inactive) and the gradient directions (active and inactive).  The workbench does not provide any named themes.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-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
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The &lt;code&gt;org.eclipse.ui.IWorkbench.getThemeManager()&lt;/code&gt; provides &lt;code&gt;org.eclipse.ui.themes.IThemeManager&lt;/code&gt;.  This class may be used to obtain a named theme (by id, including the default theme which has an id of &lt;code&gt;IThemeManager.DEFAULT_THEME&lt;/code&gt;) or the current theme.  From an &lt;code&gt;org.eclipse.ui.themes.ITheme&lt;/code&gt; you may obtain a &lt;code&gt;org.eclipse.jface.resources.ColorRegistry&lt;/code&gt;, an &lt;code&gt;org.eclipse.jface.resources.FontRegistry&lt;/code&gt; and the arbitrary data associated with a theme.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of several color and font definitions as well as a theme that overrides them.
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point=&quot;org.eclipse.ui.themes&quot;&gt;
-      &lt;themeElementCategory
-       id=&quot;com.xyz.ThemeCategory&quot;
-       class=&quot;com.xyz.XYZPreview&quot;
-       label=&quot;XYZ Elements&quot;/&gt;
-      &lt;colorDefinition 
-        id=&quot;com.xyz.Forground&quot;
-        categoryId=&quot;com.xyz.ThemeCategory&quot;
-        label=&quot;XYZ Foreground Color&quot;
-        value=&quot;COLOR_BLACK&quot;&gt;
-         &lt;!-- white should be used on GTK --&gt;
-         &lt;colorValue
-          value=&quot;COLOR_WHITE&quot;
-          os=&quot;linux&quot;
-          ws=&quot;gtk&quot;/&gt;
-        &lt;description&gt;
-        This color is used for the forground color of the XYZ plugin editor.
-        &lt;/description&gt;
-      &lt;/colorDefinition&gt;
-      &lt;colorDefinition 
-        id=&quot;com.xyz.Background&quot;
-        categoryId=&quot;com.xyz.ThemeCategory&quot;        
-        label=&quot;XYZ Background Color&quot;&gt;
-        &lt;colorFactory
-         class=&quot;org.eclipse.ui.themes.RGBBlendColorFactory&quot;
-         plugin=&quot;org.eclipse.ui&quot;&gt;
-         &lt;parameter
-          name=&quot;color1&quot;
-          value=&quot;COLOR_WHITE&quot;/&gt;
-         &lt;parameter
-          name=&quot;color2&quot;
-          value=&quot;COLOR_BLUE&quot;/&gt;         
-        &lt;/colorFactory&gt;
-        &lt;!-- black should be used on GTK --&gt;
-        &lt;colorValue
-         value=&quot;COLOR_BLACK&quot;
-         os=&quot;linux&quot;
-         ws=&quot;gtk&quot;/&gt;
-        &lt;description&gt;
-        This color is used for the background color of the XYZ plugin editor.
-        &lt;/description&gt;
-      &lt;/colorDefinition&gt;      
-      &lt;fontDefiniton
-        id=&quot;com.xyz.TextFont&quot;
-        categoryId=&quot;com.xyz.ThemeCategory&quot;        
-        label=&quot;XYZ Editor Font&quot;
-        defaultsTo=&quot;org.eclipse.jface.textfont&quot;&gt;
-        &lt;description&gt;
-        This font is used by the XYY plugin editor.
-        &lt;/description&gt;
-      &lt;/fontDefintion&gt;
-      &lt;data
-       name=&quot;com.xyz.EditorMarginWidth&quot;
-       value=&quot;5&quot;/&gt;      
-      &lt;theme
-        id=&quot;com.xyz.HarshTheme&quot;
-        label=&quot;Harsh Colors for XYZ&quot;&gt;
-        &lt;colorOverride
-         id=&quot;com.xyz.Forground&quot;
-         value=&quot;COLOR_CYAN&quot;/&gt;
-        &lt;colorOverride
-         id=&quot;com.xyz.Background&quot;
-         value=&quot;COLOR_MAGENTA&quot;/&gt;
-      &lt;data
-           name=&quot;com.xyz.EditorMarginWidth&quot;
-           value=&quot;1&quot;/&gt;      
-      &lt;/theme&gt;        
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-      </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 c60a843..0000000
--- a/bundles/org.eclipse.ui/schema/viewActions.exsd
+++ /dev/null
@@ -1,408 +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.exsd"/>
-
-   <include schemaLocation="commonExpression.exsd"/>
-
-   <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) 2002, 2003 IBM Corporation and others.&lt;br&gt;
-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 
-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </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 3b910f0..0000000
--- a/bundles/org.eclipse.ui/schema/views.exsd
+++ /dev/null
@@ -1,291 +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"/>
-            <element ref="stickyView"/>
-         </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 &apos;/&apos;. 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>
-         <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 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 &apos;/&apos;. 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 that 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.IViewPart"/>
-               </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>
-         <attribute name="allowMultiple" type="boolean">
-            <annotation>
-               <documentation>
-                  flag indicating whether this view allows multiple instances to be created using IWorkbenchPage.showView(String id, String secondaryId).  The default is false.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="description" type="string">
-      <annotation>
-         <documentation>
-            an optional subelement whose body should contain text providing a short description of the view.
-         </documentation>
-      </annotation>
-   </element>
-
-   <element name="stickyView">
-      <annotation>
-         <documentation>
-            A sticky view is a view that will appear by default across all perspectives in a window once it is opened.  Its initial placement is governemed by the location attribute, but nothing prevents it from being moved or closed by the user.  Use of this element will only cause a placeholder for the view to be created, it will not show the view.  Please note that usage of this element should be done with great care and should only be applied to views that truely have a need to live across perspectives.
-
-Since 3.0
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the id of the view to be made sticky.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="location">
-            <annotation>
-               <documentation>
-                  optional attribute that specifies the location of the sticky view relative to the editor area.  If absent, the view will be docked to the right of the editor area.
-               </documentation>
-            </annotation>
-            <simpleType>
-               <restriction base="string">
-                  <enumeration value="RIGHT">
-                  </enumeration>
-                  <enumeration value="LEFT">
-                  </enumeration>
-                  <enumeration value="TOP">
-                  </enumeration>
-                  <enumeration value="BOTTOM">
-                  </enumeration>
-               </restriction>
-            </simpleType>
-         </attribute>
-         <attribute name="closeable" type="boolean">
-            <annotation>
-               <documentation>
-                  optional attribute that specifies wether the view should be closeable.  If absent it will be closeable.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="moveable" type="boolean">
-            <annotation>
-               <documentation>
-                  optional attribute that specifies wether the view should be moveable.  If absent it will be moveable.
-               </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=&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; 
-&lt;/pre&gt;
-&lt;/p&gt;
-The following is an example of a sticky view declaration:
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point=&quot;org.eclipse.ui.views&quot;&gt; 
-      &lt;stickyView
-         id=&quot;com.xyz.views.XYZView&quot; /&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 &quot;Show View&quot; submenu of the &quot;Window&quot; 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>
-         Copyright (c) 2002, 2003 IBM Corporation and others.&lt;br&gt;
-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 
-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </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 d6f0e81..0000000
--- a/bundles/org.eclipse.ui/schema/workingSets.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="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 &quot;Resource&quot; or &quot;Java Element&quot;.
-               </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=&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;
-&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>
-         Copyright (c) 2002, 2003 IBM Corporation and others.&lt;br&gt;
-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 
-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </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 209e560..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="_3.0.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 4776870..0000000
--- a/bundles/org.eclipse.ui/src/org/eclipse/ui/internal/UIPlugin.java
+++ /dev/null
@@ -1,103 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.ui.internal.util.PrefUtil;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The plug-in class for the org.eclipse.ui plug-in.
- * This class is internal to the workbench and should not be
- * referenced by clients.
- */
-public final class UIPlugin extends AbstractUIPlugin {
-	
-	private static UIPlugin inst;
-	
-	/**
-	 * Creates an instance of the UIPlugin.
-	 * 
-	 * @since 3.0
-	 */
-	public UIPlugin() {
-		super();
-		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 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 null;
-	}
-	
-	public ImageRegistry getImageRegistry() {
-		/* Just to be sure that we don't access this
-		 * plug-ins image registry.
-		 */
-		Assert.isLegal(false);
-		return null;
-	}
-
-	/**
-	 * Returns the default instance of the receiver. This represents the runtime plugin.
-	 *
-	 * @return UIPlugin the singleton instance of the receiver.
-	 * @see AbstractUIPlugin 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) {
-	    // Do nothing.  This should not be called.
-	    // Prefs are initialized in UIPreferenceInitializer.
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
-     */
-    public void start(BundleContext context) throws Exception {
-        super.start(context);
-        
-        // set a callback allowing the workbench plugin to obtain
-        // and save the UI plugin's preference store
-        PrefUtil.setUICallback(new PrefUtil.ICallback() {
-            public IPreferenceStore getPreferenceStore() {
-                return UIPlugin.this.getPreferenceStore();
-            }
-            public void savePreferences() {
-                UIPlugin.this.savePluginPreferences();
-            }
-        });
-    }
-}
diff --git a/bundles/org.eclipse.ui/src/org/eclipse/ui/internal/UIPreferenceInitializer.java b/bundles/org.eclipse.ui/src/org/eclipse/ui/internal/UIPreferenceInitializer.java
deleted file mode 100644
index 6fc9de2..0000000
--- a/bundles/org.eclipse.ui/src/org/eclipse/ui/internal/UIPreferenceInitializer.java
+++ /dev/null
@@ -1,59 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.ui.IWorkbenchPreferenceConstants;
-
-/**
- * Implementation of the UI plugin's preference extension's customization element.
- * This is needed in order to force the UI plugin's preferences to be initialized
- * properly when running without org.eclipse.core.runtime.compatibility.
- * For more details, see bug 58975 - New preference mechanism does not properly initialize defaults.
- * 
- * @since 3.0
- */
-public class UIPreferenceInitializer extends AbstractPreferenceInitializer {
-
-    public void initializeDefaultPreferences() {
-        IPreferenceStore store = UIPlugin.getDefault().getPreferenceStore();
-		store.setDefault(IWorkbenchPreferenceConstants.OPEN_NEW_PERSPECTIVE, IWorkbenchPreferenceConstants.OPEN_PERSPECTIVE_REPLACE);
-
-		//Deprecated but kept for backwards compatibility
-		store.setDefault(IWorkbenchPreferenceConstants.PROJECT_OPEN_NEW_PERSPECTIVE, IWorkbenchPreferenceConstants.OPEN_PERSPECTIVE_REPLACE);
-		store.setDefault(IWorkbenchPreferenceConstants.SHIFT_OPEN_NEW_PERSPECTIVE, IWorkbenchPreferenceConstants.OPEN_PERSPECTIVE_REPLACE);
-		store.setDefault(IWorkbenchPreferenceConstants.ALTERNATE_OPEN_NEW_PERSPECTIVE, IWorkbenchPreferenceConstants.OPEN_PERSPECTIVE_REPLACE);
-		
-		// Although there is no longer any item on the preference pages 
-		// for setting the linking preference, since it is now a per-part setting, 
-		// it remains as a preference to allow product overrides of the 
-		// initial state of linking in the Navigator.
-		// By default, linking is off.
-		store.setDefault(IWorkbenchPreferenceConstants.LINK_NAVIGATOR_TO_EDITOR, false);
-
-		// Appearance / Presentation preferences
-		store.setDefault(IWorkbenchPreferenceConstants.PRESENTATION_FACTORY_ID, "org.eclipse.ui.presentations.default"); //$NON-NLS-1$
-		store.setDefault(IWorkbenchPreferenceConstants.SHOW_TRADITIONAL_STYLE_TABS, true);
-	    store.setDefault(IWorkbenchPreferenceConstants.DOCK_PERSPECTIVE_BAR, IWorkbenchPreferenceConstants.TOP_LEFT);
-		store.setDefault(IWorkbenchPreferenceConstants.SHOW_TEXT_ON_PERSPECTIVE_BAR, true);
-		// the fast view bar should be on the bottom of a fresh workspace
-		store.setDefault(
-                IWorkbenchPreferenceConstants.INITIAL_FAST_VIEW_BAR_LOCATION,
-                IWorkbenchPreferenceConstants.BOTTOM);
-
-		// default to showing intro on startup
-		store.setDefault(IWorkbenchPreferenceConstants.SHOW_INTRO, true);
-		
-		store.addPropertyChangeListener(new PlatformUIPreferenceListener());
-    }
-
-}
diff --git a/examples/org.eclipse.ui.examples.job/.classpath b/examples/org.eclipse.ui.examples.job/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/examples/org.eclipse.ui.examples.job/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.ui.examples.job/.cvsignore b/examples/org.eclipse.ui.examples.job/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/examples/org.eclipse.ui.examples.job/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/examples/org.eclipse.ui.examples.job/.project b/examples/org.eclipse.ui.examples.job/.project
deleted file mode 100644
index bf9091f..0000000
--- a/examples/org.eclipse.ui.examples.job/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.examples.job</name>
-	<comment></comment>
-	<projects>
-	</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.job/README.TXT b/examples/org.eclipse.ui.examples.job/README.TXT
deleted file mode 100644
index b835369..0000000
--- a/examples/org.eclipse.ui.examples.job/README.TXT
+++ /dev/null
@@ -1,38 +0,0 @@
-This examples plug-in demonstrates the following features:

-

-1. deferred tree/table population

-    - serialized children fetch jobs or concurrent

-    - batching updates to the collector

-    - (optional) different ways of showing progress replacing current pending node (e.g. changing parent's label / image)

-    

-2. progress view

-    - cancellation

-    - showing progress, sub tasks

-    - showing errors

-    - progress groups

-    - appearing/disapearing as floating window

-    - system jobs aren't shown

-    

-3. requestInUI

-    - post a request

-    - post a request then cancel before user has launched it

-    - post a request, cancel, and replace with another

-    - post a request and allow the user to cancel without running the request

-    

-4. blocked foreground operation

-    - run a background job that locks the workspace

-    - run a foreground job that requires workspace (expect blocked dialog with progress view embeded)

-    - open an editor and type then save (progress dialog should show blocked)

-    

-5. workbench part support for progress

-    - run a job in the context of a view/editor

-    - get busy cursor plus animating something

-    - view or editor adding their own custom behavior when job is run

-    

-6. Creating progress groups

-    - that are run serialized

-    - that are run concurrently

-    - cancel one sub job

-    - parent is updated correctly

-    

-7. running action via busyCursorWhile
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/build.properties b/examples/org.eclipse.ui.examples.job/build.properties
deleted file mode 100644
index 5e1dbf6..0000000
--- a/examples/org.eclipse.ui.examples.job/build.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-source.ProgressExamples.jar = src/
-bin.includes = plugin.xml,\
-               *.jar,\
-               ProgressExamples.jar
diff --git a/examples/org.eclipse.ui.examples.job/doc/Responsive UIs.ppt b/examples/org.eclipse.ui.examples.job/doc/Responsive UIs.ppt
deleted file mode 100644
index 6d52538..0000000
--- a/examples/org.eclipse.ui.examples.job/doc/Responsive UIs.ppt
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.job/doc/eclipse-con-talk_2.doc b/examples/org.eclipse.ui.examples.job/doc/eclipse-con-talk_2.doc
deleted file mode 100644
index 235f922..0000000
--- a/examples/org.eclipse.ui.examples.job/doc/eclipse-con-talk_2.doc
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.job/doc/responsive_ui.html b/examples/org.eclipse.ui.examples.job/doc/responsive_ui.html
deleted file mode 100644
index d1060f4..0000000
--- a/examples/org.eclipse.ui.examples.job/doc/responsive_ui.html
+++ /dev/null
@@ -1,321 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-  <title></title>
-</head>
- <body>
- 
-<h1>Towards a more responsive Eclipse UI</h1>
- 
-<font size="-1">Last modified: June 2, 2003</font> 
-<p>Eclipse is well known as a powerful integrated development environment,
-but it is perceived by users as sometimes being unwieldy or unresponsive
-to work with. The goal of this work is to uncover the underlying causes of
-the unresponsiveness and provide Eclipse developers with the tools they need
-to focus on making their code responsive.  </p>
- 
-<p>To begin with, it is important to note that, responsiveness is not the
-same as performance, and to some extent they are contradictory:</p>
- 
-<p>The <i>performance</i> of an application is a measure of how much work
-it can do in a given length of time. For example, the Eclipse Platform can
-operate on thousands of files per minute on a typical desktop system. One
-way to achieve high performance is to ensure that all available resources 
-are dedicated to each task until it is complete. Since most modern window
-systems require applications to regularly call system code to keep their
-user interfaces active, dedicating all processing resources to a non-user-interface
-task will cause the user interface to become unresponsive.</p>
- 
-<p>The <i>responsiveness</i> of an application is a measure of how often
-its user interface is in a state where the user can interact with it, how
-often those interactions can trigger new tasks being initiated, and how often
-the information the user interface is displaying accurately reflects the state
-of the system it is modeling. Implementing a responsive system will require
-the system resources to be split across multiple concurrent tasks, so although
-the user will typically be more productive, the time it takes the system
-to complete a particular task will be longer (i.e. Its performance on <u>that
-task</u> will be lower).</p>
- 
-<p>In order to increase the responsiveness of the Eclipse Platform we will
-be looking at the following two areas:</p>
- 
-<ol>
- 	<li>
-    <p>all of the user interface "features" of the 	Eclipse Platform will
-be investigated to remove any inherent 	limitations which prevent them from
-being used in a responsive 	fashion. We have not begun work on this aspect
-of the problem, so it 	is difficult to provide any definitive examples. However,
-some 	likely candidates for investigation, at least, would be:</p>
- </li>
-</ol>
-<ul>
- 	<li>
-    <p>the startup sequence, since the time between when the user 	starts
-the application and when they can start working is very 	important to their
-perception of its responsiveness.</p>
- 	</li>
-  <li>
-    <p>SWT widgets like the Table, Tree, and List whose API make it 	difficult
-to code in an "on demand" style where the 	contents are requested by the
-widget when they are required for 	display, rather than up front by the application.</p>
- 	</li>
-  <li>
-    <p>the Java text editor, which takes significantly longer to get 	to
-the point where the contents can be edited than the simple text 	editor.</p>
- </li>
-</ul>
- 
-<ol start="2">
- 	<li>
-    <p>certain operations like builds and searches which currently 	run synchronously
-and block the user (at the UI) from doing other 	work until they are completed
-will be modified to run asynchronously 	in the background. Implementing this
-requires an improved 	concurrency architecture. The remainder of this document
-describes 	the work which has been done so far in that area.</p>
- </li>
-</ol>
- 
-<h2>Overview of current problems</h2>
- 
-<ul>
- <li> Use of modal progress dialogs is pervasive in the UI, preventing the
-user from doing any other work (or even browsing) while long running tasks
-are processing. </li>
- <li> Very long running operations only update the UI once at the very end.
-For example, when searching, no search results are available for viewing
-until the entire search is complete.  When importing or checking out large
-projects, the project doesn't appear in the UI until every file in the project
-has been created. </li>
- <li> Many components have their own mechanism for managing background activity.
- Examples include: search indexing, UI decoration, Java editor reconciling,
-and workspace snapshot. Each component should not have to roll their own
-concurrency architecture for off-loading work into background threads. </li>
- <li>The current workspace lock is heavy handed.  There is a single write
-lock for the entire  workspace, and it is generally acquired for significant
-periods of time.  This can block other processes for several minutes.  When
-the lock is acquired, no other threads can modify the workspace in any way. 
-  </li>
- <li> The workspace locking mechanism is currently tied to the mechanism
-for batching workspace changes.  We widely advertise that compound workspace
-changes should be done within an IWorkspaceRunnable.  The workspace is always
-locked for the duration of the IWorkspaceRunnable even if it is not making
-changes to the workspace. </li>
- <li> Various plugins have their own locking mechanisms.  Since plugins don't
-always know about each other, these locks can conflict in unforeseeable ways,
-making Eclipse prone to deadlock. </li>
- 
-  <p> </p>
-</ul>
-  
-<h2>Proposed solutions</h2>
- 
-<h3>Job scheduling mechanism</h3>
- 
-<p> Platform core (runtime plugin) will introduce a new job manager API for
-background work.  This API will allow clients to: </p>
-<ul>
- <li> Schedule <i>Job</i> instances, units of runnable background activity.
-Jobs can be scheduled either for immediate execution, or execution after
-some specified delay.  The platform will maintain a queue for waiting jobs,
-and will manage a pool of worker threads for running the jobs. </li>
- <li> Specify job scheduling priority, as well as explicit dependencies between
-jobs (Job A must run after Job B but before Job C, etc). </li>
- <li> Specify job scheduling rules, which will allow implicit constraints
-to be created between jobs that don't know about each other.  For example,
-a Job can say: "While I'm running, I require exclusive access to resource
-X.  Don't run me until it's safe to do so, and don't run any other jobs that
-might conflict with me until I'm done".  The constraint system will be generic
-at the level of the job scheduling API, but other plugins can introduce standard
-constraints that apply to their components. </li>
- <li> Query, cancel and change priority of jobs that are waiting to run.  This
-allows clients to cancel jobs that have become irrelevant before they had
-a chance to run. (Example: cancel pending indexing or decoration jobs on
-a project when the project is deleted). </li>
- <li> Group jobs into families, and query, cancel, and manage entire job
-families as a unit. </li>
- <li> Register for notification when jobs are scheduled, started, finished,
-canceled, etc.  Clients can register for notification on a single job, or
-on all jobs. </li>
- <li> Provide a mechanism to allow jobs to carry their work over to another
- thread and finish asynchronously.  This is needed to allow jobs to asyncExec
- into the UI, but maintain scheduling rules and avoid notifiying listeners until
- the async block has returned.
- </li>
- <li> Add listeners to be hooked to the progress monitor callbacks of the
-running jobs.  This allows the UI to report progress on jobs that would otherwise
-have no way of connecting with the UI (such as indexing or snapshot jobs). 
-  </li>
- 
-</ul>
- 
-<p> This scheduling mechanism will replace most (if not all) existing background
-thread mechanisms in the SDK.  This includes: editor reconcilers, UI decoration, 
-search and Java indexing, workspace snapshot, and various threads used in the launch/debug
-framework: JDI thread for communicating with the VM, threads for monitoring
-input and output streams, debug view update thread, and the thread waiting
- for VM termination. </p>
- 
-<p> Also, the scheduling facility will make it easier for more components
-to off-load work into background threads, in order to free up the UI thread
-for responding to the user.  This includes all jobs that currently run in
-the context of a modal progress indicator, but also other processing work
-that currently executes in the UI.  Examples of activity that can be offloaded
-into jobs: decorating editors (marker ruler, overview ruler), type hierarchy
-computation, structure compare in compare editors, auto-refresh with file
-system, etc.  </p>
-   
-<h3>New UI look and feel for long running activity</h3>
- 
-<p> Long running operations will generally be run without a modal progress indicator 
-  by scheduling them with the core job manager API.   Most jobs currently using a
-  modal progress dialog will switch to this new non-modal way of running.
-  The platform UI will provide a view from which users can see the list of waiting and 
-  running background jobs, along with their current progress. This is a view rather than 
-  a dialog so the user can continue to manipulate the UI while background jobs are 
-  running. This view will likely take the form of a tree so that expanding a job will
-  give more detailed progress information.  The UI will also provide some ubiquitous 
-  feedback device (much like the page loading indicator in popular web browsers or the 
-  Macintosh user interface), that will indicate when background activity is happening. 
- </p>
-<p>Users will be able to cancel any background activity from the progress view. 
-  Users will also be able to pause, resume, or fast forward (increase priority 
-  of) any waiting job. Since we can never know which of several background jobs 
-  the user is most anxious to complete, this puts some power in the user's hands 
-  to influence the order of execution of waiting background jobs.</p>
-
-<p>
-  The platform UI will introduce a special job called a UI job, which is simply a job that 
-  needs to be run in the UI Thread. We define this type of job as a convenience for those 
-  who do not want to keep looking for a Display to asyncExec in.  Casting UI work
-  as jobs will allow the framework to control scheduling based on priority and user 
-  defined scheduling rules.  Note that although UI jobs should generally be brief
-  in duration, they may require locks and thus the framework must have a strategy
-  for avoiding deadlock when the UI thread is waiting for a lock.
- 
-<h3>Minimize use of long term workspace locks</h3>
- 
-<p> We will actively discourage clients from acquiring the workspace lock
-for indefinite periods of time.  <code>IWorkspaceRunnable</code> is the current
-mechanism that allows clients to lock the workspace for the duration of a
-runnable.  This API will be deprecated.   Clients that require exclusive
-access to portions of the workspace should  schedule background jobs with
-appropriate scheduling rules.  Scheduling rules can  specify smaller portions
-of the workspace, allowing clients to "lock" only the resources  they need.
-Longer running workspace API methods will be broken up as much as  possible
-to avoid locking the workspace for extended periods.  Clients that do not 
-run as jobs, or that run as jobs without the appropriate scheduling rules,
-will have to be tolerant of concurrent modifications to the workspace. </p>
-  
-<h3>New resource change notification and autobuild strategy</h3>
- 
-<p> The current mechanism for batching resource changes and auto-building
-is based on the <code>IWorkspaceRunnable</code> API.  This approach has two
-problems: </p>
-<ol>
- <li> Clients sometimes forget to use it, which results in severe performance
-problems because notifications and auto-builds happen more often than necessary. 
-  </li>
- <li> This can become too coarse-grained for long running operations.  If
-the user begins an operation that will take several minutes, it would be
-nice to perform some incremental updates (notifications) while the operation
-is still running. </li>
- 
-</ol>
- 
-<p></p>
- 
-<p> The resources plugin will adopt new heuristics for when builds and notifications 
-should happen.  These heuristics will likely require some fine-tuning and
-may need to be customizable, but generally: </p>
-<ul>
- <li>Resource change notifications will always start within a bounded  period
-after the workspace has changed (such as five seconds). This will ensure notifications
-occur periodically during long operations. </li>
- <li> Notification will begin immediately if there have been no workspace
-changing jobs in the job queue for a short period (such as 500 milliseconds).
- This ensures timely  user feedback when background activity has stopped.
- There will be a lower bound on the frequency of notifications to prevent
-listeners from hogging the CPU. </li>
- <li>There will be API for forcing an immediate notification if clients know
-it is either necessary or desirable for a notification to occur.  (actually,
-this mechanism  has existed since Eclipse 1.0 in the method <code>IWorkspace.checkpoint</code>). 
-UI actions will use this for indicating when a user action has completed.
- Other clients that absolutely depend on the results of notifications can
-also use this mechanism  (for example clients that depend on the java model
-being up to date). </li>
- <li> Autobuilds will begin (if needed) when the work queue has been idle
-for a sufficient period of time (such as 1 second).  If a background job
-that requires write access to the workspace is scheduled before autobuild
-completes, then auto-build will be canceled automatically.  Existing builders
-will need to improve their cancelation behaviour so that a minimal amount
-of work is lost. </li>
- <li> There will still be a mechanism to allow users or API clients to force
-a build to occur, and these explicit builds will not be canceled automatically
-by conflicting background activity. </li>
- <li> Both builders and listeners could adapt automatically if they start
-interfering with ongoing work by increasing their wait period. This would
-allow builders and listeners to adapt to changes in activity levels. </li>
- 
-</ul>
- 
-<p></p>
- 
-<p> Unless explicitly requested, builds and resource change listeners will
-always be run  asynchronously in a different thread from the one that initiated
-the change.  This will improve the responsiveness of workspace changing operations
-that are initiated from the UI thread. </p>
- 
-<h3>Centralized locking mechanism</h3>
- 
-<p> Platform core (runtime plugin) will introduce a smart locking facility.
- Clients that  require exclusive access to a code region should use these
-locks as a replacement for  Java object monitors in code that may interact
-with other locks.  This will allow the platform to detect and break potential
-deadlocks.  Note that these locks are orthogonal to the job scheduling rules
-described earlier.  Job scheduling rules typically ensure that only non conflicting
-jobs are running, but cannot guarantee protection from malicious or incorrect
-code. </p>
-  These locks will have the following features: 
-<ul>
- <li>They will be reentrant.  A single thread can acquire a given lock more
-than once, and it will only be released when the number of acquires equals
-the number of releases. </li>
- <li>They will automatically manage interaction with the SWT synchronizer
-to avoid  deadlocking in the face of a syncExec.  I.e., if the UI thread
-tries to acquire a lock, and another thread holding that lock tries to perform
-a syncExec, the UI thread will service the syncExec work and then continue
-to wait for the lock. </li>
- <li>They will avoid deadlocking with each other.  I.e., if thread A acquires
-lock 1, then waits on lock 2, while thread B acquires lock 2 and waits on
-lock 1, deadlock would normally ensue.  The platform locking facility will
-employ a release and wait protocol to ensure that threads waiting for locks
-do not block other threads. </li>
- 
-</ul>
-   
-<h2>Milestone targets</h2>
- 
-<ul>
- <li> M1: Core runtime job manager API defined and implemented.  UI API defined
-with reference implementation.  Prototype UI implementation of progress view
-and progress animation. All components should begin looking into thread safety
-issues with their API. </li>
- <li>M2: In a branch, a significant subset of the Eclipse platform converted
-to use the new mechanisms. Ongoing work in all components to become thread 
-safe and to port existing components to job manager API (reconciler, indexer,
-decorator, debug events). </li>
- <li> M3: all platform work moved from branch to HEAD at beginning of M3
-cycle.  Goal for end of M3 is some level of stability across entire SDK
-in new concurrent world.  All  component API must be thread safe. </li>
- 
-</ul>
-<p>
- This schedule is aggressive but the intent is to wrap up platform work by
-end of M3.  This allows plenty of time to shake out threading bugs and allow
-other components to stabilize by M4. 
-</p>
-
-(Plan item bug reference: <a
- href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=36957">36957</a>)<br>
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/doc/usecases.txt b/examples/org.eclipse.ui.examples.job/doc/usecases.txt
deleted file mode 100644
index f90c3ef..0000000
--- a/examples/org.eclipse.ui.examples.job/doc/usecases.txt
+++ /dev/null
@@ -1,72 +0,0 @@
-
-
-Basic concurrency use cases.  Some are overlapping, but each requires
-a different level of concurrency support.  Roughly ordered by perceived
-implementation difficulty.  1. and 2. are currently support in Eclipse 2.1,
-but we need to keep them in mind with any new story.
-
-1. Allow decoration tasks to continue in background without affecting
-   UI responsiveness or ability to modify resources.
-   
-   Examples:
-     a) User performs a CVS update.  While CVS is computing and updating 
-        new decorations in various views, the user wants to continue viewing
-        and modifying resources.  Duplicate decoration work should be detected
-        and avoided (don't decorate the same resource twice if possible).
-     b) User is typing in an editor.  Computation of effects such as
-        "red sea", and bracket matching should happen in the background
-        without affecting responsiveness.
-
-2. Very long running operations that do not modify resources, but must
-   be stoppable, and joinable.
-   
-   Examples:
-     a) User imports a JAR file.  This triggers an indexing job in the background.
-        User can continue to view and modify resources while indexing happens.
-        If the user deletes the JAR, or modifies it, duplicate or superfluous
-        background jobs should be canceled automatically.
-     b) User imports a JAR file.  This triggers an indexing job in the background.
-        User then requests a type hierarchy.  Priority of any index jobs
-        required by the type hierarchy should be bumped up and completed
-        immediately.
-
-3. Allow browsing during long operation
-
-  Example:
-    The user has started some long running background task (checkout,
-    import, build, etc).  They want a live UI so they can browse resources
-    (get children, get contents, dirty editors) while they wait for the long 
-    operation to finish.
-    
-  Deluxe:
-    The background task can complete in chunks, allowing the user to browse
-    and modify resources that were involved in the operation.  I.e., they
-    can edit imported resources before the import has completed.
-
-4. Allow edit during long running read-only operations
-  
-  Example:
-    The user starts a search.  Since searches don't modify resources,
-    the user may want to modify (add, delete, change) resources while
-    the search is happening.  This may or may not affect the search
-    results.
-
-5. Concurrent edit.
-
-  Examples:
-    a) The user does a CVS update on project A while project B is being deleted.
-    b) The user does a CVS update on project A while that same project is
-    being compiled, deleted, etc.  This is the extreme concurrency example.  
-
-    
-6. Allow preemption and restart on long-running operation.
-
-  Examples:
-  	a) The Mcq example.  User hits save on a file, and build starts.  User
-  	   realizes that there is an error, and they modify and save again.
-  	   They want to cancel the currently running build and start a new one.
-  	b) User selects a revision in the CVS repositories view, and hits
-  	   checkout.  While checkout is running, user realizes they chose
-  	   the wrong version, and they want to checkout a different one instead.
-  	   They want to cancel the current checkout and pre-empt with another.
-  	   
diff --git a/examples/org.eclipse.ui.examples.job/doc/workspace-lock.html b/examples/org.eclipse.ui.examples.job/doc/workspace-lock.html
deleted file mode 100644
index 83f19f3..0000000
--- a/examples/org.eclipse.ui.examples.job/doc/workspace-lock.html
+++ /dev/null
@@ -1,232 +0,0 @@
-<html>
-<head>
-</head>
-<body>
-<h1>Workspace lock granularity</h1>
-<h2>The problem</h2>
-<ul>
-<li>The current workspace lock is heavy handed.  There is a single write lock for the entire 
-workspace, and it is generally acquired for significant periods of time.  This can block
-other processes for several minutes.  When the lock is acquired, no other threads
-can write to the workspace in any way. The write lock does not interfere with workspace
-readers, which are always allowed to proceed.
-</li>
-<p>
-<li>
-Processes often don't know in advance whether writes are necessary, so often the 
-lock is acquired for long periods even when no writing occurs (for example on searches).
-</li>
-<p>
-<li>
-The workspace locking mechanism is currently tied to the mechanism for batching
-workspace changes.  We widely advertise that compound workspace changes should
-be done within an IWorkspaceRunnable.  The workspace is always locked for the
-duration of the IWorkspaceRunnable even if it is not making changes to the workspace.
-</li>
-<p>
-<li>
-In the absence of other sync mechanisms, other clients use the workspace lock
-for working with operations that don't necessarily even operate on resources.
-</li>
-<p>
-<li>
-To avoid deadlock, many clients acquire the workspace lock "just in case", before
-acquiring their own private lock mechanism.
-</li>
-<p>
-<li>
-Although this problem is most evident with the workspace lock, there are other
-heavy-handed locks in Eclipse with which the same issues appear (the CVS lock is
-another example).
-</li>
-</ul>
-
-<h2>Proposed Solution</h2>
-<p>
-The current workspace lock is very coarse-grained both in how long the lock is held,
-and the scope of the resources that are locked by it.  To achieve better concurrency
-in the workspace, we need to attack the lock's physical granularity, its temporal
-granularity, or some combination of the two.
-</p>
-<p>
-We can improve the lock's temporal granularity by removing any public, general way 
-of locking for an arbitrary period of time. I.e., we make the simple change of not 
-acquiring the lock for IWorkspaceRunnables. (or even better, deprecate IWorkspaceRunnable entirely).
-</p>
-<p>
-Internally, the workspace would continue to use a single lock in critical regions to ensure
-the integrity of individual API calls.  However, a systematic effort would be made to
-break down the duration of locking within those calls, where possible.  For example,
-a best-effort copy method does not need to lock the workspace for its entire duration,
-but only for each unit of work where a new resource is created at the destination.
-</p>
-<p>
-The underlying design rule is to prevent an atomic operation from locking
-the workspace for a long period of time.  Without the presence of long term locks, 
-long running concurrent operations will interleave their access to the workspace, 
-enabling several workspace-modifying operations to run at the same time.
-</p>
-<p>
-This solution is optimistic. It assumes that concurrent writes to the same set 
-of resources in a conflicting manner are relatively rare. One could in fact go further, and
-say that if concurrent operations are modifying the same resources at the same time,
-then it is either a user or programming error, and the concurrent tasks should just fail.
-Serves them right for trying to do contradictory things on the same set of resources.
-</p>
-<p>
-However, this philosophy is not acceptable without a very strong visual indication
-to the user of what is happening and when it will be finished.  I.e., if we had a progress
-dialog saying, "Resource X is being modified, and I will let you know when I'm done",
-then it might be acceptable to blame the user if they start a conflicting task before
-it finishes.  Some of the drawbacks of this approach are:
-<ol style="a">
-<li>The dialog is a distraction to the user in the cases where the user
-doesn't care when the task ends and is not waiting for its result</li>
-<li>This interaction style puts the onus on the user to avoid making mistakes.  </li>
-<li>In many cases the user doesn't know what resources are modified by a given 
-operation. I.e., it is unrealistic to assume that users can compute the intersection
-between the set of resources that all current background threads may modify
-and the set of resources that might be modified by another task they are thinking
-of starting.</li>
-<li>The penalty to the user for making a mistake can be severe.  For example,
-if the user starts a CVS commit operation, and then, thinking the commit is about done,
-decides to delete the project, they will be unhappy if the deletion started before
-the commit finished.</li>
-</ol>
-<p>
-So, how do we schedule concurrent jobs in a way that prevents conflicts without
-employing a single long term lock? We can introduce a scheme where
-jobs can specify in advance whether they need exclusive access to a resource.
-That is, each job can optionally supply a <i>scheduling rule</i> that is used by
-the job scheduler when making decisions about which jobs to run.  The API for these 
-rules would look something like this:
-<pre>
-public interface ISchedulingRule {
-	public boolean isConflicting(ISchedulingRule);
-}
-</pre>
-<p>
-While these rules would remain generic at the job scheduling level, the workspace
-can introduce some standard rules.  For example, a rule could request an array
-of resources, or the entire workspace.  In this way, finer-grained portions of the workspace
-can be effectively locked by a job.
-</p>
-<p>
-The contract on these rules would be as follows: the job scheduling mechanism 
-guarantees that a job won't be started if there is a job currently running that conflicts
-with its scheduling rule.  This scheduling rule would be orthogonal to any locking 
-mechanism, thus avoiding some of the problems discussed earlier with regard
-to pre-specification of locks. We still need to revisit our previous objections to
-pre-specified locks to see how they apply to scheduling rules:
-<ul>
-<li>Scheduling performance. The scheduling rules need to be resolved every time
-a job is to be run.  It is true that this will still impose an overhead on scheduling.
-Most of the time, however, there will be few or no jobs running so very little rule
-analysis is needed.  As the number of concurrent operations grows, the cost will
-increase.  However, this has the nice property that it is fast most of the time, and 
-only starts to slow down in the uncommon case where the system is already very busy anyway.
-</li>
-<li>How to know what rules to use?  In some cases it is hard to predict what resources
-will be changed by a given unit of work.  When third party API is called, there is often
-no contract saying what will be touched.  This is still an issue.  In the worst case,
-clients will err on the side of caution and specify that the entire workspace is needed.
-We will need to educate users to specify rules carefully, and if necessary to break
-jobs up into separate units with different rules.  We will introduce a way of creating
-composite jobs that will be run in a specific order, but each job can have its
-own scheduling rules.
-</li>
-<li>How to enforce that rules are followed?  The proposal is that we don't enforce
-anything.  That is, a job can request arbitrary locks regardless of what rules were
-stated.  To avoid deadlock, lock ordering with release and wait (described earlier)
-will be used.  The theory is that if jobs are well behaved and specify their rules
-correctly, deadlock will be rare, so release and wait will rarely be necessary.  To put
-it another way, the penalty for not specifying your rules correctly is that you might
-have some locks taken away from you when you don't expect it.  This is a much
-more palatable failure mode than throwing an exception, for example.
-</li>
-<li>Pre-allocation can be wasteful if resources are only actually needed for a short
-period of time.  This is still a potential problem with scheduling rules.  Job writers
-will have to take this into consideration when designing jobs and their rules.  If a 
-job only needs access to a resource briefly at the end of a long operation, it can
-be coded as two jobs with different rules.  This is an area where scheduling rules
-introduce a new complication that clients need to be aware of.
-</li>
-</ul>
-<p>
-Scheduling rules may not be necessary at all in cases where contention is not likely,
-or where the job is written in such a way that concurrent changes are tolerated.
-if clients are confident that no contention is likely, they don't need to specify any
-rules.  A good example for this is search.  Search may create search result markers
-on arbitrary resources.  However, search could be implemented to not have
-any scheduling rules, and it could be tolerant of concurrent changes and deletion.
-Since it only creates search markers, it doesn't care if those markers are changed
-or deleted after they are created.  Thus it is possible that search can be implemented without
-using any scheduling rules at all, even though it may potentially make modifications
-to an arbitrary set of resources.  Another example of this is CVS metadata files.  Since
-the CVS client is the only one that ever views or modifies the CVS metadata files,
-it may not need to create a scheduling rule for them.
-</p>
-<p>
-Finally, when there is contention between jobs, we need a
-mechanism for giving more value to jobs initiated by users versus background jobs 
-that the user is not waiting on results for.  Each job belongs to a priority class that
-can be used to manage this interaction.  User initiated jobs belong to the INTERACTIVE
-priority class. To avoid blocking interactive jobs for unacceptable periods of time, we
-can employ various policies to ensure the job gets run, such as:
-<ul>
-<li>Only start non-interactive jobs when NO interactive jobs are running</li>
-<li>If an interactive job is waiting to be run, and its rule conflicts with a currently
-running non-interactive job, the non-interactive job may be canceled to let the interactive
-job proceed.</li>
-<li>If an interactive job is waiting on a lock held by a non-interactive job, 
-the non-interactive job may be canceled to let the interactive job proceed.</li>
-</ul>
-
-<h3>Locking issues</h3>
-<h4>Is the UI thread allowed to acquire locks?</h4>
-<b>Reasons for "No":</b><br>
-<p>
-Clearly there is a deadlock risk due to the interaction with syncExec.
-We can handle this risk in the same way that we handle it in Eclipse 2.1.  By ensuring
-the core locking mechanism and the SWT synchronizer are aware of each other, we
-can avoid potential deadlocks by servicing syncExecs in the UI thread in the case
-where the UI thread is waiting on an acquired lock.  
-</p>
-<p>
-Not allowing locks in the UI thread would also help improve UI responsiveness.  
-If the UI thread is waiting on a lock, it cannot be processing the event queue, and thus
-the UI will fail to paint.
-</p>
-<p>
-If we don't allow locks in the UI thread, then we can easily add the extra restriction
-that locks must be acquired from within the context of currently running jobs.  This
-would give us a story for cleaning up misbehaving locks.  I.e., if someone acquires
-a lock but fails to release it, we can release it automatically when the job completes.
-</p>
-<b>Reasons for "Yes":</b><br>
-<p>
-The main drawback is that this would be unweildy to program with.  Some operations
-that acquire locks may actually be very fast.  Forcing the UI to fork a 
-job every time a lock is needed may be overkill in many cases.  If third party code is 
-called from the UI, the caller may not know if locks will be acquired deep down in the 
-call stack.  To be defensive, the UI would have to fork jobs whenever third party
-code is called.
-</p>
-<p>
-Another problem is how this rule would be enforced.  Throwing an exception when
-the UI thread attempts to acquire a lock would result in unacceptable runtime errors.
-</p>
-<h4>Do we expose locks?</h4>
-<p>
-Do we allow third party clients to directly acquire, for example, the workspace lock?
-The answer to this question must be "No", if we don't have the restriction that jobs
-be acquired within running jobs.  Otherwise, we would have no way of cleaning up
-locks that clients acquire but fail to release.  Is this acceptable?  Do we know of 
-any cases where clients will need to acquire the workspace lock, given that we have
-a system of rules to prevent conflicting jobs from running concurrently?
-</p>
-
-
-
-</body>	
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/icons/job_view.gif b/examples/org.eclipse.ui.examples.job/icons/job_view.gif
deleted file mode 100644
index 81fb7b4..0000000
--- a/examples/org.eclipse.ui.examples.job/icons/job_view.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.job/icons/sample.gif b/examples/org.eclipse.ui.examples.job/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/examples/org.eclipse.ui.examples.job/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.job/icons/suspend.gif b/examples/org.eclipse.ui.examples.job/icons/suspend.gif
deleted file mode 100644
index 0d71e42..0000000
--- a/examples/org.eclipse.ui.examples.job/icons/suspend.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.job/icons/tree_view.gif b/examples/org.eclipse.ui.examples.job/icons/tree_view.gif
deleted file mode 100644
index ce8bdb9..0000000
--- a/examples/org.eclipse.ui.examples.job/icons/tree_view.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.job/plugin.xml b/examples/org.eclipse.ui.examples.job/plugin.xml
deleted file mode 100644
index c7cad63..0000000
--- a/examples/org.eclipse.ui.examples.job/plugin.xml
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui.examples.job"
-   name="Progress Examples Plug-in"
-   version="3.0.0"
-   provider-name="IBM"
-   class="org.eclipse.ui.examples.jobs.ProgressExamplesPlugin">
-
-   <runtime>
-      <library name="ProgressExamples.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.ui.ide"/>
-      <import plugin="org.eclipse.jface.text"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor"/>
-      <import plugin="org.eclipse.ui.editors"/>
-   </requires>
-
-
-   <extension
-         point="org.eclipse.ui.views">
-      <category
-            name="Progress Examples"
-            id="ProgressExamples">
-      </category>
-      <view
-            name="Lazy Trees"
-            icon="icons/tree_view.gif"
-            category="ProgressExamples"
-            class="org.eclipse.ui.examples.jobs.views.LazyTreeView"
-            id="org.eclipse.ui.examples.jobs.views.LazyTreeView">
-      </view>
-      <view
-            name="Job Factory"
-            icon="icons/job_view.gif"
-            category="ProgressExamples"
-            class="org.eclipse.ui.examples.jobs.views.JobsView"
-            id="org.eclipse.ui.examples.jobs.views.JobsView">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectiveExtensions">
-      <perspectiveExtension
-            targetID="org.eclipse.ui.resourcePerspective">
-         <view
-               ratio="0.5"
-               relative="org.eclipse.ui.views.TaskList"
-               id="org.eclipse.ui.examples.jobs.views.LazyTreeView"
-               relationship="right">
-         </view>
-         <view
-               ratio="0.5"
-               relative="org.eclipse.ui.views.TaskList"
-               id="org.eclipse.ui.examples.jobs.views.JobsView"
-               relationship="right">
-         </view>
-      </perspectiveExtension>
-   </extension>
-   <extension
-         point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="Job Example Actions"
-            visible="true"
-            id="ProgressExamples.actionSet">
-         <menu
-               label="&amp;Job"
-               id="sampleMenu">
-            <separator
-                  name="sampleGroup">
-            </separator>
-         </menu>
-         <action
-               label="&amp;Suspend Job Manager"
-               icon="icons/suspend.gif"
-               style="toggle"
-               class="org.eclipse.ui.examples.jobs.actions.SuspendJobManagerAction"
-               tooltip="Suspend the job manager"
-               menubarPath="sampleMenu/sampleGroup"
-               toolbarPath="sampleGroup"
-               id="org.eclipse.ui.examples.jobs.actions.SuspendJobManagerAction">
-         </action>
-         <action
-               label="&amp;Dump Job Information"
-               icon="icons/sample.gif"
-               class="org.eclipse.ui.examples.jobs.actions.DebugJobManagerAction"
-               tooltip="Dump job information"
-               menubarPath="sampleMenu/sampleGroup"
-               id="org.eclipse.ui.examples.jobs.actions.SuspendJobManagerAction">
-         </action>
-      </actionSet>
-   </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/BusyShowWhileDialog.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/BusyShowWhileDialog.java
deleted file mode 100644
index 0279630..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/BusyShowWhileDialog.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package org.eclipse.ui.examples.jobs;
-import java.lang.reflect.InvocationTargetException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.IconAndMessageDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.progress.ProgressManager;
-/**
- *BusyShowWhileDialog is a test of busyShowWhile in a modal dialog.
- */
-public class BusyShowWhileDialog extends IconAndMessageDialog {
-	/**
-	 * @param parentShell
-	 * @todo Generated comment
-	 */
-	public BusyShowWhileDialog(Shell parentShell) {
-		super(parentShell);
-		message = "Busy While Test"; //$NON-NLS-1$
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.IconAndMessageDialog#getImage()
-	 */
-	protected Image getImage() {
-		return null;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#createButtonsForButtonBar(org.eclipse.swt.widgets.Composite)
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		super.createButtonsForButtonBar(parent);
-		Button detailsButton = createButton(parent, 4, "Start busy show while", false); //$NON-NLS-1$
-		detailsButton.addSelectionListener(new SelectionListener() {
-			/* (non-Javadoc)
-			 * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
-			 */
-			public void widgetSelected(SelectionEvent e) {
-				try {
-					ProgressManager.getInstance().busyCursorWhile(new IRunnableWithProgress() {
-						/* (non-Javadoc)
-						 * @see org.eclipse.jface.operation.IRunnableWithProgress#run(org.eclipse.core.runtime.IProgressMonitor)
-						 */
-						public void run(IProgressMonitor monitor) throws InvocationTargetException,
-								InterruptedException {
-							long time = System.currentTimeMillis();
-							long delay = PlatformUI.getWorkbench().getProgressService().getLongOperationTime();
-							long end = time + delay + delay;
-							while (end > System.currentTimeMillis()) {
-								final Shell myShell = BusyShowWhileDialog.this.getShell();
-								myShell.getDisplay().asyncExec(new Runnable() {
-									/* (non-Javadoc)
-									 * @see java.lang.Runnable#run()
-									 */
-									public void run() {
-										if(myShell.isDisposed())
-											return;
-										myShell.getDisplay().sleep();
-										myShell.setText(String.valueOf(System.currentTimeMillis()));
-									}
-								});
-							}
-						}
-					});
-				} catch (InvocationTargetException error) {
-					error.printStackTrace();
-				} catch (InterruptedException error) {
-					error.printStackTrace();
-				}
-			}
-			/* (non-Javadoc)
-			 * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
-			 */
-			public void widgetDefaultSelected(SelectionEvent e) {
-				//do nothing
-			}
-		});
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/ProgressExamplesPlugin.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/ProgressExamplesPlugin.java
deleted file mode 100644
index 2100d3e..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/ProgressExamplesPlugin.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.eclipse.ui.examples.jobs;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.examples.jobs.views.ProgressExampleAdapterFactory;
-import org.eclipse.ui.examples.jobs.views.SlowElement;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class ProgressExamplesPlugin extends AbstractUIPlugin {
-	//The shared instance.
-	private static ProgressExamplesPlugin plugin;
-	
-	/**
-	 * The constructor.
-	 */
-	public ProgressExamplesPlugin() {
-		super();
-		plugin = this;
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static ProgressExamplesPlugin getDefault() {
-		return plugin;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		IAdapterManager m = Platform.getAdapterManager();
-		IAdapterFactory f = new ProgressExampleAdapterFactory();
-		m.registerAdapters(f, SlowElement.class);
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/TestJob.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/TestJob.java
deleted file mode 100644
index 27f9cde..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/TestJob.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004 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.examples.jobs;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-/**
- * Base class for a simple test job with configurable parameters
- */
-public class TestJob extends Job {
-	/**
-	 * A family identifier for all test jobs
-	 */
-	public static final Object FAMILY_TEST_JOB = new Object();
-	/**
-	 * Total duration that the test job should sleep, in milliseconds.
-	 */
-	private long duration;
-	/**
-	 * Whether the test job should fail.
-	 */
-	private boolean failure;
-	/**
-	 * Whether the job should report unknown progress.
-	 */
-	private boolean unknown;
-	private boolean reschedule;
-	private long rescheduleWait;
-	/**
-	 * Creates a new test job
-	 * @param duration Total time that the test job should sleep, in milliseconds.
-	 * @param lock Whether the job should use a workspace scheduling rule
-	 * @param failure Whether the job should fail
-	 * @param indeterminate Whether the job should report indeterminate progress
-	 * @param rescheduleWait
-	 * @param reschedule
-	 */
-	public TestJob(long duration, boolean lock, boolean failure, boolean indeterminate, boolean reschedule, long rescheduleWait) {
-		super("Test job"); //$NON-NLS-1$
-		this.duration = duration;
-		this.failure = failure;
-		this.unknown = indeterminate;
-		this.reschedule = reschedule;
-		this.rescheduleWait = rescheduleWait;
-		if (lock)
-			setRule(ResourcesPlugin.getWorkspace().getRoot());
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.internal.jobs.InternalJob#belongsTo(java.lang.Object)
-	 */
-	public boolean belongsTo(Object family) {
-		if(family instanceof TestJob) {
-			return true;
-		}
-		return family == FAMILY_TEST_JOB;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.internal.jobs.InternalJob#run(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus run(IProgressMonitor monitor) {
-		if (failure) {
-			MultiStatus result = new MultiStatus("org.eclipse.ui.examples.jobs", 1, "This is the MultiStatus message", new RuntimeException("This is the MultiStatus exception")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			result.add(new Status(IStatus.ERROR, "org.eclipse.ui.examples.jobs", 1, "This is the child status message", new RuntimeException("This is the child exception"))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			return result;
-		}
-		final long sleep = 10;
-		int ticks = (int) (duration / sleep);
-		if(this.unknown)
-			monitor.beginTask(toString(), IProgressMonitor.UNKNOWN);
-		else
-			monitor.beginTask(toString(), ticks);
-		try {
-			for (int i = 0; i < ticks; i++) {
-				if (monitor.isCanceled())
-					return Status.CANCEL_STATUS;
-				monitor.subTask("Processing tick #" + i); //$NON-NLS-1$
-				try {
-					Thread.sleep(sleep);
-				} catch (InterruptedException e) {
-					Thread.interrupted();
-				}
-				monitor.worked(1);
-			}
-		} finally {
-			if(reschedule) 
-				schedule(rescheduleWait);
-			monitor.done();
-		}
-		return Status.OK_STATUS;
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/UITestJob.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/UITestJob.java
deleted file mode 100644
index fbf8682..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/UITestJob.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004 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.examples.jobs;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.progress.UIJob;
-/**
- * Base class for a simple test UI job with configurable parameters
- */
-public class UITestJob extends UIJob {
-	private long duration;
-	private boolean failure;
-	private boolean unknown;
-	public UITestJob(long duration, boolean lock, boolean failure, boolean indeterminate) {
-		super("Test job"); //$NON-NLS-1$
-		this.duration = duration;
-		this.failure = failure;
-		this.unknown = indeterminate;
-		
-		if (lock)
-			setRule(ResourcesPlugin.getWorkspace().getRoot());
-	}
-	public IStatus runInUIThread(IProgressMonitor monitor) {
-		if (failure)
-			throw new RuntimeException();
-		final long sleep = 10;
-		int ticks = (int) (duration / sleep);
-		if(unknown)
-			monitor.beginTask(toString(), IProgressMonitor.UNKNOWN);
-		else
-			monitor.beginTask(toString(), ticks);
-		try {
-			for (int i = 0; i < ticks; i++) {
-				if (monitor.isCanceled())
-					return Status.CANCEL_STATUS;
-				monitor.subTask("Processing tick #" + i); //$NON-NLS-1$
-				try {
-					Thread.sleep(sleep);
-				} catch (InterruptedException e) {
-					Thread.interrupted();
-				}
-				monitor.worked(1);
-			}
-		} finally {
-			monitor.done();
-		}
-		return Status.OK_STATUS;
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/CreateJobsAction.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/CreateJobsAction.java
deleted file mode 100644
index 719ce0f..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/CreateJobsAction.java
+++ /dev/null
@@ -1,124 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.jobs.actions;
-
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IInputValidator;
-import org.eclipse.jface.dialogs.InputDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-import org.eclipse.ui.examples.jobs.TestJob;
-
-/**
- * Test action that creates a number of fake jobs, and then waits until they complete.
- */
-public class CreateJobsAction implements IWorkbenchWindowActionDelegate {
-	static final long DELAY = 100;
-
-	private IWorkbenchWindow window;
-
-	private long askForDuration() {
-		InputDialog dialog = new InputDialog(window.getShell(), "How long?", "Enter the number of milliseconds per job", "1000", new IInputValidator() { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			public String isValid(String newText) {
-				try {
-					Long.parseLong(newText);
-				} catch (NumberFormatException e) {
-					return "Not a number"; //$NON-NLS-1$
-				}
-				return null;
-			}
-		});
-		if (dialog.open() == Window.CANCEL)
-			throw new OperationCanceledException();
-		return Long.parseLong(dialog.getValue());
-	}
-	private boolean askForExclusive() {
-		MessageDialog dialog =
-			new MessageDialog(
-				window.getShell(),
-				"Likes to be left alone?", //$NON-NLS-1$
-				null,
-				"Press yes if the jobs should be run one at a time, and no otherwise", //$NON-NLS-1$
-				MessageDialog.QUESTION,
-				new String[] { IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL },
-				1 // no is the default
-		);
-		return dialog.open() == 0;
-	}
-	private boolean askForFailure() {
-		MessageDialog dialog =
-			new MessageDialog(
-				window.getShell(),
-				"Born to fail?", //$NON-NLS-1$
-				null,
-				"Should the jobs return an error status?", //$NON-NLS-1$
-				MessageDialog.QUESTION,
-				new String[] { IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL },
-				1 // no is the default
-		);
-		return dialog.open() == 0;
-	}
-	private int askForJobCount() {
-		InputDialog dialog = new InputDialog(window.getShell(), "How much work?", "Enter the number of jobs to run", "100", new IInputValidator() { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			public String isValid(String newText) {
-				try {
-					Integer.parseInt(newText);
-				} catch (NumberFormatException e) {
-					return "Not a number"; //$NON-NLS-1$
-				}
-				return null;
-			}
-		});
-		if (dialog.open() == Window.CANCEL)
-			throw new OperationCanceledException();
-		return Integer.parseInt(dialog.getValue());
-	}
-	public void dispose() {
-		//do nothing
-	}
-	public void init(IWorkbenchWindow window) {
-		this.window = window;
-	}
-
-	public void run(IAction action) {
-		try {
-			int jobCount = askForJobCount();
-			long duration = askForDuration();
-			boolean exclusive = askForExclusive();
-			boolean failure = askForFailure();
-			for (int i = 0; i < jobCount; i ++) {
-				new TestJob(duration, exclusive, failure,false, false, 0).schedule(DELAY);
-			}
-//			ProgressMonitorDialog dialog = new ProgressMonitorDialog(window.getShell());
-//			dialog.run(true, true, new IRunnableWithProgress() {
-//				public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-//					try {
-//						Platform.getJobManager().join(CreateJobsAction.this, monitor);
-//					} catch (OperationCanceledException e) {
-//					}
-//				}
-//			});
-		} catch (OperationCanceledException e) {
-//		} catch (InvocationTargetException e) {
-//			e.printStackTrace();
-//		} catch (InterruptedException e) {
-//			e.printStackTrace();
-		}
-	}
-	public void selectionChanged(IAction action, ISelection selection) {
-		//do nothing
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/DebugJobManagerAction.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/DebugJobManagerAction.java
deleted file mode 100644
index 5b51717..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/DebugJobManagerAction.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004 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.examples.jobs.actions;
-
-import org.eclipse.core.internal.jobs.JobManager;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-
-/**
- * 
- */
-public class DebugJobManagerAction implements IWorkbenchWindowActionDelegate {
-	public DebugJobManagerAction() {
-		super();
-	}
-	public void dispose() {
-		//
-	}
-
-	public void init(IWorkbenchWindow window) {
-		//
-	}
-
-	public void run(IAction action) {
-		Job[] jobs = Platform.getJobManager().find(null);
-		System.out.println("**** BEGIN DUMP JOB MANAGER INFORMATION ****"); //$NON-NLS-1$
-		for (int i = 0; i < jobs.length; i++) {
-			System.out.println("" + jobs[i] + " state: " + JobManager.printState(jobs[i].getState())); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		System.out.println("**** END DUMP JOB MANAGER INFORMATION ****"); //$NON-NLS-1$
-	}
-
-	public void selectionChanged(IAction action, ISelection selection) {
-		//
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/ForegroundAction.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/ForegroundAction.java
deleted file mode 100644
index 7d36c26..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/ForegroundAction.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package org.eclipse.ui.examples.jobs.actions;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-
-public class ForegroundAction implements IWorkbenchWindowActionDelegate {
-	public void run(IAction action) {
-		try {
-			ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
-				public void run(IProgressMonitor monitor) {
-					//no-op
-				}
-			}, null);
-		} catch (OperationCanceledException e) {
-			e.printStackTrace();
-		} catch (CoreException e) {
-			e.printStackTrace();
-		}
-	}
-	public void selectionChanged(IAction action, ISelection selection) {
-		//do nothing
-	}
-	public void dispose() {
-		//do nothing
-	}
-	public void init(IWorkbenchWindow window) {
-		//do nothing
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/JobAction.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/JobAction.java
deleted file mode 100644
index e091ed0..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/JobAction.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.eclipse.ui.examples.jobs.actions;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.resources.WorkspaceJob;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-
-/**
- * Our sample action implements workbench action delegate.
- * The action proxy will be created by the workbench and
- * shown in the UI. When the user tries to use the action,
- * this delegate will be created and execution will be 
- * delegated to it.
- * @see IWorkbenchWindowActionDelegate
- */
-public class JobAction implements IWorkbenchWindowActionDelegate {
-	public void run(IAction action) {
-		final IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		Job job = new WorkspaceJob("Background job") { //$NON-NLS-1$
-			public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException {
-				monitor.beginTask("Doing something in background", 100); //$NON-NLS-1$
-				for (int i = 0; i < 100; i++) {
-					try {
-						Thread.sleep(100);
-					} catch (InterruptedException e) {
-						//ignore
-					}
-					monitor.worked(1);
-				}
-				return Status.OK_STATUS;
-			}
-		};
-		job.setRule(workspace.getRoot());
-		job.schedule();
-	}
-	public void selectionChanged(IAction action, ISelection selection) {
-		//do nothing
-	}
-	public void dispose() {
-		//do nothing
-	}
-	public void init(IWorkbenchWindow window) {
-		//do nothing
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/SuspendJobManagerAction.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/SuspendJobManagerAction.java
deleted file mode 100644
index bab1674..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/SuspendJobManagerAction.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.eclipse.ui.examples.jobs.actions;
-
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-
-/**
- * Toggles the suspend/resume state of the job manager.
- */
-public class SuspendJobManagerAction implements IWorkbenchWindowActionDelegate {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		try {
-			if (action.isChecked())
-				Platform.getJobManager().suspend();
-			else
-				Platform.getJobManager().resume();
-		} catch (OperationCanceledException e) {
-			//thrown if the user cancels the attempt to suspend
-			e.printStackTrace();
-		}
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		//do nothing
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
-	 */
-	public void dispose() {
-		//do nothing
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void init(IWorkbenchWindow window) {
-		//do nothing
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/DeferredContentProvider.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/DeferredContentProvider.java
deleted file mode 100644
index 32dcab3..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/DeferredContentProvider.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.jobs.views;
-
-import org.eclipse.jface.viewers.AbstractTreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.ui.model.BaseWorkbenchContentProvider;
-import org.eclipse.ui.progress.DeferredTreeContentManager;
-
-public class DeferredContentProvider extends BaseWorkbenchContentProvider {
-
-	private DeferredTreeContentManager manager;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		if (viewer instanceof AbstractTreeViewer) {
-			manager = new DeferredTreeContentManager(this, (AbstractTreeViewer) viewer);
-		}
-		super.inputChanged(viewer, oldInput, newInput);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
-	 */
-	public boolean hasChildren(Object element) {
-		// the + box will always appear, but then disappear
-		// if not needed after you first click on it.
-		if (manager != null) {
-			if (manager.isDeferredAdapter(element))
-				return manager.mayHaveChildren(element);
-		}
-
-		return super.hasChildren(element);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.model.WorkbenchContentProvider#getChildren(java.lang.Object)
-	 */
-	public Object[] getChildren(Object element) {
-		if (manager != null) {
-			Object[] children = manager.getChildren(element);
-			if(children != null) {
-				return children;
-			}
-		}
-		return super.getChildren(element);
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/JobsView.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/JobsView.java
deleted file mode 100644
index db26ed9..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/JobsView.java
+++ /dev/null
@@ -1,530 +0,0 @@
-package org.eclipse.ui.examples.jobs.views;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-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.*;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.examples.jobs.TestJob;
-import org.eclipse.ui.examples.jobs.UITestJob;
-import org.eclipse.ui.part.ViewPart;
-import org.eclipse.ui.progress.IProgressConstants;
-import org.eclipse.ui.progress.IProgressService;
-
-/**
- * A view that allows a user to create jobs of various types, and interact with
- * and test other job-related APIs.
- */
-public class JobsView extends ViewPart {
-	private Combo durationField;
-	private Button lockField, failureField, threadField, systemField, userField, groupField, rescheduleField, keepField, keepOneField, unknownField;
-	private Text quantityField, delayField, rescheduleDelay;
-
-	protected void busyCursorWhile() {
-		try {
-			final long duration = getDuration();
-			final boolean shouldLock = lockField.getSelection();
-			PlatformUI.getWorkbench().getProgressService().busyCursorWhile(new IRunnableWithProgress() {
-				public void run(IProgressMonitor monitor) throws InterruptedException {
-					if (shouldLock)
-						doRunInWorkspace(duration, monitor);
-					else
-						doRun(duration, monitor);
-				}
-
-			});
-		} catch (InvocationTargetException e) {
-			e.printStackTrace();
-		} catch (InterruptedException e) {
-			e.printStackTrace();
-		}
-	}
-
-	protected void createJobs() {
-		int jobCount = Integer.parseInt(quantityField.getText());
-		boolean ui = threadField.getSelection();
-		long duration = getDuration();
-		boolean lock = lockField.getSelection();
-		boolean failure = failureField.getSelection();
-		boolean system = systemField.getSelection();
-		boolean useGroup = groupField.getSelection();
-		boolean unknown = unknownField.getSelection();
-		boolean user = userField.getSelection();
-		boolean reschedule = rescheduleField.getSelection();
-		final long rescheduleWait =  Long.parseLong(rescheduleDelay.getText());
-		boolean keep = keepField.getSelection();
-		boolean keepOne = keepOneField.getSelection();
-
-		int groupIncrement = IProgressMonitor.UNKNOWN;
-		IProgressMonitor group = new NullProgressMonitor();
-		int total = IProgressMonitor.UNKNOWN;
-
-		if (jobCount > 1) {
-			total = 100;
-			groupIncrement = 100 / jobCount;
-		}
-
-		if (useGroup) {
-			group = Platform.getJobManager().createProgressGroup();
-			group.beginTask("Group", total); //$NON-NLS-1$
-		}
-
-		long delay = Integer.parseInt(delayField.getText());
-		for (int i = 0; i < jobCount; i++) {
-			Job result;
-			if (ui)
-				result = new UITestJob(duration, lock, failure, unknown);
-			else
-				result = new TestJob(duration, lock, failure, unknown, reschedule, rescheduleWait);
-
-			if(keep) 
-				result.setProperty(IProgressConstants.KEEP_PROPERTY, Boolean.TRUE);
-			
-			if(keepOne)
-				result.setProperty(IProgressConstants.KEEPONE_PROPERTY, Boolean.TRUE);
-			
-			result.setProgressGroup(group, groupIncrement);
-			result.setSystem(system);
-			result.setUser(user);
-			result.schedule(delay);
-		}
-	}
-
-	/**
-	 * @see ViewPart#createPartControl(Composite)
-	 */
-	public void createPartControl(Composite parent) {
-		Composite body = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.makeColumnsEqualWidth = false;
-		body.setLayout(layout);
-
-		createEntryFieldGroup(body);
-		createPushButtonGroup(body);
-		createCheckboxGroup(body);
-	}
-
-	/**
-	 * Create all push button parts for the jobs view.
-	 * @param parent
-	 */
-	private void createPushButtonGroup(Composite parent) {
-		Composite group = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		group.setLayout(layout);
-		group.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		//create jobs
-		Button create = new Button(group, SWT.PUSH);
-		create.setText("Create jobs"); //$NON-NLS-1$
-		create.setToolTipText("Creates and schedules jobs according to above parameters"); //$NON-NLS-1$
-		create.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		create.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				createJobs();
-			}
-		});
-
-		//touch workspace
-		Button touch = new Button(group, SWT.PUSH);
-		touch.setText("Touch workspace"); //$NON-NLS-1$
-		touch.setToolTipText("Modifies the workspace in the UI thread"); //$NON-NLS-1$
-		touch.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		touch.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				touchWorkspace();
-			}
-		});
-		//busy cursor while
-		Button busyWhile = new Button(group, SWT.PUSH);
-		busyWhile.setText("busyCursorWhile"); //$NON-NLS-1$
-		busyWhile.setToolTipText("Uses IProgressService.busyCursorWhile"); //$NON-NLS-1$
-		busyWhile.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		busyWhile.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				busyCursorWhile();
-			}
-		});
-		//progress monitor dialog with fork=false
-		Button noFork = new Button(group, SWT.PUSH);
-		noFork.setText("runInUI"); //$NON-NLS-1$
-		noFork.setToolTipText("Uses IProgressService.runInUI"); //$NON-NLS-1$
-		noFork.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		noFork.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				progressNoFork();
-			}
-		});
-
-		//progress monitor dialog with fork=false
-		Button exception = new Button(group, SWT.PUSH);
-		exception.setText("Runtime Exception"); //$NON-NLS-1$
-		exception.setToolTipText("NullPointerException when running"); //$NON-NLS-1$
-		exception.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		exception.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				jobWithRuntimeException();
-			}
-		});
-
-		//join the running test jobs
-		Button join = new Button(group, SWT.PUSH);
-		join.setText("Join Test Jobs"); //$NON-NLS-1$
-		join.setToolTipText("IJobManager.join() on test jobs"); //$NON-NLS-1$
-		join.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		join.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				joinTestJobs();
-			}
-		});
-
-		//join the running test jobs
-		Button window = new Button(group, SWT.PUSH);
-		window.setText("Runnable in Window"); //$NON-NLS-1$
-		window.setToolTipText("Using a runnable context in the workbench window"); //$NON-NLS-1$
-		window.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		window.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				runnableInWindow();
-			}
-		});
-
-		//join the running test jobs
-		Button sleep = new Button(group, SWT.PUSH);
-		sleep.setText("Sleep"); //$NON-NLS-1$
-		sleep.setToolTipText("Calls sleep() on all TestJobs"); //$NON-NLS-1$
-		sleep.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		sleep.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				doSleep();
-			}
-		});
-
-		//join the running test jobs
-		Button wake = new Button(group, SWT.PUSH);
-		wake.setText("WakeUp"); //$NON-NLS-1$
-		wake.setToolTipText("Using a runnable context in the workbench window"); //$NON-NLS-1$
-		wake.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		wake.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				doWakeUp();
-			}
-		});
-	}
-	/**
-	 * Wakes up all sleeping test jobs.
-	 */
-	protected void doWakeUp() {
-		Platform.getJobManager().wakeUp(TestJob.FAMILY_TEST_JOB);
-	}
-	/**
-	 * Puts to sleep all waiting test jobs.
-	 */
-	protected void doSleep() {
-		Platform.getJobManager().sleep(TestJob.FAMILY_TEST_JOB);
-	}
-
-	/**
-	 * @param body
-	 */
-	private void createEntryFieldGroup(Composite body) {
-		//duration
-		Label label = new Label(body, SWT.NONE);
-		label.setText("Duration:"); //$NON-NLS-1$
-		durationField = new Combo(body, SWT.DROP_DOWN | SWT.READ_ONLY);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-		durationField.setLayoutData(data);
-		durationField.add("0"); //$NON-NLS-1$
-		durationField.add("1 millisecond"); //$NON-NLS-1$
-		durationField.add("1 second"); //$NON-NLS-1$
-		durationField.add("10 seconds"); //$NON-NLS-1$
-		durationField.add("1 minute"); //$NON-NLS-1$
-		durationField.add("10 minutes"); //$NON-NLS-1$
-		durationField.select(4);
-
-		//delay
-		label = new Label(body, SWT.NONE);
-		label.setText("Start delay (ms):"); //$NON-NLS-1$
-		delayField = new Text(body, SWT.BORDER);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-		delayField.setLayoutData(data);
-		delayField.setText("0"); //$NON-NLS-1$
-
-		//quantity
-		label = new Label(body, SWT.NONE);
-		label.setText("Quantity:"); //$NON-NLS-1$
-		quantityField = new Text(body, SWT.BORDER);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-		quantityField.setLayoutData(data);
-		quantityField.setText("1"); //$NON-NLS-1$
-		
-		//reschedule delay
-		label = new Label(body, SWT.NONE);
-		label.setText("Reschedule Delay (ms):"); //$NON-NLS-1$
-		rescheduleDelay = new Text(body, SWT.BORDER);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-		rescheduleDelay.setLayoutData(data);
-		rescheduleDelay.setText("1000"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Creates all of the checkbox buttons.
-	 */
-	private void createCheckboxGroup(Composite parent) {
-		Composite group = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		group.setLayout(layout);
-		group.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		//lock
-		lockField = new Button(group, SWT.CHECK);
-		lockField.setText("Lock the workspace"); //$NON-NLS-1$
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		lockField.setLayoutData(data);
-
-		//system
-		systemField = new Button(group, SWT.CHECK);
-		systemField.setText("System job"); //$NON-NLS-1$
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		systemField.setLayoutData(data);
-
-		//thread
-		threadField = new Button(group, SWT.CHECK);
-		threadField.setText("Run in UI thread"); //$NON-NLS-1$
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		threadField.setLayoutData(data);
-
-		//failure
-		failureField = new Button(group, SWT.CHECK);
-		failureField.setText("Fail"); //$NON-NLS-1$
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		failureField.setLayoutData(data);
-
-		//groups
-		groupField = new Button(group, SWT.CHECK);
-		groupField.setText("Run in Group"); //$NON-NLS-1$
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		groupField.setLayoutData(data);
-		
-		//	reschedule
-		rescheduleField = new Button(group, SWT.CHECK);
-		rescheduleField.setText("Reschedule"); //$NON-NLS-1$
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		rescheduleField.setLayoutData(data);
-		
-		//	keep
-		keepField = new Button(group, SWT.CHECK);
-		keepField.setText("Keep"); //$NON-NLS-1$
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		keepField.setLayoutData(data);
-		
-		//	keep one
-		keepOneField = new Button(group, SWT.CHECK);
-		keepOneField.setText("KeepOne"); //$NON-NLS-1$
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		keepOneField.setLayoutData(data);
-
-		//IProgressMonitor.UNKNOWN
-		unknownField = new Button(group, SWT.CHECK);
-		unknownField.setText("Indeterminate Progress"); //$NON-NLS-1$
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		unknownField.setLayoutData(data);
-
-		//whether the job is a user job
-		userField = new Button(group, SWT.CHECK);
-		userField.setText("User job"); //$NON-NLS-1$
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		userField.setLayoutData(data);
-	}
-
-	protected void doRun(long duration, IProgressMonitor monitor) {
-		final long sleep = 10;
-		int ticks = (int) (duration / sleep);
-		monitor.beginTask("Spinning inside IProgressService.busyCursorWhile", ticks); //$NON-NLS-1$
-		monitor.setTaskName("Spinning inside IProgressService.busyCursorWhile"); //$NON-NLS-1$
-		for (int i = 0; i < ticks; i++) {
-			monitor.subTask("Processing tick #" + i); //$NON-NLS-1$
-			if (monitor.isCanceled())
-				return;
-			try {
-				Thread.sleep(sleep);
-			} catch (InterruptedException e) {
-				//ignore
-			}
-			monitor.worked(1);
-		}
-	}
-
-	protected void doRunInWorkspace(final long duration, IProgressMonitor monitor) {
-		try {
-			ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
-				public void run(IProgressMonitor monitor) throws CoreException {
-					doRun(duration, monitor);
-				}
-			}, monitor);
-		} catch (CoreException e) {
-			e.printStackTrace();
-		}
-	}
-
-	protected long getDuration() {
-		switch (durationField.getSelectionIndex()) {
-			case 0 :
-				return 0;
-			case 1 :
-				return 1;
-			case 2 :
-				return 1000;
-			case 3 :
-				return 10000;
-			case 4 :
-				return 60000;
-			case 5 :
-			default :
-				return 600000;
-		}
-	}
-
-	protected void jobWithRuntimeException() {
-		Job runtimeExceptionJob = new Job("Job with Runtime exception") { //$NON-NLS-1$
-			/* (non-Javadoc)
-			 * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
-			 */
-			protected IStatus run(IProgressMonitor monitor) {
-				throw new NullPointerException();
-			}
-		};
-		runtimeExceptionJob.schedule();
-	}
-
-	/**
-	 * Example usage of the IJobManager.join method.
-	 */
-	protected void joinTestJobs() {
-		try {
-			//note that when a null progress monitor is used when in the UI
-			//thread, the workbench will create a default progress monitor
-			//that reports progress in a modal dialog with details area
-			Platform.getJobManager().join(TestJob.FAMILY_TEST_JOB, null);
-		} catch (OperationCanceledException e) {
-			//thrown if the user interrupts the join by canceling the progress monitor
-			//A UI component should swallow the exception and finish the action
-			//or operation. A lower level component should just propagate the
-			//exception
-			e.printStackTrace();
-		} catch (InterruptedException e) {
-			// Thrown if Thread.interrupt is called on this thread
-			// This can either be ignored (repeat the join attempt until success), or propagated
-			e.printStackTrace();
-		}
-	}
-
-	protected void progressNoFork() {
-		try {
-			final long duration = getDuration();
-			final boolean shouldLock = lockField.getSelection();
-			IProgressService progressService = PlatformUI.getWorkbench().getProgressService();
-			progressService.runInUI(progressService, new IRunnableWithProgress() {
-				public void run(IProgressMonitor monitor) throws InterruptedException {
-					if (shouldLock)
-						doRunInWorkspace(duration, monitor);
-					else
-						doRun(duration, monitor);
-				}
-			}, ResourcesPlugin.getWorkspace().getRoot());
-		} catch (InvocationTargetException e) {
-			e.printStackTrace();
-		} catch (InterruptedException e) {
-			e.printStackTrace();
-		}
-	}
-
-	/**
-	 * @see ViewPart#setFocus()
-	 */
-	public void setFocus() {
-		if (durationField != null && !durationField.isDisposed())
-			durationField.setFocus();
-	}
-
-	protected void touchWorkspace() {
-		//create an asyncExec to touch the workspace the specific number of times
-		int jobCount = Integer.parseInt(quantityField.getText());
-		for (int i = 0; i < jobCount; i++) {
-			getSite().getShell().getDisplay().asyncExec(new Runnable() {
-				public void run() {
-					try {
-						ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
-							public void run(IProgressMonitor monitor) {
-								//no-op
-							}
-						}, null);
-					} catch (OperationCanceledException e) {
-						//ignore
-					} catch (CoreException e) {
-						e.printStackTrace();
-					}
-				}
-			});
-		}
-	}
-
-	/**
-	 * Run a workspace runnable in the application window.
-	 *
-	 */
-
-	public void runnableInWindow() {
-
-		final long time = getDuration();
-		final long sleep = 10;
-		IRunnableWithProgress runnableTest = new WorkspaceModifyOperation() {
-
-			/* (non-Javadoc)
-			 * @see org.eclipse.ui.actions.WorkspaceModifyOperation#execute(org.eclipse.core.runtime.IProgressMonitor)
-			 */
-			protected void execute(IProgressMonitor monitor) throws CoreException, InvocationTargetException, InterruptedException {
-				int ticks = (int) (time / sleep);
-				monitor.beginTask("Spinning inside ApplicationWindow.run()", ticks); //$NON-NLS-1$
-				monitor.setTaskName("Spinning inside ApplicationWindow.run()"); //$NON-NLS-1$
-				for (int i = 0; i < ticks; i++) {
-					monitor.subTask("Processing tick #" + i); //$NON-NLS-1$
-					if (monitor.isCanceled())
-						return;
-					try {
-						Thread.sleep(sleep);
-					} catch (InterruptedException e) {
-						//ignore
-					}
-					monitor.worked(1);
-				}
-			}
-
-		};
-		try {
-			PlatformUI.getWorkbench().getActiveWorkbenchWindow().run(true, true, runnableTest);
-
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/LazyTreeView.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/LazyTreeView.java
deleted file mode 100644
index 43f74b8..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/LazyTreeView.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package org.eclipse.ui.examples.jobs.views;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.part.ViewPart;
-/**
- * This sample class demonstrates how to plug-in a new workbench view. The view
- * shows data obtained from the model. The sample creates a dummy model on the
- * fly, but a real implementation would connect to the model available either
- * in this or another plug-in (e.g. the workspace). The view is connected to
- * the model using a content provider.
- * <p>
- * The view uses a label provider to define how model objects should be
- * presented in the view. Each view can present the same model objects using
- * different labels and icons, if needed. Alternatively, a single label
- * provider can be shared between views in order to ensure that objects of the
- * same type are presented in the same way everywhere.
- * <p>
- */
-public class LazyTreeView extends ViewPart {
-	protected TreeViewer viewer;
-	protected Button serializeButton, batchButton;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createPartControl(Composite top) {
-		Composite parent = new Composite(top, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		parent.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.grabExcessHorizontalSpace = true;
-		data.grabExcessVerticalSpace = true;
-		parent.setLayoutData(data);
-//		parent.setBackground(WorkbenchColors.getSystemColor(SWT.COLOR_WHITE));
-		serializeButton = new Button(parent, SWT.CHECK | SWT.FLAT);
-		serializeButton.setText("Serialize fetch jobs"); //$NON-NLS-1$
-//		serializeButton.setBackground(WorkbenchColors.getSystemColor(SWT.COLOR_WHITE));
-		serializeButton.setSelection(SlowElementAdapter.isSerializeFetching());
-		serializeButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				SlowElementAdapter.setSerializeFetching(serializeButton.getSelection());
-			}
-		});
-		serializeButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		batchButton = new Button(parent, SWT.CHECK | SWT.FLAT);
-		batchButton.setText("Batch returned children"); //$NON-NLS-1$
-//		batchButton.setBackground(WorkbenchColors.getSystemColor(SWT.COLOR_WHITE));
-		serializeButton.setSelection(SlowElementAdapter.isBatchFetchedChildren());
-		batchButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				SlowElementAdapter.setBatchFetchedChildren(batchButton.getSelection());
-			}
-		});
-		batchButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
-		viewer.setContentProvider(new DeferredContentProvider());
-		viewer.setLabelProvider(new WorkbenchLabelProvider());
-		viewer.setInput(new SlowElement("root")); //$NON-NLS-1$
-		viewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
-	}
-	/**
-	 * Passing the focus request to the viewer's control.
-	 */
-	public void setFocus() {
-		viewer.getControl().setFocus();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/ProgressExampleAdapterFactory.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/ProgressExampleAdapterFactory.java
deleted file mode 100644
index 4218690..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/ProgressExampleAdapterFactory.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.jobs.views;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.ui.progress.IDeferredWorkbenchAdapter;
-
-public class ProgressExampleAdapterFactory implements IAdapterFactory {
-	private SlowElementAdapter slowElementAdapter = new SlowElementAdapter();
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
-	 */
-	public Object getAdapter(Object object, Class type) {
-		if(object instanceof SlowElement) {
-			if(type == SlowElement.class || type == IDeferredWorkbenchAdapter.class || type == IWorkbenchAdapter.class)
-				return slowElementAdapter;
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
-	 */
-	public Class[] getAdapterList() {
-		return new Class[] {
-				SlowElement.class, IDeferredWorkbenchAdapter.class, IWorkbenchAdapter.class
-				};
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/SlowElement.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/SlowElement.java
deleted file mode 100644
index c26b073..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/SlowElement.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.jobs.views;
-
-import java.util.*;
-
-import org.eclipse.core.runtime.PlatformObject;
-
-public class SlowElement extends PlatformObject {
-	private String name;
-	private SlowElement parent;
-
-	SlowElement(String name) {
-		this(null, name, null);	
-	}
-	
-	SlowElement(String name, SlowElement[] children) {
-		this(null, name, children);	
-	}
-	
-	SlowElement(SlowElement parent, String name, SlowElement[] children) {
-		this.name = name;
-		this.parent = parent;
-	}
-	
-	public String getName() {
-		return name;
-	}
-	
-	public SlowElement getParent() {
-		return parent;
-	}
-	
-	public SlowElement[] getChildren() {
-		Random r = new Random();
-		int random = r.nextInt(15);
-		List children = new ArrayList();
-		for(int i = 0; i < random; i++) {
-			children.add(new SlowElement("child" + i)); //$NON-NLS-1$
-		}
-		return (SlowElement[]) children.toArray(new SlowElement[children.size()]);
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/SlowElementAdapter.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/SlowElementAdapter.java
deleted file mode 100644
index ab7897c..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/SlowElementAdapter.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.jobs.views;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.progress.IDeferredWorkbenchAdapter;
-import org.eclipse.ui.progress.IElementCollector;
-
-public class SlowElementAdapter implements IDeferredWorkbenchAdapter {
-
-	private static boolean serializeFetching = false;
-	private static boolean batchFetchedChildren = false;
-
-	final ISchedulingRule mutexRule = new ISchedulingRule() {
-		public boolean isConflicting(ISchedulingRule rule) {
-			return rule == mutexRule;
-		}
-		public boolean contains(ISchedulingRule rule) {
-			return rule == mutexRule;
-		}
-	};
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.progress.IDeferredWorkbenchAdapter#fetchDeferredChildren(java.lang.Object,
-	 *           org.eclipse.jface.progress.IElementCollector,
-	 *           org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void fetchDeferredChildren(Object object, IElementCollector collector, IProgressMonitor monitor) {
-		if (object instanceof SlowElement) {
-			Object[] children = ((SlowElement) object).getChildren();
-			if (isBatchFetchedChildren()) {
-				sleep(4000);
-				collector.add(children, monitor);
-			} else {
-				for (int i = 0; i < children.length; i++) {
-					if (monitor.isCanceled()) {
-						return;
-					}
-					collector.add(children[i], monitor);
-					sleep(4000);
-				}
-			}
-		}
-	}
-
-	private void sleep(long mills) {
-		try {
-			Thread.sleep(1000);
-		} catch (InterruptedException e) {
-			//ignore
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.progress.IDeferredWorkbenchAdapter#isContainer()
-	 */
-	public boolean isContainer() {
-		return true;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.progress.IDeferredWorkbenchAdapter#getRule(java.lang.Object)
-	 */
-	public ISchedulingRule getRule(final Object object) {
-		if (isSerializeFetching())
-			return mutexRule;
-		// Allow several SlowElement parents to fetch children concurrently
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getChildren(java.lang.Object)
-	 */
-	public Object[] getChildren(Object object) {
-		if (object instanceof SlowElement) {
-			return ((SlowElement) object).getChildren();
-		}
-		return new Object[0];
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getImageDescriptor(java.lang.Object)
-	 */
-	public ImageDescriptor getImageDescriptor(Object object) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getLabel(java.lang.Object)
-	 */
-	public String getLabel(Object o) {
-		if (o instanceof SlowElement) {
-			return ((SlowElement) o).getName();
-		}
-		return "unknown"; //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getParent(java.lang.Object)
-	 */
-	public Object getParent(Object o) {
-		if (o instanceof SlowElement) {
-			return ((SlowElement) o).getParent();
-		}
-		return null;
-	}
-
-	/**
-	 * @return Returns the batchFetchedChildren.
-	 */
-	public static boolean isBatchFetchedChildren() {
-		return batchFetchedChildren;
-	}
-
-	/**
-	 * @param batchFetchedChildren
-	 *                   The batchFetchedChildren to set.
-	 */
-	public static void setBatchFetchedChildren(boolean batchFetchedChildren) {
-		SlowElementAdapter.batchFetchedChildren = batchFetchedChildren;
-	}
-
-	/**
-	 * @return Returns the serializeFetching.
-	 */
-	public static boolean isSerializeFetching() {
-		return serializeFetching;
-	}
-
-	/**
-	 * @param serializeFetching
-	 *                   The serializeFetching to set.
-	 */
-	public static void setSerializeFetching(boolean serializeFetching) {
-		SlowElementAdapter.serializeFetching = serializeFetching;
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.multipageeditor/.classpath b/examples/org.eclipse.ui.examples.multipageeditor/.classpath
deleted file mode 100644
index d6156ef..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="Eclipse UI Examples MultiPageEditor"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<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 82eae26..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/.project
+++ /dev/null
@@ -1,36 +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.compatibility</project>
-		<project>org.eclipse.jface.text</project>
-		<project>org.eclipse.text</project>
-		<project>org.eclipse.ui</project>
-		<project>org.eclipse.ui.editors</project>
-		<project>org.eclipse.ui.ide</project>
-		<project>org.eclipse.ui.workbench.texteditor</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/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 8b24c1c..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/MessageUtil.java
+++ /dev/null
@@ -1,57 +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 Corporation - initial API and implementation
- *******************************************************************************/
-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 f2babf4..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/MultiPageContributor.java
+++ /dev/null
@@ -1,68 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.multipageeditor;
-
- 
-import org.eclipse.jface.action.IAction;
-import org.eclipse.ui.*;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.ide.IDEActionFactory;
-import org.eclipse.ui.part.MultiPageEditorActionBarContributor;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-/**
- * 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 MultiPageEditorActionBarContributor.
- */
-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(ActionFactory.DELETE.getId(), getAction(editor, ActionFactory.DELETE.getId()));
-		actionBars.setGlobalActionHandler(ActionFactory.UNDO.getId(), getAction(editor, ActionFactory.UNDO.getId()));
-		actionBars.setGlobalActionHandler(ActionFactory.REDO.getId(), getAction(editor, ActionFactory.REDO.getId()));
-		actionBars.setGlobalActionHandler(ActionFactory.CUT.getId(), getAction(editor, ActionFactory.CUT.getId()));
-		actionBars.setGlobalActionHandler(ActionFactory.COPY.getId(), getAction(editor, ActionFactory.COPY.getId()));
-		actionBars.setGlobalActionHandler(ActionFactory.PASTE.getId(), getAction(editor, ActionFactory.PASTE.getId()));
-		actionBars.setGlobalActionHandler(ActionFactory.SELECT_ALL.getId(), getAction(editor, ActionFactory.SELECT_ALL.getId()));
-		actionBars.setGlobalActionHandler(ActionFactory.FIND.getId(), getAction(editor, ActionFactory.FIND.getId()));
-		actionBars.setGlobalActionHandler(IDEActionFactory.BOOKMARK.getId(), getAction(editor, IDEActionFactory.BOOKMARK.getId()));
-		actionBars.setGlobalActionHandler(IDEActionFactory.ADD_TASK.getId(), getAction(editor, IDEActionFactory.ADD_TASK.getId()));
-		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 e651452..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/MultiPageEditorExample.java
+++ /dev/null
@@ -1,220 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.multipageeditor;
-
-import java.io.StringWriter;
-import java.text.Collator;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-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.FillLayout;
-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.FontDialog;
-
-import org.eclipse.jface.dialogs.ErrorDialog;
-
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.editors.text.TextEditor;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.ide.IGotoMarker;
-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 implements IGotoMarker {
-
-	/** The text editor used in page 0. */
-	private TextEditor editor;
-
-	/** The index of the page containing the text editor */
-	private int editorIndex = 0;
-	
-	/** 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();
-		editorIndex = addPage(editor, getEditorInput());
-		setPageText(editorIndex, 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());
-}
-/**
- * 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.setFontList(text.getFont().getFontData());
-	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());
-}
-/* (non-Javadoc)
- * @see org.eclipse.ui.ide.IGotoMarker
- */
-public void gotoMarker(IMarker marker) {
-	setActivePage(editorIndex);
-	IDE.gotoMarker(editor, marker);
-}
-}
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 74743a3..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/messages.properties
+++ /dev/null
@@ -1,16 +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 Corporation - initial API and implementation
-###############################################################################
-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 f544c84..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/build.properties
+++ /dev/null
@@ -1,21 +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 Corporation - initial API and implementation
-###############################################################################
-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 c598113..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 069eb62..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 2e5c9f4..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/plugin.properties
+++ /dev/null
@@ -1,13 +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 Corporation - initial API and implementation
-###############################################################################
-Plugin.name = Multi-Page 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 63b844b..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/plugin.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui.examples.multipageeditor"
-   name="%Plugin.name"
-   version="2.1.0"
-   provider-name="%Plugin.providerName">
-
-   <runtime>
-      <library name="multipageeditor.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.core.runtime.compatibility"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor"/>
-      <import plugin="org.eclipse.ui.editors"/>
-      <import plugin="org.eclipse.ui.ide"/>
-      <import plugin="org.eclipse.jface.text"/>
-      <import plugin="org.eclipse.text"/>
-   </requires>
-
-
-   <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            name="%Editors.MultiPageEditorExample"
-            icon="icons/copy.gif"
-            extensions="mpe"
-            contributorClass="org.eclipse.ui.examples.multipageeditor.MultiPageContributor"
-            class="org.eclipse.ui.examples.multipageeditor.MultiPageEditorExample"
-            id="org.eclipse.ui.examples.multipageeditor.MultiPageEditorExample">
-      </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 ad14fb0..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="Eclipse UI Examples PropertySheet"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<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 936d6d6..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/.project
+++ /dev/null
@@ -1,37 +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.compatibility</project>
-		<project>org.eclipse.jface.text</project>
-		<project>org.eclipse.text</project>
-		<project>org.eclipse.ui</project>
-		<project>org.eclipse.ui.editors</project>
-		<project>org.eclipse.ui.ide</project>
-		<project>org.eclipse.ui.views</project>
-		<project>org.eclipse.ui.workbench.texteditor</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/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 f8697ec..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/Address.java
+++ /dev/null
@@ -1,329 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.propertysheet;
-
-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 d49023a..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/Birthday.java
+++ /dev/null
@@ -1,238 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.propertysheet;
-
-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 32cecb9..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/EmailAddress.java
+++ /dev/null
@@ -1,187 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.propertysheet;
-
-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 7511f15..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/EmailAddressValidator.java
+++ /dev/null
@@ -1,36 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.propertysheet;
-
-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 caa1903..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/GroupElement.java
+++ /dev/null
@@ -1,159 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.propertysheet;
-
-import java.util.Vector;
-
-import org.eclipse.swt.graphics.RGB;
-
-/**
- * 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;
-}
-/* (non-Javadoc)
- * @see org.eclipse.ui.model.IWorkbenchAdapter#getForeground(java.lang.Object)
- */
-public RGB getForeground(Object element) {
-    return null;
-}
-/* (non-Javadoc)
- * @see org.eclipse.ui.model.IWorkbenchAdapter#getBackground(java.lang.Object)
- */
-public RGB getBackground(Object element) {
-    return null;
-}
-}
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 a626b30..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/IUserConstants.java
+++ /dev/null
@@ -1,23 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.propertysheet;
-
-/**
- * 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 d02e553..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/MessageUtil.java
+++ /dev/null
@@ -1,56 +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 Corporation - initial API and implementation
- *******************************************************************************/
-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 89206f5..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/Name.java
+++ /dev/null
@@ -1,221 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.examples.propertysheet;
-
-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;
-	index1 = name.indexOf(' ');
-	if (index1 < 0)
-		index1 = name.length();
-	index2 = name.lastIndexOf(' ');
-	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 10e9b81..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/OrganizationElement.java
+++ /dev/null
@@ -1,179 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.propertysheet;
-
-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 f2538e6..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/PopupMenuActionDelegate.java
+++ /dev/null
@@ -1,46 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.propertysheet;
-
-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 b863e3d..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/PropertySheetContentOutlinePage.java
+++ /dev/null
@@ -1,59 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.propertysheet;
-
-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 f4cdd6f..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/PropertySheetPlugin.java
+++ /dev/null
@@ -1,41 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.propertysheet;
-
-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 647558a..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/StreetAddress.java
+++ /dev/null
@@ -1,238 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.propertysheet;
-
-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 1881030..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/UserEditor.java
+++ /dev/null
@@ -1,69 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.propertysheet;
-
-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 00381ee..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/UserElement.java
+++ /dev/null
@@ -1,523 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.propertysheet;
-
-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;
-}
-/* (non-Javadoc)
- * @see org.eclipse.ui.model.IWorkbenchAdapter#getForeground(java.lang.Object)
- */
-public RGB getForeground(Object element) {
-    return null;
-}
-/* (non-Javadoc)
- * @see org.eclipse.ui.model.IWorkbenchAdapter#getBackground(java.lang.Object)
- */
-public RGB getBackground(Object element) {
-    return null;
-}
-}
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 f7dd32c..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/UserFileParser.java
+++ /dev/null
@@ -1,102 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.propertysheet;
-
-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 bd2cd53..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/messages.properties
+++ /dev/null
@@ -1,108 +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 Corporation - initial API and implementation
-###############################################################################
-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 0a1ed0a..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 7fb518e..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/build.properties
+++ /dev/null
@@ -1,23 +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 Corporation - initial API and implementation
-###############################################################################
-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 c598113..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 7b59fba..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 93bcdca..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/plugin.properties
+++ /dev/null
@@ -1,14 +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 Corporation - initial API and implementation
-###############################################################################
-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 5e17ce1..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/plugin.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui.examples.propertysheet"
-   name="%Plugin.name"
-   version="2.1.0"
-   provider-name="%Plugin.providerName"
-   class="org.eclipse.ui.examples.propertysheet.PropertySheetPlugin">
-
-   <runtime>
-      <library name="propertysheet.jar"/>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.core.runtime.compatibility"/>
-      <import plugin="org.eclipse.ui.views"/>
-      <import plugin="org.eclipse.ui.ide"/>
-      <import plugin="org.eclipse.jface.text"/>
-      <import plugin="org.eclipse.text"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor"/>
-      <import plugin="org.eclipse.ui.editors"/>
-   </requires>
-
-
-   <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            name="%Editors.UserEditor"
-            icon="icons/obj16/usereditor.gif"
-            extensions="usr"
-            class="org.eclipse.ui.examples.propertysheet.UserEditor"
-            id="org.eclipse.ui.examples.propertysheet.UserEditor">
-      </editor>
-   </extension>
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            objectClass="org.eclipse.ui.examples.propertysheet.UserElement"
-            id="org.eclipse.ui.examples.propertysheet">
-         <action
-               label="%PopupMenus.action"
-               class="org.eclipse.ui.examples.propertysheet.PopupMenuActionDelegate"
-               menubarPath="additions"
-               enablesFor="1"
-               id="org.eclipse.ui.examples.propertysheet.action1">
-         </action>
-      </objectContribution>
-   </extension>
-   <extension
-         point="org.eclipse.help.contexts">
-      <contexts
-            file="HelpContexts.xml">
-      </contexts>
-   </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/.classpath b/examples/org.eclipse.ui.examples.rcp.browser/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/.cvsignore b/examples/org.eclipse.ui.examples.rcp.browser/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/.project b/examples/org.eclipse.ui.examples.rcp.browser/.project
deleted file mode 100644
index b694377..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/.project
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.examples.rcp.browser</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.core.runtime.compatibility</project>
-		<project>org.eclipse.ui</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.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/about.html b/examples/org.eclipse.ui.examples.rcp.browser/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/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.rcp.browser/build.properties b/examples/org.eclipse.ui.examples.rcp.browser/build.properties
deleted file mode 100644
index 32583cf..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = icons/,\
-               plugin.properties,\
-               plugin.xml,\
-               *.jar,\
-               about.html
-source.browser.jar = src/
-src.includes = about.html
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/config_gtk-amd64.ini b/examples/org.eclipse.ui.examples.rcp.browser/config_gtk-amd64.ini
deleted file mode 100644
index e9b07d3..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/config_gtk-amd64.ini
+++ /dev/null
@@ -1,57 +0,0 @@
-# Eclipse runtime configuration file

-# This file contains a number of key/value pairs that are merged into the 

-# System properties on system startup.  The values control the way the 

-# runtime is structured and runs.

-

-# Note:  Only platform:/base/ and file: URLs are supported.  In general the 

-# URLs given may include a version number (e.g., .../location_1.2.3).  

-# If a version is not specified, the system binds

-# to the location which matches exactly or to the versioned location with the

-# latest version number.  If a version number is given then only exact matches

-# are considered.

-

-# The URL for the runtime entry point.  The default value is

-# platform:/base/plugins/org.eclipse.osgi 

-#osgi.framework = platform:/base/plugins/org.eclipse.osgi

-

-# The classpath for the framework found at the osgi.framework location.  This 

-# comma-separated list contains either URLs or simple element names.  Simple

-# names are assumed to be relative to the framework's install directory.  

-# Typically this value need not be set as it is initialized by the framework itself.

-# Version match searching is not done for URLs listed here.

-#osgi.frameworkClassPath =

-

-# The comma-separated list of locations to search for the splash screen file (splash.bmp).

-# For each list element a subdirectory structure based on the pattern nl/<locale> is searched.

-# The system binds to the first matching file.  There is no default value.

-#osgi.splashPath = platform:/base/plugins/org.eclipse.platform

-

-# The location of the splash screen file.  If this value is set at system startup it is used 

-# in favour of the osgi.splashPath searching outlined above.  If the value is not set 

-# the searching is done and this key is bound to the result of the search.

-#osgi.splashLocation =

-

-# The comma-separated list of bundles which are automatically installed and optionally started

-# once the system is up and running.  Each entry if of the form

-#     <URL | simple bundle location>[@ [<startlevel>] [":start"]]

-# If the startlevel is omitted then the framework will use the default start level for the bundle.

-# If the "start" tag is added then the bundle will be marked as started after being installed.

-# Simple bundle locations are interepreted as relative to the framework's parent directory.

-# The startlevel indicates the OSGi start level at which the bundle should run.

-# If this value is not set, the system computes an appropriate default.

-osgi.bundles=org.eclipse.core.runtime@2:start, org.eclipse.core.expressions, org.eclipse.help, \

-  org.eclipse.jface,  org.eclipse.osgi.services, org.eclipse.osgi, org.eclipse.swt, org.eclipse.swt.gtk, org.eclipse.swt.gtk64, \

-  org.eclipse.ui.examples.rcp.browser, org.eclipse.ui.workbench, org.eclipse.ui

-

-# The product to run.  A given Eclipse configuration may contain many products.

-# The product identified will supply the branding (window icons, title bar text) etc 

-# as well as define the default application to run.  

-eclipse.product=org.eclipse.ui.examples.rcp.browser.product

-

-# The application to run.  The value specified here is the id of the application extension

-# the runtime will find, instantiate and execute once the system is up.  Note that typically 

-# the identified eclipse.product defines the default application to run.

-#eclipse.application=

-

-# End of file marker - must be here

-eof=eof
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/config_gtk.ini b/examples/org.eclipse.ui.examples.rcp.browser/config_gtk.ini
deleted file mode 100644
index f7dbae5..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/config_gtk.ini
+++ /dev/null
@@ -1,57 +0,0 @@
-# Eclipse runtime configuration file

-# This file contains a number of key/value pairs that are merged into the 

-# System properties on system startup.  The values control the way the 

-# runtime is structured and runs.

-

-# Note:  Only platform:/base/ and file: URLs are supported.  In general the 

-# URLs given may include a version number (e.g., .../location_1.2.3).  

-# If a version is not specified, the system binds

-# to the location which matches exactly or to the versioned location with the

-# latest version number.  If a version number is given then only exact matches

-# are considered.

-

-# The URL for the runtime entry point.  The default value is

-# platform:/base/plugins/org.eclipse.osgi 

-#osgi.framework = platform:/base/plugins/org.eclipse.osgi

-

-# The classpath for the framework found at the osgi.framework location.  This 

-# comma-separated list contains either URLs or simple element names.  Simple

-# names are assumed to be relative to the framework's install directory.  

-# Typically this value need not be set as it is initialized by the framework itself.

-# Version match searching is not done for URLs listed here.

-#osgi.frameworkClassPath =

-

-# The comma-separated list of locations to search for the splash screen file (splash.bmp).

-# For each list element a subdirectory structure based on the pattern nl/<locale> is searched.

-# The system binds to the first matching file.  There is no default value.

-#osgi.splashPath = platform:/base/plugins/org.eclipse.platform

-

-# The location of the splash screen file.  If this value is set at system startup it is used 

-# in favour of the osgi.splashPath searching outlined above.  If the value is not set 

-# the searching is done and this key is bound to the result of the search.

-#osgi.splashLocation =

-

-# The comma-separated list of bundles which are automatically installed and optionally started

-# once the system is up and running.  Each entry if of the form

-#     <URL | simple bundle location>[@ [<startlevel>] [":start"]]

-# If the startlevel is omitted then the framework will use the default start level for the bundle.

-# If the "start" tag is added then the bundle will be marked as started after being installed.

-# Simple bundle locations are interepreted as relative to the framework's parent directory.

-# The startlevel indicates the OSGi start level at which the bundle should run.

-# If this value is not set, the system computes an appropriate default.

-osgi.bundles=org.eclipse.core.runtime@2:start, org.eclipse.core.expressions, org.eclipse.help, \

-  org.eclipse.jface,  org.eclipse.osgi.services, org.eclipse.osgi, org.eclipse.swt, org.eclipse.swt.gtk, \

-  org.eclipse.ui.examples.rcp.browser, org.eclipse.ui.workbench, org.eclipse.ui

-

-# The product to run.  A given Eclipse configuration may contain many products.

-# The product identified will supply the branding (window icons, title bar text) etc 

-# as well as define the default application to run.  

-eclipse.product=org.eclipse.ui.examples.rcp.browser.product

-

-# The application to run.  The value specified here is the id of the application extension

-# the runtime will find, instantiate and execute once the system is up.  Note that typically 

-# the identified eclipse.product defines the default application to run.

-#eclipse.application=

-

-# End of file marker - must be here

-eof=eof
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/config_macosx-carbon.ini b/examples/org.eclipse.ui.examples.rcp.browser/config_macosx-carbon.ini
deleted file mode 100644
index 7b8b135..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/config_macosx-carbon.ini
+++ /dev/null
@@ -1,57 +0,0 @@
-# Eclipse runtime configuration file

-# This file contains a number of key/value pairs that are merged into the 

-# System properties on system startup.  The values control the way the 

-# runtime is structured and runs.

-

-# Note:  Only platform:/base/ and file: URLs are supported.  In general the 

-# URLs given may include a version number (e.g., .../location_1.2.3).  

-# If a version is not specified, the system binds

-# to the location which matches exactly or to the versioned location with the

-# latest version number.  If a version number is given then only exact matches

-# are considered.

-

-# The URL for the runtime entry point.  The default value is

-# platform:/base/plugins/org.eclipse.osgi 

-#osgi.framework = platform:/base/plugins/org.eclipse.osgi

-

-# The classpath for the framework found at the osgi.framework location.  This 

-# comma-separated list contains either URLs or simple element names.  Simple

-# names are assumed to be relative to the framework's install directory.  

-# Typically this value need not be set as it is initialized by the framework itself.

-# Version match searching is not done for URLs listed here.

-#osgi.frameworkClassPath =

-

-# The comma-separated list of locations to search for the splash screen file (splash.bmp).

-# For each list element a subdirectory structure based on the pattern nl/<locale> is searched.

-# The system binds to the first matching file.  There is no default value.

-#osgi.splashPath = platform:/base/plugins/org.eclipse.platform

-

-# The location of the splash screen file.  If this value is set at system startup it is used 

-# in favour of the osgi.splashPath searching outlined above.  If the value is not set 

-# the searching is done and this key is bound to the result of the search.

-#osgi.splashLocation =

-

-# The comma-separated list of bundles which are automatically installed and optionally started

-# once the system is up and running.  Each entry if of the form

-#     <URL | simple bundle location>[@ [<startlevel>] [":start"]]

-# If the startlevel is omitted then the framework will use the default start level for the bundle.

-# If the "start" tag is added then the bundle will be marked as started after being installed.

-# Simple bundle locations are interepreted as relative to the framework's parent directory.

-# The startlevel indicates the OSGi start level at which the bundle should run.

-# If this value is not set, the system computes an appropriate default.

-osgi.bundles=org.eclipse.core.runtime@2:start, org.eclipse.core.expressions, org.eclipse.help, \

-  org.eclipse.jface,  org.eclipse.osgi.services, org.eclipse.osgi, org.eclipse.swt, org.eclipse.swt.carbon, \

-  org.eclipse.ui.examples.rcp.browser, org.eclipse.ui.workbench, org.eclipse.ui

-

-# The product to run.  A given Eclipse configuration may contain many products.

-# The product identified will supply the branding (window icons, title bar text) etc 

-# as well as define the default application to run.  

-eclipse.product=org.eclipse.ui.examples.rcp.browser.product

-

-# The application to run.  The value specified here is the id of the application extension

-# the runtime will find, instantiate and execute once the system is up.  Note that typically 

-# the identified eclipse.product defines the default application to run.

-#eclipse.application=

-

-# End of file marker - must be here

-eof=eof
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/config_motif.ini b/examples/org.eclipse.ui.examples.rcp.browser/config_motif.ini
deleted file mode 100644
index 105ecf9..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/config_motif.ini
+++ /dev/null
@@ -1,57 +0,0 @@
-# Eclipse runtime configuration file

-# This file contains a number of key/value pairs that are merged into the 

-# System properties on system startup.  The values control the way the 

-# runtime is structured and runs.

-

-# Note:  Only platform:/base/ and file: URLs are supported.  In general the 

-# URLs given may include a version number (e.g., .../location_1.2.3).  

-# If a version is not specified, the system binds

-# to the location which matches exactly or to the versioned location with the

-# latest version number.  If a version number is given then only exact matches

-# are considered.

-

-# The URL for the runtime entry point.  The default value is

-# platform:/base/plugins/org.eclipse.osgi 

-#osgi.framework = platform:/base/plugins/org.eclipse.osgi

-

-# The classpath for the framework found at the osgi.framework location.  This 

-# comma-separated list contains either URLs or simple element names.  Simple

-# names are assumed to be relative to the framework's install directory.  

-# Typically this value need not be set as it is initialized by the framework itself.

-# Version match searching is not done for URLs listed here.

-#osgi.frameworkClassPath =

-

-# The comma-separated list of locations to search for the splash screen file (splash.bmp).

-# For each list element a subdirectory structure based on the pattern nl/<locale> is searched.

-# The system binds to the first matching file.  There is no default value.

-#osgi.splashPath = platform:/base/plugins/org.eclipse.platform

-

-# The location of the splash screen file.  If this value is set at system startup it is used 

-# in favour of the osgi.splashPath searching outlined above.  If the value is not set 

-# the searching is done and this key is bound to the result of the search.

-#osgi.splashLocation =

-

-# The comma-separated list of bundles which are automatically installed and optionally started

-# once the system is up and running.  Each entry if of the form

-#     <URL | simple bundle location>[@ [<startlevel>] [":start"]]

-# If the startlevel is omitted then the framework will use the default start level for the bundle.

-# If the "start" tag is added then the bundle will be marked as started after being installed.

-# Simple bundle locations are interepreted as relative to the framework's parent directory.

-# The startlevel indicates the OSGi start level at which the bundle should run.

-# If this value is not set, the system computes an appropriate default.

-osgi.bundles=org.eclipse.core.runtime@2:start, org.eclipse.core.expressions, org.eclipse.help, \

-  org.eclipse.jface,  org.eclipse.osgi.services, org.eclipse.osgi, org.eclipse.swt, org.eclipse.swt.motif, \

-  org.eclipse.ui.examples.rcp.browser, org.eclipse.ui.workbench, org.eclipse.ui

-

-# The product to run.  A given Eclipse configuration may contain many products.

-# The product identified will supply the branding (window icons, title bar text) etc 

-# as well as define the default application to run.  

-eclipse.product=org.eclipse.ui.examples.rcp.browser.product

-

-# The application to run.  The value specified here is the id of the application extension

-# the runtime will find, instantiate and execute once the system is up.  Note that typically 

-# the identified eclipse.product defines the default application to run.

-#eclipse.application=

-

-# End of file marker - must be here

-eof=eof
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/config_win32.ini b/examples/org.eclipse.ui.examples.rcp.browser/config_win32.ini
deleted file mode 100644
index 4c548bd..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/config_win32.ini
+++ /dev/null
@@ -1,57 +0,0 @@
-# Eclipse runtime configuration file

-# This file contains a number of key/value pairs that are merged into the 

-# System properties on system startup.  The values control the way the 

-# runtime is structured and runs.

-

-# Note:  Only platform:/base/ and file: URLs are supported.  In general the 

-# URLs given may include a version number (e.g., .../location_1.2.3).  

-# If a version is not specified, the system binds

-# to the location which matches exactly or to the versioned location with the

-# latest version number.  If a version number is given then only exact matches

-# are considered.

-

-# The URL for the runtime entry point.  The default value is

-# platform:/base/plugins/org.eclipse.osgi 

-#osgi.framework = platform:/base/plugins/org.eclipse.osgi

-

-# The classpath for the framework found at the osgi.framework location.  This 

-# comma-separated list contains either URLs or simple element names.  Simple

-# names are assumed to be relative to the framework's install directory.  

-# Typically this value need not be set as it is initialized by the framework itself.

-# Version match searching is not done for URLs listed here.

-#osgi.frameworkClassPath =

-

-# The comma-separated list of locations to search for the splash screen file (splash.bmp).

-# For each list element a subdirectory structure based on the pattern nl/<locale> is searched.

-# The system binds to the first matching file.  There is no default value.

-#osgi.splashPath = platform:/base/plugins/org.eclipse.platform

-

-# The location of the splash screen file.  If this value is set at system startup it is used 

-# in favour of the osgi.splashPath searching outlined above.  If the value is not set 

-# the searching is done and this key is bound to the result of the search.

-#osgi.splashLocation =

-

-# The comma-separated list of bundles which are automatically installed and optionally started

-# once the system is up and running.  Each entry if of the form

-#     <URL | simple bundle location>[@ [<startlevel>] [":start"]]

-# If the startlevel is omitted then the framework will use the default start level for the bundle.

-# If the "start" tag is added then the bundle will be marked as started after being installed.

-# Simple bundle locations are interepreted as relative to the framework's parent directory.

-# The startlevel indicates the OSGi start level at which the bundle should run.

-# If this value is not set, the system computes an appropriate default.

-osgi.bundles=org.eclipse.core.runtime@2:start, org.eclipse.core.expressions, org.eclipse.help, \

-  org.eclipse.jface,  org.eclipse.osgi.services, org.eclipse.osgi, org.eclipse.swt, org.eclipse.swt.win32, \

-  org.eclipse.ui.examples.rcp.browser, org.eclipse.ui.workbench, org.eclipse.ui

-

-# The product to run.  A given Eclipse configuration may contain many products.

-# The product identified will supply the branding (window icons, title bar text) etc 

-# as well as define the default application to run.  

-eclipse.product=org.eclipse.ui.examples.rcp.browser.product

-

-# The application to run.  The value specified here is the id of the application extension

-# the runtime will find, instantiate and execute once the system is up.  Note that typically 

-# the identified eclipse.product defines the default application to run.

-#eclipse.application=

-

-# End of file marker - must be here

-eof=eof
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/icons/eclipse.gif b/examples/org.eclipse.ui.examples.rcp.browser/icons/eclipse.gif
deleted file mode 100644
index 6ca37e0..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/icons/eclipse.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/icons/eclipse32.gif b/examples/org.eclipse.ui.examples.rcp.browser/icons/eclipse32.gif
deleted file mode 100644
index f71a8f6..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/icons/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/icons/eclipse_lg.gif b/examples/org.eclipse.ui.examples.rcp.browser/icons/eclipse_lg.gif
deleted file mode 100644
index 27c0838..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/icons/eclipse_lg.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/plugin.properties b/examples/org.eclipse.ui.examples.rcp.browser/plugin.properties
deleted file mode 100644
index ce56de6..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/plugin.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 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 Corporation - initial API and implementation
-###############################################################################
-pluginName= Browser Example
-providerName= Eclipse.org
-
-productName= Browser Example
-appName= Browser Example App
-perspectives.browser.name= Browser Example
-views.category.name= Browser Example
-views.browser.name= Browser
-views.history.name= History
-
-swtAppName= BrowserExample
-aboutText= Browser Example \n\n\
-(c) Copyright Eclipse contributors and others 2003, 2004.  All rights reserved.\n\
-Visit http://www.eclipse.org/platform
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/plugin.xml b/examples/org.eclipse.ui.examples.rcp.browser/plugin.xml
deleted file mode 100644
index 92dde0e..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/plugin.xml
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui.examples.rcp.browser"
-   name="%pluginName"
-   version="3.0.0"
-   provider-name="%providerName">
-
-   <runtime>
-      <library name="browser.jar">
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.ui"/>
-   </requires>
-
-   <extension
-         id="app"
-         name="%appName"
-         point="org.eclipse.core.runtime.applications">
-      <application>
-         <run
-            class="org.eclipse.ui.examples.rcp.browser.BrowserApp">
-         </run>
-      </application>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectives">
-      <perspective
-            name="%perspectives.browser.name"
-            class="org.eclipse.ui.examples.rcp.browser.BrowserPerspectiveFactory"
-            id="org.eclipse.ui.examples.rcp.browser.browserPerspective"
-            fixed="true"/>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views">
-      <category
-            name="%views.category.name"
-            id="org.eclipse.ui.examples.rcp.browser"/>
-      <view
-            id="org.eclipse.ui.examples.rcp.browser.browserView"
-            name="%views.browser.name"
-            icon="icons/eclipse.gif"
-            class="org.eclipse.ui.examples.rcp.browser.BrowserView"
-            category="org.eclipse.ui.examples.rcp.browser"
-            allowMultiple="true"/>
-      <view
-            id="org.eclipse.ui.examples.rcp.browser.historyView"
-            name="%views.history.name"
-            icon="icons/eclipse.gif"
-            class="org.eclipse.ui.examples.rcp.browser.HistoryView"
-            category="org.eclipse.ui.examples.rcp.browser"/>
-   </extension>
-   <extension
-         id="product"
-         point="org.eclipse.core.runtime.products">
-      <product
-            name="%productName"
-            application="org.eclipse.ui.examples.rcp.browser.app">
-         <property
-               name="appName"
-               value="%swtAppName"/>
-         <property
-               name="windowImages"
-               value="icons/eclipse.gif,icons/eclipse32.gif"/>
-         <property
-               name="aboutText"
-               value="%aboutText"/>
-         <property
-               name="aboutImage"
-               value="icons/eclipse_lg.gif"/>
-      </product>
-   </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/readme.html b/examples/org.eclipse.ui.examples.rcp.browser/readme.html
deleted file mode 100644
index e24988c..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/readme.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>Eclipse RCP Browser Example</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>Eclipse RCP Browser Example</h2>
- 
-<p>Last updated May 21, 2004</p>	
-
-<h3>Description</h3>
-<p>This is an example of a simple Eclipse Rich Client Platform (RCP) application.
-It is a bare bones web browser, using the SWT Browser control.
-</p>
-<p>
-The code is in package <code>org.eclipse.ui.examples.browser</code>, and consists
-of an application class (<code>BrowserApp</code>), a workbench advisor for 
-configuring the workbench (<code>BrowserAdvisor</code>), and a single perspective 
-(<code>BrowserPerspectiveFactory</code>) containing a single view (<code>BrowserView</code>).
-</p>
-<p>
-The application defines several built-in actions in the menu and toolbar that are
-typical for web browsers (Back, Forward, Stop, Refresh).  These are added in 
-<code>BrowserActionBuilder</code> when a new window is opened (see 
-<code>BrowserAdvisor.fillActionBars(...)</code>).  These actions are defined as 
-retargetable actions, for which the view registers handling actions.
-</p>
-<p>
-The view consists of an address bar (a <code>Label</code> and a <code>Text</code>
-control) and the <code>Browser</code> control.  To handle status and progress
-events, it simply passes on the relevant events from the <code>Browser</code> 
-control to the Workbench status line.
-
-<h3>Running the example</h3>
-To run the RCP Browser example from within the Eclipse SDK:
-<ol>
-<li>Load project org.eclipse.ui.examples.rcp.browser
-from the Eclipse repository into a self-hosting workspace.</li>
-<li>Create a new "Run-time workbench" launch configuration called "Browser Example".</li>
-<li>On the "Arguments" tab, select "Run a product" and choose select "org.eclipse.ui.examples.rcp.browser.product" from the drop-down.</li>
-<li>On the "Plug-ins" tab, configure it to include only the 
-  required plug-ins:
-  <ul>
-  <li>Press "Deselect All"</li>
-  <li>Check "org.eclipse.ui.examples.rcp.browser"</li>
-  <li>Press "Add Required Plug-ins"</li>
-  <li>Check "org.eclipse.update.configurator"</li>
-  </ul>
-</li>
-<li>Run or debug the launch config.</li>
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserActionBuilder.java b/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserActionBuilder.java
deleted file mode 100644
index 9cf40d4..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserActionBuilder.java
+++ /dev/null
@@ -1,167 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.rcp.browser;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.ICoolBarManager;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.action.ToolBarContributionItem;
-import org.eclipse.jface.action.ToolBarManager;
-import org.eclipse.swt.SWT;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.RetargetAction;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-
-/**
- * Builds the actions and populates the menubar and toolbar when a new window
- * is opened.
- * This work is factored into a separate class to avoid cluttering 
- * <code>BrowserAdvisor</code>
- * <p>
- * This adds several actions to the menus and toolbar that are typical for 
- * web browsers (e.g. Back, Forward, Stop, Refresh).  These are defined as 
- * retargetable actions, for which the <code>BrowserView</code> registers 
- * handling actions.
- * 
- * @since 3.0
- */
-public class BrowserActionBuilder {
-
-	private IWorkbenchWindow window;
-	private ActionFactory.IWorkbenchAction newWindowAction, quitAction, aboutAction;
-	private RetargetAction backAction, forwardAction, stopAction, refreshAction;
-    private IAction historyAction;
-    private IAction newTabAction;
-
-	public BrowserActionBuilder(IWorkbenchWindow window) {
-		this.window = window;
-	}
-
-	public void fillActionBars(IActionBarConfigurer configurer, int flags) {
-		if ((flags & WorkbenchAdvisor.FILL_PROXY) == 0) {
-			makeActions();
-		}
-		if ((flags & WorkbenchAdvisor.FILL_MENU_BAR) != 0) {
-			fillMenuBar(configurer.getMenuManager());
-		}
-		if ((flags & WorkbenchAdvisor.FILL_COOL_BAR) != 0) {
-			fillCoolBar(configurer.getCoolBarManager());
-		}
-	}
-	
-	private void makeActions() {
-		ISharedImages images = window.getWorkbench().getSharedImages();
-		
-		newWindowAction = ActionFactory.OPEN_NEW_WINDOW.create(window);
-		newWindowAction.setText("&New Window");
-		
-		newTabAction = new Action("New &Tab") {
-		    int counter = 0;
-            public void run() {
-                try {
-                    String secondaryId = Integer.toString(++counter);
-                    window.getActivePage().showView(BrowserApp.BROWSER_VIEW_ID, secondaryId, IWorkbenchPage.VIEW_ACTIVATE);
-                } catch (PartInitException e) {
-                    e.printStackTrace();
-                }
-            }
-		};
-		
-		quitAction = ActionFactory.QUIT.create(window);
-		
-		backAction = new RetargetAction("back", "&Back");  //$NON-NLS-1$
-		backAction.setToolTipText("Back");
-		backAction.setImageDescriptor(images.getImageDescriptor(ISharedImages.IMG_TOOL_BACK));
-		window.getPartService().addPartListener(backAction);
-		
-		forwardAction = new RetargetAction("forward", "&Forward");  //$NON-NLS-1$
-		forwardAction.setToolTipText("Forward");
-		forwardAction.setImageDescriptor(images.getImageDescriptor(ISharedImages.IMG_TOOL_FORWARD));
-		window.getPartService().addPartListener(forwardAction);
-		
-		stopAction = new RetargetAction("stop", "Sto&p");  //$NON-NLS-1$
-		stopAction.setToolTipText("Stop");
-		window.getPartService().addPartListener(stopAction);
-		
-		refreshAction = new RetargetAction("refresh", "&Refresh");  //$NON-NLS-1$
-		refreshAction.setToolTipText("Refresh");
-		window.getPartService().addPartListener(refreshAction);
-		
-		aboutAction = ActionFactory.ABOUT.create(window);
-		
-		historyAction = new Action("History") {
-		    public void run() {
-		        try {
-                    window.getActivePage().showView(BrowserApp.HISTORY_VIEW_ID);
-                } catch (PartInitException e) {
-                    e.printStackTrace();
-                }
-		    }
-		};
-	}
-
-	public void fillMenuBar(IMenuManager menuBar) {
-		IMenuManager fileMenu = new MenuManager("&File", "file");  //$NON-NLS-2$
-		menuBar.add(fileMenu);
-		fileMenu.add(newWindowAction);
-		fileMenu.add(newTabAction);
-		fileMenu.add(new Separator());
-		fileMenu.add(quitAction);
-		
-		IMenuManager viewMenu = new MenuManager("&View", "view");  //$NON-NLS-2$
-		menuBar.add(viewMenu);
-		viewMenu.add(backAction);
-		viewMenu.add(forwardAction);
-		viewMenu.add(stopAction);
-		viewMenu.add(refreshAction);
-		viewMenu.add(new Separator("views")); //$NON-NLS-1$
-		viewMenu.add(historyAction);
-
-		IMenuManager helpMenu = new MenuManager("&Help", "help");  //$NON-NLS-2$
-		menuBar.add(helpMenu);
-		helpMenu.add(aboutAction);
-	}
-
-	public void fillCoolBar(ICoolBarManager coolBar) {
-		IToolBarManager toolBar = new ToolBarManager(SWT.FLAT | SWT.RIGHT);
-		coolBar.add(new ToolBarContributionItem(toolBar, "standard"));
-		
-		// For the Back and Forward actions, force their text to be shown on the toolbar,
-		// not just their image.  For the remaining actions, the ActionContributionItem
-		// is created implicitly with the default presentation mode.
-		ActionContributionItem backCI = new ActionContributionItem(backAction);
-		backCI.setMode(ActionContributionItem.MODE_FORCE_TEXT);
-		toolBar.add(backCI);
-		
-		ActionContributionItem forwardCI = new ActionContributionItem(forwardAction);
-		forwardCI.setMode(ActionContributionItem.MODE_FORCE_TEXT);
-		toolBar.add(forwardCI);
-		
-		toolBar.add(stopAction);
-		toolBar.add(refreshAction);
-	}
-	
-	public void dispose() {
-	    newWindowAction.dispose();
-	    quitAction.dispose();
-	    aboutAction.dispose();
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserAdvisor.java b/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserAdvisor.java
deleted file mode 100644
index fe059d5..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserAdvisor.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003,2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.rcp.browser;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-
-/**
- * The workbench advisor for the browser example.
- * Configures the workbench as needed for the browser example, including
- * specifying the default perspective id.
- * Configures each new workbench window as it is being opened.
- * 
- * @since 3.0
- */
-public class BrowserAdvisor extends WorkbenchAdvisor {
-
-    /**
-     * Key to look up the action builder on the window configurer.
-     */
-    private static final String BUILDER_KEY = "builder"; //$NON-NLS-1$
-    
-	/**
-	 * Constructs a new <code>BrowserAdvisor</code>.
-	 */
-	public BrowserAdvisor() {
-		// do nothing
-	}
-	
-    public void initialize(IWorkbenchConfigurer configurer) {
-        super.initialize(configurer);
-//        configurer.setSaveAndRestore(true);
-    }
-    
-//  Uncomment the code below for a custom window layout
-//
-//	public void createWindowContents(IWorkbenchWindowConfigurer configurer, Shell shell) {
-//	    Menu menuBar = configurer.createMenuBar();
-//	    shell.setMenuBar(menuBar);
-//	    
-//	    GridLayout shellLayout = new GridLayout();
-//	    shellLayout.marginWidth = 0;
-//	    shellLayout.marginHeight = 0;
-//	    shellLayout.verticalSpacing = 0;
-//	    shell.setLayout(shellLayout);
-//
-//		if (!"carbon".equals(SWT.getPlatform())) { //$NON-NLS-1$
-//		    Label sep1 = new Label(shell, SWT.SEPARATOR | SWT.HORIZONTAL);
-//		    sep1.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
-//		}
-//	    Control coolBar = configurer.createCoolBarControl(shell);
-//	    coolBar.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
-//
-//	    Label sep2 = new Label(shell, SWT.SEPARATOR | SWT.HORIZONTAL);
-//	    sep2.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
-//	    
-//	    Control pageComposite = configurer.createPageComposite(shell);
-//	    pageComposite.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true));
-//
-//	    Label sep3 = new Label(shell, SWT.SEPARATOR | SWT.HORIZONTAL);
-//	    sep3.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
-//	    Control statusLine = configurer.createStatusLineControl(shell);
-//	    statusLine.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
-//	    shell.layout(true);
-//	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.application.WorkbenchAdvisor
-	 */
-	public String getInitialWindowPerspectiveId() {
-		return BrowserApp.PLUGIN_ID + ".browserPerspective"; //$NON-NLS-1$
-	}
-		
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.application.WorkbenchAdvisor
-	 */
-	public void preWindowOpen(IWorkbenchWindowConfigurer configurer) {
-		super.preWindowOpen(configurer);
-		
-		// Default window title is the product name, so don't need to set it
-		// explicitly anymore.
-//		configurer.setTitle("Browser Example");
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.application.WorkbenchAdvisor
-	 */
-	public void fillActionBars(IWorkbenchWindow window, IActionBarConfigurer configurer, int flags) {
-		// FILL_PROXY is not currently handled
-		Assert.isTrue((flags & WorkbenchAdvisor.FILL_PROXY) == 0);
-		BrowserActionBuilder builder = new BrowserActionBuilder(window);
-		getWorkbenchConfigurer().getWindowConfigurer(window).setData(BUILDER_KEY, builder); 
-		builder.fillActionBars(configurer, flags);
-	}
-	
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.application.WorkbenchAdvisor#postWindowClose(org.eclipse.ui.application.IWorkbenchWindowConfigurer)
-     */
-    public void postWindowClose(IWorkbenchWindowConfigurer configurer) {
-        super.postWindowClose(configurer);
-        BrowserActionBuilder builder = (BrowserActionBuilder) configurer.getData(BUILDER_KEY);
-        if (builder != null) {
-            builder.dispose();
-        }
-    }
-}
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserApp.java b/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserApp.java
deleted file mode 100644
index e279c0e..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserApp.java
+++ /dev/null
@@ -1,78 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.rcp.browser;
-
-import org.eclipse.core.runtime.IPlatformRunnable;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * The application class for the RCP Browser Example.
- * Creates and runs the Workbench, passing a <code>BrowserAdvisor</code>
- * as the workbench advisor.
- * 
- * @issue Couldn't run without initial perspective -- it failed with NPE 
- *   on WorkbenchWindow.openPage (called from Workbench.openFirstTimeWindow).  Advisor is currently required to override 
- *   getInitialWindowPerspectiveId.
- * 
- * @issue If shortcut bar is hidden, and last view in perspective is closed, there's no way to get it open again.
- * 
- * @since 3.0
- */
-public class BrowserApp implements IPlatformRunnable {
-
-	/**
-	 * ID of the RCP Browser Example plug-in.
-	 */
-	public static final String PLUGIN_ID = "org.eclipse.ui.examples.rcp.browser"; //$NON-NLS-1$
-
-	/**
-	 * ID of the Browser perspective.
-	 */
-	public static final String BROWSER_PERSPECTIVE_ID = PLUGIN_ID + ".browserPerspective"; //$NON-NLS-1$
-
-	/**
-	 * ID of the Browser view.
-	 */
-	public static final String BROWSER_VIEW_ID = PLUGIN_ID + ".browserView"; //$NON-NLS-1$
-
-	/**
-	 * ID of the History view.
-	 */
-	public static final String HISTORY_VIEW_ID = PLUGIN_ID + ".historyView"; //$NON-NLS-1$
-	
-	/**
-	 * Constructs a new <code>BrowserApp</code>.
-	 */
-	public BrowserApp() {
-		// do nothing
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.boot.IPlatformRunnable#run(java.lang.Object)
-	 */
-	public Object run(Object args) throws Exception {
-		Display display = PlatformUI.createDisplay();
-		try {
-			int code = PlatformUI.createAndRunWorkbench(display,
-					new BrowserAdvisor());
-			// exit the application with an appropriate return code
-			return code == PlatformUI.RETURN_RESTART
-					? EXIT_RESTART
-					: EXIT_OK;
-		} finally {
-			if (display != null)
-				display.dispose();
-		}
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserPerspectiveFactory.java b/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserPerspectiveFactory.java
deleted file mode 100644
index 7815603..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserPerspectiveFactory.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.eclipse.ui.examples.rcp.browser;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-import org.eclipse.ui.IViewLayout;
-
-/**
- * The perspective factory for the RCP Browser Example's perspective.
- * 
- * @since 3.0
- */
-public class BrowserPerspectiveFactory implements IPerspectiveFactory {
-
-	/**
-	 * Constructs a new <code>BrowserPerspectiveFactory</code>.
-	 */
-	public BrowserPerspectiveFactory() {
-		// do nothing
-	}
-
-	/**
-	 * Creates the initial layout of the Browser perspective.
-	 */
-	public void createInitialLayout(IPageLayout layout) {
-		layout.addView(BrowserApp.BROWSER_VIEW_ID, IPageLayout.RIGHT, .25f, IPageLayout.ID_EDITOR_AREA);
-		layout.addPlaceholder(BrowserApp.HISTORY_VIEW_ID, IPageLayout.LEFT, .3f, IPageLayout.ID_EDITOR_AREA); //$NON-NLS-1$
-		IViewLayout historyLayout = layout.getViewLayout(BrowserApp.HISTORY_VIEW_ID);
-		historyLayout.setCloseable(true);
-		historyLayout.setMoveable(true);
-		layout.setEditorAreaVisible(false);
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserView.java b/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserView.java
deleted file mode 100644
index 92abc33..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserView.java
+++ /dev/null
@@ -1,212 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.examples.rcp.browser;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.browser.Browser;
-import org.eclipse.swt.browser.LocationAdapter;
-import org.eclipse.swt.browser.LocationEvent;
-import org.eclipse.swt.browser.ProgressAdapter;
-import org.eclipse.swt.browser.ProgressEvent;
-import org.eclipse.swt.browser.StatusTextEvent;
-import org.eclipse.swt.browser.StatusTextListener;
-import org.eclipse.swt.browser.TitleEvent;
-import org.eclipse.swt.browser.TitleListener;
-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.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IStatusLineManager;
-
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.part.ViewPart;
-
-
-/**
- * The Browser view.  This consists of a <code>Browser</code> control, and an
- * address bar consisting of a <code>Label</code> and a <code>Text</code> 
- * control.  This registers handling actions for the retargetable actions added 
- * by <code>BrowserActionBuilder</code> (Back, Forward, Stop, Refresh).  
- * This also hooks listeners on the Browser control for status and progress
- * messages, and redirects these to the status line.
- * 
- * @since 3.0
- */
-public class BrowserView extends ViewPart {
-	
-	/**
-	 * Debug flag.  When true, status and progress messages are sent to the
-	 * console in addition to the status line.
-	 */
-	private static final boolean DEBUG = false;
-	
-	private Browser browser;
-	private Text location;
-	private String initialUrl = "http://eclipse.org"; //$NON-NLS-1$
-	
-	private Action backAction = new Action() {
-		{ setText("Back"); }
-		public void run() {
-			browser.back();
-		}
-	};
-	
-	private Action forwardAction = new Action() {
-		{ setText("Forward"); }
-		public void run() {
-			browser.forward();
-		}
-	};
-
-	private Action stopAction = new Action() {
-		{ setText("Stop"); }
-		public void run() {
-			browser.stop();
-			// cancel any partial progress.
-			getViewSite().getActionBars().getStatusLineManager().getProgressMonitor().done();
-		}
-	};
-
-	private Action refreshAction = new Action() {
-		{ setText("Refresh"); }
-		public void run() {
-			browser.refresh();
-		}
-	};
-	
-	/**
-	 * Constructs a new <code>BrowserView</code>.
-	 */
-	public BrowserView() {
-		// do nothing
-	}
-	
-    public void init(IViewSite site, IMemento memento) throws PartInitException {
-        super.init(site);
-        if (memento != null) {
-	        String u = memento.getString("url"); //$NON-NLS-1$
-	        if (u != null) {
-	            initialUrl = u;
-	        }
-        }
-    }
-    
-    public void saveState(IMemento memento) {
-        memento.putString("url", browser.getUrl());
-    }
-    
-	public void createPartControl(Composite parent) {
-		browser = createBrowser(parent, getViewSite().getActionBars());
-		browser.setUrl(initialUrl);
-	}
-
-	public void setFocus() {
-		if (browser != null && !browser.isDisposed()) {
-			browser.setFocus();
-		}
-	}
-	
-	private Browser createBrowser(Composite parent, final IActionBars actionBars) {
-		
-		GridLayout gridLayout = new GridLayout();
-		gridLayout.numColumns = 2;
-		parent.setLayout(gridLayout);
-		
-		Label labelAddress = new Label(parent, SWT.NONE);
-		labelAddress.setText("A&ddress");
-		
-		location = new Text(parent, SWT.BORDER);
-		GridData data = new GridData();
-		data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.grabExcessHorizontalSpace = true;
-		location.setLayoutData(data);
-
-		browser = new Browser(parent, SWT.NONE);
-		data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.verticalAlignment = GridData.FILL;
-		data.horizontalSpan = 2;
-		data.grabExcessHorizontalSpace = true;
-		data.grabExcessVerticalSpace = true;
-		browser.setLayoutData(data);
-
-		browser.addProgressListener(new ProgressAdapter() {
-			IProgressMonitor monitor = actionBars.getStatusLineManager().getProgressMonitor();
-			boolean working = false;
-			int workedSoFar;
-			public void changed(ProgressEvent event) {
-				if (DEBUG) {
-					System.out.println("changed: " + event.current + "/" + event.total);
-				}
-				if (event.total == 0) return;
-				if (!working) {
-					if (event.current == event.total) return;
-					monitor.beginTask("", event.total); //$NON-NLS-1$
-					workedSoFar = 0;
-					working = true;
-				}
-				monitor.worked(event.current - workedSoFar);
-				workedSoFar = event.current;
-			}
-			public void completed(ProgressEvent event) {
-				if (DEBUG) {
-					System.out.println("completed: " + event.current + "/" + event.total);
-				}
-				monitor.done();
-				working = false;
-			}
-		});
-		browser.addStatusTextListener(new StatusTextListener() {
-			IStatusLineManager status = actionBars.getStatusLineManager(); 
-			public void changed(StatusTextEvent event) {
-				if (DEBUG) {
-					System.out.println("status: " + event.text);
-				}
-				status.setMessage(event.text);
-			}
-		});
-		browser.addLocationListener(new LocationAdapter() {
-			public void changed(LocationEvent event) {
-				location.setText(event.location);
-			}
-		});
-		browser.addTitleListener(new TitleListener() {
-            public void changed(TitleEvent event) {
-                setPartName(event.title);
-            }
-        });
-		location.addSelectionListener(new SelectionAdapter() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				browser.setUrl(location.getText());
-			}
-		});
-		
-		actionBars.setGlobalActionHandler("back", backAction); //$NON-NLS-1$
-		actionBars.setGlobalActionHandler("forward", forwardAction); //$NON-NLS-1$
-		actionBars.setGlobalActionHandler("stop", stopAction); //$NON-NLS-1$
-		actionBars.setGlobalActionHandler("refresh", refreshAction); //$NON-NLS-1$
-		
-		return browser;
-	}
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/HistoryView.java b/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/HistoryView.java
deleted file mode 100644
index ff66453..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/HistoryView.java
+++ /dev/null
@@ -1,260 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.examples.rcp.browser;
-
-import java.util.ArrayList;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.part.*;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.*;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.SWT;
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * Mockup of a browser history view.
- * For now, it's just the sample view generated by PDE.
- */
-public class HistoryView extends ViewPart {
-	private TreeViewer viewer;
-	private DrillDownAdapter drillDownAdapter;
-	private Action action1;
-	private Action action2;
-	private Action doubleClickAction;
-
-	/*
-	 * The content provider class is responsible for
-	 * providing objects to the view. It can wrap
-	 * existing objects in adapters or simply return
-	 * objects as-is. These objects may be sensitive
-	 * to the current input of the view, or ignore
-	 * it and always show the same content 
-	 * (like Task List, for example).
-	 */
-	 
-	class TreeObject implements IAdaptable {
-		private String name;
-		private TreeParent parent;
-		
-		public TreeObject(String name) {
-			this.name = name;
-		}
-		public String getName() {
-			return name;
-		}
-		public void setParent(TreeParent parent) {
-			this.parent = parent;
-		}
-		public TreeParent getParent() {
-			return parent;
-		}
-		public String toString() {
-			return getName();
-		}
-		public Object getAdapter(Class key) {
-			return null;
-		}
-	}
-	
-	class TreeParent extends TreeObject {
-		private ArrayList children;
-		public TreeParent(String name) {
-			super(name);
-			children = new ArrayList();
-		}
-		public void addChild(TreeObject child) {
-			children.add(child);
-			child.setParent(this);
-		}
-		public void removeChild(TreeObject child) {
-			children.remove(child);
-			child.setParent(null);
-		}
-		public TreeObject [] getChildren() {
-			return (TreeObject [])children.toArray(new TreeObject[children.size()]);
-		}
-		public boolean hasChildren() {
-			return children.size()>0;
-		}
-	}
-
-	class ViewContentProvider implements IStructuredContentProvider, 
-										   ITreeContentProvider {
-		private TreeParent invisibleRoot;
-
-		public void inputChanged(Viewer v, Object oldInput, Object newInput) {
-		}
-		public void dispose() {
-		}
-		public Object[] getElements(Object parent) {
-			if (parent.equals(getViewSite())) {
-				if (invisibleRoot==null) initialize();
-				return getChildren(invisibleRoot);
-			}
-			return getChildren(parent);
-		}
-		public Object getParent(Object child) {
-			if (child instanceof TreeObject) {
-				return ((TreeObject)child).getParent();
-			}
-			return null;
-		}
-		public Object [] getChildren(Object parent) {
-			if (parent instanceof TreeParent) {
-				return ((TreeParent)parent).getChildren();
-			}
-			return new Object[0];
-		}
-		public boolean hasChildren(Object parent) {
-			if (parent instanceof TreeParent)
-				return ((TreeParent)parent).hasChildren();
-			return false;
-		}
-/*
- * We will set up a dummy model to initialize tree heararchy.
- * In a real code, you will connect to a real model and
- * expose its hierarchy.
- */
-		private void initialize() {
-			TreeObject to1 = new TreeObject("Leaf 1");
-			TreeObject to2 = new TreeObject("Leaf 2");
-			TreeObject to3 = new TreeObject("Leaf 3");
-			TreeParent p1 = new TreeParent("Parent 1");
-			p1.addChild(to1);
-			p1.addChild(to2);
-			p1.addChild(to3);
-			
-			TreeObject to4 = new TreeObject("Leaf 4");
-			TreeParent p2 = new TreeParent("Parent 2");
-			p2.addChild(to4);
-			
-			TreeParent root = new TreeParent("Root");
-			root.addChild(p1);
-			root.addChild(p2);
-			
-			invisibleRoot = new TreeParent("");
-			invisibleRoot.addChild(root);
-		}
-	}
-	class ViewLabelProvider extends LabelProvider {
-
-		public String getText(Object obj) {
-			return obj.toString();
-		}
-		public Image getImage(Object obj) {
-			String imageKey = ISharedImages.IMG_OBJ_ELEMENT;
-			if (obj instanceof TreeParent)
-			   imageKey = ISharedImages.IMG_OBJ_FOLDER;
-			return PlatformUI.getWorkbench().getSharedImages().getImage(imageKey);
-		}
-	}
-
-	/**
-	 * The constructor.
-	 */
-	public HistoryView() {
-	}
-
-	/**
-	 * This is a callback that will allow us
-	 * to create the viewer and initialize it.
-	 */
-	public void createPartControl(Composite parent) {
-		viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
-		drillDownAdapter = new DrillDownAdapter(viewer);
-		viewer.setContentProvider(new ViewContentProvider());
-		viewer.setLabelProvider(new ViewLabelProvider());
-		viewer.setInput(getViewSite());
-		makeActions();
-		hookContextMenu();
-		hookDoubleClickAction();
-	}
-
-	private void hookContextMenu() {
-		MenuManager menuMgr = new MenuManager("#PopupMenu");
-		menuMgr.setRemoveAllWhenShown(true);
-		menuMgr.addMenuListener(new IMenuListener() {
-			public void menuAboutToShow(IMenuManager manager) {
-				HistoryView.this.fillContextMenu(manager);
-			}
-		});
-		Menu menu = menuMgr.createContextMenu(viewer.getControl());
-		viewer.getControl().setMenu(menu);
-		getSite().registerContextMenu(menuMgr, viewer);
-	}
-
-
-
-	private void fillContextMenu(IMenuManager manager) {
-		manager.add(action1);
-		manager.add(action2);
-		manager.add(new Separator());
-		drillDownAdapter.addNavigationActions(manager);
-		// Other plug-ins can contribute there actions here
-		manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-	}
-	
-
-	private void makeActions() {
-		action1 = new Action() {
-			public void run() {
-				showMessage("Action 1 executed");
-			}
-		};
-		action1.setText("Action 1");
-		action1.setToolTipText("Action 1 tooltip");
-		action1.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().
-			getImageDescriptor(ISharedImages.IMG_OBJS_INFO_TSK));
-		
-		action2 = new Action() {
-			public void run() {
-				showMessage("Action 2 executed");
-			}
-		};
-		action2.setText("Action 2");
-		action2.setToolTipText("Action 2 tooltip");
-		action2.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().
-				getImageDescriptor(ISharedImages.IMG_OBJS_INFO_TSK));
-		doubleClickAction = new Action() {
-			public void run() {
-				ISelection selection = viewer.getSelection();
-				Object obj = ((IStructuredSelection)selection).getFirstElement();
-				showMessage("Double-click detected on "+obj.toString());
-			}
-		};
-	}
-
-	private void hookDoubleClickAction() {
-		viewer.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				doubleClickAction.run();
-			}
-		});
-	}
-	private void showMessage(String message) {
-		MessageDialog.openInformation(
-			viewer.getControl().getShell(),
-			"History",
-			message);
-	}
-
-	/**
-	 * Passing the focus request to the viewer's control.
-	 */
-	public void setFocus() {
-		viewer.getControl().setFocus();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/.classpath b/examples/org.eclipse.ui.examples.readmetool/.classpath
deleted file mode 100644
index d0ff700..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="Eclipse UI Examples Readme Tool"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<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 2b8b328..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/.project
+++ /dev/null
@@ -1,37 +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.compatibility</project>
-		<project>org.eclipse.jface.text</project>
-		<project>org.eclipse.text</project>
-		<project>org.eclipse.ui</project>
-		<project>org.eclipse.ui.editors</project>
-		<project>org.eclipse.ui.ide</project>
-		<project>org.eclipse.ui.views</project>
-		<project>org.eclipse.ui.workbench.texteditor</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/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 41bc317..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/AdaptableList.java
+++ /dev/null
@@ -1,107 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-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 9492a15..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/AddReadmeMarkerAction.java
+++ /dev/null
@@ -1,112 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-
-
-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 ae329c7..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/AddSentenceResolution.java
+++ /dev/null
@@ -1,81 +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 Corporation - initial API and implementation
- *******************************************************************************/
-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.ide.IDE;
-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 = IDE.openEditor(page, (IFile)marker.getResource(), true); 
-			} 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 9ce8f0f..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/DefaultSectionsParser.java
+++ /dev/null
@@ -1,160 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-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 5f48296..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/DirtyStateContribution.java
+++ /dev/null
@@ -1,92 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-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 53528bf..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/EditorActionDelegate.java
+++ /dev/null
@@ -1,69 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-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 6583b5b..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/IReadmeConstants.java
+++ /dev/null
@@ -1,60 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-/**
- * 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"; //$NON-NLS-1$
-	public static final String LABELRETARGET3 = PREFIX + "labelretarget3"; //$NON-NLS-1$
-
-	public static final String ACTION_SET_RETARGET4 = "org_eclipse_ui_examples_readmetool_readmeRetargetAction"; //$NON-NLS-1$
-	public static final String ACTION_SET_LABELRETARGET5 = "org_eclipse_ui_examples_readmetool_readmeRelabelRetargetAction"; //$NON-NLS-1$
-
-	// 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 3f8203b..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/IReadmeFileParser.java
+++ /dev/null
@@ -1,29 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-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 a94604f..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/MarkElement.java
+++ /dev/null
@@ -1,134 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-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 69b602d..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/MarkElementProperties.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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-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 3939564..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/MessageUtil.java
+++ /dev/null
@@ -1,57 +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 Corporation - initial API and implementation
- *******************************************************************************/
-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 3a2fa46..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/PopupMenuActionDelegate.java
+++ /dev/null
@@ -1,46 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-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 add61d6..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeContentOutlineDragListener.java
+++ /dev/null
@@ -1,64 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-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 6dd5d58..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeContentOutlinePage.java
+++ /dev/null
@@ -1,131 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-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 c3ad7c1..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeCreationPage.java
+++ /dev/null
@@ -1,181 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.examples.readmetool;
-
-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;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * 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);
-	
-	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) {
-				IDE.openEditor(page, newFile, true);
-			}
-		}
-	} 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 ea9cff2..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeCreationWizard.java
+++ /dev/null
@@ -1,48 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-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 0d63b41..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeDropActionDelegate.java
+++ /dev/null
@@ -1,43 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-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 fea6fcf..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeEditor.java
+++ /dev/null
@@ -1,118 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.examples.readmetool;
-
-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;
-		
-	/**
-	 * 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")); //$NON-NLS-1$
-		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 606ec5a..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeEditorActionBarContributor.java
+++ /dev/null
@@ -1,183 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.examples.readmetool;
-
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.dialogs.MessageDialog;
-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() {
-	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 71006d0..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeFilePropertyPage.java
+++ /dev/null
@@ -1,179 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-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(getControl(), 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 59fd6b3..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeFilePropertyPage2.java
+++ /dev/null
@@ -1,211 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-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(getControl(), 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 d160884..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeImages.java
+++ /dev/null
@@ -1,67 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-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/"; //$NON-NLS-1$
-		
-		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 40549ce..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeMarkerResolutionGenerator.java
+++ /dev/null
@@ -1,37 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.examples.readmetool;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.ui.IMarkerResolution;
-import org.eclipse.ui.IMarkerResolutionGenerator2;
-
-/**
- * Creates resolutions for readme markers.
- */
-public class ReadmeMarkerResolutionGenerator implements IMarkerResolutionGenerator2 {
-	
-	/* (non-Javadoc)
-	 * Method declared on IMarkerResolutionGenerator.
-	 */
-	public IMarkerResolution[] getResolutions(IMarker marker) {
-		return new IMarkerResolution[] {new AddSentenceResolution()};
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on IMarkerResolutionGenerator2.
-	 */
-	public boolean hasResolutions(IMarker marker) {
-		return true;
-	}
-
-}
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 ef156d4..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeModelFactory.java
+++ /dev/null
@@ -1,158 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-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 3569246..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmePlugin.java
+++ /dev/null
@@ -1,56 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-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 5b33fe5..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmePreferencePage.java
+++ /dev/null
@@ -1,318 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.examples.readmetool;
-
-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;
-	
-/**
- * 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);
-	createLabel(composite_textField, MessageUtil.getString("Text_Field"));	 //$NON-NLS-1$
-	textField = createTextField(composite_textField);
-	createPushButton(composite_textField, MessageUtil.getString("Change")); //$NON-NLS-1$
-
-	//composite_tab << parent
-	Composite composite_tab = createComposite(parent, 2);
-	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);
-	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 37a8431..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeSectionsView.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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-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 14e931b..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/SectionsDialog.java
+++ /dev/null
@@ -1,59 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-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 6a8025a..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ViewActionDelegate.java
+++ /dev/null
@@ -1,47 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-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 b8afc29..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/WindowActionDelegate.java
+++ /dev/null
@@ -1,61 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-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 5f0cf3a..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/messages.properties
+++ /dev/null
@@ -1,95 +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 Corporation - initial API and implementation
-###############################################################################
-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 bf2b580..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 e212ac0..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/build.properties
+++ /dev/null
@@ -1,24 +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 Corporation - initial API and implementation
-###############################################################################
-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 c598113..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 0167478..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
-Window > 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 Example...&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 Window-&gt;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-&gt;New-&gt;Example....
-<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 c598113..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 9db703c..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 12419de..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 49d11dd..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/plugin.properties
+++ /dev/null
@@ -1,37 +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 Corporation - initial API and implementation
-###############################################################################
-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 631d621..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/plugin.xml
+++ /dev/null
@@ -1,387 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui.examples.readmetool"
-   name="%Plugin.name"
-   version="2.1.0"
-   provider-name="%Plugin.providerName"
-   class="org.eclipse.ui.examples.readmetool.ReadmePlugin">
-
-   <runtime>
-      <library name="readmetool.jar"/>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.core.runtime.compatibility"/>
-      <import plugin="org.eclipse.ui.views"/>
-      <import plugin="org.eclipse.ui.ide"/>
-      <import plugin="org.eclipse.jface.text"/>
-      <import plugin="org.eclipse.text"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor"/>
-      <import plugin="org.eclipse.ui.editors"/>
-   </requires>
-
-
-<!-- ================================================================== -->
-<!--         org.eclipse.ui.examples.readmetool.IReadmeFileParser       -->
-<!-- Extension Implementation: must implement                           -->
-<!--          the file's section and subsection structure               -->
-<!-- Purpose: Provide a custom parser for Readme files which determines -->
-<!-- Extension point: org.eclipse.ui.examples.readmetool.sectionParser  -->
-<!-- ================================================================== -->
-   <extension-point id="sectionParser" name="%ExtPoint.sectionParser"/>
-
-   <extension
-         point="org.eclipse.ui.examples.readmetool.sectionParser">
-      <parser
-            name="%SectionParser.name"
-            class="org.eclipse.ui.examples.readmetool.DefaultSectionsParser"
-            id="org.eclipse.ui.examples.readmetool.DefaultSectionsParser">
-      </parser>
-   </extension>
-   <extension
-         point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="%ActionSet.name"
-            visible="true"
-            id="org_eclipse_ui_examples_readmetool_actionSet">
-         <menu
-               label="%ActionSet.menu"
-               path="window/additions"
-               id="org_eclipse_ui_examples_readmetool">
-            <separator
-                  name="slot1">
-            </separator>
-            <separator
-                  name="slot2">
-            </separator>
-            <separator
-                  name="slot3">
-            </separator>
-         </menu>
-         <action
-               id="org_eclipse_ui_examples_readmetool_readmeAction"
-               toolbarPath="readme"
-               class="org.eclipse.ui.examples.readmetool.WindowActionDelegate"
-               enablesFor="1"
-               icon="icons/ctool16/openbrwsr.gif"
-               helpContextId="org.eclipse.ui.examples.readmetool.open_browser_action_context"
-               label="%ReadmeAction.label"
-               menubarPath="window/org_eclipse_ui_examples_readmetool/slot1"
-               tooltip="%ReadmeAction.tooltip">
-            <selection
-                  name="*.readme"
-                  class="org.eclipse.core.resources.IFile">
-            </selection>
-         </action>
-         <action
-               label="%ReadmeRetargetAction.label"
-               icon="icons/ctool16/openbrwsr.gif"
-               helpContextId="org.eclipse.ui.examples.readmetool.open_browser_action_context"
-               tooltip="%ReadmeRetargetAction.tooltip"
-               retarget="true"
-               menubarPath="window/org_eclipse_ui_examples_readmetool/slot1"
-               toolbarPath="readme"
-               id="org_eclipse_ui_examples_readmetool_readmeRetargetAction">
-         </action>
-         <action
-               allowLabelUpdate="true"
-               id="org_eclipse_ui_examples_readmetool_readmeRelabelRetargetAction"
-               toolbarPath="readme"
-               icon="icons/ctool16/openbrwsr.gif"
-               helpContextId="org.eclipse.ui.examples.readmetool.open_browser_action_context"
-               label="%ReadmeRelabelRetargetAction.label"
-               menubarPath="window/org_eclipse_ui_examples_readmetool/slot1"
-               retarget="true"
-               tooltip="%ReadmeRelabelRetargetAction.tooltip">
-         </action>
-      </actionSet>
-   </extension>
-   <extension
-         point="org.eclipse.ui.newWizards">
-      <category
-            name="%NewWizard.category"
-            parentCategory="org.eclipse.ui.Examples"
-            id="org.eclipse.ui.examples.readmetool.new">
-      </category>
-      <wizard
-            name="%NewWizard.name"
-            icon="icons/obj16/newreadme_wiz.gif"
-            category="org.eclipse.ui.Examples/org.eclipse.ui.examples.readmetool.new"
-            class="org.eclipse.ui.examples.readmetool.ReadmeCreationWizard"
-            id="org.eclipse.ui.examples.readmetool.wizards.new.file">
-         <description>
-            %NewWizard.desc
-         </description>
-         <selection
-               class="org.eclipse.core.resources.IResource">
-         </selection>
-      </wizard>
-   </extension>
-   <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            name="%Editors.ReadmeEditor"
-            icon="icons/obj16/editor.gif"
-            extensions="readme"
-            contributorClass="org.eclipse.ui.examples.readmetool.ReadmeEditorActionBarContributor"
-            class="org.eclipse.ui.examples.readmetool.ReadmeEditor"
-            id="org.eclipse.ui.examples.readmetool.ReadmeEditor">
-      </editor>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views">
-      <category
-            name="%Views.category"
-            id="org.eclipse.ui.examples.readmetool">
-      </category>
-      <view
-            name="%Views.ReadmeSections"
-            icon="icons/view16/sections.gif"
-            category="org.eclipse.ui.examples.readmetool"
-            class="org.eclipse.ui.examples.readmetool.ReadmeSectionsView"
-            id="org.eclipse.ui.examples.readmetool.views.SectionsView">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            name="%PreferencePage.name"
-            class="org.eclipse.ui.examples.readmetool.ReadmePreferencePage"
-            id="org.eclipse.ui.examples.readmetool.Page1">
-      </page>
-   </extension>
-   <extension
-         point="org.eclipse.ui.propertyPages">
-      <page
-            objectClass="org.eclipse.core.resources.IFile"
-            name="%PropertiesPage.filePage"
-            nameFilter="*.readme"
-            class="org.eclipse.ui.examples.readmetool.ReadmeFilePropertyPage"
-            id="org.eclipse.ui.examples.readmetool.FilePage">
-      </page>
-      <page
-            objectClass="org.eclipse.core.resources.IFile"
-            name="%PropertiesPage.filePage2"
-            nameFilter="*.readme"
-            class="org.eclipse.ui.examples.readmetool.ReadmeFilePropertyPage2"
-            id="org.eclipse.ui.examples.readmetool.FilePage2">
-      </page>
-   </extension>
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            objectClass="org.eclipse.core.resources.IFile"
-            nameFilter="*.readme"
-            id="org.eclipse.ui.examples.readmetool">
-         <action
-               label="%PopupMenus.action"
-               icon="icons/ctool16/openbrwsr.gif"
-               helpContextId="org.eclipse.ui.examples.readmetool.open_browser_action_context"
-               class="org.eclipse.ui.examples.readmetool.PopupMenuActionDelegate"
-               menubarPath="additions"
-               enablesFor="1"
-               id="org.eclipse.ui.examples.readmetool.action1">
-         </action>
-      </objectContribution>
-      <viewerContribution
-            targetID="org.eclipse.ui.examples.readmetool.outline"
-            id="org.eclipse.ui.examples.readmetool2">
-         <action
-               label="%PopupMenus.action"
-               icon="icons/ctool16/openbrwsr.gif"
-               helpContextId="org.eclipse.ui.examples.readmetool.open_browser_action_context"
-               class="org.eclipse.ui.examples.readmetool.ViewActionDelegate"
-               menubarPath="additions"
-               id="org.eclipse.ui.examples.readmetool.action1">
-         </action>
-      </viewerContribution>
-   </extension>
-   <extension
-         point="org.eclipse.ui.viewActions">
-      <viewContribution
-            targetID="org.eclipse.ui.views.ResourceNavigator"
-            id="org.eclipse.ui.examples.readmetool.vc1">
-         <action
-               id="org.eclipse.ui.examples.readmetool.va1"
-               toolbarPath="additions"
-               class="org.eclipse.ui.examples.readmetool.ViewActionDelegate"
-               enablesFor="1"
-               icon="icons/obj16/editor.gif"
-               helpContextId="org.eclipse.ui.examples.readmetool.view_action_context"
-               label="%PopupMenu.ResourceNav.label"
-               menubarPath="additions"
-               tooltip="%PopupMenu.ResourceNav.tooltip">
-            <selection
-                  name="*.readme"
-                  class="org.eclipse.core.resources.IFile">
-            </selection>
-         </action>
-      </viewContribution>
-   </extension>
-   <extension
-         point="org.eclipse.ui.editorActions">
-      <editorContribution
-            targetID="org.eclipse.ui.examples.readmetool.ReadmeEditor"
-            id="org.eclipse.ui.examples.readmetool.ec1">
-         <action
-               label="%Editors.Action.label"
-               icon="icons/obj16/editor.gif"
-               tooltip="%Editors.Action.tooltip"
-               class="org.eclipse.ui.examples.readmetool.EditorActionDelegate"
-               toolbarPath="ReadmeEditor"
-               id="org.eclipse.ui.examples.readmetool.ea1">
-         </action>
-      </editorContribution>
-   </extension>
-   <extension
-         point="org.eclipse.help.contexts">
-      <contexts
-            file="HelpContexts.xml">
-      </contexts>
-   </extension>
-   <extension
-         point="org.eclipse.ui.dropActions">
-      <action
-            class="org.eclipse.ui.examples.readmetool.ReadmeDropActionDelegate"
-            id="org_eclipse_ui_examples_readmetool_drop_actions">
-      </action>
-   </extension>
-   <extension
-         id="readmemarker"
-         name="%ReadmeMarker.name"
-         point="org.eclipse.core.resources.markers">
-      <super
-            type="org.eclipse.core.resources.taskmarker">
-      </super>
-      <super
-            type="org.eclipse.core.resources.textmarker">
-      </super>
-      <persistent
-            value="true">
-      </persistent>
-      <attribute
-            name="org.eclipse.ui.examples.readmetool.id">
-      </attribute>
-      <attribute
-            name="org.eclipse.ui.examples.readmetool.level">
-      </attribute>
-      <attribute
-            name="org.eclipse.ui.examples.readmetool.department">
-      </attribute>
-      <attribute
-            name="org.eclipse.ui.examples.readmetool.code">
-      </attribute>
-      <attribute
-            name="org.eclipse.ui.examples.readmetool.language">
-      </attribute>
-   </extension>
-   <extension
-         point="org.eclipse.ui.ide.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">
-         </attribute>
-      </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">
-         </attribute>
-      </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>
-         <attribute
-               name="org.eclipse.ui.examples.readmetool.department"
-               value="infra">
-         </attribute>
-      </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">
-         </attribute>
-      </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">
-         </attribute>
-      </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>
-         <attribute
-               name="org.eclipse.ui.examples.readmetool.level"
-               value="7">
-         </attribute>
-         <attribute
-               name="org.eclipse.ui.examples.readmetool.department"
-               value="infra">
-         </attribute>
-         <attribute
-               name="org.eclipse.ui.examples.readmetool.code"
-               value="red">
-         </attribute>
-         <attribute
-               name="org.eclipse.ui.examples.readmetool.language"
-               value="english">
-         </attribute>
-      </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.ide.markerResolution">
-      <markerResolutionGenerator
-            markerType="org.eclipse.ui.examples.readmetool.readmemarker"
-            class="org.eclipse.ui.examples.readmetool.ReadmeMarkerResolutionGenerator">
-         <attribute
-               name="org.eclipse.ui.examples.readmetool.id"
-               value="1234">
-         </attribute>
-      </markerResolutionGenerator>
-      <markerResolutionGenerator
-            markerType="org.eclipse.ui.examples.readmetool.readmemarker"
-            class="org.eclipse.ui.examples.readmetool.ReadmeMarkerResolutionGenerator">
-         <attribute
-               name="org.eclipse.ui.examples.readmetool.level"
-               value="7">
-         </attribute>
-      </markerResolutionGenerator>
-      <markerResolutionGenerator
-            markerType="org.eclipse.ui.examples.readmetool.readmemarker"
-            class="org.eclipse.ui.examples.readmetool.ReadmeMarkerResolutionGenerator">
-         <attribute
-               name="org.eclipse.ui.examples.readmetool.code"
-               value="red">
-         </attribute>
-         <attribute
-               name="org.eclipse.ui.examples.readmetool.language"
-               value="english">
-         </attribute>
-      </markerResolutionGenerator>
-   </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.ui.forms.examples/.classpath b/examples/org.eclipse.ui.forms.examples/.classpath
deleted file mode 100644
index 275b34c..0000000
--- a/examples/org.eclipse.ui.forms.examples/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src/"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.ui.forms.examples/.cvsignore b/examples/org.eclipse.ui.forms.examples/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/examples/org.eclipse.ui.forms.examples/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/examples/org.eclipse.ui.forms.examples/.project b/examples/org.eclipse.ui.forms.examples/.project
deleted file mode 100644
index 3424ee2..0000000
--- a/examples/org.eclipse.ui.forms.examples/.project
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.forms.examples</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.core.resources</project>
-		<project>org.eclipse.core.runtime.compatibility</project>
-		<project>org.eclipse.ui</project>
-		<project>org.eclipse.ui.forms</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.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/examples/org.eclipse.ui.forms.examples/build.properties b/examples/org.eclipse.ui.forms.examples/build.properties
deleted file mode 100644
index 8f4924d..0000000
--- a/examples/org.eclipse.ui.forms.examples/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-source.examples.jar = src/
-bin.includes = plugin.xml,\
-               *.jar,\
-               examples.jar,\
-               icons/
diff --git a/examples/org.eclipse.ui.forms.examples/icons/file_obj.gif b/examples/org.eclipse.ui.forms.examples/icons/file_obj.gif
deleted file mode 100644
index 6b86d07..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/file_obj.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.forms.examples/icons/form_banner.gif b/examples/org.eclipse.ui.forms.examples/icons/form_banner.gif
deleted file mode 100644
index aebc0b2..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/form_banner.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.forms.examples/icons/large_image.gif b/examples/org.eclipse.ui.forms.examples/icons/large_image.gif
deleted file mode 100644
index c5c94ee..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/large_image.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.forms.examples/icons/sample.gif b/examples/org.eclipse.ui.forms.examples/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.forms.examples/icons/th_horizontal.gif b/examples/org.eclipse.ui.forms.examples/icons/th_horizontal.gif
deleted file mode 100644
index f4c14a4..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/th_horizontal.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.forms.examples/icons/th_vertical.gif b/examples/org.eclipse.ui.forms.examples/icons/th_vertical.gif
deleted file mode 100644
index f685839..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/th_vertical.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.forms.examples/plugin.properties b/examples/org.eclipse.ui.forms.examples/plugin.properties
deleted file mode 100644
index 447a5fc..0000000
--- a/examples/org.eclipse.ui.forms.examples/plugin.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-pluginName = Examples of Eclipse Forms
-baseEditor = Simple Form (RCP) Editor
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/plugin.xml b/examples/org.eclipse.ui.forms.examples/plugin.xml
deleted file mode 100644
index b48790d..0000000
--- a/examples/org.eclipse.ui.forms.examples/plugin.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui.forms.examples"
-   name="%pluginName"
-   version="3.0.0"
-   provider-name="Eclipse.org"
-   class="org.eclipse.ui.forms.examples.internal.ExamplesPlugin">
-
-   <runtime>
-      <library name="examples.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.ui.forms"/>
-      <import plugin="org.eclipse.core.runtime"/>
-   </requires>
-
-
-   <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            name="%baseEditor"
-            default="true"
-            extensions="sef"
-            icon="icons/file_obj.gif"
-            class="org.eclipse.ui.forms.examples.internal.rcp.SimpleFormEditor"
-            id="org.eclipse.ui.forms.examples.base-editor">
-      </editor>
-   </extension>
-   <extension
-         point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="Eclipse Forms Examples"
-            id="org.eclipse.ui.forms.examples.actionSet">
-         <menu
-               label="Form Editors"
-               id="org.eclipse.ui.forms.examples.menu">
-            <groupMarker
-                  name="group">
-            </groupMarker>
-         </menu>
-         <action
-               label="Simple Form Editor"
-               class="org.eclipse.ui.forms.examples.internal.rcp.OpenSimpleFormEditorAction"
-               menubarPath="org.eclipse.ui.forms.examples.menu/group"
-               id="org.eclipse.ui.forms.examples.simple">
-         </action>
-      </actionSet>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views">
-      <category
-            name="Eclipse Forms Examples"
-            id="org.eclipse.ui.forms.examples">
-      </category>
-      <view
-            name="Eclipse Form"
-            icon="icons/sample.gif"
-            category="org.eclipse.ui.forms.examples"
-            class="org.eclipse.ui.forms.examples.views.FormView"
-            id="org.eclipse.ui.forms.examples.views.FormView">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectiveExtensions">
-      <perspectiveExtension
-            targetID="org.eclipse.ui.resourcePerspective">
-         <view
-               ratio="0.5"
-               relative="org.eclipse.ui.views.TaskList"
-               relationship="right"
-               id="org.eclipse.ui.forms.examples.views.FormView">
-         </view>
-      </perspectiveExtension>
-   </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/ExamplesPlugin.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/ExamplesPlugin.java
deleted file mode 100644
index 7733e25..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/ExamplesPlugin.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal;
-import java.net.URL;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.forms.FormColors;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-/**
- * The main plugin class to be used in the desktop.
- */
-public class ExamplesPlugin extends AbstractUIPlugin {
-	//The shared instance.
-	private static ExamplesPlugin plugin;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	private FormColors formColors;
-	public static final String IMG_FORM_BG = "formBg";
-	public static final String IMG_LARGE = "large";
-	public static final String IMG_HORIZONTAL = "horizontal";
-	public static final String IMG_VERTICAL = "vertical";
-	public static final String IMG_SAMPLE = "sample";
-
-	/**
-	 * The constructor.
-	 */
-	public ExamplesPlugin() {
-		plugin = this;
-		try {
-			resourceBundle = ResourceBundle
-					.getBundle("org.eclipse.ui.forms.examples.internal.ExamplesPluginResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-	}
-
-	protected void initializeImageRegistry(ImageRegistry registry) {
-		registerImage(registry, IMG_FORM_BG, "form_banner.gif");
-		registerImage(registry, IMG_LARGE, "large_image.gif");
-		registerImage(registry, IMG_HORIZONTAL, "th_horizontal.gif");
-		registerImage(registry, IMG_VERTICAL, "th_vertical.gif");
-		registerImage(registry, IMG_SAMPLE, "sample.gif");
-	}
-
-	private void registerImage(ImageRegistry registry, String key,
-			String fileName) {
-		try {
-			IPath path = new Path("icons/" + fileName);
-			URL url = find(path);
-			if (url!=null) {
-				ImageDescriptor desc = ImageDescriptor.createFromURL(url);
-				registry.put(key, desc);
-			}
-		} catch (Exception e) {
-		}
-	}
-
-	public FormColors getFormColors(Display display) {
-		if (formColors == null) {
-			formColors = new FormColors(display);
-			formColors.markShared();
-		}
-		return formColors;
-	}
-	/**
-	 * Returns the shared instance.
-	 */
-	public static ExamplesPlugin getDefault() {
-		return plugin;
-	}
-	/**
-	 * Returns the workspace instance.
-	 */
-	public static IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-	/**
-	 * Returns the string from the plugin's resource bundle, or 'key' if not
-	 * found.
-	 */
-	public static String getResourceString(String key) {
-		ResourceBundle bundle = ExamplesPlugin.getDefault().getResourceBundle();
-		try {
-			return (bundle != null ? bundle.getString(key) : key);
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		return resourceBundle;
-	}
-	public void stop(BundleContext context) throws Exception {
-		try {
-			if (formColors != null) {
-				formColors.dispose();
-				formColors = null;
-			}
-		} finally {
-			super.stop(context);
-		}
-	}
-	public Image getImage(String key) {
-		return getImageRegistry().get(key);
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/ExamplesPluginResources.properties b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/ExamplesPluginResources.properties
deleted file mode 100644
index e69de29..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/ExamplesPluginResources.properties
+++ /dev/null
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/FormEditorInput.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/FormEditorInput.java
deleted file mode 100644
index c44db3b..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/FormEditorInput.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.*;
-
-public class FormEditorInput implements IEditorInput {
-	private String name;
-	public FormEditorInput(String name) {
-		this.name = name;
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IEditorInput#exists()
-	 */
-	public boolean exists() {
-		return true;
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IEditorInput#getImageDescriptor()
-	 */
-	public ImageDescriptor getImageDescriptor() {
-		return PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(
-				ISharedImages.IMG_OBJ_ELEMENT);
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IEditorInput#getName()
-	 */
-	public String getName() {
-		return name;
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IEditorInput#getPersistable()
-	 */
-	public IPersistableElement getPersistable() {
-		return null;
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IEditorInput#getToolTipText()
-	 */
-	public String getToolTipText() {
-		return getName();
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/OpenFormEditorAction.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/OpenFormEditorAction.java
deleted file mode 100644
index 2667c1f..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/OpenFormEditorAction.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.*;
-/**
- * @see IWorkbenchWindowActionDelegate
- */
-public abstract class OpenFormEditorAction
-		implements
-			IWorkbenchWindowActionDelegate {
-	private IWorkbenchWindow window;
-/*
- * 
- */
-	protected void openEditor(String inputName, String editorId) {
-		openEditor(new FormEditorInput(inputName), editorId);
-	}
-	protected void openEditor(IEditorInput input, String editorId) {
-		IWorkbenchPage page = window.getActivePage();
-		try {
-			page.openEditor(input, editorId);
-		} catch (PartInitException e) {
-			System.out.println(e);
-		}
-	}
-	/**
-	 * @see IWorkbenchWindowActionDelegate#selectionChanged
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-	}
-	/**
-	 * @see IWorkbenchWindowActionDelegate#dispose
-	 */
-	public void dispose() {
-	}
-	/**
-	 * @see IWorkbenchWindowActionDelegate#init
-	 */
-	public void init(IWorkbenchWindow window) {
-		this.window = window;
-	}
-}
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/FreeFormPage.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/FreeFormPage.java
deleted file mode 100644
index d393ad1..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/FreeFormPage.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-import java.io.*;
-import java.io.InputStream;
-
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.forms.*;
-import org.eclipse.ui.forms.editor.*;
-import org.eclipse.ui.forms.events.*;
-import org.eclipse.ui.forms.examples.internal.ExamplesPlugin;
-import org.eclipse.ui.forms.widgets.*;
-/**
- * @author dejan
- * 
- * To change the template for this generated type comment go to Window -
- * Preferences - Java - Code Generation - Code and Comments
- */
-public class FreeFormPage extends FormPage {
-	/**
-	 * @param id
-	 * @param title
-	 */
-	public FreeFormPage(FormEditor editor) {
-		super(editor, "first", "First Page");
-	}
-	protected void createFormContent(IManagedForm managedForm) {
-		ScrolledForm form = managedForm.getForm();
-		FormToolkit toolkit = managedForm.getToolkit();
-		form.setText("Free-form text with links");
-		form.setBackgroundImage(ExamplesPlugin.getDefault().getImage(ExamplesPlugin.IMG_FORM_BG));
-		TableWrapLayout layout = new TableWrapLayout();
-		layout.leftMargin = 10;
-		layout.rightMargin = 10;
-		form.getBody().setLayout(layout);
-		TableWrapData td;
-		Hyperlink link = toolkit.createHyperlink(form.getBody(),
-				"Sample hyperlink with longer text.", SWT.WRAP);
-		link.addHyperlinkListener(new HyperlinkAdapter() {
-			public void linkActivated(HyperlinkEvent e) {
-				try {
-					Thread.sleep(1000);
-				} catch (InterruptedException ex) {
-				}
-			}
-		});
-		td = new TableWrapData();
-		td.align = TableWrapData.LEFT;
-		link.setLayoutData(td);
-		createExpandable(form, toolkit);
-		createFormTextSection(form, toolkit);
-	}
-	private void createExpandable(final ScrolledForm form, final FormToolkit toolkit) {
-		final ExpandableComposite exp = toolkit.createExpandableComposite(form
-				.getBody(), ExpandableComposite.TREE_NODE
-		//	ExpandableComposite.NONE
-				);
-		exp.setActiveToggleColor(toolkit.getHyperlinkGroup()
-				.getActiveForeground());
-		exp.setToggleColor(toolkit.getColors().getColor(FormColors.SEPARATOR));
-		Composite client = toolkit.createComposite(exp);
-		exp.setClient(client);
-		TableWrapLayout elayout = new TableWrapLayout();
-		client.setLayout(elayout);
-		elayout.leftMargin = elayout.rightMargin = 0;
-		final Button button = toolkit.createButton(client, "Button", SWT.PUSH);
-		button.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				//openFormWizard(button.getShell(), toolkit.getColors());
-			}
-		});
-		exp.addExpansionListener(new ExpansionAdapter() {
-			public void expansionStateChanged(ExpansionEvent e) {
-				form.reflow(true);
-			}
-		});
-		exp.setText("Expandable Section with a longer title");
-		TableWrapData td = new TableWrapData();
-		//td.colspan = 2;
-		td.align = TableWrapData.LEFT;
-		//td.align = TableWrapData.FILL;
-		exp.setLayoutData(td);
-	}
-	
-	private void createFormTextSection(final ScrolledForm form, FormToolkit toolkit) {
-		Section section =
-			toolkit.createSection(
-				form.getBody(),
-				Section.TWISTIE | Section.DESCRIPTION);
-		section.setActiveToggleColor(
-			toolkit.getHyperlinkGroup().getActiveForeground());
-		section.setToggleColor(
-			toolkit.getColors().getColor(FormColors.SEPARATOR));
-		toolkit.createCompositeSeparator(section);
-		FormText rtext = toolkit.createFormText(section, false);
-		section.setClient(rtext);
-		loadFormText(rtext, toolkit);
-
-		section.addExpansionListener(new ExpansionAdapter() {
-			public void expansionStateChanged(ExpansionEvent e) {
-				form.reflow(false);
-			}
-		});
-
-		section.setText("Section title");
-		section.setDescription(
-		"This is a section description that should be rendered below the separator.");
-		TableWrapData td = new TableWrapData();
-		td.align = TableWrapData.FILL;
-		td.grabHorizontal = true;
-		section.setLayoutData(td);
-	}
-
-	private void loadFormText(final FormText rtext, FormToolkit toolkit) {
-		rtext.addHyperlinkListener(new HyperlinkAdapter() {
-			public void linkActivated(HyperlinkEvent e) {
-				MessageDialog.openInformation(rtext.getShell(), "Eclipse Forms", 
-				"Link activated: href=" + e.getHref());
-			}
-		});
-		rtext.setHyperlinkSettings(toolkit.getHyperlinkGroup());
-		rtext.setImage("image1", ExamplesPlugin.getDefault().getImage(ExamplesPlugin.IMG_LARGE));
-		InputStream is = FreeFormPage.class.getResourceAsStream("index.xml");
-		if (is!=null) {
-			rtext.setContents(is, true);
-			try {
-				is.close();
-			}
-			catch (IOException e) {
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/IModelListener.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/IModelListener.java
deleted file mode 100644
index e60e3e2..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/IModelListener.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-public interface IModelListener {
-	String ADDED="__added";
-	String REMOVED="__removed";
-	String CHANGED = "__changed";
-	void modelChanged(Object[] objects, String type, String property);
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/NamedObject.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/NamedObject.java
deleted file mode 100644
index 6052d0a..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/NamedObject.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-
-/**
- *
- */
-public	class NamedObject {
-	private String name;
-	protected SimpleModel model;
-	
-	public NamedObject(String name) {
-		this.name = name;
-	}
-	public void setModel(SimpleModel model) {
-		this.model = model;
-	}
-	public String getName() {
-		return name;
-	}
-	public String toString() {
-		return getName();
-	}
-	public void setName(String name) {
-		this.name = name;
-		model.fireModelChanged(new Object [] {this}, IModelListener.CHANGED, "");
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/OpenSimpleFormEditorAction.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/OpenSimpleFormEditorAction.java
deleted file mode 100644
index e2a906d..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/OpenSimpleFormEditorAction.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.ui.forms.examples.internal.OpenFormEditorAction;
-/**
- * @see IWorkbenchWindowActionDelegate
- */
-public class OpenSimpleFormEditorAction extends OpenFormEditorAction {
-	public void run(IAction action) {
-		openEditor(new SimpleFormEditorInput("Simple Editor"), "org.eclipse.ui.forms.examples.base-editor");
-	}
-}
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/PageWithSubPages.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/PageWithSubPages.java
deleted file mode 100644
index 4b1c1f7..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/PageWithSubPages.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.forms.*;
-import org.eclipse.ui.forms.editor.*;
-import org.eclipse.ui.forms.examples.internal.ExamplesPlugin;
-import org.eclipse.ui.forms.widgets.*;
-/**
- *
- */
-public class PageWithSubPages extends FormPage {
-	private CTabFolder tabFolder;
-	private Text text;
-	
-	class TextSection {
-		String text;
-		public TextSection(String text) {this.text = text;}
-	}
-	/**
-	 * @param id
-	 * @param title
-	 */
-	public PageWithSubPages(FormEditor editor) {
-		super(editor, "composite", "Composite Page");
-	}
-	protected void createFormContent(IManagedForm managedForm) {
-		ScrolledForm form = managedForm.getForm();
-		FormToolkit toolkit = managedForm.getToolkit();
-		form.setText("Form with subpages");
-		form.setBackgroundImage(ExamplesPlugin.getDefault().getImage(
-				ExamplesPlugin.IMG_FORM_BG));
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 10;
-		form.getBody().setLayout(layout);
-		tabFolder = new CTabFolder(form.getBody(), SWT.FLAT|SWT.TOP);
-		toolkit.adapt(tabFolder, true, true);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.heightHint = tabFolder.getTabHeight();
-		tabFolder.setLayoutData(gd);
-		Color selectedColor = toolkit.getColors().getColor(FormColors.SEPARATOR);
-		tabFolder.setSelectionBackground(new Color[] {selectedColor, toolkit.getColors().getBackground()}, new int[] {50});
-		//tabFolder.setCursor(FormsResources.getHandCursor());
-
-		toolkit.paintBordersFor(tabFolder);
-		createTabs(toolkit);
-		createText(toolkit, form.getBody());
-		tabFolder.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				updateSelection();
-			}
-		});
-		tabFolder.setSelection(0);
-		updateSelection();		
-	}
-	private void createTabs(FormToolkit toolkit) {
-		createTab(toolkit, "Copyright", "Copyright 2004 IBM and others.");
-		createTab(toolkit, "License Agreement", "LICENSE AGREEMENT\n\nUse this feature any way you want.");
-		createTab(toolkit, "Description", "A simple description of the feature");
-	}
-	private void createText(FormToolkit toolkit, Composite parent) {
-		Composite tabContent = toolkit.createComposite(parent);
-		tabContent.setLayoutData(new GridData(GridData.FILL_BOTH));
-		GridLayout layout = new GridLayout();
-		tabContent.setLayout(layout);
-		layout.numColumns = 2;
-		layout.marginWidth = 0;
-		GridData gd;
-		text = toolkit.createText(tabContent, "", SWT.MULTI|SWT.WRAP);
-		gd = new GridData(GridData.FILL_BOTH);
-		gd.verticalSpan = 2;
-		text.setLayoutData(gd);
-		Button apply = toolkit.createButton(tabContent, "Apply", SWT.PUSH);
-		apply.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL|GridData.VERTICAL_ALIGN_BEGINNING));
-		Button reset = toolkit.createButton(tabContent, "Reset", SWT.PUSH);
-		reset.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL|GridData.VERTICAL_ALIGN_BEGINNING));
-	}
-	private void updateSelection() {
-		CTabItem item = tabFolder.getSelection();
-		TextSection section = (TextSection)item.getData();
-		text.setText(section.text);
-	}
-	private void createTab(FormToolkit toolkit, String title, String content) {
-		CTabItem item = new CTabItem(tabFolder, SWT.NULL);
-		TextSection section = new TextSection(content);
-		item.setText(title);
-		item.setData(section);
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/ScrolledPropertiesBlock.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/ScrolledPropertiesBlock.java
deleted file mode 100644
index a2a8d0b..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/ScrolledPropertiesBlock.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.forms.*;
-import org.eclipse.ui.forms.editor.FormPage;
-import org.eclipse.ui.forms.examples.internal.ExamplesPlugin;
-import org.eclipse.ui.forms.widgets.*;
-/**
- *
- */
-public class ScrolledPropertiesBlock extends MasterDetailsBlock {
-	private FormPage page;
-	public ScrolledPropertiesBlock(FormPage page) {
-		this.page = page;
-	}
-	/**
-	 * @param id
-	 * @param title
-	 */
-	class MasterContentProvider implements IStructuredContentProvider {
-		public Object[] getElements(Object inputElement) {
-			if (inputElement instanceof SimpleFormEditorInput) {
-				SimpleFormEditorInput input = (SimpleFormEditorInput) page
-						.getEditor().getEditorInput();
-				return input.getModel().getContents();
-			}
-			return new Object[0];
-		}
-		public void dispose() {
-		}
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		}
-	}
-	class MasterLabelProvider extends LabelProvider
-			implements
-				ITableLabelProvider {
-		public String getColumnText(Object obj, int index) {
-			return obj.toString();
-		}
-		public Image getColumnImage(Object obj, int index) {
-			if (obj instanceof TypeOne) {
-				return PlatformUI.getWorkbench().getSharedImages().getImage(
-						ISharedImages.IMG_OBJ_ELEMENT);
-			}
-			if (obj instanceof TypeTwo) {
-				return PlatformUI.getWorkbench().getSharedImages().getImage(
-						ISharedImages.IMG_OBJ_FILE);
-			}
-			return null;
-		}
-	}
-	protected void createMasterPart(final IManagedForm managedForm,
-			Composite parent) {
-		final ScrolledForm form = managedForm.getForm();
-		FormToolkit toolkit = managedForm.getToolkit();
-		Section section = toolkit.createSection(parent, Section.DESCRIPTION);
-		section.setText("Model Objects");
-		section
-				.setDescription("The list contains objects from the model whose details are editable on the right");
-		section.marginWidth = 10;
-		section.marginHeight = 5;
-		toolkit.createCompositeSeparator(section);
-		Composite client = toolkit.createComposite(section, SWT.WRAP);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginWidth = 2;
-		layout.marginHeight = 2;
-		client.setLayout(layout);
-		Table t = toolkit.createTable(client, SWT.NULL);
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		gd.heightHint = 20;
-		gd.widthHint = 100;
-		t.setLayoutData(gd);
-		toolkit.paintBordersFor(client);
-		Button b = toolkit.createButton(client, "Add...", SWT.PUSH);
-		gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
-		b.setLayoutData(gd);
-		section.setClient(client);
-		final SectionPart spart = new SectionPart(section);
-		managedForm.addPart(spart);
-		TableViewer viewer = new TableViewer(t);
-		viewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				managedForm.fireSelectionChanged(spart, event.getSelection());
-			}
-		});
-		viewer.setContentProvider(new MasterContentProvider());
-		viewer.setLabelProvider(new MasterLabelProvider());
-		viewer.setInput(page.getEditor().getEditorInput());
-	}
-	protected void createToolBarActions(IManagedForm managedForm) {
-		final ScrolledForm form = managedForm.getForm();
-		Action haction = new Action("hor", Action.AS_RADIO_BUTTON) {
-			public void run() {
-				sashForm.setOrientation(SWT.HORIZONTAL);
-				form.reflow(true);
-			}
-		};
-		haction.setChecked(true);
-		haction.setToolTipText("Horizontal orientation");
-		haction.setImageDescriptor(ExamplesPlugin.getDefault()
-				.getImageRegistry()
-				.getDescriptor(ExamplesPlugin.IMG_HORIZONTAL));
-		Action vaction = new Action("ver", Action.AS_RADIO_BUTTON) {
-			public void run() {
-				sashForm.setOrientation(SWT.VERTICAL);
-				form.reflow(true);
-			}
-		};
-		vaction.setChecked(false);
-		vaction.setToolTipText("Vertical orientation");
-		vaction.setImageDescriptor(ExamplesPlugin.getDefault()
-				.getImageRegistry().getDescriptor(ExamplesPlugin.IMG_VERTICAL));
-		form.getToolBarManager().add(haction);
-		form.getToolBarManager().add(vaction);
-	}
-	protected void registerPages(DetailsPart detailsPart) {
-		detailsPart.registerPage(TypeOne.class, new TypeOneDetailsPage());
-		detailsPart.registerPage(TypeTwo.class, new TypeTwoDetailsPage());
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/ScrolledPropertiesPage.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/ScrolledPropertiesPage.java
deleted file mode 100644
index 66e884e..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/ScrolledPropertiesPage.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-import org.eclipse.ui.forms.IManagedForm;
-import org.eclipse.ui.forms.editor.*;
-import org.eclipse.ui.forms.examples.internal.ExamplesPlugin;
-import org.eclipse.ui.forms.widgets.*;
-/**
- * @author dejan
- * 
- * To change the template for this generated type comment go to Window -
- * Preferences - Java - Code Generation - Code and Comments
- */
-public class ScrolledPropertiesPage extends FormPage {
-	private ScrolledPropertiesBlock block;
-	public ScrolledPropertiesPage(FormEditor editor) {
-		super(editor, "fourth", "Master Details");
-		block = new ScrolledPropertiesBlock(this);
-	}
-	protected void createFormContent(final IManagedForm managedForm) {
-		final ScrolledForm form = managedForm.getForm();
-		FormToolkit toolkit = managedForm.getToolkit();
-		form.setText("Form with scrolled sections");
-		form.setBackgroundImage(ExamplesPlugin.getDefault().getImage(
-				ExamplesPlugin.IMG_FORM_BG));
-		block.createContent(managedForm);
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SecondPage.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SecondPage.java
deleted file mode 100644
index 9ec55fd..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SecondPage.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.forms.*;
-import org.eclipse.ui.forms.editor.*;
-import org.eclipse.ui.forms.events.*;
-import org.eclipse.ui.forms.examples.internal.ExamplesPlugin;
-import org.eclipse.ui.forms.widgets.*;
-/**
- * @author dejan
- * 
- * To change the template for this generated type comment go to Window -
- * Preferences - Java - Code Generation - Code and Comments
- */
-public class SecondPage extends FormPage {
-	/**
-	 * @param id
-	 * @param title
-	 */
-	public SecondPage(FormEditor editor) {
-		super(editor, "second", "Section Page");
-	}
-	protected void createFormContent(IManagedForm managedForm) {
-		ScrolledForm form = managedForm.getForm();
-		FormToolkit toolkit = managedForm.getToolkit();
-		form.setText("Title for the second page");
-		form.setBackgroundImage(ExamplesPlugin.getDefault().getImage(ExamplesPlugin.IMG_FORM_BG));
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		form.getBody().setLayout(layout);
-		createTableSection(form, toolkit, "First Table Section");
-		createTableSection(form, toolkit, "Second Table Section");		
-	}
-	
-	private void createTableSection(final ScrolledForm form, FormToolkit toolkit, String title) {
-		Section section =
-			toolkit.createSection(
-				form.getBody(),
-				Section.TWISTIE | Section.DESCRIPTION);
-		section.setActiveToggleColor(
-			toolkit.getHyperlinkGroup().getActiveForeground());
-		section.setToggleColor(
-			toolkit.getColors().getColor(FormColors.SEPARATOR));
-		toolkit.createCompositeSeparator(section);
-		Composite client = toolkit.createComposite(section, SWT.WRAP);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-
-		client.setLayout(layout);
-		Table t = toolkit.createTable(client, SWT.NULL);
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		gd.heightHint = 200;
-		gd.widthHint = 100;
-		t.setLayoutData(gd);
-		toolkit.paintBordersFor(client);
-		Button b = toolkit.createButton(client, "Add...", SWT.PUSH);
-		gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
-		b.setLayoutData(gd);
-		section.setText(title);
-		section.setDescription("This section has a tree and a button.");
-		section.setClient(client);
-		section.setExpanded(true);
-		section.addExpansionListener(new ExpansionAdapter() {
-			public void expansionStateChanged(ExpansionEvent e) {
-				form.reflow(false);
-			}
-		});
-		gd = new GridData(GridData.FILL_BOTH);
-		section.setLayoutData(gd);
-	}
-}
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SimpleFormEditor.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SimpleFormEditor.java
deleted file mode 100644
index bfeed1e..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SimpleFormEditor.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.forms.editor.FormEditor;
-import org.eclipse.ui.forms.examples.internal.ExamplesPlugin;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-/**
- * A simple multi-page form editor that uses Eclipse Forms support.
- * Example plug-in is configured to create one instance of
- * form colors that is shared between multiple editor instances.
- */
-public class SimpleFormEditor extends FormEditor {
-	/**
-	 *  
-	 */
-	public SimpleFormEditor() {
-	}
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.ui.forms.editor.FormEditor#createToolkit(org.eclipse.swt.widgets.Display)
-	 */
-	protected FormToolkit createToolkit(Display display) {
-		// Create a toolkit that shares colors between editors.
-		return new FormToolkit(ExamplesPlugin.getDefault().getFormColors(
-				display));
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.editor.FormEditor#addPages()
-	 */
-	protected void addPages() {
-		try {
-		addPage(new FreeFormPage(this));
-		addPage(new SecondPage(this));
-		int index = addPage(new Composite(getContainer(), SWT.NULL));
-		setPageText(index, "Composite");
-		addPage(new ThirdPage(this));
-		addPage(new ScrolledPropertiesPage(this));
-		addPage(new PageWithSubPages(this));
-		}
-		catch (PartInitException e) {
-			//
-		}
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.ISaveablePart#doSave(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void doSave(IProgressMonitor monitor) {
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.ISaveablePart#doSaveAs()
-	 */
-	public void doSaveAs() {
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.ISaveablePart#isSaveAsAllowed()
-	 */
-	public boolean isSaveAsAllowed() {
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SimpleFormEditorInput.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SimpleFormEditorInput.java
deleted file mode 100644
index 0f0c936..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SimpleFormEditorInput.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-import org.eclipse.ui.forms.examples.internal.FormEditorInput;
-
-public class SimpleFormEditorInput extends FormEditorInput {
-	private SimpleModel model;
-	
-	public SimpleFormEditorInput(String name) {
-		super(name);
-		model = new SimpleModel();
-	}
-	
-	public SimpleModel getModel() {
-		return model;
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SimpleModel.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SimpleModel.java
deleted file mode 100644
index 130641e..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SimpleModel.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-import java.util.ArrayList;
-/**
- * @author dejan
- * 
- * To change the template for this generated type comment go to Window -
- * Preferences - Java - Code Generation - Code and Comments
- */
-public class SimpleModel {
-	private ArrayList modelListeners;
-	private ArrayList objects;
-	public SimpleModel() {
-		modelListeners = new ArrayList();
-		initialize();
-	}
-	public void addModelListener(IModelListener listener) {
-		if (!modelListeners.contains(listener))
-			modelListeners.add(listener);
-	}
-	public void removeModelListener(IModelListener listener) {
-		modelListeners.remove(listener);
-	}
-	public void fireModelChanged(Object[] objects, String type, String property) {
-		for (int i = 0; i < modelListeners.size(); i++) {
-			((IModelListener) modelListeners.get(i)).modelChanged(objects,
-					type, property);
-		}
-	}
-	public Object[] getContents() {
-		return objects.toArray();
-	}
-	private void initialize() {
-		objects = new ArrayList();
-		NamedObject[] objects = {
-				new TypeOne("TypeOne instance 1", 2, true, "Some text"),
-				new TypeOne("TypeOne instance 2", 1, false, "Different text"),
-				new TypeOne("TypeOne instance 3", 3, true, "Text"),
-				new TypeOne("TypeOne instance 4", 0, false, "Longer text"),
-				new TypeOne("TypeOne instance 5", 1, true, "Sample"),
-				new TypeTwo("TypeTwo instance 1", false, true),
-				new TypeTwo("TypeTwo instance 2", true, false)};
-		add(objects, false);
-	}
-	public void add(NamedObject[] objs, boolean notify) {
-		for (int i = 0; i < objs.length; i++) {
-			objects.add(objs[i]);
-			objs[i].setModel(this);
-		}
-		if (notify)
-			fireModelChanged(objs, IModelListener.ADDED, "");
-	}
-	public void remove(NamedObject[] objs, boolean notify) {
-		for (int i = 0; i < objs.length; i++) {
-			objects.remove(objs[i]);
-			objs[i].setModel(null);
-		}
-		if (notify)
-			fireModelChanged(objs, IModelListener.REMOVED, "");
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/ThirdPage.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/ThirdPage.java
deleted file mode 100644
index 99a66ee..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/ThirdPage.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.forms.IManagedForm;
-import org.eclipse.ui.forms.editor.*;
-import org.eclipse.ui.forms.events.*;
-import org.eclipse.ui.forms.widgets.*;
-/**
- * @author dejan
- * 
- * To change the template for this generated type comment go to Window -
- * Preferences - Java - Code Generation - Code and Comments
- */
-public class ThirdPage extends FormPage {
-	/**
-	 * @param id
-	 * @param title
-	 */
-	public ThirdPage(FormEditor editor) {
-		super(editor, "third", "Flow Page");
-	}
-	protected void createFormContent(IManagedForm managedForm) {
-		ScrolledForm form = managedForm.getForm();
-		FormToolkit toolkit = managedForm.getToolkit();
-		form.setText("Form with wrapped controls");
-		ColumnLayout layout = new ColumnLayout();
-		layout.topMargin = 0;
-		layout.bottomMargin = 5;
-		layout.leftMargin = 10;
-		layout.rightMargin = 10;
-		layout.horizontalSpacing = 10;
-		layout.verticalSpacing = 10;
-		layout.maxNumColumns = 4;
-		layout.minNumColumns = 1;
-		form.getBody().setLayout(layout);
-		//form.getBody().setBackground(
-		//		form.getBody().getDisplay().getSystemColor(SWT.COLOR_GREEN));
-		createSectionWithLinks(managedForm, "Link Section",
-				"An example of a section with links", 2);
-		createSectionWithLinks(managedForm, "Link Section",
-				"An example of a section with links", 2);
-		createMixedSection(managedForm, "Mixed Section",
-				"An example of a section with both links and form controls");
-		createSectionWithLinks(managedForm, "Link Section",
-				"An example of a section with links", 4);
-		createSectionWithControls(managedForm, "Control Section",
-				"An example of a section with form controls");
-		createSectionWithLinks(managedForm, "Sample Section",
-				"An example of a section with links", 3);
-		createSectionWithLinks(managedForm, "Sample Section",
-				"An example of a section with links", 5);
-		createMixedSection(managedForm, "Mixed Section",
-				"An example of a section with both links and form controls");
-		createSectionWithLinks(managedForm, "Sample Section",
-				"An example of a section with links", 2);
-		createSectionWithControls(managedForm, "Control Section",
-				"An example of a section with links");
-		createSectionWithLinks(managedForm, "Sample Section",
-				"An example of a section with links", 4);
-		createSectionWithLinks(managedForm, "Sample Section",
-				"An example of a section with links", 2);
-		createMixedSection(managedForm, "Mixed Section",
-				"An example of a section with both links and form controls");
-		createSectionWithLinks(managedForm, "Sample Section",
-				"An example of a section with links", 2);
-		createSectionWithControls(managedForm, "Control Section",
-				"An example of a section with form controls");
-	}
-	private void createSectionWithLinks(IManagedForm mform, String title,
-			String desc, int nlinks) {
-		Composite client = createSection(mform, title, desc, 1);
-		FormToolkit toolkit = mform.getToolkit();
-		for (int i = 1; i <= nlinks; i++)
-			toolkit.createHyperlink(client, "Hyperlink text " + i, SWT.WRAP);
-	}
-	private void createSectionWithControls(IManagedForm mform, String title,
-			String desc) {
-		Composite client = createSection(mform, title, desc, 1);
-		FormToolkit toolkit = mform.getToolkit();
-		toolkit.createButton(client, "A radio button 1", SWT.RADIO);
-		toolkit.createButton(client, "A radio button 2", SWT.RADIO);
-		toolkit.createButton(client, "A radio button with a longer text",
-				SWT.RADIO);
-		toolkit.createButton(client, "A checkbox button", SWT.CHECK);
-	}
-	private void createMixedSection(IManagedForm mform, String title, String desc) {
-		Composite client = createSection(mform, title, desc, 2);
-		FormToolkit toolkit = mform.getToolkit();
-		Hyperlink link = toolkit.createHyperlink(client,
-				"A longer hyperlink text example", SWT.WRAP);
-		GridData gd = new GridData();
-		gd.horizontalSpan = 2;
-		link.setLayoutData(gd);
-		link = toolkit.createHyperlink(client, "Another hyperlink text",
-				SWT.WRAP);
-		gd = new GridData();
-		gd.horizontalSpan = 2;
-		link.setLayoutData(gd);
-		toolkit.createLabel(client, "A text label:");
-		Text text = toolkit.createText(client, "", SWT.SINGLE);
-		gd = new GridData();
-		gd.widthHint = 150;
-		text.setLayoutData(gd);
-		//toolkit.paintBordersFor(client);
-	}
-	private Composite createSection(IManagedForm mform, String title,
-			String desc, int numColumns) {
-		final ScrolledForm form = mform.getForm();
-		FormToolkit toolkit = mform.getToolkit();
-		Section section = toolkit.createSection(form.getBody(), Section.TWISTIE
-				| Section.TITLE_BAR | Section.DESCRIPTION | Section.EXPANDED);
-		section.setText(title);
-		section.setDescription(desc);
-		//toolkit.createCompositeSeparator(section);
-		Composite client = toolkit.createComposite(section);
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = layout.marginHeight = 0;
-		layout.numColumns = numColumns;
-		client.setLayout(layout);
-		section.setClient(client);
-		section.addExpansionListener(new ExpansionAdapter() {
-			public void expansionStateChanged(ExpansionEvent e) {
-				form.reflow(false);
-			}
-		});
-		return client;
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeOne.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeOne.java
deleted file mode 100644
index c0ecdf6..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeOne.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-public class TypeOne extends NamedObject {
-	public static final String P_CHOICE="choice";
-	public static final String P_FLAG="flag";
-	public static final String P_TEXT="text";
-	public static final String [] CHOICES = {
-			"Choice 1", "Choice 2", "Choice 3", "Choice 4" };
-	private int choice=0;
-	private String text;
-	private boolean flag;
-
-	/**
-	 * @param name
-	 */
-	public TypeOne(String name, int choice, boolean flag, String text) {
-		super(name);
-		this.flag = flag;
-		this.text = text;
-		this.choice = choice;
-	}
-	public int getChoice() {
-		return choice;
-	}
-	public void setChoice(int choice) {
-		this.choice = choice;
-		model.fireModelChanged(new Object[] {this}, IModelListener.CHANGED, P_CHOICE);
-	}
-	public boolean getFlag() {
-		return flag;
-	}
-	public void setFlag(boolean flag) {
-		this.flag = flag;
-		model.fireModelChanged(new Object[] {this}, IModelListener.CHANGED, P_FLAG);
-	}
-	public String getText() {
-		return text;
-	}
-	public void setText(String text) {
-		this.text = text;
-		model.fireModelChanged(new Object[] {this}, IModelListener.CHANGED, P_TEXT);
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeOneDetailsPage.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeOneDetailsPage.java
deleted file mode 100644
index 90b1d8b..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeOneDetailsPage.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.forms.*;
-import org.eclipse.ui.forms.widgets.*;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-public class TypeOneDetailsPage implements IDetailsPage {
-	private IManagedForm mform;
-	private TypeOne input;
-	private Button [] choices;
-	private Button flag;
-	private Text text;
-	private static final String RTEXT_DATA =
-			"<form><p>An example of a free-form text that should be "+
-			"wrapped below the section with widgets.</p>"+
-			"<p>It can contain simple tags like <a>links</a> and <b>bold text</b>.</p></form>";
-	
-	public TypeOneDetailsPage() {
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.IDetailsPage#initialize(org.eclipse.ui.forms.IManagedForm)
-	 */
-	public void initialize(IManagedForm mform) {
-		this.mform = mform;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.IDetailsPage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createContents(Composite parent) {
-		TableWrapLayout layout = new TableWrapLayout();
-		layout.topMargin = 5;
-		layout.leftMargin = 5;
-		layout.rightMargin = 2;
-		layout.bottomMargin = 2;
-		parent.setLayout(layout);
-
-		FormToolkit toolkit = mform.getToolkit();
-		Section s1 = toolkit.createSection(parent, Section.DESCRIPTION);
-		s1.marginWidth = 10;
-		s1.setText("Type One Details");
-		s1.setDescription("Set the properties of the selected TypeOne object.");
-		TableWrapData td = new TableWrapData(TableWrapData.FILL, TableWrapData.TOP);
-		td.grabHorizontal = true;
-		s1.setLayoutData(td);
-		toolkit.createCompositeSeparator(s1);
-		Composite client = toolkit.createComposite(s1);
-		GridLayout glayout = new GridLayout();
-		glayout.marginWidth = glayout.marginHeight = 0;
-		glayout.numColumns = 2;
-		client.setLayout(glayout);
-		
-		SelectionListener choiceListener = new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				Integer value = (Integer)e.widget.getData();
-				if (input!=null) {
-					input.setChoice(value.intValue());
-				}
-			}
-		};
-		GridData gd;
-		choices = new Button[TypeOne.CHOICES.length];
-		for (int i=0; i<TypeOne.CHOICES.length; i++) {
-			choices[i] = toolkit.createButton(client, TypeOne.CHOICES[i], SWT.RADIO);
-			choices[i].setData(new Integer(i));
-			choices[i].addSelectionListener(choiceListener);
-			gd = new GridData();
-			gd.horizontalSpan = 2;
-			choices[i].setLayoutData(gd);
-		}
-		createSpacer(toolkit, client, 2);
-		flag = toolkit.createButton(client, "Value of the flag property", SWT.CHECK);
-		flag.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (input!=null)
-					input.setFlag(flag.getSelection());
-			}
-		});
-		gd = new GridData();
-		gd.horizontalSpan = 2;
-		flag.setLayoutData(gd);
-		createSpacer(toolkit, client, 2);
-		
-		toolkit.createLabel(client, "Text property:");
-		text = toolkit.createText(client, "", SWT.SINGLE);
-		text.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				if (input!=null)
-					input.setText(text.getText());
-			}
-		});
-		gd = new GridData(GridData.FILL_HORIZONTAL|GridData.VERTICAL_ALIGN_BEGINNING);
-		gd.widthHint = 10;
-		text.setLayoutData(gd);
-		
-		createSpacer(toolkit, client, 2);
-		
-		FormText rtext = toolkit.createFormText(parent, true);
-		rtext.setText(RTEXT_DATA, true, false);
-		td = new TableWrapData(TableWrapData.FILL, TableWrapData.TOP);
-		td.grabHorizontal = true;
-		rtext.setLayoutData(td);
-		
-		toolkit.paintBordersFor(s1);
-		s1.setClient(client);
-	}
-	private void createSpacer(FormToolkit toolkit, Composite parent, int span) {
-		Label spacer = toolkit.createLabel(parent, "");
-		GridData gd = new GridData();
-		gd.horizontalSpan = span;
-		spacer.setLayoutData(gd);
-	}
-	private void update() {
-		for (int i=0; i<TypeOne.CHOICES.length; i++) {
-			choices[i].setSelection(input!=null && input.getChoice()==i);
-		}
-		flag.setSelection(input!=null && input.getFlag());
-		text.setText(input!=null && input.getText()!=null?input.getText():"");
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.IDetailsPage#inputChanged(org.eclipse.jface.viewers.IStructuredSelection)
-	 */
-	public void selectionChanged(IFormPart part, ISelection selection) {
-		IStructuredSelection ssel = (IStructuredSelection)selection;
-		if (ssel.size()==1) {
-			input = (TypeOne)ssel.getFirstElement();
-		}
-		else
-			input = null;
-		update();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.IDetailsPage#commit()
-	 */
-	public void commit(boolean onSave) {
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.IDetailsPage#setFocus()
-	 */
-	public void setFocus() {
-		choices[0].setFocus();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.IDetailsPage#dispose()
-	 */
-	public void dispose() {
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.IDetailsPage#isDirty()
-	 */
-	public boolean isDirty() {
-		return false;
-	}
-	public boolean isStale() {
-		return false;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.IDetailsPage#refresh()
-	 */
-	public void refresh() {
-		update();
-	}
-	public boolean setFormInput(Object input) {
-		return false;
-	}
-}
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeTwo.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeTwo.java
deleted file mode 100644
index 5e7e8a3..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeTwo.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-public class TypeTwo extends NamedObject {
-	public static final String P_FLAG1="flag1";
-	public static final String P_FLAG2="flag2";
-	private boolean flag1;
-	private boolean flag2;
-
-	/**
-	 * @param name
-	 */
-	public TypeTwo(String name, boolean flag1, boolean flag2) {
-		super(name);
-		this.flag1 = flag1;
-		this.flag2 = flag2;
-	}
-	public boolean getFlag1() {
-		return flag1;
-	}
-	public boolean getFlag2() {
-		return flag2;
-	}
-	public void setFlag1(boolean flag1) {
-		this.flag1 = flag1;
-		model.fireModelChanged(new Object[] {this}, IModelListener.CHANGED, P_FLAG1);
-	}
-	public void setFlag2(boolean flag2) {
-		this.flag2 = flag2;
-		model.fireModelChanged(new Object[] {this}, IModelListener.CHANGED, P_FLAG2);
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeTwoDetailsPage.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeTwoDetailsPage.java
deleted file mode 100644
index 976bc32..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeTwoDetailsPage.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-
-import org.eclipse.jface.viewers.*;
-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.forms.*;
-import org.eclipse.ui.forms.widgets.*;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-public class TypeTwoDetailsPage implements IDetailsPage {
-	private IManagedForm mform;
-	private TypeTwo input;
-	private Button flag1;
-	private Button flag2;
-	
-	public TypeTwoDetailsPage() {
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.IDetailsPage#initialize(org.eclipse.ui.forms.IManagedForm)
-	 */
-	public void initialize(IManagedForm mform) {
-		this.mform = mform;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.IDetailsPage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createContents(Composite parent) {
-		TableWrapLayout layout = new TableWrapLayout();
-		layout.topMargin = 5;
-		layout.leftMargin = 5;
-		layout.rightMargin = 2;
-		layout.bottomMargin = 2;
-		parent.setLayout(layout);
-
-		FormToolkit toolkit = mform.getToolkit();
-		Section s1 = toolkit.createSection(parent, Section.DESCRIPTION);
-		s1.marginWidth = 10;
-		s1.setText("Type Two Details");
-		s1.setDescription("Set the properties of the selected TypeTwo object.");
-		TableWrapData td = new TableWrapData(TableWrapData.FILL, TableWrapData.TOP);
-		td.grabHorizontal = true;
-		s1.setLayoutData(td);
-		toolkit.createCompositeSeparator(s1);
-		Composite client = toolkit.createComposite(s1);
-		GridLayout glayout = new GridLayout();
-		glayout.marginWidth = glayout.marginHeight = 0;
-		client.setLayout(glayout);
-		
-		flag1 = toolkit.createButton(client, "Value of the flag1 property", SWT.CHECK);
-		flag1.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (input!=null)
-					input.setFlag1(flag1.getSelection());
-			}
-		});
-		
-		flag2 = toolkit.createButton(client, "Value of the flag2 property", SWT.CHECK);
-		flag2.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (input!=null)
-					input.setFlag2(flag2.getSelection());
-			}
-		});
-		s1.setClient(client);
-	}
-	private void update() {
-		flag1.setSelection(input!=null && input.getFlag1());
-		flag2.setSelection(input!=null && input.getFlag2());
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.IDetailsPage#inputChanged(org.eclipse.jface.viewers.IStructuredSelection)
-	 */
-	public void selectionChanged(IFormPart part, ISelection selection) {
-		IStructuredSelection ssel = (IStructuredSelection)selection;
-		if (ssel.size()==1) {
-			input = (TypeTwo)ssel.getFirstElement();
-		}
-		else
-			input = null;
-		update();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.IDetailsPage#commit()
-	 */
-	public void commit(boolean onSave) {
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.IDetailsPage#setFocus()
-	 */
-	public void setFocus() {
-		flag1.setFocus();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.IDetailsPage#dispose()
-	 */
-	public void dispose() {
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.IDetailsPage#isDirty()
-	 */
-	public boolean isDirty() {
-		return false;
-	}
-	
-	public boolean isStale() {
-		return false;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.IDetailsPage#refresh()
-	 */
-	public void refresh() {
-		update();
-	}
-	public boolean setFormInput(Object input) {
-		return false;
-	}
-}
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/index.xml b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/index.xml
deleted file mode 100644
index eaf0aa6..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/index.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<form>
-<p>
-To check for updates for features you have installed, 
-go to the <a href="action1">My Eclipse 1</a> and select 
-<b>Available Updates</b> folder. <b>Search page</b> will 
-be shown allowing you to initiate and customize the search. 
-Now we <b>will</b> add an 
-<img href="image1"/> 
-image here. Just
- to show how wrapping should apply to images when they are 
- larger than the regular text.
-</p>
-<li style="text" value="1.">To check for updates for features you have installed, 
-go to the <a href="action2">My Eclipse 2</a> and select 
-<b>Available Updates</b> folder. <b>Search page</b> will 
-be shown allowing you to initiate and customize the search.</li>
-<li style="text" value="2.">This is the item number 2.</li>
-<li style="text" value="3.">This is the item number 3.</li>
-<li>This is the bullet item.</li>
-<li>This is another bullet item.</li>
-</form>
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/views/FormView.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/views/FormView.java
deleted file mode 100644
index 2047a78..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/views/FormView.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.views;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.forms.FormColors;
-import org.eclipse.ui.forms.events.*;
-import org.eclipse.ui.forms.examples.internal.ExamplesPlugin;
-import org.eclipse.ui.forms.widgets.*;
-import org.eclipse.ui.part.ViewPart;
-
-public class FormView extends ViewPart {
-	private FormToolkit toolkit;
-	private ScrolledForm form;
-	/**
-	 * The constructor.
-	 */
-	public FormView() {
-	}
-	/**
-	 * This is a callback that will allow us to create the viewer and
-	 * initialize it.
-	 */
-	public void createPartControl(Composite parent) {
-		toolkit = new FormToolkit(parent.getDisplay());
-		form = toolkit.createScrolledForm(parent);
-		form.setText("Hello, Eclipse Forms");
-		TableWrapLayout layout = new TableWrapLayout();
-		form.getBody().setLayout(layout);
-		
-		Hyperlink link = toolkit.createHyperlink(form.getBody(), "Click here.",
-				SWT.WRAP);
-		link.addHyperlinkListener(new HyperlinkAdapter() {
-			public void linkActivated(HyperlinkEvent e) {
-				System.out.println("Link activated!");
-			}
-		});
-		link.setText("This is an example of a form that is much longer and will need to wrap.");
-		layout.numColumns = 2;
-		TableWrapData td = new TableWrapData();
-		td.colspan = 2;
-		link.setLayoutData(td);
-		Label label = toolkit.createLabel(form.getBody(), "Text field label:");
-		Text text = toolkit.createText(form.getBody(), "");
-		td = new TableWrapData(TableWrapData.FILL_GRAB);
-		text.setLayoutData(td);
-		Button button = toolkit.createButton(form.getBody(),
-				"An example of a checkbox in a form", SWT.CHECK);
-		td = new TableWrapData();
-		td.colspan = 2;
-		button.setLayoutData(td);
-		ExpandableComposite ec = toolkit.createExpandableComposite(form.getBody(), ExpandableComposite.TREE_NODE|ExpandableComposite.CLIENT_INDENT);
-		ImageHyperlink eci = toolkit.createImageHyperlink(ec, SWT.NULL);
-		eci.setImage(ExamplesPlugin.getDefault().getImageRegistry().get(ExamplesPlugin.IMG_SAMPLE));
-		ec.setTextClient(eci);
-		ec.setText("Expandable Composite title");
-		String ctext = "We will now create a somewhat long text so that "+
-		"we can use it as content for the expandable composite. "+
-		"Expandable composite is used to hide or show the text using the "+
-		"toggle control";
-		Label client = toolkit.createLabel(ec, ctext, SWT.WRAP);
-		ec.setClient(client);
-		td = new TableWrapData();
-		td.colspan = 2;
-		ec.setLayoutData(td);
-		ec.addExpansionListener(new ExpansionAdapter() {
-			public void expansionStateChanged(ExpansionEvent e) {
-				form.reflow(true);
-			}
-		});
-		Section section = toolkit.createSection(form.getBody(), Section.DESCRIPTION|Section.TWISTIE|Section.EXPANDED);
-		td = new TableWrapData(TableWrapData.FILL);
-		td.colspan = 2;
-		section.setLayoutData(td);
-		section.addExpansionListener(new ExpansionAdapter() {
-			public void expansionStateChanged(ExpansionEvent e) {
-				form.reflow(true);
-			}
-		});
-		section.setText("Section title");
-		toolkit.createCompositeSeparator(section);
-		section.setDescription("This is the description that goes below the title");
-		Composite sectionClient = toolkit.createComposite(section);
-		sectionClient.setLayout(new GridLayout());
-		button = toolkit.createButton(sectionClient, "Radio 1", SWT.RADIO);
-		button = toolkit.createButton(sectionClient, "Radio 2", SWT.RADIO);
-		section.setClient(sectionClient);
-
-		StringBuffer buf = new StringBuffer();
-		buf.append("<form>");
-		buf.append("<p>");
-		buf.append("Here is some plain text for the text to render; ");
-		buf.append("this text is at <a href=\"http://www.eclipse.org\" nowrap=\"true\">http://www.eclipse.org</a> web site.");
-		buf.append("</p>");
-		buf.append("<p>");
-		buf.append("<span color=\"header\" font=\"header\">This text is in header font and color.</span>");
-		buf.append("</p>");
-		buf.append("<p>This line will contain some <b>bold</b> and some <span font=\"code\">source</span> text. ");
-		buf.append("We can also add <img href=\"image\"/> an image. ");
-		buf.append("</p>");
-		buf.append("<li>A default (bulleted) list item.</li>");
-		buf.append("<li>Another bullet list item.</li>");
-		buf.append("<li style=\"text\" value=\"1.\">A list item with text.</li>");
-		buf.append("<li style=\"text\" value=\"2.\">Another list item with text</li>");
-		buf.append("<li style=\"image\" value=\"image\">List item with an image bullet</li>");
-		buf.append("<li style=\"text\" bindent=\"20\" indent=\"40\" value=\"3.\">A list item with text.</li>");
-		buf.append("<li style=\"text\" bindent=\"20\" indent=\"40\" value=\"4.\">A list item with text.</li>");
-		buf.append("<p>     leading blanks;      more white \n\n new lines   <br/>  \n   more <b>   bb   </b>  white  . </p>");
-		buf.append("</form>");
-		FormText rtext = toolkit.createFormText(form.getBody(), true);
-		rtext.setWhitespaceNormalized(true);
-		td = new TableWrapData(TableWrapData.FILL);
-		td.colspan = 2;
-		rtext.setLayoutData(td);
-		rtext.setImage("image", ExamplesPlugin.getDefault().getImageRegistry().get(ExamplesPlugin.IMG_SAMPLE));
-		rtext.setColor("header", toolkit.getColors().getColor(FormColors.TITLE));
-		rtext.setFont("header", JFaceResources.getHeaderFont());
-		rtext.setFont("code", JFaceResources.getTextFont());
-		rtext.setText(buf.toString(), true, false);
-		rtext.addHyperlinkListener(new HyperlinkAdapter() {
-			public void linkActivated(HyperlinkEvent e) {
-				System.out.println("Link active: "+e.getHref());
-			}
-		});
-/*		layout.numColumns = 3;
-		Label label;
-		TableWrapData td;
-		
-		label = toolkit.createLabel(form.getBody(), "Some text to put in the first column", SWT.WRAP);
-		label = toolkit.createLabel(form.getBody() ,"Some text to put in the second column and make it a bit longer so that we can see what happens with column distribution. This text must be the longest so that it can get more space allocated to the columns it belongs to.", SWT.WRAP);
-		td = new TableWrapData();
-		td.colspan = 2;
-		label.setLayoutData(td);
-		label = toolkit.createLabel(form.getBody(), "This text will span two rows and should not grow the column.", SWT.WRAP);
-		td = new TableWrapData();
-		td.rowspan = 2;
-		label.setLayoutData(td);
-		label = toolkit.createLabel(form.getBody(), "This text goes into column 2 and consumes only one cell", SWT.WRAP);
-		label.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB));
-		label = toolkit.createLabel(form.getBody(), "This text goes into column 3 and consumes only one cell too", SWT.WRAP);
-		label.setLayoutData(new TableWrapData(TableWrapData.FILL));
-		label = toolkit.createLabel(form.getBody(), "This text goes into column 2 and consumes only one cell", SWT.WRAP);
-		label.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB));
-		label = toolkit.createLabel(form.getBody(), "This text goes into column 3 and consumes only one cell too", SWT.WRAP);
-		label.setLayoutData(new TableWrapData(TableWrapData.FILL));
-		form.getBody().setBackground(form.getBody().getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));*/
-		
-		toolkit.paintBordersFor(form.getBody());
-	}
-	/**
-	 * Passing the focus request to the form.
-	 */
-	public void setFocus() {
-		form.setFocus();
-	}
-	/**
-	 * Disposes the toolkit
-	 */
-	public void dispose() {
-		toolkit.dispose();
-		super.dispose();
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/.classpath b/tests/org.eclipse.ui.tests/.classpath
deleted file mode 100644
index de18aad..0000000
--- a/tests/org.eclipse.ui.tests/.classpath
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="UI Test Utils"/>
-	<classpathentry kind="src" path="Eclipse JFace Tests"/>
-	<classpathentry kind="src" path="Eclipse UI Tests"/>
-	<classpathentry kind="src" path="Benchmark Tests"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="src" path="Eclipse RCP Tests"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/tests/org.eclipse.ui.tests/.cvsignore b/tests/org.eclipse.ui.tests/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/tests/org.eclipse.ui.tests/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/.project b/tests/org.eclipse.ui.tests/.project
deleted file mode 100644
index 4325c48..0000000
--- a/tests/org.eclipse.ui.tests/.project
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.tests</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.core.resources</project>
-		<project>org.eclipse.core.runtime.compatibility</project>
-		<project>org.eclipse.jface.text</project>
-		<project>org.eclipse.text</project>
-		<project>org.eclipse.ui</project>
-		<project>org.eclipse.ui.editors</project>
-		<project>org.eclipse.ui.ide</project>
-		<project>org.eclipse.ui.views</project>
-		<project>org.eclipse.ui.workbench.texteditor</project>
-		<project>org.junit</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/tests/org.eclipse.ui.tests/Benchmark Tests/org/eclipse/ui/tests/benchmarks/OpenCloseTest.java b/tests/org.eclipse.ui.tests/Benchmark Tests/org/eclipse/ui/tests/benchmarks/OpenCloseTest.java
deleted file mode 100644
index 8197d70..0000000
--- a/tests/org.eclipse.ui.tests/Benchmark Tests/org/eclipse/ui/tests/benchmarks/OpenCloseTest.java
+++ /dev/null
@@ -1,37 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.benchmarks;
-
-
-import org.eclipse.ui.tests.util.UITestCase;
-
-/**
- * @version 	1.0
- * @author
- */
-public class OpenCloseTest extends UITestCase {
-
-	/**
-	 * Constructor for OpenCloseTest.
-	 * @param testName
-	 */
-	public OpenCloseTest(String testName) {
-		super(testName);
-	}
-		
-	/**
-	 * Tests that the Navigator is initially populated with
-	 * the correct elements from the workspace.
-	 */
-	public void testOpenClose()  {
-	}
-
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/images/ImageRegistryTest.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/images/ImageRegistryTest.java
deleted file mode 100644
index eb37312..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/images/ImageRegistryTest.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.images;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IconAndMessageDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.graphics.Image;
-
-import junit.framework.TestCase;
-
-
-/**
- * @since 3.0
- */
-public class ImageRegistryTest extends TestCase {
-	public ImageRegistryTest(String name) {
-		super(name);
-	}
-
-	public static void main(String args[]) {
-		junit.textui.TestRunner.run(ImageRegistryTest.class);
-	}
-	
-	public void testGetNull() {
-		ImageRegistry reg = JFaceResources.getImageRegistry();
-		
-		Image result = reg.get((String)null);
-		assertTrue("Registry should handle null", result == null);
-	}
-	
-	public void testGetString() {
-		
-		// note, we must touch the class to ensure the static initialer runs
-		// so the image registry is up to date
-		Class clazz = Dialog.class;
-		
-		String[] imageNames = new String[] {
-				Dialog.DLG_IMG_ERROR,
-				Dialog.DLG_IMG_INFO,
-				Dialog.DLG_IMG_QUESTION,
-				Dialog.DLG_IMG_WARNING,
-				Dialog.DLG_IMG_MESSAGE_ERROR,
-				Dialog.DLG_IMG_MESSAGE_INFO,
-				Dialog.DLG_IMG_MESSAGE_WARNING
-				};
-
-		ImageRegistry reg = JFaceResources.getImageRegistry();
-		
-		for (int i = 0; i < imageNames.length; i++) {
-			String imageName = imageNames[i];
-			Image image1 = reg.get(imageName);
-			assertTrue("Returned null image", image1 != null);
-		}
-		
-	}
-	
-	/**
-	 * check that we get non-null versions of the <code>IconAndMessageDialog</code> images
-	 * so we know that the code using them can rely on them.
-	 * 
-	 * Note that they can be <code>null</code> from SWT.
-	 *
-	 */
-	public void testGetIconMessageDialogImages() {
-
-		IconAndMessageDialog iconDialog = new MessageDialog(null, "testGetDialogIcons", null, "Message", MessageDialog.CANCEL, new String[] {"cancel"}, 0);
-		
-		Image[] images = new Image[] {
-				iconDialog.getErrorImage(), 
-				iconDialog.getInfoImage(), 
-				iconDialog.getQuestionImage(),
-				iconDialog.getWarningImage()
-				};
-
-		for (int i = 0; i < images.length; i++) {
-			assertTrue("Returned null image", images[i] != null);
-		}
-		
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/AbstractTreeViewerTest.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/AbstractTreeViewerTest.java
deleted file mode 100644
index fef8d0d..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/AbstractTreeViewerTest.java
+++ /dev/null
@@ -1,231 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers;
-
-
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Widget;
-
-import org.eclipse.jface.viewers.AbstractTreeViewer;
-
-public abstract class AbstractTreeViewerTest extends StructuredItemViewerTest {
-	
-	AbstractTreeViewer fTreeViewer;
-	
-	public AbstractTreeViewerTest(String name) {
-		super(name);
-	}
-	protected void assertEqualsArray(String s, Object[] a1, Object[] a2) {
-		int s1= a1.length;
-		int s2= a2.length;
-		assertTrue(s, s1 == s2);
-		for (int i= 0; i < s1; i++) {
-			assertEquals(s, a1[i], a2[i]);
-		}
-	}
-	protected abstract int getItemCount(TestElement element);   //was IElement
-public void testBulkExpand() {
-	// navigate
-	TestElement first = fRootElement.getFirstChild();
-	TestElement first2 = first.getFirstChild();
-	TestElement last = fRootElement.getLastChild();
-
-	// expand a few nodes
-	fTreeViewer.expandToLevel(first, 2);
-	fTreeViewer.expandToLevel(first2, 2);
-	fTreeViewer.expandToLevel(last, 2);
-
-	// get expand state
-	Object[] list1 = fTreeViewer.getExpandedElements();
-
-	// flush viewer
-	fViewer.setInput(fRootElement);
-
-	// restore old expand state
-	fTreeViewer.collapseAll();
-	fTreeViewer.expandToLevel(first, 2);
-	fTreeViewer.expandToLevel(first2, 2);
-	fTreeViewer.expandToLevel(last, 2);
-	
-	Object[] list2 = fTreeViewer.getExpandedElements();
-
-	assertEqualsArray("old and new expand state are the same", list1, list2);
-}
-	public void testDeleteChildExpanded() {
-		TestElement first= fRootElement.getFirstChild();
-		TestElement first2= first.getFirstChild();
-		fTreeViewer.expandToLevel(first2,0);
-		
-		assertNotNull("first child is visible", fViewer.testFindItem(first2));		
-		first.deleteChild(first2);
-		assertNull("first child is not visible", fViewer.testFindItem(first2));
-	}
-	public void testDeleteChildren() {
-		TestElement first= fRootElement.getFirstChild();		
-		first.deleteChildren();
-		assertTrue("no children", getItemCount(first) == 0);
-	}
-	public void testDeleteChildrenExpanded() {
-		TestElement first= fRootElement.getFirstChild();
-		TestElement first2= first.getFirstChild();
-		fTreeViewer.expandToLevel(first2,0);
-		assertNotNull("first child is visible", fViewer.testFindItem(first2));
-		
-		first.deleteChildren();
-		assertTrue("no children", getItemCount(first) == 0);
-	}
-	public void testExpand() {
-		TestElement first= fRootElement.getFirstChild();
-		TestElement first2= first.getFirstChild();
-		assertNull("first child is not visible", fViewer.testFindItem(first2));		
-		fTreeViewer.expandToLevel(first2,0);	
-		assertNotNull("first child is visible", fViewer.testFindItem(first2));		
-	}
-public void testExpandElement() {
-	TestElement first = fRootElement.getFirstChild();
-	TestElement first2 = first.getFirstChild();
-	TestElement first3 = first2.getFirstChild();
-	fTreeViewer.expandToLevel(first3, 0);
-	assertNotNull("first3 is visible", fViewer.testFindItem(first3));
-	assertNotNull("first2 is visible", fViewer.testFindItem(first2));
-}
-	public void testExpandToLevel() {
-		TestElement first= fRootElement.getFirstChild();
-		TestElement first2= first.getFirstChild();
-		fTreeViewer.expandToLevel(2);	
-		assertNotNull("first2 is visible", fViewer.testFindItem(first2));		
-	}
-	public void testFilterExpanded() {
-		TestElement first= fRootElement.getFirstChild();
-		TestElement first2= first.getFirstChild();
-		fTreeViewer.expandToLevel(first2,0);  
-
-		fTreeViewer.addFilter(new TestLabelFilter());
-		assertTrue("filtered count", getItemCount() == 5);
-	}
-	public void testInsertChildReveal() {
-		TestElement first= fRootElement.getFirstChild();		
-		TestElement newElement= first.addChild(TestModelChange.INSERT | TestModelChange.REVEAL);
-		assertNotNull("new sibling is visible", fViewer.testFindItem(newElement));
-	}
-	public void testInsertChildRevealSelect() {
-		TestElement last= fRootElement.getLastChild();
-		TestElement newElement= last.addChild(TestModelChange.INSERT | TestModelChange.REVEAL | TestModelChange.SELECT);
-		assertNotNull("new sibling is visible", fViewer.testFindItem(newElement));
-		assertSelectionEquals("new element is selected", newElement);
-	}
-	public void testInsertChildRevealSelectExpanded() {
-		TestElement first= fRootElement.getFirstChild();
-		TestElement newElement= first.addChild(TestModelChange.INSERT | TestModelChange.REVEAL | TestModelChange.SELECT);
-		assertNotNull("new sibling is visible", fViewer.testFindItem(newElement));
-		assertSelectionEquals("new element is selected", newElement);
-	}
-	/**
-	 * Regression test for 1GDN0PX: ITPUI:WIN2000 - SEVERE  - AssertionFailure when expanding Navigator
-	 * Problem was:
-	 *   - before addition, parent item had no children, and was expanded
-	 *   - after addition, during refresh(), updatePlus() added dummy node even though parent item was expanded
-	 *   - in updateChildren, it wasn't handling a dummy node
-	 */
-	public void testRefreshWithAddedChildren() {
-		TestElement parent = fRootElement.addChild(TestModelChange.INSERT);
-		TestElement child = parent.addChild(TestModelChange.INSERT);
-		((AbstractTreeViewer) fViewer).setExpandedState(parent, true);
-		parent.deleteChild(child);
-		child = parent.addChild(TestModelChange.STRUCTURE_CHANGE);
-		// On some platforms (namely GTK), removing all children causes the
-		// parent to collapse (actually it's worse than that: GTK doesn't
-		// allow there to be an empty expanded tree item, even if you do a
-		// setExpanded(true)).  
-		// This behaviour makes it impossible to do this regression test.
-		// See bug 40797 for more details.
-		if (((AbstractTreeViewer) fViewer).getExpandedState(parent)) { 
-			assertNotNull("new child is visible", fViewer.testFindItem(child));
-		}
-	}
-	/**
-	 * Regression test for 1GBDB5A: ITPUI:WINNT - Exception in AbstractTreeViewer update.
-	 * Problem was:
-	 *   node has child A
-	 *   node gets duplicate child A
-	 *   viewer is refreshed rather than using add for new A
-	 *   AbstractTreeViewer.updateChildren(...) was not properly handling it
-	 */
-	public void testRefreshWithDuplicateChild() {
-		TestElement first= fRootElement.getFirstChild();
-		TestElement newElement= (TestElement) first.clone();
-		fRootElement.addChild(newElement, new TestModelChange(TestModelChange.STRUCTURE_CHANGE, fRootElement));
-		assertNotNull("new sibling is visible", fViewer.testFindItem(newElement));
-	}
-	
-	/**
-	 * Regression test for Bug 3840 [Viewers] free expansion of jar happening when deleting projects (1GEV2FL)
-	 * Problem was:
-	 *   - node has children A and B 
-	 *   - A is expanded, B is not
-	 *   - A gets deleted
-	 *   - B gets expanded because it reused A's item
-	 */
-	public void testRefreshWithReusedItems() {
-//        TestElement a= fRootElement.getFirstChild();
-//        TestElement aa= a.getChildAt(0);
-//        TestElement ab= a.getChildAt(1);
-//        fTreeViewer.expandToLevel(aa, 1);
-//		List expandedBefore = Arrays.asList(fTreeViewer.getExpandedElements());
-//		assertTrue(expandedBefore.contains(a));
-//		assertTrue(expandedBefore.contains(aa));
-//		assertFalse(expandedBefore.contains(ab));
-//        a.deleteChild(aa, new TestModelChange(TestModelChange.STRUCTURE_CHANGE, a));
-//        List expandedAfter = Arrays.asList(fTreeViewer.getExpandedElements());
-//        assertFalse(expandedAfter.contains(ab));
-	}
-
-	public void testRenameChildElement() {
-		TestElement first= fRootElement.getFirstChild();
-		TestElement first2= first.getFirstChild();
-		fTreeViewer.expandToLevel(first2,0);
-		assertNotNull("first child is visible", fViewer.testFindItem(first2));
-				
-		String newLabel= first2.getLabel()+" changed";
-		first2.setLabel(newLabel);
-		Widget widget= fViewer.testFindItem(first2);
-		assertTrue(widget instanceof Item);
-		assertEquals("changed label", first2.getID()+" "+newLabel, ((Item)widget).getText());
-	}
-	
-	/**
-	 * Regression test for Bug 26698 [Viewers] stack overflow during debug session, causing IDE to crash
-	 * Problem was:
-	 *   - node A has child A
-	 *   - setExpanded with A in the list caused an infinite recursion 
-	 */
-	public void testSetExpandedWithCycle() {
-		TestElement first= fRootElement.getFirstChild();
-		first.addChild(first, new TestModelChange(TestModelChange.INSERT, first, first));
-		fTreeViewer.setExpandedElements(new Object[] { first });
-
-	}
-    
-    /**
-     * Test for Bug 41710 - assertion that an object may not be added to a given
-     * TreeItem more than once.     
-     */
-    public void testSetDuplicateChild() {
-        //Widget root = fViewer.testFindItem(fRootElement);
-        //assertNotNull(root);
-        TestElement parent = fRootElement.addChild(TestModelChange.INSERT);
-        TestElement child = parent.addChild(TestModelChange.INSERT);          
-        int initialCount = getItemCount(parent);
-        fRootElement.addChild(child, new TestModelChange(TestModelChange.INSERT, fRootElement, child));
-        int postCount = getItemCount(parent);        
-        assertEquals("Same element added to a parent twice.", initialCount, postCount);
-    }
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/AllTests.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/AllTests.java
deleted file mode 100644
index cf7ca0f..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/AllTests.java
+++ /dev/null
@@ -1,35 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers;
-
-import org.eclipse.jface.tests.images.ImageRegistryTest;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(suite());
-	}
-	public static Test suite() {
-		TestSuite suite= new TestSuite();
-		suite.addTest(new TestSuite(TreeViewerTest.class));
-		suite.addTest(new TestSuite(TableViewerTest.class));
-		suite.addTest(new TestSuite(TableTreeViewerTest.class));
-		suite.addTest(new TestSuite(ListViewerTest.class));
-		suite.addTest(new TestSuite(CheckboxTableViewerTest.class));
-		suite.addTest(new TestSuite(CheckboxTreeViewerTest.class));
-		suite.addTest(new TestSuite(ComboViewerTest.class));
-		suite.addTest(new TestSuite(ImageRegistryTest.class));
-		return suite;
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/CheckboxTableViewerTest.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/CheckboxTableViewerTest.java
deleted file mode 100644
index 8465d26..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/CheckboxTableViewerTest.java
+++ /dev/null
@@ -1,140 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers;
-
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ColumnLayoutData;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
-
-
-public class CheckboxTableViewerTest extends TableViewerTest {
-public static class CheckboxTableTestLabelProvider
-	extends TestLabelProvider
-	implements ITableLabelProvider {
-		
-	public boolean fExtended = false;
-
-	public String getText(Object element) {
-		if (fExtended)
-			return providedString((String) element);
-		return element.toString();
-	}
-	public String getColumnText(Object element, int index) {
-		if (fExtended)
-			return providedString((TestElement) element);
-		return element.toString();
-	}
-	public Image getColumnImage(Object element, int columnIndex) {
-		return null;
-	}
-}	
-	public CheckboxTableViewerTest(String name) {
-		super(name);
-	}
-protected StructuredViewer createViewer(Composite parent) {
-	Table table = new Table(parent, SWT.CHECK | SWT.BORDER);
-	table.setLinesVisible(true);
-	TableLayout layout = new TableLayout();
-	table.setLayout(layout);
-	table.setHeaderVisible(true);
-
-	String headers[] = { "column 1 header", "column 2 header" };
-
-	ColumnLayoutData layouts[] =
-		{ new ColumnWeightData(100), new ColumnWeightData(100)};
-
-	final TableColumn columns[] = new TableColumn[headers.length];
-
-	for (int i = 0; i < headers.length; i++) {
-		layout.addColumnData(layouts[i]);
-		TableColumn tc = new TableColumn(table, SWT.NONE, i);
-		tc.setResizable(layouts[i].resizable);
-		tc.setText(headers[i]);
-		columns[i] = tc;
-	}
-
-	TableViewer viewer = new CheckboxTableViewer(table);
-	viewer.setContentProvider(new TestModelContentProvider());
-	viewer.setLabelProvider(new TableTestLabelProvider());
-	return viewer;
-}
-	public static void main(String args[]) {
-		junit.textui.TestRunner.run(CheckboxTableViewerTest.class);
-	}
-	public void testCheckAllElements() {
-		CheckboxTableViewer ctv= (CheckboxTableViewer)fViewer;
-		ctv.setAllChecked(true);
-		assertTrue(ctv.getChecked(fRootElement.getFirstChild()));
-		assertTrue(ctv.getChecked(fRootElement.getLastChild()));
-		ctv.setAllChecked(false);
-		assertTrue(!ctv.getChecked(fRootElement.getFirstChild()));
-		assertTrue(!ctv.getChecked(fRootElement.getLastChild()));
-	}
-	public void testGrayAllElements() {
-		CheckboxTableViewer ctv= (CheckboxTableViewer)fViewer;
-		ctv.setAllGrayed(true);
-		assertTrue(ctv.getGrayed(fRootElement.getFirstChild()));
-		assertTrue(ctv.getGrayed(fRootElement.getLastChild()));
-		ctv.setAllGrayed(false);
-		assertTrue(!ctv.getGrayed(fRootElement.getFirstChild()));
-		assertTrue(!ctv.getGrayed(fRootElement.getLastChild()));
-	}
-	public void testGrayed() {
-		CheckboxTableViewer ctv= (CheckboxTableViewer)fViewer;
-		TestElement element= fRootElement.getFirstChild();
-		
-		assertTrue(ctv.getGrayedElements().length == 0);
-		assertTrue(!ctv.getGrayed(element));
-		
-		ctv.setGrayed(element, true);
-		assertTrue(ctv.getGrayedElements().length == 1);
-		assertTrue(ctv.getGrayed(element));
-		
-		ctv.setGrayed(element, false);
-		assertTrue(ctv.getGrayedElements().length == 0);
-		assertTrue(!ctv.getGrayed(element));		
-		
-		ctv.setAllGrayed(false);
-	}
-	public void testGrayedElements() {
-		CheckboxTableViewer ctv= (CheckboxTableViewer)fViewer;
-		TestElement first= fRootElement.getFirstChild();
-		TestElement last= fRootElement.getLastChild();
-		
-		assertTrue(ctv.getGrayedElements().length == 0);
-		assertTrue(!ctv.getGrayed(first));
-		assertTrue(!ctv.getGrayed(last));
-		
-		ctv.setGrayed(first, true);
-		ctv.setGrayed(last, true);
-		Object[] elements= ctv.getGrayedElements();
-		assertTrue(elements.length == 2);
-		assertTrue(elements[0] == first);
-		assertTrue(elements[1] == last);
-		
-		ctv.setGrayed(first, false);
-		ctv.setGrayed(last, false);
-		assertTrue(ctv.getGrayedElements().length == 0);
-		
-		ctv.setAllGrayed(false);
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/CheckboxTreeViewerMissingTest.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/CheckboxTreeViewerMissingTest.java
deleted file mode 100644
index bda99e1..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/CheckboxTreeViewerMissingTest.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers;
-
-/**
- * Test with missing images.
- */
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IBaseLabelProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.swt.graphics.Image;
-
-public class CheckboxTreeViewerMissingTest extends CheckboxTreeViewerTest {
-	private static Image testImage;
-
-	public static Image getMissingImage() {
-		if (testImage == null)
-			testImage = ImageDescriptor.createFromFile(TestLabelProvider.class,
-					"images/missing.gif").createImage();
-		return testImage;
-	}
-
-	public static class CheckboxMissingTableTestLabelProvider
-			extends
-				CheckboxTreeViewerTest.CheckboxTableTestLabelProvider
-			implements
-				ITableLabelProvider {
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.tests.viewers.StructuredViewerTest.TestLabelProvider#getImage(java.lang.Object)
-		 */
-		public Image getImage(Object element) {
-			return getMissingImage();
-		}
-
-	}
-	public CheckboxTreeViewerMissingTest(String name) {
-		super(name);
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jface.tests.viewers.StructuredViewerTest#getTestLabelProvider()
-	 */
-	public IBaseLabelProvider getTestLabelProvider() {
-		return new CheckboxMissingTableTestLabelProvider();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.tests.viewers.StructuredViewerTest#tearDown()
-	 */
-	public void tearDown() {
-		super.tearDown();
-		if (testImage != null) {
-			testImage.dispose();
-			testImage = null;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.tests.viewers.StructuredViewerTest#testLabelProvider()
-	 */
-	public void testLabelProvider() {
-		super.testLabelProvider();
-	}
-
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/CheckboxTreeViewerTest.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/CheckboxTreeViewerTest.java
deleted file mode 100644
index 984239f..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/CheckboxTreeViewerTest.java
+++ /dev/null
@@ -1,103 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers;
-
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-
-import org.eclipse.jface.viewers.CheckboxTreeViewer;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.StructuredViewer;
-
-public class CheckboxTreeViewerTest extends TreeViewerTest {
-	public static class CheckboxTableTestLabelProvider
-		extends TestLabelProvider
-		implements ITableLabelProvider {
-
-		public boolean fExtended = false;
-
-		public String getText(Object element) {
-			if (fExtended)
-				return providedString((String) element);
-			return element.toString();
-		}
-		public String getColumnText(Object element, int index) {
-			if (fExtended)
-				return providedString((TestElement) element);
-			return element.toString();
-		}
-		public Image getColumnImage(Object element, int columnIndex) {
-			return null;
-		}
-	}
-	public CheckboxTreeViewerTest(String name) {
-		super(name);
-	}
-	protected StructuredViewer createViewer(Composite parent) {
-		fTreeViewer = new CheckboxTreeViewer(parent);
-		fTreeViewer.setContentProvider(new TestModelContentProvider());
-		return fTreeViewer;
-	}
-	public static void main(String args[]) {
-		junit.textui.TestRunner.run(CheckboxTreeViewerTest.class);
-	}
-	public void testCheckSubtree() {
-		CheckboxTreeViewer ctv = (CheckboxTreeViewer) fViewer;
-		TestElement first = fRootElement.getFirstChild();
-		TestElement firstfirst = first.getFirstChild();
-		TestElement firstfirstfirst = firstfirst.getFirstChild();
-		fTreeViewer.expandToLevel(firstfirst, 0);
-
-		ctv.setSubtreeChecked(first, true);
-		assertTrue(ctv.getChecked(firstfirst));
-		ctv.setSubtreeChecked(first, false);
-		assertTrue(!ctv.getChecked(firstfirst));
-
-		// uncheck invisible subtree
-		assertTrue(ctv.setSubtreeChecked(firstfirstfirst, false));
-		assertTrue(!ctv.getChecked(firstfirstfirst));
-	}
-	public void testGrayed() {
-		CheckboxTreeViewer ctv = (CheckboxTreeViewer) fViewer;
-		TestElement element = fRootElement.getFirstChild();
-
-		assertTrue(ctv.getGrayedElements().length == 0);
-		assertTrue(!ctv.getGrayed(element));
-
-		ctv.setGrayed(element, true);
-		assertTrue(ctv.getGrayedElements().length == 1);
-		assertTrue(ctv.getGrayed(element));
-
-		ctv.setGrayed(element, false);
-		assertTrue(ctv.getGrayedElements().length == 0);
-		assertTrue(!ctv.getGrayed(element));
-	}
-	public void testParentGrayed() {
-		CheckboxTreeViewer ctv = (CheckboxTreeViewer) fViewer;
-		TestElement first = fRootElement.getFirstChild();
-		TestElement firstfirst = first.getFirstChild();
-		TestElement firstfirstfirst = firstfirst.getFirstChild();
-		ctv.expandToLevel(firstfirstfirst, 0);
-
-		ctv.setParentsGrayed(firstfirstfirst, true);
-		Object[] elements = ctv.getGrayedElements();
-		assertTrue(elements.length == 3);
-		for (int i = 0; i < elements.length; ++i) {
-			assertTrue(ctv.getGrayed(elements[i]));
-		}
-
-		assertTrue(elements[0] == first);
-		assertTrue(elements[1] == firstfirst);
-		assertTrue(elements[2] == firstfirstfirst);
-		ctv.setParentsGrayed(firstfirstfirst, false);
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/ComboViewerTest.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/ComboViewerTest.java
deleted file mode 100644
index 40e748b..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/ComboViewerTest.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers;
-
-import org.eclipse.jface.viewers.ComboViewer;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * @since 3.0
- */
-public class ComboViewerTest extends StructuredViewerTest {
-	public ComboViewerTest(String name) {
-		super(name);
-	}
-	protected StructuredViewer createViewer(Composite parent) {
-		ComboViewer viewer= new ComboViewer(parent);
-		viewer.setContentProvider(new TestModelContentProvider());
-		return viewer;
-	}
-	protected int getItemCount() {
-		TestElement first= fRootElement.getFirstChild();
-		Combo list= (Combo)fViewer.testFindItem(first);
-		return list.getItemCount();
-	}
-	protected String getItemText(int at) {
-		Combo list= (Combo) fViewer.getControl();
-		return list.getItem(at);
-	}
-	public static void main(String args[]) {
-		junit.textui.TestRunner.run(ListViewerTest.class);
-	}
-	
-	/**
-	 * TODO: Determine if this test is applicable to ComboViewer 
-	 */ 
-	public void testInsertChild() {
-
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/ITestModelListener.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/ITestModelListener.java
deleted file mode 100644
index 481c146..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/ITestModelListener.java
+++ /dev/null
@@ -1,15 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers;
-
-public interface ITestModelListener {
-	public void testModelChanged(TestModelChange change);
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/ListViewerTest.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/ListViewerTest.java
deleted file mode 100644
index 546241a..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/ListViewerTest.java
+++ /dev/null
@@ -1,41 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.List;
-
-import org.eclipse.jface.viewers.ListViewer;
-import org.eclipse.jface.viewers.StructuredViewer;
-
-public class ListViewerTest extends StructuredViewerTest {
-	
-	public ListViewerTest(String name) {
-		super(name);
-	}
-	protected StructuredViewer createViewer(Composite parent) {
-		ListViewer viewer= new ListViewer(parent);
-		viewer.setContentProvider(new TestModelContentProvider());
-		return viewer;
-	}
-	protected int getItemCount() {
-		TestElement first= fRootElement.getFirstChild();
-		List list= (List)fViewer.testFindItem(first);
-		return list.getItemCount();
-	}
-	protected String getItemText(int at) {
-		List list= (List) fViewer.getControl();
-		return list.getItem(at);
-	}
-	public static void main(String args[]) {
-		junit.textui.TestRunner.run(ListViewerTest.class);
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/StructuredItemViewerTest.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/StructuredItemViewerTest.java
deleted file mode 100644
index 697d284..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/StructuredItemViewerTest.java
+++ /dev/null
@@ -1,47 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers;
-
-
-import org.eclipse.jface.viewers.AbstractTreeViewer;
-import org.eclipse.jface.viewers.ICheckable;
-
-
-public abstract class StructuredItemViewerTest extends StructuredViewerTest {
-
-	public StructuredItemViewerTest(String name) {
-		super(name);
-	}
-public void testCheckElement() {
-
-	if (fViewer instanceof ICheckable) {
-		TestElement first = fRootElement.getFirstChild();
-		TestElement firstfirst = first.getFirstChild();
-
-		ICheckable ctv = (ICheckable) fViewer;
-		ctv.setChecked(first, true);
-		assertTrue(ctv.getChecked(first));
-
-		// checking an invisible element
-		if (fViewer instanceof AbstractTreeViewer) {
-			// The first child of the first child can only be resolved in a tree
-			assertTrue(ctv.setChecked(firstfirst, true));
-			assertTrue(ctv.getChecked(firstfirst));
-		} else {
-			assertTrue(!ctv.setChecked(firstfirst, true));
-			assertTrue(!ctv.getChecked(firstfirst));
-		}
-
-		ctv.setChecked(first, false);
-		assertTrue(!ctv.getChecked(first));
-	}
-}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/StructuredSelectionTest.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/StructuredSelectionTest.java
deleted file mode 100644
index f374337..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/StructuredSelectionTest.java
+++ /dev/null
@@ -1,96 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.eclipse.jface.viewers.StructuredSelection;
-
-public class StructuredSelectionTest extends TestCase {
-
-	public StructuredSelectionTest(String name) {
-		super(name);
-	}
-	public static void main(String args[]) {
-		junit.textui.TestRunner.run(StructuredSelectionTest.class);
-	}
-	public void testEquals() {
-		String element= "A selection";
-		StructuredSelection sel1= new StructuredSelection(element);
-		StructuredSelection sel2= new StructuredSelection(element);
-		assertEquals(sel1, sel2);
-	}
-	public void testEquals2() {
-		String element1= "A selection";
-		String element2= "A selection";
-		String element3= "Other";
-		StructuredSelection sel1= new StructuredSelection(element1);
-		StructuredSelection sel2= new StructuredSelection(element2);
-		StructuredSelection sel3= new StructuredSelection(element3);
-		assertEquals(sel1, sel2);
-		assertTrue(!sel1.equals(sel3));
-	}
-	public void testEquals3() {	// two empty selections
-		StructuredSelection empty1= new StructuredSelection();
-		StructuredSelection empty2= new StructuredSelection();
-		assertTrue(empty1.equals(empty2));
-		assertTrue(empty2.equals(empty1));
-	}
-	public void testEquals4() {	// empty selection with non-empty selection
-		StructuredSelection sel= new StructuredSelection("A selection");
-		StructuredSelection empty= new StructuredSelection();
-		assertTrue(!sel.equals(empty));
-		assertTrue(!empty.equals(sel));
-	}
-	public void testEquals5() { // equality is order-dependent
-	    List l1 = new ArrayList();
-	    l1.add("element 1");
-	    l1.add("element 2");
-
-	    List l2 = new ArrayList();
-	    l2.add("element 2");
-	    l2.add("element 1");
-
-	    StructuredSelection sel1 = new StructuredSelection(l1);
-	    StructuredSelection sel2 = new StructuredSelection(l2);
-	    assertTrue(!sel1.equals(sel2));
-	    assertTrue(!sel2.equals(sel1));
-	}
-	public void testEquals6() {	// different selections
-	    List l1 = new ArrayList();
-		l1.add("element 1");
-		l1.add("element 2");
-		
-	    List l2 = new ArrayList();
-		l2.add("element 2");
-		l2.add("element 3");
-		l2.add("element 1");
-		
-		StructuredSelection sel1= new StructuredSelection(l1);
-		StructuredSelection sel2= new StructuredSelection(l2);
-		assertTrue(!sel1.equals(sel2));
-		assertTrue(!sel2.equals(sel1));
-	}
-	
-	/**
-	 * Empty selections via different constructors.
-	 * Regression test for bug 40245.
-	 */
-	public void testEquals7() { 
-		StructuredSelection empty1= new StructuredSelection();
-		StructuredSelection empty2= new StructuredSelection(new Object[0]);
-		assertTrue(empty1.equals(empty2));
-		assertTrue(empty2.equals(empty1));
-	} 
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/StructuredViewerTest.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/StructuredViewerTest.java
deleted file mode 100644
index 9c809fb..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/StructuredViewerTest.java
+++ /dev/null
@@ -1,367 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers;
-
-import junit.framework.TestCase;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IBaseLabelProvider;
-import org.eclipse.jface.viewers.IBasicPropertyConstants;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.LabelProviderChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.TableTreeViewer;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.viewers.ViewerSorter;
-
-public abstract class StructuredViewerTest extends TestCase {
-	Display fDisplay;
-	Shell fShell;
-	StructuredViewer fViewer;
-	TestElement fRootElement;
-
-	public static class TestLabelFilter extends ViewerFilter {
-		public boolean select(Viewer viewer, Object parent, Object element) {
-			String label = ((TestElement) element).getLabel();
-			int count = label.indexOf("-");
-			if (count < 0)
-				return false;
-			String number = label.substring(count + 1);
-			return ((Integer.parseInt(number) % 2) == 0);
-		}
-		public boolean isFilterProperty(Object element, String property) {
-			return property.equals(IBasicPropertyConstants.P_TEXT);
-		}
-	}
-
-	public static class TestLabelSorter extends ViewerSorter {
-		public int compare(Viewer v, Object e1, Object e2) {
-			// put greater labels first
-			String name1 = ((TestElement) e1).getLabel();
-			String name2 = ((TestElement) e2).getLabel();
-			return name2.compareTo(name1);
-		}
-		public boolean isSorterProperty(Object element, String property) {
-			return property.equals(IBasicPropertyConstants.P_TEXT);
-		}
-	}
-
-	public static class TestLabelProvider extends LabelProvider {
-		public static String fgSuffix = "";
-
-		static Image fgImage = ImageDescriptor.createFromFile(TestLabelProvider.class, "images/java.gif").createImage();
-
-		public String getText(Object element) {
-			return providedString((TestElement) element);
-		}
-
-		public Image getImage(Object element) {
-			return fgImage;
-		}
-
-		public void setSuffix(String suffix) {
-			fgSuffix = suffix;
-			fireLabelProviderChanged(new LabelProviderChangedEvent(this));
-		}
-	}
-
-	public TestModel fModel;
-	public StructuredViewerTest(String name) {
-		super(name);
-	}
-protected void assertSelectionEquals(String message, TestElement expected) {
-	ISelection selection = fViewer.getSelection();
-	assertTrue(selection instanceof StructuredSelection);
-	StructuredSelection expectedSelection = new StructuredSelection(expected);
-	assertEquals("selections", selection, expectedSelection);
-}
-protected void bulkChange(TestModelChange eventToFire) {
-	TestElement first = fRootElement.getFirstChild();
-	TestElement newElement = first.getContainer().basicAddChild();
-	fRootElement.basicDeleteChild(first);
-	fModel.fireModelChanged(eventToFire);
-	assertNotNull("new sibling is visible", fViewer.testFindItem(newElement));
-	assertNull("first child is not visible", fViewer.testFindItem(first));
-}
-/**
- * Creates the viewer used by this test, under the given parent widget.
- */
-protected abstract StructuredViewer createViewer(Composite parent);
-	protected abstract int getItemCount();
-	protected abstract String getItemText(int at);
-	/**
-	 * Interacts with a test set up. Call this method from your
-	 * test when you want to interactively experiment with a set up.
-	 * The interaction terminates when the browser is closed.
-	 */
-	public void interact() {
-		Shell shell= fShell;
-		if (shell != null && !shell.isDisposed()) {
-			Display display= shell.getDisplay();
-			if (display != null) {
-				while (shell.isVisible()) 
-					display.readAndDispatch();
-			}
-		}	
-	}
-	protected void openBrowser() {
-		fDisplay = Display.getCurrent();
-		if (fDisplay == null) {
-			fDisplay = new Display();
-		}
-		fShell = new Shell(fDisplay);
-		fShell.setSize(500, 500);
-		fShell.setLayout(new FillLayout());
-		fViewer = createViewer(fShell);
-		fViewer.setUseHashlookup(true);
-		fViewer.setInput(fRootElement);
-		fShell.open();
-		//processEvents();
-	}
-public void processEvents() {
-	Shell shell = fShell;
-	if (shell != null && !shell.isDisposed()) {
-		Display display = shell.getDisplay();
-		if (display != null) {
-			while (display.readAndDispatch())
-				;
-		}
-	}
-}
-	public static String providedString(String s) {
-		return s+"<rendered>"+TestLabelProvider.fgSuffix;
-	}
-	public static String providedString(TestElement element) {
-		return element.getID()+" "+element.getLabel()+"<rendered>"+TestLabelProvider.fgSuffix;
-	}
-	public void setUp() {
-		fRootElement= TestElement.createModel(3, 10);
-		fModel= fRootElement.getModel();
-		openBrowser();
-	}
-	/**
-	 * Sleeps for the given duration and processes pending
-	 * events. Call this method to temporarily suspend a test
-	 * see the current state in the browser.
-	 */
-	void sleep(int d) {
-		processEvents();
-		try {
-			Thread.sleep(d*1000);
-		} catch(Exception e) {}
-	}
-public void tearDown() {
-	processEvents();
-	fViewer = null;
-	if (fShell != null) {
-		fShell.dispose();
-		fShell = null;
-	}
-	// leave the display
-	fRootElement = null;
-}
-	public void testClearSelection() {
-		TestElement first= fRootElement.getFirstChild();
-		StructuredSelection selection= new StructuredSelection(first);
-		fViewer.setSelection(selection);
-		fViewer.setSelection(new StructuredSelection());
-		ISelection result= fViewer.getSelection();
-		assertTrue(result.isEmpty());
-	}
-	public void testDeleteChild() {
-		TestElement first= fRootElement.getFirstChild();
-		TestElement first2= first.getFirstChild();
-		first.deleteChild(first2);
-		assertNull("first child is not visible", fViewer.testFindItem(first2));
-	}
-	public void testDeleteInput() {
-		TestElement first= fRootElement.getFirstChild();
-		TestElement firstfirst= first.getFirstChild();
-		fViewer.setInput(first);
-		fRootElement.deleteChild(first);
-		assertNull("first child is not visible", fViewer.testFindItem(firstfirst));	
-	}
-	public void testDeleteSibling() {
-		TestElement first= fRootElement.getFirstChild();
-		assertNotNull("first child is visible", fViewer.testFindItem(first));		
-		fRootElement.deleteChild(first);
-		assertNull("first child is not visible", fViewer.testFindItem(first));
-	}
-	public void testFilter() {
-		ViewerFilter filter= new TestLabelFilter(); 
-		fViewer.addFilter(filter);
-		assertTrue("filtered count", getItemCount() == 5);
-		fViewer.removeFilter(filter);
-		assertTrue("unfiltered count", getItemCount() == 10);
-
-	}
-	public void testInsertChild() {
-		TestElement first= fRootElement.getFirstChild();
-		TestElement newElement= first.addChild(TestModelChange.INSERT);
-		assertNull("new sibling is not visible", fViewer.testFindItem(newElement));
-	}
-	public void testInsertSibling() {
-		TestElement newElement= fRootElement.addChild(TestModelChange.INSERT);
-		assertNotNull("new sibling is visible", fViewer.testFindItem(newElement));
-	}
-	public void testInsertSiblingReveal() {
-		TestElement newElement= fRootElement.addChild(TestModelChange.INSERT | TestModelChange.REVEAL);
-		assertNotNull("new sibling is visible", fViewer.testFindItem(newElement));
-	}
-	public void testInsertSiblings() {
-		TestElement[] newElements = fRootElement.addChildren(TestModelChange.INSERT);
-		for (int i = 0; i < newElements.length; ++i)
-			assertNotNull("new siblings are visible", fViewer.testFindItem(newElements[i]));
-	}
-	public void testInsertSiblingSelectExpanded() {
-		TestElement newElement= fRootElement.addChild(TestModelChange.INSERT | TestModelChange.REVEAL | TestModelChange.SELECT);
-		assertNotNull("new sibling is visible", fViewer.testFindItem(newElement));
-		assertSelectionEquals("new element is selected", newElement);
-	}
-	public void testInsertSiblingWithFilterFiltered() {
-		fViewer.addFilter(new TestLabelFilter());
-		TestElement newElement= new TestElement(fModel, fRootElement);
-		newElement.setLabel("name-111");
-		fRootElement.addChild(newElement, 
-			new TestModelChange(TestModelChange.INSERT | TestModelChange.REVEAL | TestModelChange.SELECT, fRootElement, newElement)
-		);
-		assertNull("new sibling is not visible", fViewer.testFindItem(newElement));
-		assertTrue(getItemCount() == 5);
-	}
-	public void testInsertSiblingWithFilterNotFiltered() {
-		fViewer.addFilter(new TestLabelFilter());
-		TestElement newElement= new TestElement(fModel, fRootElement);
-		newElement.setLabel("name-222");
-		fRootElement.addChild(newElement, 
-			new TestModelChange(TestModelChange.INSERT | TestModelChange.REVEAL | TestModelChange.SELECT, fRootElement, newElement)
-		);
-		assertNotNull("new sibling is visible", fViewer.testFindItem(newElement));
-		assertTrue(getItemCount() == 6);
-	}
-	public void testInsertSiblingWithSorter() {
-		fViewer.setSorter(new TestLabelSorter());
-		TestElement newElement= new TestElement(fModel, fRootElement);
-		newElement.setLabel("name-9999");
-		fRootElement.addChild(newElement, 
-			new TestModelChange(TestModelChange.INSERT |TestModelChange.REVEAL | TestModelChange.SELECT, fRootElement, newElement)
-		);
-		String newLabel= newElement.toString();
-		assertEquals("sorted first", newLabel, getItemText(0));
-		assertSelectionEquals("new element is selected", newElement);
-	}
-	public void testLabelProvider() {
-		// BUG: non-polymorphic behaviour
-		// if (fViewer instanceof TableViewer || fViewer instanceof TableTreeViewer)
-		// 	return;
-		fViewer.setLabelProvider(getTestLabelProvider());
-		TestElement first= fRootElement.getFirstChild();
-		String newLabel= providedString(first);
-		assertEquals("rendered label", newLabel, getItemText(0));
-	}
-
-	/**
-	 * @return IBaseLabelProvder used in this test
-	 */
-	public IBaseLabelProvider getTestLabelProvider() {
-		return new TestLabelProvider();
-	}
-	public void testLabelProviderStateChange() {
-		// BUG: non-polymorphic behaviour
-		// if (fViewer instanceof TableViewer || fViewer instanceof TableTreeViewer)
-		// 	return;
-		TestLabelProvider provider= new TestLabelProvider();
-		fViewer.setLabelProvider(provider);
-		provider.setSuffix("added suffix");
-		TestElement first= fRootElement.getFirstChild();
-		String newLabel= providedString(first);
-		assertEquals("rendered label", newLabel, getItemText(0));
-	}
-	public void testRename() {
-		TestElement first= fRootElement.getFirstChild();
-		String newLabel= first.getLabel()+" changed";
-		first.setLabel(newLabel);
-		assertEquals("changed label", first.getID()+" "+newLabel, getItemText(0));
-	}
-	public void testRenameWithFilter() {
-		fViewer.addFilter(new TestLabelFilter());
-		TestElement first= fRootElement.getFirstChild();
-		first.setLabel("name-1111"); // should disappear
-		assertNull("changed sibling is not visible", fViewer.testFindItem(first));
-		first.setLabel("name-2222"); // should reappear
-		fViewer.refresh(); 
-		assertNotNull("changed sibling is not visible", fViewer.testFindItem(first));
-	}
-	public void testRenameWithLabelProvider() {
-		if (fViewer instanceof TableViewer || fViewer instanceof TableTreeViewer)
-			return;
-		fViewer.setLabelProvider(new TestLabelProvider());
-		TestElement first= fRootElement.getFirstChild();
-		first.setLabel("changed name");
-		String newLabel= providedString(first);
-		assertEquals("rendered label", newLabel, getItemText(0));
-	}
-	public void testRenameWithSorter() {
-		fViewer.setSorter(new TestLabelSorter());
-		TestElement first= fRootElement.getFirstChild();
-		first.setLabel("name-9999");
-		String newElementLabel= first.toString();
-		assertEquals("sorted first", newElementLabel, getItemText(0));
-	}
-	public void testSetInput() {
-		TestElement first= fRootElement.getFirstChild();
-		TestElement firstfirst= first.getFirstChild();
-
-		fViewer.setInput(first);
-		assertNotNull("first child is visible", fViewer.testFindItem(firstfirst));		
-	}
-	public void testSetSelection() {
-		TestElement first= fRootElement.getFirstChild();
-		StructuredSelection selection= new StructuredSelection(first);
-		fViewer.setSelection(selection);
-		IStructuredSelection result= (IStructuredSelection)fViewer.getSelection();
-		assertTrue(result.size() == 1);
-		assertTrue(result.getFirstElement() == first);
-	}
-	public void testSomeChildrenChanged() {
-		bulkChange(new TestModelChange(TestModelChange.STRUCTURE_CHANGE, fRootElement));
-	}
-	public void testSorter() {
-		TestElement first= fRootElement.getFirstChild();
-		TestElement last= fRootElement.getLastChild();
-		int size= fRootElement.getChildCount();
-		
-		String firstLabel= first.toString();
-		String lastLabel= last.toString();
-		assertEquals("unsorted", firstLabel, getItemText(0));
-		assertEquals("unsorted", lastLabel, getItemText(size-1));
-		fViewer.setSorter(new TestLabelSorter());
-		assertEquals("reverse sorted", firstLabel, getItemText(size-1));
-		assertEquals("reverse sorted", lastLabel, getItemText(0));
-		
-		fViewer.setSorter(null);
-		assertEquals("unsorted", firstLabel, getItemText(0));
-		assertEquals("unsorted", lastLabel, getItemText(size-1));		
-	}
-	public void testWorldChanged() {
-		bulkChange(new TestModelChange(TestModelChange.STRUCTURE_CHANGE, null));
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/TableTreeViewerTest.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/TableTreeViewerTest.java
deleted file mode 100644
index e8c8127..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/TableTreeViewerTest.java
+++ /dev/null
@@ -1,124 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.TableTree;
-import org.eclipse.swt.custom.TableTreeItem;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.TableColumn;
-
-import org.eclipse.jface.viewers.ColumnLayoutData;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableTreeViewer;
-
-public class TableTreeViewerTest extends AbstractTreeViewerTest {
-
-public static class TableTreeTestLabelProvider
-	extends TestLabelProvider
-	implements ITableLabelProvider {
-	public boolean fExtended = false;
-
-	public String getText(Object element) {
-		if (fExtended)
-			return providedString((String) element);
-
-		return element.toString();
-	}
-	public String getColumnText(Object element, int index) {
-		if (fExtended)
-			return providedString((TestElement)element);
-		return element.toString();
-	}
-	public Image getColumnImage(Object element, int columnIndex) {
-		return null;
-	}
-}
-
-	public TableTreeViewerTest(String name) {
-		super(name);
-	}
-protected StructuredViewer createViewer(Composite parent) {
-	TableTreeViewer viewer = new TableTreeViewer(parent);
-	viewer.setContentProvider(new TestModelContentProvider());
-	viewer.setLabelProvider(new TableTreeTestLabelProvider());
-	viewer.getTableTree().getTable().setLinesVisible(true);
-
-	TableLayout layout = new TableLayout();
-	viewer.getTableTree().getTable().setLayout(layout);
-	viewer.getTableTree().getTable().setHeaderVisible(true);
-	String headers[] = { "column 1 header", "column 2 header" };
-
-	ColumnLayoutData layouts[] =
-		{ new ColumnWeightData(100), new ColumnWeightData(100)};
-
-	final TableColumn columns[] = new TableColumn[headers.length];
-
-	for (int i = 0; i < headers.length; i++) {
-		layout.addColumnData(layouts[i]);
-		TableColumn tc = new TableColumn(viewer.getTableTree().getTable(), SWT.NONE, i);
-		tc.setResizable(layouts[i].resizable);
-		tc.setText(headers[i]);
-		columns[i] = tc;
-	}
-	fTreeViewer = viewer;
-	return viewer;
-}
-	protected int getItemCount() {
-		TestElement first = fRootElement.getFirstChild();
-		TableTreeItem ti = (TableTreeItem) fViewer.testFindItem(first);
-		TableTree table = ti.getParent();
-		return table.getItemCount();
-	}
-	protected int getItemCount(TestElement element) {
-		TableTreeItem ti = (TableTreeItem) fViewer.testFindItem(element);
-		return ti.getItemCount();
-	}
-	protected String getItemText(int at) {
-		TableTree table = (TableTree) fViewer.getControl();
-		return table.getItems()[at].getText();
-	}
-	public static void main(String args[]) {
-		junit.textui.TestRunner.run(TableTreeViewerTest.class);
-	}
-	public void testLabelProvider() {
-		TableTreeViewer viewer = (TableTreeViewer) fViewer;
-		TableTreeTestLabelProvider provider = (TableTreeTestLabelProvider) viewer.getLabelProvider();
-		provider.fExtended = true;
-		// BUG 1FZ5SDC: JFUIF:WINNT - TableViewerColumn should listen for LabelProvider changes
-		fViewer.refresh();
-		TestElement first = fRootElement.getFirstChild();
-		String newLabel = providedString(first);
-		assertEquals("rendered label", newLabel, getItemText(0));
-		provider.fExtended = false;
-		// BUG 1FZ5SDC: JFUIF:WINNT - TableViewerColumn should listen for LabelProvider changes
-		fViewer.refresh();
-	}
-	public void testLabelProviderStateChange() {
-		TableTreeViewer viewer = (TableTreeViewer) fViewer;
-		TableTreeTestLabelProvider provider =
-			(TableTreeTestLabelProvider) viewer.getLabelProvider();
-		provider.fExtended = true;
-		provider.setSuffix("added suffix");
-		// BUG 1FZ5SDC: JFUIF:WINNT - TableViewerColumn should listen for LabelProvider changes
-		fViewer.refresh();
-		TestElement first = fRootElement.getFirstChild();
-		String newLabel = providedString(first);
-		assertEquals("rendered label", newLabel, getItemText(0));
-		provider.fExtended = false;
-		// BUG 1FZ5SDC: JFUIF:WINNT - TableViewerColumn should listen for LabelProvider changes
-		fViewer.refresh();
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/TableViewerTest.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/TableViewerTest.java
deleted file mode 100644
index 49ab9f1..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/TableViewerTest.java
+++ /dev/null
@@ -1,122 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers;
-
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-
-import org.eclipse.jface.viewers.ColumnLayoutData;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
-
-public class TableViewerTest extends StructuredItemViewerTest {
-public static class TableTestLabelProvider
-	extends TestLabelProvider
-	implements ITableLabelProvider {
-	public boolean fExtended = false;
-
-	public String getText(Object element) {
-		if (fExtended)
-			return providedString((String) element);
-		return element.toString();
-	}
-	public String getColumnText(Object element, int index) {
-		if (fExtended)
-			return providedString((TestElement) element);
-		return element.toString();
-	}
-	public Image getColumnImage(Object element, int columnIndex) {
-		return null;
-	}
-}
-public TableViewerTest(String name) {
-	super(name);
-}
-/**
- * Creates the viewer used by this test, under the given parent widget.
- */
-protected StructuredViewer createViewer(Composite parent) {
-	TableViewer viewer = new TableViewer(parent);
-	viewer.setContentProvider(new TestModelContentProvider());
-	viewer.setLabelProvider(new TableTestLabelProvider());
-	viewer.getTable().setLinesVisible(true);
-
-	TableLayout layout = new TableLayout();
-	viewer.getTable().setLayout(layout);
-	viewer.getTable().setHeaderVisible(true);
-	String headers[] = { "column 1 header", "column 2 header" };
-
-	ColumnLayoutData layouts[] =
-		{ new ColumnWeightData(100), new ColumnWeightData(100)};
-
-	final TableColumn columns[] = new TableColumn[headers.length];
-
-	for (int i = 0; i < headers.length; i++) {
-		layout.addColumnData(layouts[i]);
-		TableColumn tc = new TableColumn(viewer.getTable(), SWT.NONE, i);
-		tc.setResizable(layouts[i].resizable);
-		tc.setText(headers[i]);
-		columns[i] = tc;
-	}
-
-	return viewer;
-}
-protected int getItemCount() {
-	TestElement first = fRootElement.getFirstChild();
-	TableItem ti = (TableItem) fViewer.testFindItem(first);
-	Table table = ti.getParent();
-	return table.getItemCount();
-}
-protected String getItemText(int at) {
-	Table table = (Table) fViewer.getControl();
-	return table.getItem(at).getText();
-}
-public static void main(String args[]) {
-	junit.textui.TestRunner.run(TableViewerTest.class);
-}
-public void testLabelProvider() {
-
-	TableViewer viewer = (TableViewer) fViewer;
-	TableTestLabelProvider provider = (TableTestLabelProvider) viewer.getLabelProvider();
-
-	provider.fExtended = true;
-	// BUG 1FZ5SDC: JFUIF:WINNT - TableViewerColumn should listen for LabelProvider changes
-	fViewer.refresh();
-	TestElement first = fRootElement.getFirstChild();
-	String newLabel = providedString(first);
-	assertEquals("rendered label", newLabel, getItemText(0));
-	provider.fExtended = false;
-	// BUG 1FZ5SDC: JFUIF:WINNT - TableViewerColumn should listen for LabelProvider changes
-}
-public void testLabelProviderStateChange() {
-	TableViewer tableviewer = (TableViewer) fViewer;
-	TableTestLabelProvider provider = (TableTestLabelProvider) tableviewer.getLabelProvider();
-
-	provider.fExtended = true;
-	provider.setSuffix("added suffix");
-	// BUG 1FZ5SDC: JFUIF:WINNT - TableViewerColumn should listen for LabelProvider changes
-	tableviewer.refresh();
-	TestElement first = fRootElement.getFirstChild();
-	String newLabel = providedString(first);
-	assertEquals("rendered label", newLabel, getItemText(0));
-	provider.fExtended = false;
-	// BUG 1FZ5SDC: JFUIF:WINNT - TableViewerColumn should listen for LabelProvider changes
-	fViewer.refresh();
-}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/TestElement.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/TestElement.java
deleted file mode 100644
index c7ae94c..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/TestElement.java
+++ /dev/null
@@ -1,182 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers;
-
-import java.util.Vector;
-
-public class TestElement implements Cloneable {
-	TestModel fModel;
-	TestElement fContainer;
-	String fSomeName;
-	String fId;
-	Vector fChildren= new Vector();
-	boolean fIsDeleted= false;
-		
-	public static final String P_SOMENAME= "org.eclipse.jface.viewertest.name";
-	public static final String P_COLUMN_1= "org.eclipse.jface.viewertest.column1";
-	
-	
-public TestElement(TestModel model, TestElement container) {
-	fModel = model;
-	fContainer = container;
-	int p = 0;
-	TestElement lastSibling = container.getLastChild();
-	if (lastSibling != null) {
-	    p = lastSibling.childId() + 1;
-	}
-	fId = container.getID() + "-" + p;
-}
-public TestElement(TestModel model, TestElement container, int level, int position) {
-	fModel = model;
-	fContainer = container;
-	if (container != null)
-		fId = container.getID() + "-" + position;
-	else
-		fId = Integer.toString(position);
-	fSomeName = "name-" + position;
-
-	if (level < model.getNumLevels()) {
-		for (int i = 0; i < model.getNumChildren(); i++) {
-			fChildren.add(new TestElement(model, this, level + 1, i));
-		}
-	}
-}
-	public TestElement addChild(int event) {		
-		TestElement element= new TestElement(fModel, this);
-		element.fSomeName= "added";
-		addChild(element, new TestModelChange(event, this, element));
-		return element;
-	}
-	public TestElement addChild(TestElement element, TestModelChange change) {		
-		fChildren.add(element);
-		fModel.fireModelChanged(change);
-		return element;
-	}
-	public void addChildren(TestElement[] elements, TestModelChange change) {
-		for (int i= 0; i < elements.length; i++)	
-			fChildren.add(elements[i]);
-		fModel.fireModelChanged(change);
-	}
-	public TestElement[] addChildren(int event) {
-		TestElement elements[]= new TestElement[] {
-			new TestElement(fModel, this),
-			new TestElement(fModel, this)
-		};
-					
-		elements[0].fSomeName= "added1";
-		elements[1].fSomeName= "added2";
-		addChildren(elements, new TestModelChange(event, this, elements));
-		return elements;		
-	}
-	public TestElement basicAddChild() {		
-		TestElement element= new TestElement(fModel, this);
-		element.fSomeName= "added";
-		fChildren.add(element);
-		return element;
-	}
-	public void basicDeleteChild(TestElement element) {
-		fChildren.remove(element);
-		element.fIsDeleted= true;
-	}
-	private int childId() {
-		String id= fId.substring(fId.lastIndexOf("-")+1);
-		return Integer.parseInt(id);
-	}
-	public Object clone() {
-		try {
-			return super.clone();
-		}
-		catch (CloneNotSupportedException e) {
-			throw new Error(); // should not happen
-		}
-	}
-	static public TestElement createModel(int numLevels, int numChildren) {
-		return new TestElement(new TestModel(numLevels, numChildren), null, 0, 0);
-	}
-	public void deleteChild(TestElement element) {
-		deleteChild(element, new TestModelChange(TestModelChange.REMOVE, this, element));
-	}
-	public void deleteChild(TestElement element, TestModelChange change) {
-		basicDeleteChild(element);
-		fModel.fireModelChanged(change);
-	}
-public void deleteChildren() {
-	for (int i = fChildren.size() - 1; i >= 0; i--) {
-		TestElement te = (TestElement) fChildren.elementAt(i);
-		fChildren.remove(te);
-		te.fIsDeleted = true;
-	}
-	fModel.fireModelChanged(new TestModelChange(TestModelChange.STRUCTURE_CHANGE, this));
-}
-public void deleteSomeChildren() {
-	for (int i = fChildren.size() - 1; i >= 0; i -= 2) {
-		TestElement te = (TestElement) fChildren.elementAt(i);
-		fChildren.remove(te);
-		te.fIsDeleted = true;
-	}
-	fModel.fireModelChanged(new TestModelChange(TestModelChange.STRUCTURE_CHANGE, this));
-}
-	public boolean equals(Object arg) {
-		if (!(arg instanceof TestElement))
-			return false;
-		TestElement element= (TestElement)arg;
-		return element.fId.equals(fId);
-	}
-	public TestElement getChildAt(int i) {
-		return (TestElement) fChildren.elementAt(i);
-	}
-	public int getChildCount() {
-		return fChildren.size();
-	}
-	public TestElement getContainer() {
-		return fContainer;
-	}
-	public TestElement getFirstChild() {
-		if (fChildren.size() > 0)
-			return (TestElement)fChildren.elementAt(0);
-		return null;
-	}
-	public String getID() {
-		return fId;
-	}
-	public String getLabel() {
-		return fSomeName;
-	}
-public TestElement getLastChild() {
-	int size = fChildren.size();
-	if (size > 0)
-		return (TestElement) fChildren.elementAt(size - 1);
-	return null;
-}
-public TestModel getModel() {
-	return fModel;
-}
-	public int hashCode() {
-		return fId.hashCode();
-	}
-public boolean isDeleted() {
-	return fIsDeleted;
-}
-	public void setLabel(String label) {
-		fSomeName= label;
-		fModel.fireModelChanged(new TestModelChange(TestModelChange.NON_STRUCTURE_CHANGE, this));
-	}
-	public boolean testDeleted() {
-		if (fIsDeleted)
-			return true;
-		if (fContainer != null)
-			return fContainer.testDeleted();
-		return false;
-	}
-public String toString() {
-	return getID() + " " + getLabel();
-}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/TestLabelProvider.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/TestLabelProvider.java
deleted file mode 100644
index e2f7104..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/TestLabelProvider.java
+++ /dev/null
@@ -1,37 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers;
-
-import org.eclipse.swt.graphics.Image;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.LabelProvider;
-
-public class TestLabelProvider extends LabelProvider {
-	
-	static Image fgImage= null;
-	
-/**
- *
- */
-public static Image getImage() {
-	if (fgImage == null)
-		fgImage = ImageDescriptor.createFromFile(TestLabelProvider.class, "images/java.gif").createImage();
-	return fgImage;
-}
-	public Image getImage(Object element) {
-		return getImage();
-	}
-	public String getText(Object element) {
-		String label= element.toString();
-		return label+ " <rendered>";
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/TestModel.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/TestModel.java
deleted file mode 100644
index c8b9e35..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/TestModel.java
+++ /dev/null
@@ -1,44 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers;
-
-import java.util.Vector;
-
-public class TestModel {
-	Vector fListeners = new Vector();
-	int fNumLevels;
-	int fNumChildren;
-public TestModel(int numLevels, int numChildren) {
-	fNumLevels = numLevels;
-	fNumChildren = numChildren;
-}
-public void addListener(ITestModelListener listener) {
-	fListeners.addElement(listener);
-}
-/**
- * Fires a model changed event to all listeners.
- */
-public void fireModelChanged(TestModelChange change) {
-	for (int i = 0; i < fListeners.size(); ++i) {
-		ITestModelListener listener = (ITestModelListener) fListeners.get(i);
-		listener.testModelChanged(change);
-	}
-}
-public int getNumChildren() {
-	return fNumChildren;
-}
-public int getNumLevels() {
-	return fNumLevels;
-}
-public void removeListener(ITestModelListener listener) {
-	fListeners.removeElement(listener);
-}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/TestModelChange.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/TestModelChange.java
deleted file mode 100644
index 8feaf57..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/TestModelChange.java
+++ /dev/null
@@ -1,51 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers;
-
-public class TestModelChange {
-	private int fKind;
-	private TestElement fParent;
-	private TestElement[] fChildren;
-
-	public static final int KIND_MASK = 0x0F;
-
-	public static final int INSERT = 1;
-	public static final int REMOVE = 2;
-	public static final int STRUCTURE_CHANGE = 3;
-	public static final int NON_STRUCTURE_CHANGE = 4;
-
-	public static final int REVEAL = 16;
-	public static final int SELECT = 32;
-	
-public TestModelChange(int kind, TestElement parent) {
-	this(kind, parent, new TestElement[0]);
-}
-public TestModelChange(int kind, TestElement parent, TestElement[] children) {
-	fKind = kind;
-	fParent = parent;
-	fChildren = children;
-}
-public TestModelChange(int kind, TestElement parent, TestElement child) {
-	this(kind, parent, new TestElement[] { child });
-}
-public TestElement[] getChildren() {
-	return fChildren;
-}
-public int getKind() {
-	return fKind & KIND_MASK;
-}
-public int getModifiers() {
-	return fKind & ~KIND_MASK;
-}
-public TestElement getParent() {
-	return fParent;
-}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/TestModelContentProvider.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/TestModelContentProvider.java
deleted file mode 100644
index 7915a22..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/TestModelContentProvider.java
+++ /dev/null
@@ -1,141 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.AbstractTreeViewer;
-import org.eclipse.jface.viewers.ComboViewer;
-import org.eclipse.jface.viewers.IBasicPropertyConstants;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.ListViewer;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-
-public class TestModelContentProvider implements ITestModelListener, IStructuredContentProvider, ITreeContentProvider {
-	Viewer fViewer;
-public void dispose() {
-}
-protected void doInsert(TestModelChange change) {
-	if (fViewer instanceof ListViewer) {
-		if (change.getParent() != null && change.getParent().equals(fViewer.getInput())) {
-			((ListViewer) fViewer).add(change.getChildren());
-		}
-	}
-	else if (fViewer instanceof TableViewer) {
-		if (change.getParent() != null && change.getParent().equals(fViewer.getInput())) {
-			((TableViewer) fViewer).add(change.getChildren());
-		}
-	}
-	else if (fViewer instanceof AbstractTreeViewer) {
-		((AbstractTreeViewer) fViewer).add(change.getParent(), change.getChildren());
-	} else if (fViewer instanceof ComboViewer) {
-		((ComboViewer)fViewer).add(change.getChildren());
-	}
-	else {
-		Assert.isTrue(false, "Unknown kind of viewer");
-	}
-}
-protected void doNonStructureChange(TestModelChange change) {
-	if (fViewer instanceof StructuredViewer) {
-		((StructuredViewer) fViewer).update(change.getParent(), new String[] { IBasicPropertyConstants.P_TEXT });
-	}
-	else {
-		Assert.isTrue(false, "Unknown kind of viewer");
-	}
-}
-protected void doRemove(TestModelChange change) {
-	if (fViewer instanceof ListViewer) {
-		((ListViewer) fViewer).remove(change.getChildren());
-	}
-	else if (fViewer instanceof TableViewer) {
-		((TableViewer) fViewer).remove(change.getChildren());
-	}
-	else if (fViewer instanceof AbstractTreeViewer) {
-		((AbstractTreeViewer) fViewer).remove(change.getChildren());
-	} else if (fViewer instanceof ComboViewer) {
-		((ComboViewer) fViewer).remove(change.getChildren());
-	}
-	else {
-		Assert.isTrue(false, "Unknown kind of viewer");
-	}
-}
-protected void doStructureChange(TestModelChange change) {
-	if (fViewer instanceof StructuredViewer) {
-		((StructuredViewer) fViewer).refresh(change.getParent());
-	}
-	else {
-		Assert.isTrue(false, "Unknown kind of viewer");
-	}
-}
-public Object[] getChildren(Object element) {
-	TestElement testElement = (TestElement) element;
-	int count = testElement.getChildCount();
-	TestElement[] children = new TestElement[count];
-	for (int i = 0; i < count; ++i)
-		children[i] = testElement.getChildAt(i);
-	return children;
-}
-public Object[] getElements(Object element) {
-	return getChildren(element);
-}
-public Object getParent(Object element) {
-	return ((TestElement) element).getContainer();
-}
-public boolean hasChildren(Object element) {
-	return ((TestElement) element).getChildCount() > 0;
-}
-public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-	fViewer = viewer;
-	TestElement oldElement = (TestElement) oldInput;
-	if (oldElement != null) {
-		oldElement.getModel().removeListener(this);
-	}
-	TestElement newElement = (TestElement) newInput;
-	if (newElement != null) {
-		newElement.getModel().addListener(this);
-	}
-}
-public boolean isDeleted(Object element) {
-	return ((TestElement) element).isDeleted();
-}
-public void testModelChanged(TestModelChange change) {
-	switch (change.getKind()) {
-		case TestModelChange.INSERT:
-			doInsert(change);
-			break;
-		case TestModelChange.REMOVE:
-			doRemove(change);
-			break;
-		case TestModelChange.STRUCTURE_CHANGE:
-			doStructureChange(change);
-			break;
-		case TestModelChange.NON_STRUCTURE_CHANGE:
-			doNonStructureChange(change);
-			break;
-		default:
-			throw new IllegalArgumentException("Unknown kind of change");
-	}
-	
-	StructuredSelection selection = new StructuredSelection(change.getChildren());
-	if ((change.getModifiers() & TestModelChange.SELECT) != 0) {
-		((StructuredViewer) fViewer).setSelection(selection);
-	}
-	if ((change.getModifiers() & TestModelChange.REVEAL) != 0) {
-		Object element = selection.getFirstElement();
-		if (element != null) {
-			((StructuredViewer) fViewer).reveal(element);
-		}
-	}
-}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/TreeViewerTest.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/TreeViewerTest.java
deleted file mode 100644
index a0a46c5..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/TreeViewerTest.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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers;
-
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.TreeViewer;
-
-public class TreeViewerTest extends AbstractTreeViewerTest {
-			
-	public TreeViewerTest(String name) {
-		super(name);
-	}
-	protected StructuredViewer createViewer(Composite parent) {
-		fTreeViewer= new TreeViewer(parent);
-		fTreeViewer.setContentProvider(new TestModelContentProvider());
-		return fTreeViewer;
-	}
-	protected int getItemCount() {
-		TestElement first= fRootElement.getFirstChild();
-		TreeItem ti= (TreeItem)fViewer.testFindItem(first);
-		Tree tree= ti.getParent();		
-		return tree.getItemCount();
-	}
-/**
- * getItemCount method comment.
- */
-protected int getItemCount(TestElement element) {
-	return 0;
-}
-	protected String getItemText(int at) {
-		Tree tree= (Tree) fTreeViewer.getControl();
-		return tree.getItems()[at].getText();
-	}
-	public static void main(String args[]) {
-		junit.textui.TestRunner.run(TreeViewerTest.class);
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/images/java.gif b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/images/java.gif
deleted file mode 100644
index efc77a7..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/images/java.gif
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/AddChildAction.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/AddChildAction.java
deleted file mode 100644
index 556972c..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/AddChildAction.java
+++ /dev/null
@@ -1,30 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers.interactive;
-
-import org.eclipse.jface.tests.viewers.TestElement;
-import org.eclipse.jface.tests.viewers.TestModelChange;
-
-public class AddChildAction extends TestSelectionAction {
-			
-	int fEventKind;
-	
-	public AddChildAction(String label, TestBrowser browser) {
-		this(label, browser, TestModelChange.INSERT);
-	}
-	public AddChildAction(String label, TestBrowser browser, int eventKind) {
-		super(label, browser);
-		fEventKind= eventKind;
-	}
-	public void run(TestElement element) {
-		element.addChild(fEventKind);
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/AddElementAction.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/AddElementAction.java
deleted file mode 100644
index 89eedfd..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/AddElementAction.java
+++ /dev/null
@@ -1,26 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers.interactive;
-
-import org.eclipse.jface.tests.viewers.TestElement;
-import org.eclipse.jface.tests.viewers.TestModelChange;
-
-public class AddElementAction extends TestBrowserAction {
-	
-	public AddElementAction(String label, TestBrowser browser) {
-		super(label, browser);
-//		window.addFocusChangedListener(this);
-	}
-	public void run() {
-		TestElement element = (TestElement) getBrowser().getViewer().getInput();
-		element.addChild(TestModelChange.INSERT);
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/AddFilterAction.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/AddFilterAction.java
deleted file mode 100644
index d399b33..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/AddFilterAction.java
+++ /dev/null
@@ -1,26 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers.interactive;
-
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.Viewer;
-
-public class AddFilterAction extends TestBrowserAction {
-
-	public AddFilterAction(String label, TestBrowser browser) {
-		super(label, browser);
-	}
-	public void run() {
-		Viewer viewer = getBrowser().getViewer();
-		if (viewer instanceof StructuredViewer)
-			((StructuredViewer) viewer).addFilter(new Filter());
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/AddSiblingAction.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/AddSiblingAction.java
deleted file mode 100644
index 8128795..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/AddSiblingAction.java
+++ /dev/null
@@ -1,30 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers.interactive;
-
-import org.eclipse.jface.tests.viewers.TestElement;
-import org.eclipse.jface.tests.viewers.TestModelChange;
-
-public class AddSiblingAction extends TestSelectionAction {
-	
-	int fEventKind;
-	
-	public AddSiblingAction(String label, TestBrowser browser) {
-		this(label, browser, TestModelChange.INSERT);
-	}
-	public AddSiblingAction(String label, TestBrowser browser, int eventKind) {
-		super(label, browser);
-		fEventKind= eventKind;
-	}
-	public void run(TestElement element) {
-		element.getContainer().addChild(fEventKind);
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/ChangeChildLabelAction.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/ChangeChildLabelAction.java
deleted file mode 100644
index 11212eb..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/ChangeChildLabelAction.java
+++ /dev/null
@@ -1,24 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers.interactive;
-
-import org.eclipse.jface.tests.viewers.TestElement;
-
-public class ChangeChildLabelAction extends TestSelectionAction {
-	public ChangeChildLabelAction(String label, TestBrowser browser) {
-		super(label, browser);
-	}
-	public void run(TestElement element) {
-		TestElement child= element.getFirstChild();
-		if (child != null)
-			child.setLabel(child.getLabel() + " renamed child");
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/ChangeInputLabelAction.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/ChangeInputLabelAction.java
deleted file mode 100644
index f967426..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/ChangeInputLabelAction.java
+++ /dev/null
@@ -1,24 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers.interactive;
-
-import org.eclipse.jface.tests.viewers.TestElement;
-
-public class ChangeInputLabelAction extends TestBrowserAction {
-
-	public ChangeInputLabelAction(String label, TestBrowser browser) {
-		super(label, browser);
-	}
-public void run() {
-	TestElement element = (TestElement) getBrowser().getInput();
-	element.setLabel(element.getLabel() + " changed");
-}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/ChangeLabelAction.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/ChangeLabelAction.java
deleted file mode 100644
index d179ad9..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/ChangeLabelAction.java
+++ /dev/null
@@ -1,23 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers.interactive;
-
-import org.eclipse.jface.tests.viewers.TestElement;
-
-public class ChangeLabelAction extends TestSelectionAction {
-
-	public ChangeLabelAction(String label, TestBrowser browser) {
-		super(label, browser);
-	}
-	public void run(TestElement element) {
-		element.setLabel(element.getLabel() + " changed");
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/ClearSelectionAction.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/ClearSelectionAction.java
deleted file mode 100644
index 2923393..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/ClearSelectionAction.java
+++ /dev/null
@@ -1,23 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers.interactive;
-
-import org.eclipse.jface.viewers.StructuredSelection;
-
-public class ClearSelectionAction extends TestBrowserAction {
-
-	public ClearSelectionAction(String label, TestBrowser browser) {
-		super(label, browser);
-	}
-	public void run() {
-		getBrowser().getViewer().setSelection(new StructuredSelection());
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/CreateModelAction.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/CreateModelAction.java
deleted file mode 100644
index d97b757..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/CreateModelAction.java
+++ /dev/null
@@ -1,29 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers.interactive;
-
-import org.eclipse.jface.tests.viewers.TestElement;
-
-public class CreateModelAction extends TestBrowserAction {
-	int fLevel;
-	int fChildCount;
-	public CreateModelAction(String label, TestBrowser browser, int level, int childCount) {
-		super(label, browser);
-		fLevel= level;
-		fChildCount= childCount;
-	}
-	public void run() {
-		// Clear input since TestElement.equals does only
-		// check the id, not the size of the TestElement.
-		getBrowser().setInput(null);
-		getBrowser().setInput(TestElement.createModel(fLevel, fChildCount));
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/DeleteAction.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/DeleteAction.java
deleted file mode 100644
index 4b6acdf..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/DeleteAction.java
+++ /dev/null
@@ -1,23 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers.interactive;
-
-import org.eclipse.jface.tests.viewers.TestElement;
-
-public class DeleteAction extends TestSelectionAction {
-
-	public DeleteAction(String label, TestBrowser browser) {
-		super(label, browser);
-	}
-	public void run(TestElement element) {
-		element.getContainer().deleteChild(element);
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/DeleteChildrenAction.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/DeleteChildrenAction.java
deleted file mode 100644
index d3de898..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/DeleteChildrenAction.java
+++ /dev/null
@@ -1,29 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers.interactive;
-
-import org.eclipse.jface.tests.viewers.TestElement;
-
-public class DeleteChildrenAction extends TestSelectionAction {
-
-	boolean fAll= false;
-	
-	public DeleteChildrenAction(String label, TestBrowser browser, boolean all) {
-		super(label, browser);
-		fAll= all;
-	}
-	public void run(TestElement element) {
-		if (fAll)
-			element.deleteChildren();
-		else
-			element.deleteSomeChildren();
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/DeleteSiblingsAction.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/DeleteSiblingsAction.java
deleted file mode 100644
index 7d6e879..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/DeleteSiblingsAction.java
+++ /dev/null
@@ -1,29 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers.interactive;
-
-import org.eclipse.jface.tests.viewers.TestElement;
-
-public class DeleteSiblingsAction extends TestSelectionAction {
-
-	boolean fAll= false;
-	
-	public DeleteSiblingsAction(String label, TestBrowser browser, boolean all) {
-		super(label, browser);
-		fAll= all;
-	}
-	public void run(TestElement element) {
-		if (fAll)
-			element.getContainer().deleteChildren();
-		else
-			element.getContainer().deleteSomeChildren();
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/ExpandAllAction.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/ExpandAllAction.java
deleted file mode 100644
index 00dd1b6..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/ExpandAllAction.java
+++ /dev/null
@@ -1,26 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers.interactive;
-
-import org.eclipse.jface.viewers.AbstractTreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-
-public class ExpandAllAction extends TestBrowserAction {
-
-	public ExpandAllAction(String label, TestBrowser browser) {
-		super(label, browser);
-	}
-	public void run() {
-		Viewer viewer = getBrowser().getViewer();
-		if (viewer instanceof AbstractTreeViewer)
-			((AbstractTreeViewer) viewer).expandAll();
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/Filter.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/Filter.java
deleted file mode 100644
index b5b6e3b..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/Filter.java
+++ /dev/null
@@ -1,40 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers.interactive;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-
-public class Filter extends ViewerFilter {
-
-	public Object[] filter(Viewer viewer, Object parent, Object[] elements) {
-		ArrayList result = new ArrayList();
-		for (int i = 0; i < elements.length; ++i) {
-			 // toss every second item
-			if (i % 2 == 1) {
-				result.add(elements[i]);
-			}
-		}
-		return result.toArray();
-	}
-	public boolean isFilterProperty(Object element, Object aspect) {
-		return false;
-	}
-/* (non-Javadoc)
- * Method declared on ViewerFilter
- */
-public boolean select(Viewer viewer, Object parentElement, Object element) {
-	// not used
-	return false;
-}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/FlushInputAction.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/FlushInputAction.java
deleted file mode 100644
index 72eb0a6..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/FlushInputAction.java
+++ /dev/null
@@ -1,22 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers.interactive;
-
-
-public class FlushInputAction extends TestBrowserAction {
-
-	public FlushInputAction(String label, TestBrowser browser) {
-		super(label, browser);
-	}
-	public void run() {
-		getBrowser().setInput(null);
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/ResetFilterAction.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/ResetFilterAction.java
deleted file mode 100644
index 3e1580d..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/ResetFilterAction.java
+++ /dev/null
@@ -1,28 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers.interactive;
-
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.Viewer;
-
-public class ResetFilterAction extends TestBrowserAction {
-
-	public ResetFilterAction(String label, TestBrowser browser) {
-		super(label, browser);
-	}
-	public void run() {
-		Viewer viewer = getBrowser().getViewer();
-		if (viewer instanceof StructuredViewer) {
-			StructuredViewer v = (StructuredViewer) viewer;
-			v.resetFilters();
-		}	
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/ResetSorterAction.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/ResetSorterAction.java
deleted file mode 100644
index fe873c9..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/ResetSorterAction.java
+++ /dev/null
@@ -1,28 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers.interactive;
-
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.Viewer;
-
-public class ResetSorterAction extends TestBrowserAction {
-
-	public ResetSorterAction(String label, TestBrowser browser) {
-		super(label, browser);
-	}
-	public void run() {
-		Viewer viewer = getBrowser().getViewer();
-		if (viewer instanceof StructuredViewer) {
-			StructuredViewer v = (StructuredViewer) viewer;
-			v.setSorter(null);
-		}	
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/SetLabelProviderAction.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/SetLabelProviderAction.java
deleted file mode 100644
index dffe048..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/SetLabelProviderAction.java
+++ /dev/null
@@ -1,24 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers.interactive;
-
-import org.eclipse.jface.tests.viewers.TestLabelProvider;
-import org.eclipse.jface.viewers.ContentViewer;
- 
-public class SetLabelProviderAction extends TestBrowserAction {
-
-	public SetLabelProviderAction(String label, TestBrowser browser) {
-		super(label, browser);
-	}
-	public void run() {
-		((ContentViewer) getBrowser().getViewer()).setLabelProvider(new TestLabelProvider());
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/SetSorterAction.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/SetSorterAction.java
deleted file mode 100644
index 727e1c1..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/SetSorterAction.java
+++ /dev/null
@@ -1,28 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers.interactive;
-
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.Viewer;
-
-public class SetSorterAction extends TestBrowserAction {
-
-	public SetSorterAction(String label, TestBrowser browser) {
-		super(label, browser);
-	}
-	public void run() {
-		Viewer viewer = getBrowser().getViewer();
-		if (viewer instanceof StructuredViewer) {
-			StructuredViewer v = (StructuredViewer) viewer;
-			v.setSorter(new Sorter());
-		}	
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/Sorter.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/Sorter.java
deleted file mode 100644
index 1bc04b6..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/Sorter.java
+++ /dev/null
@@ -1,21 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers.interactive;
-
-import org.eclipse.jface.viewers.IBasicPropertyConstants;
-import org.eclipse.jface.viewers.ViewerSorter;
-
-public class Sorter extends ViewerSorter {
-
-	public boolean isSorterProperty(Object element, String property) {
-		return IBasicPropertyConstants.P_TEXT.equals(property);
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/TestBrowser.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/TestBrowser.java
deleted file mode 100644
index 81682bf..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/TestBrowser.java
+++ /dev/null
@@ -1,239 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers.interactive;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.custom.ViewForm;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.tests.viewers.TestElement;
-import org.eclipse.jface.tests.viewers.TestModelChange;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.window.ApplicationWindow;
-
-public abstract class TestBrowser extends ApplicationWindow {
-	TestElement fInput;
-	Viewer fViewer;
-	
-	Action fChangeLabelAction;
-	Action fChangeInputLabelAction;
-	Action fChangeChildLabelAction;
-	Action fReloadAction;
-	Action fReloadActionLarge;
-	Action fReloadActionFlat;
-	
-	Action fDeleteAction;
-	Action fDeleteChildrenAction;
-	Action fDeleteSomeChildrenAction;
-	Action fDeleteSiblingsAction;
-	Action fFlushInputAction;
-	
-	Action fAddElementAction;
-
-	Action fAddSiblingAction;
-	Action fAddSiblingRevealAction;
-	Action fAddSiblingSelectAction;
-	
-	Action fAddChildAction;
-	Action fAddChildRevealAction;
-	Action fAddChildSelectAction;
-
-	Action fWorldChangedAction;
-	
-	Action fSetLabelProvider;
-	
-	Action fAddFilterAction;
-	Action fResetFilters;
-	
-	Action fSetSorter;
-	Action fResetSorter;
-	
-	Action fClearSelection;
-	
-	int fPanes= 1;
-	
-	public TestBrowser() {
-		super(null);
-		addMenuBar();
-	}
-/* (non-Javadoc)
- * Method declared on Window.
- */
-protected void configureShell(Shell shell) {
-	super.configureShell(shell);
-	shell.setText("Test Browser");
-}
-protected void createActions() {
-	fChangeLabelAction = new ChangeLabelAction("Change Label", this);
-	fChangeChildLabelAction =
-		new ChangeChildLabelAction("Change Child Label", this);
-//	fChangeInputLabelAction =
-//		new ChangeInputLabelAction("Change Input Label", this);
-
-	fReloadAction = new CreateModelAction("Reload Test Data (small)", this, 3, 10);
-	fReloadActionLarge =
-		new CreateModelAction("Reload Test Data (large)", this, 3, 33);
-	fReloadActionFlat =
-		new CreateModelAction("Reload Test Data (flat)", this, 1, 2000);
-
-	fDeleteAction = new DeleteAction("Delete", this);
-	fDeleteChildrenAction = new DeleteChildrenAction("Delete Children", this, true);
-	fDeleteSomeChildrenAction =
-		new DeleteChildrenAction("Delete Odd Children", this, false);
-	fDeleteSiblingsAction = new DeleteSiblingsAction("Delete Siblings", this, true);
-
-	fFlushInputAction = new FlushInputAction("Flush Input", this);
-
-	fAddElementAction = new AddElementAction("Add Element to Input", this);
-	fAddSiblingAction = new AddSiblingAction("Add Sibling", this);
-	fAddSiblingRevealAction =
-		new AddSiblingAction(
-			"Add Sibling and Reveal",
-			this,
-			TestModelChange.INSERT | TestModelChange.REVEAL);
-	fAddSiblingSelectAction =
-		new AddSiblingAction(
-			"Add Sibling and Select",
-			this,
-			TestModelChange.INSERT | TestModelChange.REVEAL | TestModelChange.SELECT);
-	fAddChildAction = new AddChildAction("Add Child", this);
-	fAddChildRevealAction =
-		new AddChildAction(
-			"Add Child and Reveal",
-			this,
-			TestModelChange.INSERT | TestModelChange.REVEAL);
-	fAddChildSelectAction =
-		new AddChildAction(
-			"Add Child and Select",
-			this,
-			TestModelChange.INSERT | TestModelChange.REVEAL | TestModelChange.SELECT);
-
-	fWorldChangedAction = new WorldChangedAction("World Changed", this);
-
-	fSetLabelProvider =
-		new SetLabelProviderAction("Set Custom Label Provider", this);
-
-	fAddFilterAction = new AddFilterAction("Add Filter", this);
-	fResetFilters = new ResetFilterAction("Reset All Filters", this);
-
-	fSetSorter = new SetSorterAction("Set Sorter", this);
-	fResetSorter = new ResetSorterAction("Reset Sorter", this);
-
-	fClearSelection = new ClearSelectionAction("Clear Selection", this);
-}
-
-protected Control createContents(Composite parent) {
-	ViewForm form = new ViewForm(parent, SWT.NONE);
-	CLabel label = new CLabel(form, SWT.NONE);
-	form.setTopLeft(label);
-	Object input = getInput();
-	label.setText(input.toString());
-	if (fPanes == 1) {
-		Viewer viewer = createViewer(form);
-		form.setContent(viewer.getControl());
-		fViewer = viewer;
-		viewer.setInput(input);
-	} else if (fPanes == 2) {
-		SashForm sashForm = new SashForm(form, SWT.VERTICAL);
-		form.setContent(sashForm);
-		Viewer viewer = createViewer(sashForm);
-		fViewer = viewer;
-		viewer.setInput(input);
-		viewer = createViewer(sashForm);
-		viewer.setInput(input);
-	}
-	createActions();
-	fillMenuBar(getMenuBarManager());
-	viewerFillMenuBar(getMenuBarManager());
-	getMenuBarManager().updateAll(false);
-	return form;
-}
-	public abstract Viewer createViewer(Composite parent);
-protected void fillMenuBar(MenuManager mgr) {
-
-	MenuManager setupMenu = new MenuManager("Setup","Setup");
-	mgr.add(setupMenu);
-	setupMenu.add(fReloadAction);
-	setupMenu.add(fReloadActionLarge);
-	setupMenu.add(fReloadActionFlat);
-	setupMenu.add(new Separator());
-	setupMenu.add(fFlushInputAction);
-	setupMenu.add(new Separator());
-	setupMenu.add(fSetLabelProvider);
-	setupMenu.add(new Separator());
-	setupMenu.add(fAddFilterAction);
-	setupMenu.add(fResetFilters);
-	setupMenu.add(new Separator());
-	setupMenu.add(fSetSorter);
-	setupMenu.add(fResetSorter);
-
-	MenuManager testMenu = new MenuManager("Tests","Tests");
-	mgr.add(testMenu);
-	testMenu.add(fChangeLabelAction);
-	testMenu.add(fChangeChildLabelAction);
-//	testMenu.add(fChangeInputLabelAction);
-	testMenu.add(new Separator());
-
-	testMenu.add(fDeleteAction);
-	testMenu.add(fDeleteChildrenAction);
-	testMenu.add(fDeleteSomeChildrenAction);
-	testMenu.add(fDeleteSiblingsAction);
-	testMenu.add(new Separator());
-
-	testMenu.add(fAddElementAction);
-	testMenu.add(new Separator());
-
-	testMenu.add(fAddSiblingAction);
-	testMenu.add(fAddSiblingRevealAction);
-	testMenu.add(fAddSiblingSelectAction);
-	testMenu.add(new Separator());
-
-	testMenu.add(fAddChildAction);
-	testMenu.add(fAddChildRevealAction);
-	testMenu.add(fAddChildSelectAction);
-	testMenu.add(new Separator());
-
-	testMenu.add(fClearSelection);
-	testMenu.add(new Separator());
-
-	testMenu.add(fWorldChangedAction);
-//	((TestTree)this).testTreeFillMenuBar(testMenu);
-}
-public TestElement getInput() {
-	return fInput;
-}
-	public Viewer getViewer() {
-		return fViewer;
-	}
-	public Composite getViewerContainer() {
-		return null;
-	}
-public void open(TestElement input) {
-	setInput(input);
-	super.open();
-}
-public void setInput(TestElement input) {
-	fInput = input;
-	if (getViewer() != null)
-		getViewer().setInput(input);
-}
-	public void show2Panes() {
-		fPanes= 2;
-	}
-protected abstract void viewerFillMenuBar(MenuManager mgr);
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/TestBrowserAction.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/TestBrowserAction.java
deleted file mode 100644
index 96c4d7b..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/TestBrowserAction.java
+++ /dev/null
@@ -1,27 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers.interactive;
-
-import org.eclipse.jface.action.Action;
-
-public abstract class TestBrowserAction extends Action {
-	private TestBrowser browser;
-	public TestBrowserAction(String label, TestBrowser browser) {
-		super(label);
-		this.browser = browser;
-	}
-	/**
-	 * Returns the test browser.
-	 */
-	public TestBrowser getBrowser() {
-		return browser;
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/TestCheckboxTree.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/TestCheckboxTree.java
deleted file mode 100644
index 53b58ce..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/TestCheckboxTree.java
+++ /dev/null
@@ -1,78 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers.interactive;
-
-import org.eclipse.swt.widgets.Composite;
-
-import org.eclipse.jface.tests.viewers.TestElement;
-import org.eclipse.jface.tests.viewers.TestLabelProvider;
-import org.eclipse.jface.tests.viewers.TestModelContentProvider;
-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;
-import org.eclipse.jface.viewers.Viewer;
-
-public class TestCheckboxTree extends TestTree {
-	CheckboxTreeViewer fCheckboxViewer;
-
-	public TestCheckboxTree() {
-		super();
-	}
-public void checkChildren(TestElement element, boolean state) {
-	int numChildren = element.getChildCount();
-	for (int i = 0; i < numChildren; i++) {
-		TestElement child = element.getChildAt(i);
-		if (fCheckboxViewer.setChecked(child, state))
-			checkChildren(child, state);
-	}
-}
-public Viewer createViewer(Composite parent) {
-	CheckboxTreeViewer viewer = new CheckboxTreeViewer(parent);
-	viewer.setContentProvider(new TestModelContentProvider());
-	viewer.setLabelProvider(new TestLabelProvider());
-
-	viewer.addTreeListener(new ITreeViewerListener() {
-		public void treeExpanded(TreeExpansionEvent e) {
-			handleTreeExpanded((TestElement) e.getElement());
-		}
-		public void treeCollapsed(TreeExpansionEvent e) {
-		}
-	});
-
-	viewer.addCheckStateListener(new ICheckStateListener() {
-		public void checkStateChanged(CheckStateChangedEvent e) {
-			checkChildren((TestElement) e.getElement(), e.getChecked());
-		}
-	});
-
-	fCheckboxViewer = viewer;
-	fViewer = viewer;
-	return viewer;
-}
-	public void handleTreeExpanded(TestElement element) {
-		// apply the same check recursively to all children
-		boolean checked = fCheckboxViewer.getChecked(element);
-		int numChildren = element.getChildCount();
-		for (int i= 0; i < numChildren; i++) {
-			TestElement child= element.getChildAt(i);
-			fCheckboxViewer.setChecked(child, checked);
-		}
-	}
-public static void main(String[] args) {
-	TestBrowser browser = new TestCheckboxTree();
-	if (args.length > 0 && args[0].equals("-twopanes"))
-		browser.show2Panes();
-	browser.setBlockOnOpen(true);
-	browser.open(TestElement.createModel(3, 10));
-}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/TestList.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/TestList.java
deleted file mode 100644
index 17ad2a0..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/TestList.java
+++ /dev/null
@@ -1,38 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers.interactive;
-
-import org.eclipse.swt.widgets.Composite;
-
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.tests.viewers.TestElement;
-import org.eclipse.jface.tests.viewers.TestModelContentProvider;
-import org.eclipse.jface.viewers.ListViewer;
-import org.eclipse.jface.viewers.Viewer;
-
-public class TestList extends TestBrowser {
-	public Viewer createViewer(Composite parent) {
-		ListViewer viewer= new ListViewer(parent);
-		viewer.setUseHashlookup(true);
-		viewer.setContentProvider(new TestModelContentProvider());
-		return viewer;
-	}
-	public static void main(String[] args) {
-		TestList browser = new TestList();
-		browser.setBlockOnOpen(true);
-		browser.open(TestElement.createModel(3, 10));
-	}
-/**
- * 
- */
-protected void viewerFillMenuBar(MenuManager mgr) {
-}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/TestSelectionAction.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/TestSelectionAction.java
deleted file mode 100644
index 8713045..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/TestSelectionAction.java
+++ /dev/null
@@ -1,49 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers.interactive;
-
-import org.eclipse.jface.tests.viewers.TestElement;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-
-public abstract class TestSelectionAction extends TestBrowserAction implements ISelectionChangedListener {
-	public TestSelectionAction(String label, TestBrowser browser) {
-		super(label, browser);
-		browser.getViewer().addSelectionChangedListener(this);
-		setEnabled(false);
-	}
-	public TestElement getTestElement(ISelection selection) {
-		if (selection instanceof IStructuredSelection) {
-			return (TestElement) ((IStructuredSelection) selection).getFirstElement();
-		}
-		return null;
-	}
-/**
- * Overridden from Action.
- */
-public void run() {
-	TestElement testElement = getTestElement(getBrowser().getViewer().getSelection());
-	if (testElement != null) {
-		run(testElement);
-	}
-}
-	/**
-	 * The default implementation calls run(TestElement)
-	 * on every element contained in the vector.
-	 */
-	public void run(TestElement o) {
-	}
-	public void selectionChanged(SelectionChangedEvent event) {
-		setEnabled(!event.getSelection().isEmpty());
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/TestTable.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/TestTable.java
deleted file mode 100644
index 4374c59..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/TestTable.java
+++ /dev/null
@@ -1,67 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers.interactive;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.TableColumn;
-
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.tests.viewers.TestElement;
-import org.eclipse.jface.tests.viewers.TestLabelProvider;
-import org.eclipse.jface.tests.viewers.TestModelContentProvider;
-import org.eclipse.jface.viewers.ColumnLayoutData;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-
-public class TestTable extends TestBrowser {
-
-public Viewer createViewer(Composite parent) {
-	TableViewer viewer = new TableViewer(parent);
-	viewer.setContentProvider(new TestModelContentProvider());
-	viewer.setLabelProvider(new TestLabelProvider());
-	viewer.getTable().setLinesVisible(true);
-
-	TableLayout layout = new TableLayout();
-	viewer.getTable().setLayout(layout);
-	viewer.getTable().setHeaderVisible(true);
-	String headers[] = { "Label Column", "Second Column" };
-
-	ColumnLayoutData layouts[] =
-		{ new ColumnWeightData(100, false), new ColumnWeightData(100, false)};
-
-	final TableColumn columns[] = new TableColumn[headers.length];
-
-	for (int i = 0; i < headers.length; i++) {
-		layout.addColumnData(layouts[i]);
-		TableColumn tc = new TableColumn(viewer.getTable(), SWT.NONE, i);
-		tc.setResizable(layouts[i].resizable);
-		tc.setText(headers[i]);
-		columns[i] = tc;
-	}
-
-	viewer.setUseHashlookup(true);
-
-	return viewer;
-}
-	public static void main(String[] args) {
-		TestTable browser = new TestTable();
-		browser.setBlockOnOpen(true);
-		browser.open(TestElement.createModel(3, 10));
-	}
-/**
- * 
- */
-protected void viewerFillMenuBar(MenuManager mgr) {
-}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/TestTableTree.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/TestTableTree.java
deleted file mode 100644
index 5c20400..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/TestTableTree.java
+++ /dev/null
@@ -1,80 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers.interactive;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.TableColumn;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.tests.viewers.TestElement;
-import org.eclipse.jface.tests.viewers.TestModelContentProvider;
-import org.eclipse.jface.viewers.ColumnLayoutData;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableTreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-
-public class TestTableTree extends TestBrowser {
-
-	TableTreeViewer fViewer;
-	Action fExpandAllAction;
-
-	public TestTableTree() {
-		super();
-		fExpandAllAction= new ExpandAllAction("Expand All", this);
-	}
-public Viewer createViewer(Composite parent) {
-	TableTreeViewer viewer = new TableTreeViewer(parent);
-	viewer.setContentProvider(new TestModelContentProvider());
-	viewer.setLabelProvider(new TestTableTreeLabelProvider());
-	viewer.getTableTree().getTable().setLinesVisible(true);
-
-	TableLayout layout = new TableLayout();
-	viewer.getTableTree().getTable().setLayout(layout);
-	viewer.getTableTree().getTable().setHeaderVisible(true);
-	String headers[] = { "First Column", "Second Column" };
-
-	ColumnLayoutData layouts[] =
-		{ new ColumnWeightData(100), new ColumnWeightData(100)};
-
-	final TableColumn columns[] = new TableColumn[headers.length];
-
-	for (int i = 0; i < headers.length; i++) {
-		layout.addColumnData(layouts[i]);
-		TableColumn tc = new TableColumn(viewer.getTableTree().getTable(), SWT.NONE, i);
-		tc.setResizable(layouts[i].resizable);
-		tc.setText(headers[i]);
-		columns[i] = tc;
-	}
-	if (fViewer == null)
-		fViewer = viewer;
-
-	return viewer;
-}
-public static void main(String[] args) {
-	TestBrowser browser = new TestTableTree();
-	if (args.length > 0 && args[0].equals("-twopanes"))
-		browser.show2Panes();
-	browser.setBlockOnOpen(true);
-	browser.open(TestElement.createModel(3, 10));
-}
-/**
- * Adds the expand all action to the tests menu.
- */
-protected void viewerFillMenuBar(MenuManager mgr) {
-	MenuManager testMenu = (MenuManager) (mgr.findMenuUsingPath("tests"));
-	testMenu.add(new Separator());
-	testMenu.add(fExpandAllAction);
-}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/TestTableTreeLabelProvider.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/TestTableTreeLabelProvider.java
deleted file mode 100644
index 73a0f68..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/TestTableTreeLabelProvider.java
+++ /dev/null
@@ -1,41 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers.interactive;
-
-import org.eclipse.swt.graphics.Image;
-
-import org.eclipse.jface.tests.viewers.TestLabelProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
- 
-public class TestTableTreeLabelProvider extends TestLabelProvider implements ITableLabelProvider{
-/**
- * Returns the label image for a given column.
- *
- * @param element the object representing the entire row. Can be 
- *     <code>null</code> indicating that no input object is set in the viewer.
- * @param columnIndex the index of the column in which the label appears. Numbering is zero based.
- */
-public Image getColumnImage(Object element, int columnIndex) {
-	return getImage();
-}
-/**
- * Returns the label text for a given column.
- *
- * @param element the object representing the entire row. Can be 
- *     <code>null</code> indicating that no input object is set in the viewer.
- * @param columnIndex the index of the column in which the label appears. Numbering is zero based.
- */
-public String getColumnText(Object element, int columnIndex) {
-	if (element != null)
-		return element.toString() + " column " + columnIndex;
-	return null;
-}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/TestTree.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/TestTree.java
deleted file mode 100644
index 912e1bc..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/TestTree.java
+++ /dev/null
@@ -1,62 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers.interactive;
-
-import org.eclipse.swt.widgets.Composite;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.tests.viewers.TestElement;
-import org.eclipse.jface.tests.viewers.TestModelContentProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-
-public class TestTree extends TestBrowser {
-	TreeViewer fViewer;
-	Action fExpandAllAction;
-	public TestTree() {
-		super();
-		fExpandAllAction= new ExpandAllAction("Expand All", this);
-	}
-/**
- * 
- */
-public Viewer createViewer(Composite parent) {
-	TreeViewer viewer = new TreeViewer(parent);
-	viewer.setContentProvider(new TestModelContentProvider());
-	viewer.setUseHashlookup(true);
-
-	if (fViewer == null)
-		fViewer = viewer;
-	return viewer;
-}
-	public static void main(String[] args) {
-		TestBrowser browser= new TestTree();
-		if (args.length > 0 && args[0].equals("-twopanes")) 							
-			browser.show2Panes();
-		browser.setBlockOnOpen(true);
-		browser.open(TestElement.createModel(3, 10));		
-	}
-	public void testTreeFillMenuBar(MenuManager testMenu) {
-		
-
-
-	}
-/**
- * Adds the expand all action to the tests menu.
- */
-protected void viewerFillMenuBar(MenuManager mgr) {
-	MenuManager testMenu = (MenuManager) (mgr.findMenuUsingPath("tests"));
-	testMenu.add(new Separator());
-	testMenu.add(fExpandAllAction);
-}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/WorldChangedAction.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/WorldChangedAction.java
deleted file mode 100644
index 640b426..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/interactive/WorldChangedAction.java
+++ /dev/null
@@ -1,23 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.tests.viewers.interactive;
-
-import org.eclipse.jface.viewers.StructuredViewer;
-
-public class WorldChangedAction extends TestBrowserAction {
-
-	public WorldChangedAction(String label, TestBrowser browser) {
-		super(label, browser);
-	}
-	public void run() {
-		((StructuredViewer)getBrowser().getViewer()).refresh();
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse RCP Tests/org/eclipse/ui/rcp/tests/ActionBarConfigurerTest.java b/tests/org.eclipse.ui.tests/Eclipse RCP Tests/org/eclipse/ui/rcp/tests/ActionBarConfigurerTest.java
deleted file mode 100644
index eba7220..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse RCP Tests/org/eclipse/ui/rcp/tests/ActionBarConfigurerTest.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.rcp.tests;
-
-import junit.framework.TestCase;
-
-import org.eclipse.swt.widgets.Display;
-
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-import org.eclipse.ui.rcp.tests.util.*;
-
-public class ActionBarConfigurerTest extends TestCase {
-
-    public ActionBarConfigurerTest(String name) {
-        super(name);
-    }
-
-    private Display display = null;
-
-    protected void setUp() throws Exception {
-        super.setUp();
-
-        assertNull(display);
-        display = PlatformUI.createDisplay();
-        assertNotNull(display);
-    }
-
-    protected void tearDown() throws Exception {
-        assertNotNull(display);
-        display.dispose();
-        assertTrue(display.isDisposed());
-        super.tearDown();
-    }
-
-    public void testDefaults() {
-        WorkbenchAdvisor wa = new WorkbenchAdvisorObserver(1) {
-
-            public void fillActionBars(IWorkbenchWindow window,
-                    IActionBarConfigurer actionBarConfig, int flags) {
-                super.fillActionBars(window, actionBarConfig, flags);
-
-                assertNotNull(actionBarConfig.getMenuManager());
-                assertNotNull(actionBarConfig.getStatusLineManager());
-                assertNotNull(actionBarConfig.getCoolBarManager());
-            }
-        };
-
-        int code = PlatformUI.createAndRunWorkbench(display, wa);
-        assertEquals(PlatformUI.RETURN_OK, code);
-    }
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse RCP Tests/org/eclipse/ui/rcp/tests/PlatformUITest.java b/tests/org.eclipse.ui.tests/Eclipse RCP Tests/org/eclipse/ui/rcp/tests/PlatformUITest.java
deleted file mode 100644
index 09e35d2..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse RCP Tests/org/eclipse/ui/rcp/tests/PlatformUITest.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.rcp.tests;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-
-import org.eclipse.swt.widgets.Display;
-
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.rcp.tests.util.WorkbenchAdvisorObserver;
-
-public class PlatformUITest extends TestCase {
-
-    public PlatformUITest(String testName) {
-        super(testName);
-    }
-
-    /** Make sure workbench is not returned before it is running. */
-    public void testEarlyGetWorkbench() {
-        assertFalse(PlatformUI.isWorkbenchRunning());
-        try {
-            PlatformUI.getWorkbench();
-            fail("Exception should have been thrown."); //$NON-NLS-1$
-        } catch (IllegalStateException e) {
-            // do nothing
-        }
-    }
-
-    public void testCreateDisplay() {
-        Display disp = PlatformUI.createDisplay();
-        assertNotNull(disp);
-        assertFalse(disp.isDisposed());
-        disp.dispose();
-        assertTrue(disp.isDisposed());
-    }
-
-    public void test() {
-        // do nothing
-    }
-
-    public void testCreateAndRunWorkbench() {
-        final Display display = PlatformUI.createDisplay();
-        assertNotNull(display);
-
-        CheckForWorkbench wa = new CheckForWorkbench(2);
-
-        int code = PlatformUI.createAndRunWorkbench(display, wa);
-        assertEquals(PlatformUI.RETURN_OK, code);
-        assertTrue(wa.checkComplete);
-        display.dispose();
-        assertTrue(display.isDisposed());
-    }
-}
-
-class CheckForWorkbench extends WorkbenchAdvisorObserver {
-
-    public boolean checkComplete = false;
-
-    public CheckForWorkbench(int idleBeforeExit) {
-        super(idleBeforeExit);
-    }
-
-    public void eventLoopIdle(Display display) {
-        super.eventLoopIdle(display);
-
-        if (checkComplete) return;
-
-        Assert.assertNotNull(PlatformUI.getWorkbench());
-        checkComplete = true;
-    }
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse RCP Tests/org/eclipse/ui/rcp/tests/RcpTestSuite.java b/tests/org.eclipse.ui.tests/Eclipse RCP Tests/org/eclipse/ui/rcp/tests/RcpTestSuite.java
deleted file mode 100644
index ea3afca..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse RCP Tests/org/eclipse/ui/rcp/tests/RcpTestSuite.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.rcp.tests;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * The test suite for the RCP APIs in the generic workbench.
- * To run, use a headless JUnit Plug-in Test launcher, configured
- * to have [No Application] as its application. 
- */
-public class RcpTestSuite extends TestSuite {
-
-    /** Returns the suite. This is required to use the JUnit Launcher. */
-    public static Test suite() {
-        return new RcpTestSuite();
-    }
-
-    public RcpTestSuite() {
-        addTest(new TestSuite(PlatformUITest.class));
-        addTest(new TestSuite(WorkbenchAdvisorTest.class));
-        addTest(new TestSuite(WorkbenchConfigurerTest.class));
-        addTest(new TestSuite(WorkbenchWindowConfigurerTest.class));
-        addTest(new TestSuite(ActionBarConfigurerTest.class));
-    }
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse RCP Tests/org/eclipse/ui/rcp/tests/WorkbenchAdvisorTest.java b/tests/org.eclipse.ui.tests/Eclipse RCP Tests/org/eclipse/ui/rcp/tests/WorkbenchAdvisorTest.java
deleted file mode 100644
index 815da1b..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse RCP Tests/org/eclipse/ui/rcp/tests/WorkbenchAdvisorTest.java
+++ /dev/null
@@ -1,310 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.rcp.tests;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.ui.IWindowListener;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-import org.eclipse.ui.rcp.tests.util.WorkbenchAdvisorObserver;
-
-public class WorkbenchAdvisorTest extends TestCase {
-
-    public WorkbenchAdvisorTest(String name) {
-        super(name);
-    }
-
-    private Display display = null;
-
-    protected void setUp() throws Exception {
-        super.setUp();
-
-        assertNull(display);
-        display = PlatformUI.createDisplay();
-        assertNotNull(display);
-    }
-
-    protected void tearDown() throws Exception {
-        assertNotNull(display);
-        display.dispose();
-        assertTrue(display.isDisposed());
-
-        super.tearDown();
-    }
-
-    /**
-     * The workbench should be created before any of the advisor's life cycle
-     * methods are called. #initialize is the first one called, so check that
-     * the workbench has been been created by then.
-     */
-    public void testEarlyGetWorkbench() {
-        WorkbenchAdvisor wa = new WorkbenchAdvisorObserver(1) {
-
-            public void initialize(IWorkbenchConfigurer configurer) {
-                super.initialize(configurer);
-                assertNotNull(PlatformUI.getWorkbench());
-            }
-        };
-
-        int code = PlatformUI.createAndRunWorkbench(display, wa);
-        assertEquals(PlatformUI.RETURN_OK, code);
-    }
-
-    public void testTwoDisplays() {
-        WorkbenchAdvisorObserver wa = new WorkbenchAdvisorObserver(1);
-
-        int code = PlatformUI.createAndRunWorkbench(display, wa);
-        assertEquals(PlatformUI.RETURN_OK, code);
-        assertFalse(display.isDisposed());
-        display.dispose();
-        assertTrue(display.isDisposed());
-
-        display = PlatformUI.createDisplay();
-        assertNotNull(display);
-
-        WorkbenchAdvisorObserver wa2 = new WorkbenchAdvisorObserver(1);
-
-        int code2 = PlatformUI.createAndRunWorkbench(display, wa2);
-        assertEquals(PlatformUI.RETURN_OK, code2);
-    }
-
-    public void testTrivialOpenClose() {
-        WorkbenchAdvisorObserver wa = new WorkbenchAdvisorObserver(1) {
-
-            private boolean windowOpenCalled = false;
-
-            private boolean windowCloseCalled = false;
-
-            public void initialize(IWorkbenchConfigurer c) {
-                super.initialize(c);
-                c.getWorkbench().addWindowListener(new IWindowListener() {
-
-                    public void windowActivated(IWorkbenchWindow window) {
-                        // do nothing
-                    }
-
-                    public void windowDeactivated(IWorkbenchWindow window) {
-                        // do nothing
-                    }
-
-                    public void windowClosed(IWorkbenchWindow window) {
-                        windowCloseCalled = true;
-                    }
-
-                    public void windowOpened(IWorkbenchWindow window) {
-                        windowOpenCalled = true;
-                    }
-                });
-            }
-
-            public void preWindowOpen(IWorkbenchWindowConfigurer c) {
-                assertFalse(windowOpenCalled);
-                super.preWindowOpen(c);
-            }
-
-            public void postWindowOpen(IWorkbenchWindowConfigurer c) {
-                assertTrue(windowOpenCalled);
-                super.postWindowOpen(c);
-            }
-
-            public boolean preWindowShellClose(IWorkbenchWindowConfigurer c) {
-                assertFalse(windowCloseCalled);
-                return super.preWindowShellClose(c);
-            }
-
-            public void postWindowClose(IWorkbenchWindowConfigurer c) {
-                if (false) // which should be called first?
-                        assertTrue(windowCloseCalled);
-                super.postWindowClose(c);
-            }
-        };
-
-        int code = PlatformUI.createAndRunWorkbench(display, wa);
-        assertEquals(PlatformUI.RETURN_OK, code);
-
-        wa.resetOperationIterator();
-        wa.assertNextOperation(WorkbenchAdvisorObserver.INITIALIZE);
-        wa.assertNextOperation(WorkbenchAdvisorObserver.PRE_STARTUP);
-        wa.assertNextOperation(WorkbenchAdvisorObserver.PRE_WINDOW_OPEN);
-        wa.assertNextOperation(WorkbenchAdvisorObserver.FILL_ACTION_BARS);
-        wa.assertNextOperation(WorkbenchAdvisorObserver.POST_WINDOW_OPEN);
-        wa.assertNextOperation(WorkbenchAdvisorObserver.POST_STARTUP);
-        wa.assertNextOperation(WorkbenchAdvisorObserver.PRE_SHUTDOWN);
-        wa.assertNextOperation(WorkbenchAdvisorObserver.POST_SHUTDOWN);
-        wa.assertAllOperationsExamined();
-    }
-
-    public void testTrivialRestoreClose() {
-        WorkbenchAdvisorObserver wa = new WorkbenchAdvisorObserver(1) {
-
-            public void initialize(IWorkbenchConfigurer c) {
-                super.initialize(c);
-                c.setSaveAndRestore(true);
-            }
-
-            public void eventLoopIdle(Display d) {
-                workbenchConfig.getWorkbench().restart();
-            }
-        };
-
-        int code = PlatformUI.createAndRunWorkbench(display, wa);
-        assertEquals(PlatformUI.RETURN_RESTART, code);
-        assertFalse(display.isDisposed());
-        display.dispose();
-        assertTrue(display.isDisposed());
-
-        display = PlatformUI.createDisplay();
-        WorkbenchAdvisorObserver wa2 = new WorkbenchAdvisorObserver(1) {
-
-            public void initialize(IWorkbenchConfigurer c) {
-                super.initialize(c);
-                c.setSaveAndRestore(true);
-            }
-        };
-
-        int code2 = PlatformUI.createAndRunWorkbench(display, wa2);
-        assertEquals(PlatformUI.RETURN_OK, code2);
-
-        wa2.resetOperationIterator();
-        wa2.assertNextOperation(WorkbenchAdvisorObserver.INITIALIZE);
-        wa2.assertNextOperation(WorkbenchAdvisorObserver.PRE_STARTUP);
-        wa2.assertNextOperation(WorkbenchAdvisorObserver.PRE_WINDOW_OPEN);
-        wa2.assertNextOperation(WorkbenchAdvisorObserver.FILL_ACTION_BARS);
-        wa2.assertNextOperation(WorkbenchAdvisorObserver.POST_WINDOW_RESTORE);
-        wa2.assertNextOperation(WorkbenchAdvisorObserver.POST_WINDOW_OPEN);
-        wa2.assertNextOperation(WorkbenchAdvisorObserver.POST_STARTUP);
-        wa2.assertNextOperation(WorkbenchAdvisorObserver.PRE_SHUTDOWN);
-        wa2.assertNextOperation(WorkbenchAdvisorObserver.POST_SHUTDOWN);
-        wa2.assertAllOperationsExamined();
-    }
-
-    /**
-     * The WorkbenchAdvisor comment for #postStartup says it is ok to close
-     * things from in there.
-     */
-    public void testCloseFromPostStartup() {
-        WorkbenchAdvisorObserver wa = new WorkbenchAdvisorObserver(1) {
-
-            public void postStartup() {
-                super.postStartup();
-                assertTrue(PlatformUI.getWorkbench().close());
-            }
-        };
-
-        int code = PlatformUI.createAndRunWorkbench(display, wa);
-        assertEquals(PlatformUI.RETURN_OK, code);
-
-        wa.resetOperationIterator();
-        wa.assertNextOperation(WorkbenchAdvisorObserver.INITIALIZE);
-        wa.assertNextOperation(WorkbenchAdvisorObserver.PRE_STARTUP);
-        wa.assertNextOperation(WorkbenchAdvisorObserver.PRE_WINDOW_OPEN);
-        wa.assertNextOperation(WorkbenchAdvisorObserver.FILL_ACTION_BARS);
-        wa.assertNextOperation(WorkbenchAdvisorObserver.POST_WINDOW_OPEN);
-        wa.assertNextOperation(WorkbenchAdvisorObserver.POST_STARTUP);
-        wa.assertNextOperation(WorkbenchAdvisorObserver.PRE_SHUTDOWN);
-        wa.assertNextOperation(WorkbenchAdvisorObserver.POST_SHUTDOWN);
-        wa.assertAllOperationsExamined();
-    }
-
-    public void testEventLoopCrash() {
-        WorkbenchAdvisorExceptionObserver wa = new WorkbenchAdvisorExceptionObserver();
-
-        int code = PlatformUI.createAndRunWorkbench(display, wa);
-        assertEquals(PlatformUI.RETURN_OK, code);
-        assertTrue(wa.exceptionCaught);
-    }
-
-    public void testFillAllActionBar() {
-        WorkbenchAdvisorObserver wa = new WorkbenchAdvisorObserver(1) {
-
-            public void fillActionBars(IWorkbenchWindow window,
-                    IActionBarConfigurer configurer, int flags) {
-                super.fillActionBars(window, configurer, flags);
-
-                assertEquals(FILL_COOL_BAR, flags & FILL_COOL_BAR);
-                assertEquals(FILL_MENU_BAR, flags & FILL_MENU_BAR);
-                assertEquals(FILL_STATUS_LINE, flags & FILL_STATUS_LINE);
-                assertEquals(0, flags & FILL_PROXY);
-            }
-        };
-
-        int code = PlatformUI.createAndRunWorkbench(display, wa);
-        assertEquals(PlatformUI.RETURN_OK, code);
-    }
-
-    public void testShellClose() {
-        WorkbenchAdvisorObserver wa = new WorkbenchAdvisorObserver() {
-
-            public void eventLoopIdle(Display disp) {
-                super.eventLoopIdle(disp);
-
-                Shell[] shells = disp.getShells();
-                for (int i = 0; i < shells.length; ++i)
-                    if (shells[i] != null) shells[i].close();
-            }
-        };
-
-        int code = PlatformUI.createAndRunWorkbench(display, wa);
-        assertEquals(PlatformUI.RETURN_OK, code);
-
-        wa.resetOperationIterator();
-        wa.assertNextOperation(WorkbenchAdvisorObserver.INITIALIZE);
-        wa.assertNextOperation(WorkbenchAdvisorObserver.PRE_STARTUP);
-        wa.assertNextOperation(WorkbenchAdvisorObserver.PRE_WINDOW_OPEN);
-        wa.assertNextOperation(WorkbenchAdvisorObserver.FILL_ACTION_BARS);
-        wa.assertNextOperation(WorkbenchAdvisorObserver.POST_WINDOW_OPEN);
-        wa.assertNextOperation(WorkbenchAdvisorObserver.POST_STARTUP);
-        wa.assertNextOperation(WorkbenchAdvisorObserver.PRE_WINDOW_SHELL_CLOSE);
-        wa.assertNextOperation(WorkbenchAdvisorObserver.PRE_SHUTDOWN);
-        wa.assertNextOperation(WorkbenchAdvisorObserver.POST_SHUTDOWN);
-        wa.assertAllOperationsExamined();
-    }
-}
-
-class WorkbenchAdvisorExceptionObserver extends WorkbenchAdvisorObserver {
-
-    public boolean exceptionCaught = false;
-
-    private RuntimeException runtimeException;
-
-    public WorkbenchAdvisorExceptionObserver() {
-        super(2);
-    }
-
-    // this is used to indicate when the event loop has started
-    public void eventLoopIdle(Display disp) {
-        super.eventLoopIdle(disp);
-
-        // only crash the loop one time
-        if (runtimeException != null) return;
-
-        runtimeException = new RuntimeException();
-        throw runtimeException;
-    }
-
-    public void eventLoopException(Throwable exception) {
-        // *** Don't let the parent log the exception since it makes for
-        // confusing
-        //     test results.
-
-        exceptionCaught = true;
-        Assert.assertEquals(runtimeException, exception);
-    }
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse RCP Tests/org/eclipse/ui/rcp/tests/WorkbenchConfigurerTest.java b/tests/org.eclipse.ui.tests/Eclipse RCP Tests/org/eclipse/ui/rcp/tests/WorkbenchConfigurerTest.java
deleted file mode 100644
index 3bd4c19..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse RCP Tests/org/eclipse/ui/rcp/tests/WorkbenchConfigurerTest.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.rcp.tests;
-
-import junit.framework.TestCase;
-
-import org.eclipse.swt.widgets.Display;
-
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.application.IWorkbenchConfigurer;
-import org.eclipse.ui.rcp.tests.util.*;
-
-public class WorkbenchConfigurerTest extends TestCase {
-
-    public WorkbenchConfigurerTest(String name) {
-        super(name);
-    }
-
-    private Display display = null;
-
-    protected void setUp() throws Exception {
-        super.setUp();
-
-        assertNull(display);
-        display = PlatformUI.createDisplay();
-        assertNotNull(display);
-    }
-
-    protected void tearDown() throws Exception {
-        assertNotNull(display);
-        display.dispose();
-        assertTrue(display.isDisposed());
-
-        super.tearDown();
-    }
-
-    public void testDefaults() {
-        WorkbenchAdvisorObserver wa = new WorkbenchAdvisorObserver(1) {
-
-            private IWorkbenchConfigurer configurer;
-
-            public void initialize(IWorkbenchConfigurer c) {
-                super.initialize(c);
-                configurer = c;
-
-                assertNotNull(c.getWorkbench());
-                assertFalse(c.getSaveAndRestore());
-                assertNotNull(c.getWorkbenchWindowManager());
-            }
-
-            public void postShutdown() {
-                super.postShutdown();
-
-                // *** This should be checked on all of the advisor callbacks
-                //     but assume that if its still set in the last one, then it
-                //     must have been set for all of them.
-                assertFalse(configurer.emergencyClosing());
-            }
-        };
-
-        int code = PlatformUI.createAndRunWorkbench(display, wa);
-        assertEquals(PlatformUI.RETURN_OK, code);
-    }
-
-    public void testEmergencyClose() {
-        WorkbenchAdvisorObserver wa = new WorkbenchAdvisorObserver(2) {
-
-            private IWorkbenchConfigurer configurer;
-
-            public void initialize(IWorkbenchConfigurer c) {
-                super.initialize(c);
-                configurer = c;
-
-                assertNotNull(c.getWorkbench());
-                assertFalse(c.getSaveAndRestore());
-                assertNotNull(c.getWorkbenchWindowManager());
-            }
-
-            // emergencyClose as soon as possible
-            public void eventLoopIdle(Display disp) {
-                super.eventLoopIdle(disp);
-                configurer.emergencyClose();
-            }
-
-            public void postShutdown() {
-                super.postShutdown();
-
-                // *** This should be checked on all of the advisor callbacks
-                //     but assume that if its still set in the last one, then it
-                //     must have been set for all of them.
-                assertTrue(configurer.emergencyClosing());
-            }
-        };
-
-        int code = PlatformUI.createAndRunWorkbench(display, wa);
-        assertEquals(PlatformUI.RETURN_EMERGENCY_CLOSE, code);
-    }
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse RCP Tests/org/eclipse/ui/rcp/tests/WorkbenchWindowConfigurerTest.java b/tests/org.eclipse.ui.tests/Eclipse RCP Tests/org/eclipse/ui/rcp/tests/WorkbenchWindowConfigurerTest.java
deleted file mode 100644
index 941d21c..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse RCP Tests/org/eclipse/ui/rcp/tests/WorkbenchWindowConfigurerTest.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.rcp.tests;
-
-import junit.framework.TestCase;
-
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-import org.eclipse.ui.rcp.tests.util.WorkbenchAdvisorObserver;
-
-public class WorkbenchWindowConfigurerTest extends TestCase {
-
-    public WorkbenchWindowConfigurerTest(String name) {
-        super(name);
-    }
-
-    private Display display = null;
-
-    protected void setUp() throws Exception {
-        super.setUp();
-
-        assertNull(display);
-        display = PlatformUI.createDisplay();
-        assertNotNull(display);
-    }
-
-    protected void tearDown() throws Exception {
-        assertNotNull(display);
-        display.dispose();
-        assertTrue(display.isDisposed());
-
-        super.tearDown();
-    }
-
-    public void testDefaults() {
-        WorkbenchAdvisor wa = new WorkbenchAdvisorObserver(1) {
-
-            public void fillActionBars(IWorkbenchWindow window,
-                    IActionBarConfigurer actionBarConfig, int flags) {
-                super.fillActionBars(window, actionBarConfig, flags);
-
-                String tempTitle = "title"; //$NON-NLS-1$
-
-                IWorkbenchWindowConfigurer windowConfig = workbenchConfig
-                        .getWindowConfigurer(window);
-                assertNotNull(windowConfig);
-
-                assertEquals(window, windowConfig.getWindow());
-                assertEquals(workbenchConfig, windowConfig
-                        .getWorkbenchConfigurer());
-                assertEquals(actionBarConfig, windowConfig
-                        .getActionBarConfigurer());
-                assertNull(windowConfig.getTitle());
-                assertTrue(windowConfig.getShowCoolBar());
-                assertTrue(windowConfig.getShowMenuBar());
-                assertFalse(windowConfig.getShowPerspectiveBar());
-                assertTrue(windowConfig.getShowStatusLine());
-
-                windowConfig.setTitle(tempTitle);
-                windowConfig.setShowCoolBar(false);
-                windowConfig.setShowMenuBar(false);
-                windowConfig.setShowPerspectiveBar(true);
-                windowConfig.setShowStatusLine(false);
-                assertEquals(tempTitle, windowConfig.getTitle());
-                assertFalse(windowConfig.getShowCoolBar());
-                assertFalse(windowConfig.getShowMenuBar());
-                assertTrue(windowConfig.getShowPerspectiveBar());
-                assertFalse(windowConfig.getShowStatusLine());
-
-                // *** title is orginally null, but cannot set it back to null,
-                // should that
-                //     check be allowed?
-                windowConfig.setTitle("");//$NON-NLS-1$
-                windowConfig.setShowCoolBar(true);
-                windowConfig.setShowMenuBar(true);
-                windowConfig.setShowPerspectiveBar(false);
-                windowConfig.setShowStatusLine(true);
-            }
-        };
-
-        int code = PlatformUI.createAndRunWorkbench(display, wa);
-        assertEquals(PlatformUI.RETURN_OK, code);
-    }
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse RCP Tests/org/eclipse/ui/rcp/tests/util/WorkbenchAdvisorObserver.java b/tests/org.eclipse.ui.tests/Eclipse RCP Tests/org/eclipse/ui/rcp/tests/util/WorkbenchAdvisorObserver.java
deleted file mode 100644
index bf44e47..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse RCP Tests/org/eclipse/ui/rcp/tests/util/WorkbenchAdvisorObserver.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.rcp.tests.util;
-
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-
-import junit.framework.Assert;
-
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-
-/**
- * This utility class is used to record the order in which the hooks are called.
- * It should be subclassed to provide the behaviour needed for a particular test
- * case. After the case has run, its list can be examined to check for the
- * expected order.
- * <p>
- * NOTE: This differs from <code>org.eclipse.ui.tests.CallHistory</code> since
- * this class allows assertions on individual method names. Which means that the
- * junit error will identify the exact error, not just the existence of an
- * error.
- */
-public class WorkbenchAdvisorObserver extends WorkbenchAdvisor {
-
-    private List operations = new LinkedList();
-
-    private Iterator iterator;
-
-    /** Default value of -1 causes the option to be ignored. */
-    private int idleBeforeExit = -1;
-
-    public final static String INITIALIZE = "initialize"; //$NON-NLS-1$
-    public final static String PRE_STARTUP = "preStartup"; //$NON-NLS-1$
-    public final static String POST_STARTUP = "postStartup"; //$NON-NLS-1$
-    public final static String PRE_WINDOW_OPEN = "preWindowOpen"; //$NON-NLS-1$
-    public final static String FILL_ACTION_BARS = "fillActionBars"; //$NON-NLS-1$
-    public final static String POST_WINDOW_RESTORE = "postWindowRestore"; //$NON-NLS-1$
-    public final static String POST_WINDOW_OPEN = "postWindowOpen"; //$NON-NLS-1$
-    public final static String PRE_WINDOW_SHELL_CLOSE = "preWindowShellClose"; //$NON-NLS-1$
-    public final static String EVENT_LOOP_EXCEPTION = "eventLoopException"; //$NON-NLS-1$
-    public final static String PRE_SHUTDOWN = "preShutdown"; //$NON-NLS-1$
-    public final static String POST_SHUTDOWN = "postShutdown"; //$NON-NLS-1$
-
-    public IWorkbenchConfigurer workbenchConfig;
-
-    public WorkbenchAdvisorObserver() {
-        // ignore the option for default instance
-        this.idleBeforeExit = -1;
-    }
-
-    public WorkbenchAdvisorObserver(int idleBeforeExit) {
-        this.idleBeforeExit = idleBeforeExit;
-    }
-
-    public void resetOperationIterator() {
-        iterator = operations.iterator();
-    }
-
-    public void assertNextOperation(String expected) {
-        Assert.assertTrue(iterator.hasNext());
-        Assert.assertEquals(expected, (String) iterator.next());
-    }
-
-    public void assertAllOperationsExamined() {
-        Assert.assertNotNull(iterator);
-        Assert.assertFalse(iterator.hasNext());
-    }
-
-    private void addOperation(String operation) {
-        operations.add(operation);
-    }
-
-    public String getInitialWindowPerspectiveId() {
-        return "org.eclipse.ui.tests.util.EmptyPerspective"; //$NON-NLS-1$
-    }
-
-    public void initialize(IWorkbenchConfigurer configurer) {
-        super.initialize(configurer);
-        workbenchConfig = configurer;
-        addOperation(INITIALIZE);
-    }
-
-    public void preStartup() {
-        super.preStartup();
-        addOperation(PRE_STARTUP);
-    }
-
-    public void preWindowOpen(IWorkbenchWindowConfigurer configurer) {
-        super.preWindowOpen(configurer);
-        addOperation(PRE_WINDOW_OPEN);
-    }
-
-    public void fillActionBars(IWorkbenchWindow window,
-            IActionBarConfigurer configurer, int flags) {
-        super.fillActionBars(window, configurer, flags);
-        addOperation(FILL_ACTION_BARS);
-    }
-
-    public void postWindowRestore(IWorkbenchWindowConfigurer configurer)
-            throws WorkbenchException {
-        super.postWindowRestore(configurer);
-        addOperation(POST_WINDOW_RESTORE);
-    }
-
-    public void postWindowOpen(IWorkbenchWindowConfigurer configurer) {
-        super.postWindowOpen(configurer);
-        addOperation(POST_WINDOW_OPEN);
-    }
-
-    public void postStartup() {
-        super.postStartup();
-        addOperation(POST_STARTUP);
-    }
-
-    public boolean preWindowShellClose(IWorkbenchWindowConfigurer configurer) {
-        if (!super.preWindowShellClose(configurer)) return false;
-        addOperation(PRE_WINDOW_SHELL_CLOSE);
-        return true;
-    }
-
-    public boolean preShutdown() {
-        boolean result = super.preShutdown();
-        addOperation(PRE_SHUTDOWN);
-        return result;
-    }
-
-    public void postShutdown() {
-        super.postShutdown();
-        addOperation(POST_SHUTDOWN);
-    }
-
-    public void eventLoopException(Throwable exception) {
-        super.eventLoopException(exception);
-        addOperation(EVENT_LOOP_EXCEPTION);
-    }
-
-    public void eventLoopIdle(Display display) {
-        super.eventLoopIdle(display);
-
-        if (idleBeforeExit == -1)
-            return;
-
-        if (--idleBeforeExit <= 0)
-            PlatformUI.getWorkbench().close();
-    }
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/SelectionProviderView.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/SelectionProviderView.java
deleted file mode 100644
index 1dd454c..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/SelectionProviderView.java
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/TestPlugin.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/TestPlugin.java
deleted file mode 100644
index 85d73b3..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/TestPlugin.java
+++ /dev/null
@@ -1,134 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPluginDescriptor;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-
-import org.eclipse.ui.IStartup;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.ui.tests.dynamicplugins.TestInstallUtil;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class TestPlugin extends AbstractUIPlugin implements IStartup {
-	//The shared instance.
-	private static TestPlugin plugin;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	// This boolean should only be true if the earlyStartup() method
-	// has been called.
-	private static boolean earlyStartupCalled = false;
-	
-	/**
-	 * The constructor.
-	 */
-	public TestPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-		plugin = this;
-		try {
-			resourceBundle= ResourceBundle.getBundle("org.eclipse.ui.tests.TestPluginResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static TestPlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns the workspace instance.
-	 */
-	public static IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-
-	/**
-	 * Returns the string from the plugin's resource bundle,
-	 * or 'key' if not found.
-	 */
-	public static String getResourceString(String key) {
-		ResourceBundle bundle= TestPlugin.getDefault().getResourceBundle();
-		try {
-			return bundle.getString(key);
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		return resourceBundle;
-	}
-	
-	/**
-	 * Returns the image descriptor with the given relative path.
-	 */
-	public ImageDescriptor getImageDescriptor(String relativePath) {
-		String iconPath = "icons/";
-		try {
-			URL installURL = getDescriptor().getInstallURL();
-			URL url = new URL(installURL, iconPath + relativePath);
-			return ImageDescriptor.createFromURL(url);
-		}
-		catch (MalformedURLException e) {
-			// should not happen
-			return ImageDescriptor.getMissingImageDescriptor();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IStartup#earlyStartup()
-	 */
-	public void earlyStartup() {
-		earlyStartupCalled = true;
-	}
-	
-	public static boolean wasEarlyStartupCalled() {
-		return earlyStartupCalled;
-	}
-
-	public static void clearEarlyStartup() {
-		earlyStartupCalled = false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		TestInstallUtil.setContext(context);
-		super.start(context);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		TestInstallUtil.setContext(null);
-		super.stop(context);
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/UiTestSuite.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/UiTestSuite.java
deleted file mode 100644
index b6304c6..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/UiTestSuite.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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.ui.tests.activities.ActivitiesTestSuite;
-import org.eclipse.ui.tests.adaptable.AdaptableTestSuite;
-import org.eclipse.ui.tests.api.ApiTestSuite;
-import org.eclipse.ui.tests.commands.CommandsTestSuite;
-import org.eclipse.ui.tests.contexts.ContextsTestSuite;
-import org.eclipse.ui.tests.datatransfer.DataTransferTestSuite;
-import org.eclipse.ui.tests.dialogs.UIAutomatedSuite;
-import org.eclipse.ui.tests.dnd.DragTestSuite;
-import org.eclipse.ui.tests.dynamicplugins.DynamicPluginsTestSuite;
-import org.eclipse.ui.tests.internal.InternalTestSuite;
-import org.eclipse.ui.tests.intro.IntroTestSuite;
-import org.eclipse.ui.tests.keys.KeysTestSuite;
-import org.eclipse.ui.tests.menus.MenusTestSuite;
-import org.eclipse.ui.tests.multipageeditor.MultiPageEditorTestSuite;
-import org.eclipse.ui.tests.navigator.NavigatorTestSuite;
-import org.eclipse.ui.tests.preferences.PreferencesTestSuite;
-import org.eclipse.ui.tests.propertysheet.PropertySheetTestSuite;
-import org.eclipse.ui.tests.themes.ThemesTestSuite;
-import org.eclipse.ui.tests.util.PlatformUtil;
-import org.eclipse.ui.tests.zoom.ZoomTestSuite;
-
-/**
- * Test all areas of the UI.
- */
-public class UiTestSuite extends TestSuite {
-
-    /**
-     * Returns the suite. This is required to use the JUnit Launcher.
-     */
-    public static Test suite() {
-        return new UiTestSuite();
-    }
-
-    /**
-     * Construct the test suite.
-     */
-    public UiTestSuite() {
-        addTest(new ApiTestSuite());
-
-        if (!PlatformUtil.onLinux()) {
-            addTest(new UIAutomatedSuite());
-        }
-
-        addTest(new PropertySheetTestSuite());
-        addTest(new InternalTestSuite());
-        addTest(new NavigatorTestSuite());
-        addTest(new AdaptableTestSuite());
-        addTest(new ZoomTestSuite());
-        addTest(new DataTransferTestSuite());
-        addTest(new PreferencesTestSuite());
-        addTest(new KeysTestSuite());
-        addTest(new MultiPageEditorTestSuite());
-        addTest(new DynamicPluginsTestSuite());
-        addTest(new ActivitiesTestSuite());
-        addTest(new CommandsTestSuite());
-        addTest(new ContextsTestSuite());
-        addTest(new DragTestSuite());
-        addTest(new ThemesTestSuite());
-        addTest(new IntroTestSuite());
-        addTest(new MenusTestSuite());
-    }
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/activities/ActivitiesTestSuite.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/activities/ActivitiesTestSuite.java
deleted file mode 100644
index 06e76e2..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/activities/ActivitiesTestSuite.java
+++ /dev/null
@@ -1,31 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.activities;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-/**
- * The ActivitiesTestSuite class runs the activities' test suites.
- */
-public class ActivitiesTestSuite extends TestSuite {
-	/**
-	 * Returns the suite. This is required to use the JUnit Launcher.
-	 */
-	public static Test suite() {
-		return new ActivitiesTestSuite();
-	}
-	/**
-	 * Construct the test suite.
-	 */
-	public ActivitiesTestSuite() {
-		addTest(new TestSuite(StaticTest.class));
-		addTest(new TestSuite(DynamicTest.class));
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/activities/DynamicModelActivityRegistry.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/activities/DynamicModelActivityRegistry.java
deleted file mode 100644
index 683a9e3..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/activities/DynamicModelActivityRegistry.java
+++ /dev/null
@@ -1,381 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.activities;
-import java.util.ArrayList;
-import java.util.Iterator;
-import org.eclipse.ui.internal.activities.AbstractActivityRegistry;
-import org.eclipse.ui.internal.activities.ActivityRequirementBindingDefinition;
-import org.eclipse.ui.internal.activities.ActivityDefinition;
-import org.eclipse.ui.internal.activities.ActivityPatternBindingDefinition;
-import org.eclipse.ui.internal.activities.CategoryActivityBindingDefinition;
-import org.eclipse.ui.internal.activities.CategoryDefinition;
-/**
- * 
- * The dynamic activity registry populated activities with dummy definitions for
- * testing purposes.
- */
-public class DynamicModelActivityRegistry extends AbstractActivityRegistry {
-	final String sourceId = "org.eclipse.ui.tests"; //$NON-NLS-1$
-	/**
-	 * The constructor for the plugin model registry.
-	 */
-	public DynamicModelActivityRegistry() {
-		super();
-		load();
-	}
-	/**
-	 * Populate definitions.
-	 *  
-	 */
-	private void load() {
-		categoryDefinitions = new ArrayList();
-		activityDefinitions = new ArrayList();
-		categoryActivityBindingDefinitions = new ArrayList();
-		activityPatternBindingDefinitions = new ArrayList();
-		activityRequirementBindingDefinitions = new ArrayList();
-		defaultEnabledActivities = new ArrayList();
-		populateCategoryDefinitions();
-		populateActivityDefinitions();
-		populateCategoryActivityBindingDefinitions();
-		populateActivityPatternBindingDefinitions();
-		populateActivityRequirementBindingDefinitions();
-		populateDefaultEnabledActivities();
-	}
-	/**
-	 * Populate the default enabled activties.
-	 *  
-	 */
-	private void populateDefaultEnabledActivities() {
-		defaultEnabledActivities.add(((ActivityDefinition) activityDefinitions
-				.toArray()[0]).getId());
-		defaultEnabledActivities.add(((ActivityDefinition) activityDefinitions
-				.toArray()[2]).getId());
-		defaultEnabledActivities.add(((ActivityDefinition) activityDefinitions
-				.toArray()[8]).getId());
-	}
-	/**
-	 * Populate the activity activity binding definitions.
-	 *  
-	 */
-	private void populateActivityRequirementBindingDefinitions() {
-		activityRequirementBindingDefinitions
-				.add(new ActivityRequirementBindingDefinition(
-						((ActivityDefinition) activityDefinitions.toArray()[0])
-								.getId(),
-						((ActivityDefinition) activityDefinitions.toArray()[1])
-								.getId(), sourceId)); //$NON-NLS-1$
-		activityRequirementBindingDefinitions
-				.add(new ActivityRequirementBindingDefinition(
-						((ActivityDefinition) activityDefinitions.toArray()[2])
-								.getId(),
-						((ActivityDefinition) activityDefinitions.toArray()[3])
-								.getId(), sourceId)); //$NON-NLS-1$
-	}
-	/**
-	 * Populate the activity pattern binding definitions.
-	 *  
-	 */
-	private void populateActivityPatternBindingDefinitions() {
-		for (int index = 0; index < activityDefinitions.size(); index++) {
-			activityPatternBindingDefinitions
-					.add(new ActivityPatternBindingDefinition(
-							((ActivityDefinition) activityDefinitions.toArray()[index])
-									.getId(), "org.eclipse.pattern" //$NON-NLS-1$
-									+ Integer.toString(index + 1), sourceId));
-		}
-	}
-	/**
-	 * Populate the category activity binding definitions.
-	 *  
-	 */
-	private void populateCategoryActivityBindingDefinitions() {
-		int counter = 1;
-		for (int index = 1; index <= categoryDefinitions.size(); index++) {
-			categoryActivityBindingDefinitions
-					.add(new CategoryActivityBindingDefinition(
-							"org.eclipse.activity" + Integer.toString(counter), //$NON-NLS-1$
-							"org.eclipse.category" + Integer.toString(index), //$NON-NLS-1$
-							sourceId));
-			counter++;
-			categoryActivityBindingDefinitions
-					.add(new CategoryActivityBindingDefinition(
-							"org.eclipse.activity" + Integer.toString(counter), //$NON-NLS-1$
-							"org.eclipse.category" + Integer.toString(index), //$NON-NLS-1$
-							sourceId));
-			counter++;
-			categoryActivityBindingDefinitions
-					.add(new CategoryActivityBindingDefinition(
-							"org.eclipse.activity" + Integer.toString(counter), //$NON-NLS-1$
-							"org.eclipse.category" + Integer.toString(index), //$NON-NLS-1$
-							sourceId));
-			counter++;
-		}
-	}
-	/**
-	 * Populate the activity definitions.
-	 *  
-	 */
-	private void populateActivityDefinitions() {
-		String stringToAppend = null;
-		for (int index = 1; index <= categoryDefinitions.size() * 3; index++) {
-			stringToAppend = Integer.toString(index);
-			activityDefinitions.add(new ActivityDefinition(
-					"org.eclipse.activity" + stringToAppend, "Activity " //$NON-NLS-1$ //$NON-NLS-2$
-							+ stringToAppend, sourceId, "description")); //$NON-NLS-1$
-		}
-	}
-	/**
-	 * Populate the category definitions.
-	 *  
-	 */
-	private void populateCategoryDefinitions() {
-		String stringToAppend = null;
-		for (int index = 1; index <= 6; index++) {
-			stringToAppend = Integer.toString(index);
-			categoryDefinitions.add(new CategoryDefinition(
-					"org.eclipse.category" + stringToAppend, "Category " //$NON-NLS-1$ //$NON-NLS-2$
-							+ stringToAppend, sourceId, "description")); //$NON-NLS-1$
-		}
-	}
-	/**
-	 * Add an activity.
-	 * 
-	 * @param activityId
-	 *            The activity's id.
-	 * @param activityName
-	 *            The activity's name
-	 */
-	public void addActivity(String activityId, String activityName) {
-		activityDefinitions.add(new ActivityDefinition(activityId,
-				activityName, sourceId, "description")); //$NON-NLS-1$
-		fireActivityRegistryChanged();
-	}
-	/**
-	 * Remove adn activity.
-	 * 
-	 * @param activityId
-	 *            The activity's id.
-	 * @param activityName
-	 *            The activity's name.
-	 */
-	public void removeActivity(String activityId, String activityName) {
-		activityDefinitions.remove(new ActivityDefinition(activityId,
-				activityName, sourceId, "description")); //$NON-NLS-1$
-		fireActivityRegistryChanged();
-	}
-	/**
-	 * Add a category.
-	 * 
-	 * @param categoryId
-	 *            The category's id.
-	 * @param categoryName
-	 *            The category's name.
-	 */
-	public void addCategory(String categoryId, String categoryName) {
-		categoryDefinitions.add(new CategoryDefinition(categoryId,
-				categoryName, sourceId, "description")); //$NON-NLS-1$
-		fireActivityRegistryChanged();
-	}
-	/**
-	 * Remove a category.
-	 * 
-	 * @param categoryId
-	 *            The category's id.
-	 * @param categoryName
-	 *            The category's name.
-	 */
-	public void removeCategory(String categoryId, String categoryName) {
-		categoryDefinitions.remove(new CategoryDefinition(categoryId,
-				categoryName, sourceId, "description")); //$NON-NLS-1$
-		fireActivityRegistryChanged();
-	}
-	/**
-	 * Add an activity activity binding.
-	 * 
-	 * @param parentId
-	 *            The parent id.
-	 * @param childId
-	 *            The child id.
-	 */
-	public void addActivityRequirementBinding(String childId, String parentId) {
-		activityRequirementBindingDefinitions
-				.add(new ActivityRequirementBindingDefinition(childId, parentId,
-						sourceId));
-		fireActivityRegistryChanged();
-	}
-	/**
-	 * Reomve an activity activity binding.
-	 * 
-	 * @param parentId
-	 *            The parent id.
-	 * @param childId
-	 *            The child id.
-	 */
-	public void removeActivityRequirementBinding(String childId, String parentId) {
-		activityRequirementBindingDefinitions
-				.remove(new ActivityRequirementBindingDefinition(childId,
-						parentId, sourceId));
-		fireActivityRegistryChanged();
-	}
-	/**
-	 * Add a category activity binding.
-	 * 
-	 * @param activityId
-	 *            The activity id.
-	 * @param categoryId
-	 *            The category id.
-	 */
-	public void addCategoryActivityBinding(String activityId, String categoryId) {
-		categoryActivityBindingDefinitions
-				.add(new CategoryActivityBindingDefinition(activityId,
-						categoryId, sourceId));
-		fireActivityRegistryChanged();
-	}
-	/**
-	 * Remove a category activity binding.
-	 * 
-	 * @param activityId
-	 *            The activity id.
-	 * @param categoryId
-	 *            The category id.
-	 */
-	public void removeCategoryActivityBinding(String activityId,
-			String categoryId) {
-		categoryActivityBindingDefinitions
-				.remove(new CategoryActivityBindingDefinition(activityId,
-						categoryId, sourceId));
-		fireActivityRegistryChanged();
-	}
-	/**
-	 * Update the category's description.
-	 * 
-	 * @param categoryId
-	 *            The category Id.
-	 * @param categoryDescription
-	 *            The category description.
-	 */
-	public void updateCategoryDescription(String categoryId,
-			String categoryDescription) {
-		CategoryDefinition currentCategory = null;
-		for (Iterator i = categoryDefinitions.iterator(); i.hasNext();) {
-			currentCategory = (CategoryDefinition) i.next();
-			if (currentCategory.getId().equals(categoryId)) {
-				categoryDefinitions.remove(currentCategory);
-				categoryDefinitions.add(new CategoryDefinition(categoryId,
-						currentCategory.getName(), currentCategory
-								.getSourceId(), categoryDescription));
-				fireActivityRegistryChanged();
-				return;
-			}
-		}
-	}
-	/**
-	 * Update the activity's description.
-	 * 
-	 * @param activityId
-	 *            The activity id.
-	 * @param activityDescription
-	 *            The activity description.
-	 */
-	public void updateActivityDescription(String activityId,
-			String activityDescription) {
-		ActivityDefinition currentActivity = null;
-		for (Iterator i = activityDefinitions.iterator(); i.hasNext();) {
-			currentActivity = (ActivityDefinition) i.next();
-			if (currentActivity.getId().equals(activityId)) {
-				activityDefinitions.remove(currentActivity);
-				activityDefinitions.add(new ActivityDefinition(activityId,
-						currentActivity.getName(), currentActivity
-								.getSourceId(), activityDescription));
-				fireActivityRegistryChanged();
-				return;
-			}
-		}
-	}
-	/**
-	 * Update the activity's name.
-	 * 
-	 * @param activityId
-	 *            The activity id.
-	 * @param activityName
-	 *            The activity's name.
-	 */
-	public void updateActivityName(String activityId, String activityName) {
-		ActivityDefinition currentActivity = null;
-		for (Iterator i = activityDefinitions.iterator(); i.hasNext();) {
-			currentActivity = (ActivityDefinition) i.next();
-			if (currentActivity.getId().equals(activityId)) {
-				activityDefinitions.remove(currentActivity);
-				activityDefinitions.add(new ActivityDefinition(activityId,
-						activityName, currentActivity.getSourceId(),
-						currentActivity.getDescription()));
-				fireActivityRegistryChanged();
-				return;
-			}
-		}
-	}
-	/**
-	 * Update the category's name.
-	 * 
-	 * @param categoryId
-	 *            The category id.
-	 * @param categoryName
-	 *            The category name.
-	 */
-	public void updateCategoryName(String categoryId, String categoryName) {
-		CategoryDefinition currentCategory = null;
-		for (Iterator i = categoryDefinitions.iterator(); i.hasNext();) {
-			currentCategory = (CategoryDefinition) i.next();
-			if (currentCategory.getId().equals(categoryId)) {
-				categoryDefinitions.remove(currentCategory);
-				categoryDefinitions.add(new CategoryDefinition(categoryId,
-						categoryName, currentCategory.getSourceId(),
-						currentCategory.getDescription()));
-				fireActivityRegistryChanged();
-				return;
-			}
-		}
-	}
-	/**
-	 * Remove an activity pattern binding.
-	 * 
-	 * @param pattern
-	 *            The pattern binding.
-	 */
-	public void removeActivityPatternBinding(String pattern) {
-		ActivityPatternBindingDefinition currentDefinition = null;
-		for (Iterator i = activityPatternBindingDefinitions.iterator(); i
-				.hasNext();) {
-			currentDefinition = (ActivityPatternBindingDefinition) i.next();
-			if (currentDefinition.getPattern().equals(pattern)) {
-				activityPatternBindingDefinitions.remove(currentDefinition);
-				fireActivityRegistryChanged();
-				return;
-			}
-		}
-	}
-	/**
-	 * Add an activity pattern binding.
-	 * 
-	 * @param activityId
-	 *            The actvity Id.
-	 * @param pattern
-	 *            The pattern.
-	 */
-	public void addActivityPatternBinding(String activityId, String pattern) {
-		if (activityPatternBindingDefinitions
-				.add(new ActivityPatternBindingDefinition(activityId, pattern,
-						sourceId))) {
-			fireActivityRegistryChanged();
-			return;
-		}
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/activities/DynamicTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/activities/DynamicTest.java
deleted file mode 100644
index d4e4a3a..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/activities/DynamicTest.java
+++ /dev/null
@@ -1,384 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.activities;
-import java.util.HashSet;
-import java.util.Set;
-import org.eclipse.ui.activities.ActivityEvent;
-import org.eclipse.ui.activities.ActivityManagerEvent;
-import org.eclipse.ui.activities.CategoryEvent;
-import org.eclipse.ui.activities.IActivity;
-import org.eclipse.ui.activities.IActivityListener;
-import org.eclipse.ui.activities.IActivityManagerListener;
-import org.eclipse.ui.activities.ICategory;
-import org.eclipse.ui.activities.ICategoryListener;
-import org.eclipse.ui.activities.IIdentifier;
-import org.eclipse.ui.activities.IIdentifierListener;
-import org.eclipse.ui.activities.IdentifierEvent;
-import org.eclipse.ui.activities.NotDefinedException;
-import org.eclipse.ui.internal.activities.MutableActivityManager;
-import org.eclipse.ui.tests.util.UITestCase;
-/**
- * 
- * The dynamic test manipualtes the categories, activities and their definitions
- * and ensures that their content and their listeners are behaving properly.
- */
-public class DynamicTest extends UITestCase {
-	private MutableActivityManager activityManager;
-	private DynamicModelActivityRegistry fixedModelRegistry;
-	private int listenerType;
-	static final int ACTIVITY_ENABLED_CHANGED = 0;
-	static final int ACTIVITY_IDS_CHANGED = 1;
-	static final int ENABLED_ACTIVITYIDS_CHANGED = 2;
-	static final int DEFINED_CATEGORYIDS_CHANGED = 3;
-	static final int DEFINED_ACTIVITYIDS_CHANGED = 4;
-	static final int DEFINED_CHANGED = 5;
-	static final int ENABLED_CHANGED = 6;
-	static final int NAME_CHANGED = 7;
-	static final int PATTERN_BINDINGS_CHANGED = 8;
-	static final int ACTIVITY_ACTIVITY_BINDINGS_CHANGED = 9;
-	static final int DESCRIPTION_CHANGED = 10;
-	/**
-	 * Constructor.
-	 * 
-	 * @param testName
-	 *            Test's name.
-	 */
-	public DynamicTest(String testName) {
-		super(testName);
-		fixedModelRegistry = new DynamicModelActivityRegistry();
-		activityManager = new MutableActivityManager(fixedModelRegistry);
-		listenerType = -1;
-	}
-	/**
-	 * Test sizes of what has been read.
-	 *  
-	 */
-	public void testSizes() {
-		assertTrue(activityManager.getDefinedCategoryIds().size() == 6);
-		assertTrue(activityManager.getDefinedActivityIds().size() == 18);
-		assertTrue(activityManager.getEnabledActivityIds().size() == 3);
-	}
-	/**
-	 * Test activity bindings.
-	 *  
-	 */
-	public void testActivityPatternBindings() {
-		IActivity first_activity = activityManager
-				.getActivity((String) activityManager.getDefinedActivityIds()
-						.toArray()[0]);
-		Set initialPatternBindings = first_activity
-				.getActivityPatternBindings();
-		// Add pattern binding
-		String pattern = "org\\.eclipse\\.ui\\.myPattern/.*"; //$NON-NLS-1$
-		fixedModelRegistry.addActivityPatternBinding(first_activity.getId(),
-				pattern);
-		assertFalse(initialPatternBindings.size() == first_activity
-				.getActivityPatternBindings().size());
-		// Remove pattern binding
-		fixedModelRegistry.removeActivityPatternBinding(pattern);
-		assertTrue(initialPatternBindings.size() == first_activity
-				.getActivityPatternBindings().size());
-	}
-	/**
-	 * Test the enabled activities.
-	 *  
-	 */
-	public void testEnabledActivities() {
-		// Add an enabled activity
-		Set compareSet;
-		Set copySet = new HashSet(activityManager.getEnabledActivityIds());
-		copySet.add(activityManager.getDefinedActivityIds().toArray()[0]);
-		activityManager.setEnabledActivityIds(copySet);
-		compareSet = activityManager.getEnabledActivityIds();
-		assertTrue(compareSet.size() == copySet.size());
-		// Remove an enabled activity
-		copySet.remove(activityManager.getDefinedActivityIds().toArray()[0]);
-		activityManager.setEnabledActivityIds(copySet);
-		compareSet = activityManager.getEnabledActivityIds();
-		assertTrue(compareSet.size() == copySet.size());
-	}
-	/**
-	 * Test the identifier listener.
-	 *  
-	 */
-	public void testIdentifiersListener() {
-		final IIdentifier enabledIdentifier = activityManager
-				.getIdentifier("org.eclipse.pattern3"); //$NON-NLS-1$
-		assertTrue(enabledIdentifier.isEnabled());
-		enabledIdentifier.addIdentifierListener(new IIdentifierListener() {
-			public void identifierChanged(IdentifierEvent identifierEvent) {
-				switch (listenerType) {
-					case ACTIVITY_ENABLED_CHANGED :
-						assertTrue(identifierEvent.hasEnabledChanged());
-						break;
-					case ACTIVITY_IDS_CHANGED :
-						assertTrue(identifierEvent.hasActivityIdsChanged());
-						break;
-				}
-				listenerType = -1;
-			}
-		});
-		// Test correcteness of identifier
-		IIdentifier activitiesIdentifier = activityManager
-				.getIdentifier("org.eclipse.pattern4"); //$NON-NLS-1$
-		Set identifiedActivities = activitiesIdentifier.getActivityIds(); //$NON-NLS-1$
-		assertTrue(identifiedActivities.size() == 1);
-		assertTrue(((String) identifiedActivities.toArray()[0])
-				.equals("org.eclipse.activity4")); //$NON-NLS-1$
-		assertFalse(activitiesIdentifier.isEnabled());
-		// Disable Enabled activity
-		listenerType = 0;
-		Set copySet = new HashSet(activityManager.getEnabledActivityIds());
-		copySet.remove(enabledIdentifier.getActivityIds().toArray()[0]);
-		activityManager.setEnabledActivityIds(copySet);
-		assertTrue(listenerType == -1);
-		// Enable Disabled activity
-		listenerType = 0;
-		copySet.add("org.eclipse.activity3"); //$NON-NLS-1$
-		activityManager.setEnabledActivityIds(copySet);
-		assertTrue(listenerType == -1);
-		// Add pattern binding
-		listenerType = 1;
-		fixedModelRegistry.addActivityPatternBinding("org.eclipse.activity1", //$NON-NLS-1$
-				"org.eclipse.pattern3"); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue(listenerType == -1);
-		// Test correctenesss of identifier
-		Set manipulatedIdentifiers = activityManager.getIdentifier(
-				"org.eclipse.pattern3").getActivityIds(); //$NON-NLS-1$
-		assertTrue(manipulatedIdentifiers.size() == 2);
-		// Remove pattern binding
-		listenerType = 1;
-		fixedModelRegistry.removeActivityPatternBinding("org.eclipse.pattern3"); //$NON-NLS-1$
-		assertTrue(listenerType == -1);
-		manipulatedIdentifiers = activityManager.getIdentifier(
-				"org.eclipse.pattern3").getActivityIds(); //$NON-NLS-1$
-		assertTrue(manipulatedIdentifiers.size() == 1);
-	}
-	/**
-	 * Test the activity manager listener.
-	 *  
-	 */
-	public void testActivityManagerListener() {
-		activityManager
-				.addActivityManagerListener(new IActivityManagerListener() {
-					public void activityManagerChanged(
-							ActivityManagerEvent activityManagerEvent) {
-						switch (listenerType) {
-							case ENABLED_ACTIVITYIDS_CHANGED :
-								assertTrue(activityManagerEvent
-										.haveEnabledActivityIdsChanged());
-								break;
-							case DEFINED_CATEGORYIDS_CHANGED :
-								assertTrue(activityManagerEvent
-										.haveDefinedCategoryIdsChanged());
-								break;
-							case DEFINED_ACTIVITYIDS_CHANGED :
-								assertTrue(activityManagerEvent
-										.haveDefinedActivityIdsChanged());
-								break;
-						}
-						listenerType = -1;
-					}
-				});
-		// Add an enabled activity
-		listenerType = 2;
-		Set enabledSet = new HashSet(activityManager.getEnabledActivityIds());
-		enabledSet.add("org.eclipse.activity19"); //$NON-NLS-1$
-		activityManager.setEnabledActivityIds(enabledSet);
-		assertTrue(listenerType == -1);
-		// Remove an enabled activity
-		listenerType = 2;
-		enabledSet.remove("org.eclipse.activity19"); //$NON-NLS-1$
-		activityManager.setEnabledActivityIds(enabledSet);
-		assertTrue(listenerType == -1);
-		// Add categroy
-		listenerType = 3;
-		fixedModelRegistry.addCategory("org.eclipse.category7", "Category 7"); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue(listenerType == -1);
-		// Remove category
-		listenerType = 3;
-		fixedModelRegistry.removeCategory("org.eclipse.category7", //$NON-NLS-1$
-				"Category 7"); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue(listenerType == -1);
-		// Add activity
-		listenerType = 4;
-		fixedModelRegistry.addActivity("org.eclipse.activity19", "Activity 19"); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue(listenerType == -1);
-		// Remove activity
-		listenerType = 4;
-		fixedModelRegistry.removeActivity("org.eclipse.activity19", //$NON-NLS-1$
-				"Activity 19"); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue(listenerType == -1);
-	}
-	/**
-	 * Test the activity listener.
-	 *  
-	 */
-	public void testActivityListener() {
-		final IActivity activity_to_listen = activityManager
-				.getActivity((String) activityManager.getDefinedActivityIds()
-						.toArray()[0]);
-		activity_to_listen.addActivityListener(new IActivityListener() {
-			public void activityChanged(ActivityEvent activityEvent) {
-				switch (listenerType) {
-					case DEFINED_CHANGED :
-						assertTrue(activityEvent.hasDefinedChanged());
-						break;
-					case ENABLED_CHANGED :
-						assertTrue(activityEvent.hasEnabledChanged());
-						break;
-					case NAME_CHANGED :
-						assertTrue(activityEvent.hasNameChanged());
-						break;
-					case PATTERN_BINDINGS_CHANGED :
-						assertTrue(activityEvent
-								.haveActivityPatternBindingsChanged());
-						break;
-					case ACTIVITY_ACTIVITY_BINDINGS_CHANGED :
-						assertTrue(activityEvent
-								.haveActivityRequirementBindingsChanged());
-						break;
-					case DESCRIPTION_CHANGED :
-						assertTrue(activityEvent.hasDescriptionChanged());
-						break;
-				}
-				listenerType = -1;
-			}
-		});
-		// Remove activity and change name consequently
-		try {
-			fixedModelRegistry.removeActivity(activity_to_listen.getId(),
-					activity_to_listen.getName());
-		} catch (NotDefinedException e) {
-			e.printStackTrace(System.err);
-		}
-		assertTrue(listenerType == -1);
-		// Add activity
-		listenerType = 5;
-		fixedModelRegistry.addActivity(activity_to_listen.getId(),
-				"Activity 18"); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue(listenerType == -1);
-		// Add to enabled activity
-		listenerType = 6;
-		Set enabledSet = new HashSet(activityManager.getEnabledActivityIds());
-		enabledSet.add(activity_to_listen.getId());
-		activityManager.setEnabledActivityIds(enabledSet);
-		assertTrue(listenerType == -1);
-		// Remove from enabled activity
-		listenerType = 6;
-		enabledSet.remove(activity_to_listen.getId());
-		activityManager.setEnabledActivityIds(enabledSet);
-		assertTrue(listenerType == -1);
-		// Add pattern binding
-		listenerType = 8;
-		fixedModelRegistry.addActivityPatternBinding("org.eclipse.activity18", //$NON-NLS-1$
-				"org.eclipse.pattern3"); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue(listenerType == -1);
-		// Remove pattern binding
-		listenerType = 8;
-		fixedModelRegistry.removeActivityPatternBinding("org.eclipse.pattern3");//$NON-NLS-1$
-		assertTrue(listenerType == -1);
-		// Add activity activity binding as parent
-		listenerType = 9;
-		fixedModelRegistry.addActivityRequirementBinding("org.eclipse.activity9", //$NON-NLS-1$
-				activity_to_listen.getId());//$NON-NLS-1$
-		assertTrue(listenerType == -1);
-		// Remove activity activity binding as parent
-		listenerType = 9;
-		fixedModelRegistry.removeActivityRequirementBinding(
-				"org.eclipse.activity9", activity_to_listen.getId());//$NON-NLS-1$
-		assertTrue(listenerType == -1);
-		//		 Update activity name
-		listenerType = 7;
-		fixedModelRegistry.updateActivityName(activity_to_listen.getId(),
-				"name_change"); //$NON-NLS-1$
-		assertTrue(listenerType == -1);
-		// Update activity description
-		listenerType = 10;
-		fixedModelRegistry.updateActivityDescription(
-				activity_to_listen.getId(), "description_change"); //$NON-NLS-1$
-		assertTrue(listenerType == -1);
-	}
-	/**
-	 * Test the category listener.
-	 *  
-	 */
-	public void testCategoryListener() {
-		final ICategory category_to_listen = activityManager
-				.getCategory((String) activityManager.getDefinedCategoryIds()
-						.toArray()[0]);
-		category_to_listen.addCategoryListener(new ICategoryListener() {
-			public void categoryChanged(CategoryEvent categoryEvent) {
-				switch (listenerType) {
-					case DEFINED_CHANGED :
-						assertTrue(categoryEvent.hasDefinedChanged());
-						break;
-					case NAME_CHANGED :
-						assertTrue(categoryEvent.hasNameChanged());
-						break;
-					case PATTERN_BINDINGS_CHANGED :
-						assertTrue(categoryEvent
-								.haveCategoryActivityBindingsChanged());
-						break;
-					case DESCRIPTION_CHANGED :
-						//	assertTrue(categoryEvent.hasDescriptionChanged());
-						break;
-				}
-				listenerType = -1;
-			}
-		});
-		// Remove category, and change name
-		try {
-			fixedModelRegistry.removeCategory(category_to_listen.getId(),
-					category_to_listen.getName()); //$NON-NLS-1$
-		} catch (NotDefinedException e) {
-			e.printStackTrace(System.err);
-		}
-		assertTrue(listenerType == -1);
-		// Add category
-		listenerType = 5;
-		fixedModelRegistry
-				.addCategory(category_to_listen.getId(), "Category 6"); //$NON-NLS-1$ //$NON-NLS-2$
-		assertTrue(listenerType == -1);
-		// Add category activity binding
-		listenerType = 8;
-		fixedModelRegistry.addCategoryActivityBinding((String) activityManager
-				.getDefinedActivityIds().toArray()[4], category_to_listen
-				.getId()); //$NON-NLS-1$
-		assertTrue(listenerType == -1);
-		// Remove activity activity binding
-		listenerType = 8;
-		fixedModelRegistry.removeCategoryActivityBinding(
-				(String) activityManager.getDefinedActivityIds().toArray()[4],
-				category_to_listen.getId());//$NON-NLS-1$
-		// Change category description
-		listenerType = 10;
-		fixedModelRegistry.updateCategoryDescription(
-				category_to_listen.getId(), "description_change"); //$NON-NLS-1$
-		try {
-			assertTrue(category_to_listen.getDescription().equals(
-					"description_change")); //$NON-NLS-1$
-		} catch (NotDefinedException e) {
-			e.printStackTrace(System.err);
-		}
-		assertTrue(listenerType == -1);
-		// Change category name
-		listenerType = 7;
-		fixedModelRegistry.updateCategoryName(category_to_listen.getId(),
-				"name_change"); //$NON-NLS-1$
-		try {
-			assertTrue(category_to_listen.getName().equals("name_change")); //$NON-NLS-1$
-		} catch (NotDefinedException e) {
-			e.printStackTrace(System.err);
-		}
-		assertTrue(listenerType == -1);
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/activities/StaticTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/activities/StaticTest.java
deleted file mode 100644
index b775b77..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/activities/StaticTest.java
+++ /dev/null
@@ -1,156 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.activities;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
-import org.eclipse.ui.activities.IActivity;
-import org.eclipse.ui.activities.IActivityManager;
-import org.eclipse.ui.activities.IActivityPatternBinding;
-import org.eclipse.ui.activities.ICategory;
-import org.eclipse.ui.activities.IIdentifier;
-import org.eclipse.ui.activities.NotDefinedException;
-import org.eclipse.ui.internal.Workbench;
-import org.eclipse.ui.internal.activities.ActivityRequirementBinding;
-import org.eclipse.ui.internal.activities.CategoryActivityBinding;
-import org.eclipse.ui.tests.util.UITestCase;
-/**
- * 
- * The static test reads activity definitions from the plugin.xml (in
- * org.eclipse.ui.tests) file and valides its content.
- */
-public class StaticTest extends UITestCase {
-	private IActivityManager activityManager;
-	private List categoryIds;
-	private List activityIds;
-	private List patternActivityIds;
-	/**
-	 * Constructor.
-	 * 
-	 * @param testName
-	 *            Test's name.
-	 */
-	public StaticTest(String testName) {
-		super(testName);
-		activityManager = Workbench.getInstance().getActivitySupport()
-				.getActivityManager();
-		populateIds();
-	}
-	/**
-	 * Populate the id arrays.
-	 *  
-	 */
-	private void populateIds() {
-		int index = 0;
-		categoryIds = new ArrayList();
-		for (index = 1; index <= 6; index++)
-			categoryIds.add("org.eclipse.category" + Integer.toString(index)); //$NON-NLS-1$
-		activityIds = new ArrayList();
-		for (index = 1; index <= 18; index++)
-			activityIds.add("org.eclipse.activity" + Integer.toString(index)); //$NON-NLS-1$
-		patternActivityIds = new ArrayList();
-		for (index = 0; index < 3; index++)
-			patternActivityIds.add(activityIds.toArray()[index]);
-	}
-	/**
-	 * Test the activity manager's content.
-	 *  
-	 */
-	public void testActivityManager() {
-		// Check the defined category Ids
-		assertTrue(activityManager.getDefinedCategoryIds().containsAll(
-				categoryIds));
-		// Check the defined activity Ids
-		assertTrue(activityManager.getDefinedActivityIds().containsAll(
-				activityIds));
-		// Check enabled activity Ids
-		for (int index = 1; index <= 4; index++)
-			assertTrue(activityManager.getEnabledActivityIds().contains(
-					"org.eclipse.activity" + Integer.toString(index)));
-		// Check identifier
-		IIdentifier activityIdentifier = activityManager
-				.getIdentifier("org.eclipse.pattern1");
-		Set activityIds = activityIdentifier.getActivityIds();
-		assertTrue(activityIds.containsAll(patternActivityIds));
-		assertTrue(activityIdentifier.getId().equals("org.eclipse.pattern1"));
-	}
-	/**
-	 * Test an activitie's content.
-	 *  
-	 */
-	public void testActivity() {
-		IActivity first_activity = activityManager
-				.getActivity((String) activityIds.toArray()[0]);
-		// Check activity activity bindings for parent activity
-		Set activityRequirementBindings = first_activity
-				.getActivityRequirementBindings();
-		for (int index = 2; index <= 7; index++) {
-			assertTrue(activityRequirementBindings
-					.contains(new ActivityRequirementBinding(
-							"org.eclipse.activity" + Integer.toString(index),
-							"org.eclipse.activity1")));
-		}
-		// Check activity pattern bindings
-		Set activityPatternBindings = first_activity
-				.getActivityPatternBindings();
-		assertTrue(activityPatternBindings.size() != 0);
-		IActivityPatternBinding activityPatternBinding = (IActivityPatternBinding) activityPatternBindings
-				.toArray()[0];
-		assertTrue(activityPatternBinding.getActivityId().equals(
-				first_activity.getId()));
-		assertTrue(activityPatternBinding.getPattern().pattern().equals(
-				"org.eclipse.pattern1"));
-		// Check description
-		try {
-			assertTrue(first_activity.getDescription().equals("description"));
-		} catch (NotDefinedException e) {
-			e.printStackTrace();
-		}
-		// Check activity id
-		assertTrue(first_activity.getId().equals("org.eclipse.activity1"));
-		// Check activity name
-		try {
-			assertTrue(first_activity.getName().equals("Activity 1"));
-		} catch (NotDefinedException e) {
-			e.printStackTrace();
-		}
-	}
-	/**
-	 * Test a category's content.
-	 *  
-	 */
-	public void testCategory() {
-		ICategory first_category = activityManager
-				.getCategory((String) categoryIds.toArray()[0]);
-		// Check category activity bindings
-		Set categoryActivityBindings = first_category
-				.getCategoryActivityBindings();
-		for (int index = 1; index <= 4; index++)
-			assertTrue(categoryActivityBindings
-					.contains(new CategoryActivityBinding(
-							"org.eclipse.activity" + Integer.toString(index),
-							first_category.getId())));
-		try {
-			// Check category description
-			assertTrue(first_category.getDescription().equals("description"));
-		} catch (NotDefinedException e) {
-			e.printStackTrace();
-		}
-		// Check category id
-		assertTrue(first_category.getId().equals("org.eclipse.category1"));
-		try {
-			// Check category name
-			assertTrue(first_category.getName().equals("Category 1"));
-		} catch (NotDefinedException e) {
-			e.printStackTrace();
-		}
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/AdaptableDecoratorTestCase.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/AdaptableDecoratorTestCase.java
deleted file mode 100644
index 887ec7a..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/AdaptableDecoratorTestCase.java
+++ /dev/null
@@ -1,213 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.adaptable;
-
-import java.io.ByteArrayInputStream;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.LabelProviderChangedEvent;
-
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.decorators.DecoratorDefinition;
-import org.eclipse.ui.internal.decorators.DecoratorManager;
-import org.eclipse.ui.tests.util.UITestCase;
-
-/**
- * @version 	1.0
- */
-public class AdaptableDecoratorTestCase
-	extends UITestCase
-	implements ILabelProviderListener {
-
-	private DecoratorDefinition fullDefinition;
-	private DecoratorDefinition lightDefinition;
-	private AdaptedResourceNavigator adaptedNavigator;
-	private boolean updated = false;
-	public String ADAPTED_NAVIGATOR_ID =
-		"org.eclipse.ui.tests.adaptable.adaptedHierarchy";
-	protected IProject testProject;
-	protected IFolder testFolder;
-	protected IFile testFile;
-
-	/**
-	 * Constructor for DecoratorTestCase.
-	 * @param testName
-	 */
-	public AdaptableDecoratorTestCase(String testName) {
-		super(testName);
-	}
-
-	/**
-	 * Sets up the hierarchy.
-	 */
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-		createTestFile();
-		showAdaptedNav();
-
-		WorkbenchPlugin.getDefault().getDecoratorManager().addListener(this);
-
-		DecoratorDefinition[] definitions =
-			WorkbenchPlugin
-				.getDefault()
-				.getDecoratorManager()
-				.getAllDecoratorDefinitions();
-		for (int i = 0; i < definitions.length; i++) {
-			if (definitions[i]
-				.getId()
-				.equals("org.eclipse.ui.tests.adaptable.decorator"))
-				fullDefinition = definitions[i];
-			if (definitions[i]
-				.getId()
-				.equals("org.eclipse.ui.tests.navigator.lightweightdecorator"))
-				lightDefinition = definitions[i];
-		}
-	}
-
-	private DecoratorManager getDecoratorManager() {
-		return WorkbenchPlugin.getDefault().getDecoratorManager();
-	}
-
-	/**
-	 * Remove the listener.
-	 */
-	protected void doTearDown() throws Exception {
-		
-		if (testProject != null) {
-			try {
-				testProject.delete(true, null);
-			} catch (CoreException e) {
-				fail(e.toString());
-			}
-			testProject = null;
-			testFolder = null;
-			testFile = null;
-		}
-		super.doTearDown();
-		adaptedNavigator = null;
-
-		getDecoratorManager().removeListener(this);
-	}
-
-	/**
-	 * Make a label changed event for resource.
-	 */
-	private LabelProviderChangedEvent getLabelChangedEvent(IResource resource) {
-		return new LabelProviderChangedEvent(getDecoratorManager(), resource);
-	}
-
-	/**
-	 * Test enabling the contributor
-	 */
-	public void testEnableDecorator() throws CoreException {
-		getDecoratorManager().updateForEnablementChange();
-		fullDefinition.setEnabled(true);
-		lightDefinition.setEnabled(true);
-		getDecoratorManager().updateForEnablementChange();
-
-	}
-
-	/**
-	 * Test disabling the contributor
-	 */
-	public void testDisableDecorator() throws CoreException {
-		getDecoratorManager().updateForEnablementChange();
-		fullDefinition.setEnabled(false);
-		lightDefinition.setEnabled(false);
-		getDecoratorManager().updateForEnablementChange();
-	}
-
-	/**
-	 * Refresh the full decorator.
-	 */
-	public void testRefreshFullContributor() throws CoreException {
-
-		updated = false;
-		getDecoratorManager().updateForEnablementChange();
-		fullDefinition.setEnabled(true);
-		lightDefinition.setEnabled(false);
-		getDecoratorManager().updateForEnablementChange();
-		assertTrue("Got an update", updated);
-		updated = false;
-
-	}
-
-	/**
-		 * Refresh the full decorator.
-		 */
-	public void testRefreshLightContributor() throws CoreException {
-
-		updated = false;
-		getDecoratorManager().updateForEnablementChange();
-		lightDefinition.setEnabled(true);
-		fullDefinition.setEnabled(false);
-		getDecoratorManager().updateForEnablementChange();
-		assertTrue("Got an update", updated);
-		updated = false;
-
-	}
-
-	/*
-	 * @see ILabelProviderListener#labelProviderChanged(LabelProviderChangedEvent)
-	 */
-	public void labelProviderChanged(LabelProviderChangedEvent event) {
-		updated = true;
-	}
-
-	/** 
-	 * Shows the Adapted Resource Navigator in a new test window. 
-	 */
-	protected void showAdaptedNav() throws PartInitException {
-		IWorkbenchWindow window = openTestWindow();
-		adaptedNavigator =
-			(AdaptedResourceNavigator) window.getActivePage().showView(
-				ADAPTED_NAVIGATOR_ID);
-	}
-
-	protected void createTestProject() throws CoreException {
-		if (testProject == null) {
-			IWorkspace workspace = ResourcesPlugin.getWorkspace();
-			testProject = workspace.getRoot().getProject("AdaptedTestProject");
-			testProject.create(null);
-			testProject.open(null);
-		}
-	}
-
-	protected void createTestFolder() throws CoreException {
-		if (testFolder == null) {
-			createTestProject();
-			testFolder = testProject.getFolder("AdaptedTestFolder");
-			testFolder.create(false, false, null);
-		}
-	}
-
-	protected void createTestFile() throws CoreException {
-		if (testFile == null) {
-			createTestFolder();
-			testFile = testFolder.getFile("AdaptedFoo.txt");
-			testFile.create(
-				new ByteArrayInputStream("Some content.".getBytes()),
-				false,
-				null);
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/AdaptableResourceWrapper.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/AdaptableResourceWrapper.java
deleted file mode 100644
index b073310..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/AdaptableResourceWrapper.java
+++ /dev/null
@@ -1,67 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.adaptable;
-
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-public class AdaptableResourceWrapper implements IAdaptable {
-
-	IResource resource;
-
-	/*
-	 * @see IAdaptable#getAdapter(Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		if (adapter == IResource.class)
-			return resource;
-		if (adapter == IWorkbenchAdapter.class)
-			return TestAdaptableWorkbenchAdapter.getInstance();
-		return null;
-	}
-
-	public AdaptableResourceWrapper(IResource wrapped) {
-		resource = wrapped;
-	}
-
-	public String getLabel() {
-		return resource.getName() + " Adapted";
-	}
-
-	public AdaptableResourceWrapper getParent() {
-		if (resource.getParent() != null)
-			return new AdaptableResourceWrapper(resource.getParent());
-		return null;
-	}
-
-	public AdaptableResourceWrapper[] getChildren() {
-		AdaptableResourceWrapper[] wrappers = new AdaptableResourceWrapper[0];
-
-		if (resource instanceof IContainer) {
-			IResource[] children;
-			try {
-				children = ((IContainer) resource).members();
-			} catch (CoreException exception) {
-				return wrappers;
-			}
-			wrappers = new AdaptableResourceWrapper[children.length];
-			for (int i = 0; i < children.length; i++) {
-				wrappers[i] = new AdaptableResourceWrapper(children[i]);
-			}
-		}
-		return wrappers;
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/AdaptableTestSuite.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/AdaptableTestSuite.java
deleted file mode 100644
index 81c84d6..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/AdaptableTestSuite.java
+++ /dev/null
@@ -1,41 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.adaptable;
-
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * The AdaptableTestSuite is the TestSuite for the
- * adaptable support in the UI.
- */
-public class AdaptableTestSuite extends TestSuite {
-	
-	/**
-	 * Returns the suite.  This is required to
-	 * use the JUnit Launcher.
-	 */
-	public static Test suite() {
-		return new AdaptableTestSuite();
-	}
-
-	/**
-	 * Constructor for AdaptableTestSuite.
-	 */
-	public AdaptableTestSuite() {
-		addTest(new TestSuite(AdaptableDecoratorTestCase.class));
-		addTest(new TestSuite(MarkerImageProviderTest.class));
-	}
-
-	
-
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/AdaptedResourceNavigator.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/AdaptedResourceNavigator.java
deleted file mode 100644
index df49893..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/AdaptedResourceNavigator.java
+++ /dev/null
@@ -1,530 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.adaptable;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-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.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.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.preference.IPreferenceStore;
-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.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.jface.viewers.TreeViewer;
-
-import org.eclipse.ui.IDecoratorManager;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorReference;
-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.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.ActionContext;
-import org.eclipse.ui.part.DrillDownAdapter;
-import org.eclipse.ui.part.ViewPart;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.ui.views.navigator.NavigatorFrameSource;
-import org.eclipse.ui.views.navigator.ResourceNavigatorMessages;
-import org.eclipse.ui.views.navigator.ResourceSorter;
-
-/**
- * Implements the Resource Navigator view.
- */
-public class AdaptedResourceNavigator
-	extends ViewPart {
-	private TreeViewer viewer;
-	private IDialogSettings settings;
-	private IMemento memento;
-	private NavigatorFrameSource frameSource;
-
-	protected TestNavigatorActionGroup actionGroup;
-
-	/**
-	 * Preference name constant for linking editor switching to navigator selection.
-	 * 
-	 * [Issue: We're cheating here, by referencing a preference which is actually defined
-	 * on the Workbench's preference page.  The Navigator should eventually have its own
-	 * preference page with this preference on it, instead of on the Workbench's.
-	 * The value must be the same as IWorkbenchPreferenceConstants.LINK_NAVIGATOR_TO_EDITOR.]
-	 */
-	private static final String LINK_NAVIGATOR_TO_EDITOR =
-		"LINK_NAVIGATOR_TO_EDITOR";	//$NON-NLS-1$
-
-	// Persistance tags.
-	private static final String TAG_SORTER = "sorter"; //$NON-NLS-1$
-	private static final String TAG_FILTERS = "filters"; //$NON-NLS-1$
-	private static final String TAG_FILTER = "filter"; //$NON-NLS-1$
-	private static final String TAG_SELECTION = "selection"; //$NON-NLS-1$
-	private static final String TAG_EXPANDED = "expanded"; //$NON-NLS-1$
-	private static final String TAG_ELEMENT = "element"; //$NON-NLS-1$
-	private static final String TAG_PATH = "path"; //$NON-NLS-1$
-	private static final String TAG_VERTICAL_POSITION = "verticalPosition";	//$NON-NLS-1$
-	private static final String TAG_HORIZONTAL_POSITION = "horizontalPosition";	//$NON-NLS-1$
-
-	private IPartListener partListener = new IPartListener() {
-		public void partActivated(IWorkbenchPart part) {
-			if (part instanceof IEditorPart)
-				editorActivated((IEditorPart) part);
-		}
-		public void partBroughtToTop(IWorkbenchPart part) {
-		}
-		public void partClosed(IWorkbenchPart part) {
-		}
-		public void partDeactivated(IWorkbenchPart part) {
-		}
-		public void partOpened(IWorkbenchPart part) {
-		}
-	};
-	/**
-	 * Creates a new AdaptedResourceNavigator.
-	 */
-	public AdaptedResourceNavigator() {
-		IDialogSettings workbenchSettings = getPlugin().getDialogSettings();
-		settings = workbenchSettings.getSection("ResourceNavigator"); //$NON-NLS-1$
-		if (settings == null)
-			settings = workbenchSettings.addNewSection("ResourceNavigator"); //$NON-NLS-1$
-	}
-	/**
-	 * Converts the given selection into a form usable by the viewer,
-	 * where the elements are resources.
-	 */
-	StructuredSelection convertSelection(ISelection selection) {
-		ArrayList list = new ArrayList();
-		if (selection instanceof IStructuredSelection) {
-			IStructuredSelection ssel = (IStructuredSelection) selection;
-			for (Iterator i = ssel.iterator(); i.hasNext();) {
-				Object o = i.next();
-				IResource resource = null;
-				if (o instanceof IResource) {
-					resource = (IResource) o;
-				} else {
-					if (o instanceof IAdaptable) {
-						resource = (IResource) ((IAdaptable) o).getAdapter(IResource.class);
-					}
-				}
-				if (resource != null) {
-					list.add(resource);
-				}
-			}
-		}
-		return new StructuredSelection(list);
-	}
-	/* (non-Javadoc)
-	 * Method declared on IWorkbenchPart.
-	 */
-	public void createPartControl(Composite parent) {
-		viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
-		//	initDrillDownAdapter(viewer);
-		viewer.setUseHashlookup(true);
-		viewer.setContentProvider(new TestAdaptableContentProvider());
-		IDecoratorManager manager = getSite().getWorkbenchWindow().getWorkbench().getDecoratorManager();
-		viewer.setLabelProvider(
-			new DecoratingLabelProvider(
-				new TestAdaptableWorkbenchAdapter(), 
-				manager.getLabelDecorator()));
-
-		viewer.setInput(getInitialInput());
-		updateTitle();
-
-		MenuManager menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$
-		menuMgr.setRemoveAllWhenShown(true);
-		menuMgr.addMenuListener(new IMenuListener() {
-			public void menuAboutToShow(IMenuManager manager) {
-				AdaptedResourceNavigator.this.fillContextMenu(manager);
-			}
-		});
-		Menu menu = menuMgr.createContextMenu(viewer.getTree());
-		viewer.getTree().setMenu(menu);
-		getSite().registerContextMenu(menuMgr, viewer);
-
-		makeActions();
-
-		// Update the global action enable state to match
-		// the current selection.
-		IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
-		actionGroup.updateGlobalActions(selection);
-
-		viewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				handleSelectionChanged(event);
-			}
-		});
-		viewer.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				handleDoubleClick(event);
-			}
-		});
-		viewer.getControl().addKeyListener(new KeyListener() {
-			public void keyPressed(KeyEvent event) {
-				handleKeyPressed(event);
-			}
-			public void keyReleased(KeyEvent event) {
-				handleKeyReleased(event);
-			}
-		});
-
-		actionGroup.fillActionBars(selection);
-
-		getSite().setSelectionProvider(viewer);
-
-		getSite().getPage().addPartListener(partListener);
-
-		if (memento != null)
-			restoreState(memento);
-		memento = null; 
-	}
-	/* (non-Javadoc)
-	 * Method declared on IWorkbenchPart.
-	 */
-	public void dispose() {
-		getSite().getPage().removePartListener(partListener);
-		super.dispose();
-	}
-	/**
-	 * An editor has been activated.  Set the selection in this navigator
-	 * to be the editor's input, if linking is enabled.
-	 */
-	void editorActivated(IEditorPart editor) {
-		if (!isLinkingEnabled())
-			return;
-
-		IEditorInput input = editor.getEditorInput();
-		if (input instanceof IFileEditorInput) {
-			IFileEditorInput fileInput = (IFileEditorInput) input;
-			IFile file = fileInput.getFile();
-			ISelection newSelection = new StructuredSelection(file);
-			if (!viewer.getSelection().equals(newSelection)) {
-				viewer.setSelection(newSelection);
-			}
-		}
-
-	}
-
-	/**
-	 * Called when the context menu is about to open.
-	 */
-	void fillContextMenu(IMenuManager menu) {
-		actionGroup.setContext(new ActionContext(getViewer().getSelection()));
-		actionGroup.fillContextMenu(menu);
-	}
-
-	/** 
-	 * Returns the initial input for the viewer.
-	 * Tries to convert the input to a resource, either directly or via IAdaptable.
-	 * If the resource is a container, it uses that.
-	 * If the resource is a file, it uses its parent folder.
-	 * If a resource could not be obtained, it uses the workspace root.
-	 */
-	IContainer getInitialInput() {
-		IAdaptable input = getSite().getPage().getInput();
-		IResource resource = null;
-		if (input instanceof IResource) {
-			resource = (IResource) input;
-		} else {
-			resource = (IResource) input.getAdapter(IResource.class);
-		}
-		if (resource != null) {
-			switch (resource.getType()) {
-				case IResource.FILE :
-					return resource.getParent();
-				case IResource.FOLDER :
-				case IResource.PROJECT :
-				case IResource.ROOT :
-					return (IContainer) resource;
-				default :
-					// Unknown resource type.  Fall through.
-					break;
-			}
-		}
-		return ResourcesPlugin.getWorkspace().getRoot();
-	}
-
-	/**
-	 * Returns the navigator's plugin.
-	 */
-	public AbstractUIPlugin getPlugin() {
-		return (AbstractUIPlugin) Platform.getPlugin(PlatformUI.PLUGIN_ID);
-	}
-	/**
-	 * Returns the current sorter.
-	 * @since 2.0
-	 */
-	public ResourceSorter getSorter() {
-		return (ResourceSorter) getViewer().getSorter();
-	}
-	
-	/**
-	 * Returns the tree viewer which shows the resource hierarchy.
-	 * @since 2.0
-	 */
-	public TreeViewer getViewer() {
-		return viewer;
-	}
-	/**
-	 * Returns the shell to use for opening dialogs.
-	 * Used in this class, and in the actions.
-	 */
-	public Shell getShell() {
-		return getViewSite().getShell();
-	}
-	/**
-	 * Returns the message to show in the status line.
-	 *
-	 * @param selection the current selection
-	 * @return the status line message
-	 */
-	String getStatusLineMessage(IStructuredSelection selection) {
-		if (selection.size() == 1) {
-			Object o = selection.getFirstElement();
-			if (o instanceof IResource) {
-				return ((IResource) o).getFullPath().makeRelative().toString();
-			} else {
-				return ResourceNavigatorMessages.getString("ResourceNavigator.oneItemSelected");
-				//$NON-NLS-1$
-			}
-		}
-		if (selection.size() > 1) {
-			return ResourceNavigatorMessages.format(
-				"ResourceNavigator.statusLine",
-				new Object[] { new Integer(selection.size())});
-			//$NON-NLS-1$
-		}
-		return ""; //$NON-NLS-1$
-	}
-	/**
-	 * Returns the tool tip text for the given element.
-	 */
-	String getToolTipText(Object element) {
-		if (element instanceof IResource) {
-			IPath path = ((IResource) element).getFullPath();
-			if (path.isRoot()) {
-				return ResourceNavigatorMessages.getString("ResourceManager.toolTip");
-				//$NON-NLS-1$
-			} else {
-				return path.makeRelative().toString();
-			}
-		} else {
-			return ((ILabelProvider) getViewer().getLabelProvider()).getText(
-				element);
-		}
-	}
-	/**
-	 * Handles double clicks in viewer.
-	 * Opens editor if file double-clicked.
-	 * @since 2.0
-	 */
-	protected void handleDoubleClick(DoubleClickEvent event) {
-		IStructuredSelection selection = (IStructuredSelection) event.getSelection();
-		Object element = selection.getFirstElement();
-
-
-		// 1GBZIA0: ITPUI:WIN2000 - Double-clicking in navigator should expand/collapse containers
-		if (viewer.isExpandable(element)) {
-			viewer.setExpandedState(element, !viewer.getExpandedState(element));
-		}
-
-	}
-	/**
-	 * Handles selection changed in viewer.
-	 * Updates global actions.
-	 * Links to editor (if option enabled)
-	 * @since 2.0
-	 */
-	protected void handleSelectionChanged(SelectionChangedEvent event) {
-		IStructuredSelection sel = (IStructuredSelection) event.getSelection();
-		updateStatusLine(sel);
-		actionGroup.updateGlobalActions(sel);
-		actionGroup.selectionChanged(sel);
-		linkToEditor(sel);
-	}
-	
-	/**
-	 * Handles a key press in viewer. By default do nothing.
-	 */
-	protected void handleKeyPressed(KeyEvent event) {
-		
-	}
-	
-	/**
-	 * Handles a key release in viewer.
-	 */
-	protected void handleKeyReleased(KeyEvent event) {
-		
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on IViewPart.
-	 */
-	public void init(IViewSite site, IMemento memento) throws PartInitException {
-		super.init(site, memento);
-		this.memento = memento;
-	}
-	
-	/**
-	 * Initializes a drill down adapter on the viewer.
-	 */
-	void initDrillDownAdapter(TreeViewer viewer) {
-		DrillDownAdapter drillDownAdapter = new DrillDownAdapter(viewer) {
-				// need to update title whenever input changes;
-		// updateNavigationButtons is called whenever any of the drill down buttons are used
-	protected void updateNavigationButtons() {
-				super.updateNavigationButtons();
-				updateTitle();
-			}
-		};
-		drillDownAdapter.addNavigationActions(
-			getViewSite().getActionBars().getToolBarManager());
-	}
-	/**
-	 * Returns whether the preference to link navigator selection to active editor is enabled.
-	 * @since 2.0
-	 */
-	protected boolean isLinkingEnabled() {
-		IPreferenceStore store = getPlugin().getPreferenceStore();
-		return store.getBoolean(LINK_NAVIGATOR_TO_EDITOR);
-	}
-	/**
-	 * Links to editor (if option enabled)
-	 * @since 2.0
-	 */
-	protected void linkToEditor(IStructuredSelection selection) {
-		if (!isLinkingEnabled())
-			return;
-
-		Object obj = selection.getFirstElement();
-		if (obj instanceof IFile && selection.size() == 1) {
-			IFile file = (IFile) obj;
-			IWorkbenchPage page = getSite().getPage();
-			IEditorReference editorArray[] = page.getEditorReferences();
-			for (int i = 0; i < editorArray.length; ++i) {
-				IEditorPart editor = editorArray[i].getEditor(true);
-				IEditorInput input = editor.getEditorInput();
-				if (input instanceof IFileEditorInput
-					&& file.equals(((IFileEditorInput) input).getFile())) {
-					page.bringToTop(editor);
-					return;
-				}
-			}
-		}
-	}
-	/**
-	 *	Create self's action objects
-	 */
-	protected void makeActions() {
-		actionGroup = new TestNavigatorActionGroup(this);
-	}
-	
-	/**
-	 * Restore the state of the receiver to the state described in
-	 * momento.
-	 * @since 2.0
-	 */
-	
-	protected void restoreState(IMemento memento) {}
-	public void saveState(IMemento memento) {}
-	/**
-	 *	Reveal and select the passed element selection in self's visual component
-	 */
-	public void selectReveal(ISelection selection) {
-		StructuredSelection ssel = convertSelection(selection);
-		if (!ssel.isEmpty()) {
-			getViewer().setSelection(ssel, true);
-		}
-	}
-	/**
-	 * @see IWorkbenchPart#setFocus()
-	 */
-	public void setFocus() {
-		getViewer().getTree().setFocus();
-	}
-	/**
-	 * Note: For experimental use only.
-	 * Sets the decorator for the navigator.
-	 *
-	 * @param decorator a label decorator or <code>null</code> for no decorations.
-	 */
-	public void setLabelDecorator(ILabelDecorator decorator) {
-		DecoratingLabelProvider provider =
-			(DecoratingLabelProvider) getViewer().getLabelProvider();
-		if(decorator == null) {
-			IDecoratorManager manager = getSite().getWorkbenchWindow().getWorkbench().getDecoratorManager();
-			provider.setLabelDecorator(manager.getLabelDecorator());
-		}
-		else {
-			provider.setLabelDecorator(decorator);
-		}
-	}
-	
-	
-	/**
-	 * Updates the message shown in the status line.
-	 *
-	 * @param selection the current selection
-	 */
-	void updateStatusLine(IStructuredSelection selection) {
-		String msg = getStatusLineMessage(selection);
-		getViewSite().getActionBars().getStatusLineManager().setMessage(msg);
-	}
-	/**
-	 * Updates the title text and title tool tip.
-	 * Called whenever the input of the viewer changes.
-	 */
-	void updateTitle() {
-		Object input = getViewer().getInput();
-		String viewName = getConfigurationElement().getAttribute("name");
-		//$NON-NLS-1$
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		if (input == null
-			|| input.equals(workspace)
-			|| input.equals(workspace.getRoot())) {
-			setContentDescription(""); //$NON-NLS-1$
-			setTitleToolTip(""); //$NON-NLS-1$
-		} else {
-			ILabelProvider labelProvider =
-				(ILabelProvider) getViewer().getLabelProvider();
-			setContentDescription(labelProvider.getText(input));
-			//$NON-NLS-1$
-			setTitleToolTip(getToolTipText(input));
-		}
-	}
-		
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/MarkerImageProviderTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/MarkerImageProviderTest.java
deleted file mode 100644
index 7a33b9d..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/MarkerImageProviderTest.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.adaptable;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.ui.tests.util.UITestCase;
-
-/**
- * Tests the markerImageProviders extension point.
- */
-public class MarkerImageProviderTest extends UITestCase {
-
-	public MarkerImageProviderTest(String testName) {
-		super(testName);
-	}
-	
-	/**
-	 * Tests the static form of the extension, where just a file path is given.
-	 */
-	public void testStatic() {
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		IMarker marker = null;
-		try {
-			marker = workspace.getRoot().createMarker("org.eclipse.ui.tests.testmarker"); //$NON-NLS-1$
-		}
-		catch (CoreException e) {
-			fail(e.getMessage());
-		}
-		IWorkbenchAdapter adapter = (IWorkbenchAdapter) marker.getAdapter(IWorkbenchAdapter.class);
-		ImageDescriptor imageDesc = adapter.getImageDescriptor(marker);
-		assertNotNull(imageDesc);
-		assertTrue(imageDesc.toString().indexOf("anything") != -1); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Tests the dynamic form of the extension, where an IMarkerImageProvider class is given.
-	 */
-	public void testDynamic() {
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		IMarker marker = null;
-		try {
-			marker = workspace.getRoot().createMarker("org.eclipse.ui.tests.testmarker2"); //$NON-NLS-1$
-		}
-		catch (CoreException e) {
-			fail(e.getMessage());
-		}
-		IWorkbenchAdapter adapter = (IWorkbenchAdapter) marker.getAdapter(IWorkbenchAdapter.class);
-		ImageDescriptor imageDesc = adapter.getImageDescriptor(marker);
-		assertNotNull(imageDesc);
-		assertTrue(imageDesc.toString().indexOf("dynamic") != -1); //$NON-NLS-1$
-	}
-	
-	
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/NullLabelDecorator.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/NullLabelDecorator.java
deleted file mode 100644
index 8210188..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/NullLabelDecorator.java
+++ /dev/null
@@ -1,67 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.adaptable;
-
-/*
- * This decorator tests the null cases
- */
-
-import org.eclipse.swt.graphics.Image;
-
-import org.eclipse.jface.viewers.ILabelDecorator;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-
-/**
- * @version 	1.0
- * @author
- */
-public class NullLabelDecorator implements ILabelDecorator {
-
-	/*
-	 * @see ILabelDecorator#decorateImage(Image, Object)
-	 */
-	public Image decorateImage(Image image, Object element) {
-		return null;
-	}
-
-	/*
-	 * @see ILabelDecorator#decorateText(String, Object)
-	 */
-	public String decorateText(String text, Object element) {
-		return null;
-	}
-
-	/*
-	 * @see IBaseLabelProvider#addListener(ILabelProviderListener)
-	 */
-	public void addListener(ILabelProviderListener listener) {
-	}
-
-	/*
-	 * @see IBaseLabelProvider#dispose()
-	 */
-	public void dispose() {
-	}
-
-	/*
-	 * @see IBaseLabelProvider#isLabelProperty(Object, String)
-	 */
-	public boolean isLabelProperty(Object element, String property) {
-		return false;
-	}
-
-	/*
-	 * @see IBaseLabelProvider#removeListener(ILabelProviderListener)
-	 */
-	public void removeListener(ILabelProviderListener listener) {
-	}
-
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/ResourceAction.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/ResourceAction.java
deleted file mode 100644
index 6e2c05d..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/ResourceAction.java
+++ /dev/null
@@ -1,54 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.adaptable;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.tests.navigator.TestDecoratorContributor;
-
-public class ResourceAction implements IObjectActionDelegate {
-
-	Object selectedItem;
-
-	/*
-	 * @see IObjectActionDelegate#setActivePart(IAction, IWorkbenchPart)
-	 */
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-	}
-
-	/*
-	 * @see IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action) {
-
-		if (selectedItem != null)
-			TestDecoratorContributor.contributor.refreshListeners(selectedItem);
-
-	}
-
-	/*
-	 * @see IActionDelegate#selectionChanged(IAction, ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		if (selection instanceof IStructuredSelection) {
-			IStructuredSelection structured = (IStructuredSelection) selection;
-			if (structured.isEmpty())
-				selectedItem = null;
-			else
-				selectedItem = structured.getFirstElement();
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/TestAdaptableContentProvider.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/TestAdaptableContentProvider.java
deleted file mode 100644
index 0e33b10..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/TestAdaptableContentProvider.java
+++ /dev/null
@@ -1,208 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.adaptable;
-
-import org.eclipse.core.resources.IContainer;
-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.IWorkspace;
-
-import org.eclipse.swt.widgets.Control;
-
-import org.eclipse.jface.viewers.AbstractTreeViewer;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.Viewer;
-
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-/**
- * Provides tree contents for objects that have the IWorkbenchAdapter
- * adapter registered. 
- */
-public class TestAdaptableContentProvider 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) {
-	return TestAdaptableWorkbenchAdapter.getInstance();
-}
-/* (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/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/TestAdaptableWorkbenchAdapter.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/TestAdaptableWorkbenchAdapter.java
deleted file mode 100644
index ffb1319..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/TestAdaptableWorkbenchAdapter.java
+++ /dev/null
@@ -1,156 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.adaptable;
-
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-
-import org.eclipse.swt.graphics.Image;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.LabelProvider;
-
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-/**
- * @version 	1.0
- * @author
- */
-public class TestAdaptableWorkbenchAdapter
-	extends LabelProvider
-	implements IWorkbenchAdapter {
-
-	private static TestAdaptableWorkbenchAdapter singleton =
-		new TestAdaptableWorkbenchAdapter();
-
-	public static TestAdaptableWorkbenchAdapter getInstance() {
-		return singleton;
-	}
-
-	public TestAdaptableWorkbenchAdapter() {
-	}
-
-	/*
-	 * @see IWorkbenchAdapter#getChildren(Object)
-	 */
-	public Object[] getChildren(Object o) {
-		if (o instanceof AdaptableResourceWrapper)
-			return ((AdaptableResourceWrapper) o).getChildren();
-		if(o instanceof IResource){
-			AdaptableResourceWrapper wrapper = new AdaptableResourceWrapper((IResource) o);
-			return wrapper.getChildren();
-		}
-		return new Object[0];
-	}
-
-	/*
-	 * @see IWorkbenchAdapter#getImageDescriptor(Object)
-	 */
-	public ImageDescriptor getImageDescriptor(Object object) {
-		return null;
-	}
-
-	/*
-	 * @see IWorkbenchAdapter#getLabel(Object)
-	 */
-	public String getLabel(Object o) {
-		if (o instanceof AdaptableResourceWrapper)
-			return ((AdaptableResourceWrapper) o).getLabel();
-		else
-			return null;
-	}
-
-	/*
-	 * @see IWorkbenchAdapter#getParent(Object)
-	 */
-	public Object getParent(Object o) {
-		if (o instanceof AdaptableResourceWrapper)
-			return ((AdaptableResourceWrapper) o).getParent();
-		else
-			return null;
-	}
-
-	/**
-	* 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() {
-	}
-	/**
-	 * 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);
-
-		return descriptor.createImage();
-	}
-	/* (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/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/TestMarkerImageProvider.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/TestMarkerImageProvider.java
deleted file mode 100644
index 680f160..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/TestMarkerImageProvider.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.adaptable;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.ui.internal.ide.IMarkerImageProvider;
-
-/**
- * A test marker image provider.
- */
-public class TestMarkerImageProvider implements IMarkerImageProvider {
-	public String getImagePath(IMarker marker) {
-		return "icons/dynamic.gif"; //$NON-NLS-1$
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/TestNavigatorActionGroup.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/TestNavigatorActionGroup.java
deleted file mode 100644
index c579363..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/TestNavigatorActionGroup.java
+++ /dev/null
@@ -1,100 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.adaptable;
-
-
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.actions.ActionGroup;
-import org.eclipse.ui.actions.AddBookmarkAction;
-import org.eclipse.ui.actions.NewWizardAction;
-import org.eclipse.ui.actions.NewWizardMenu;
-import org.eclipse.ui.dialogs.PropertyDialogAction;
-import org.eclipse.ui.views.navigator.ResourceNavigatorMessages;
-
-public class TestNavigatorActionGroup extends ActionGroup {
-
-	private AdaptedResourceNavigator navigator;
-	private AddBookmarkAction addBookmarkAction;
-	private PropertyDialogAction propertyDialogAction;
-	private NewWizardAction newWizardAction;
-
-	public TestNavigatorActionGroup(AdaptedResourceNavigator navigator) {
-		this.navigator = navigator;
-	}
-
-	protected void makeActions() {
-		Shell shell = navigator.getSite().getShell();
-		addBookmarkAction = new AddBookmarkAction(shell);
-		newWizardAction = new NewWizardAction();
-		propertyDialogAction =
-			new PropertyDialogAction(shell, navigator.getViewer());
-	}
-
-	/**
-	 * @see ActionGroup#fillContextMenu(IMenuManager)
-	 */
-	public void fillContextMenu(IMenuManager menu) {
-		IStructuredSelection selection = (IStructuredSelection) getContext().getSelection();
-
-		MenuManager newMenu =
-			new MenuManager(ResourceNavigatorMessages.getString("ResourceNavigator.new")); //$NON-NLS-1$
-		menu.add(newMenu);
-		new NewWizardMenu(newMenu, navigator.getSite().getWorkbenchWindow(), false);
-		
-		//Update the selections of those who need a refresh before filling
-		addBookmarkAction.selectionChanged(selection);
-		menu.add(addBookmarkAction);
-
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS + "-end")); //$NON-NLS-1$
-		menu.add(new Separator());
-
-		propertyDialogAction.selectionChanged(selection);
-		if (propertyDialogAction.isApplicableForSelection())
-			menu.add(propertyDialogAction);
-	}
-
-	/*
-	 * @see ActionFactory#fillActionBarMenu(IMenuManager, IStructuredSelection)
-	 */
-	public void fillActionBarMenu(
-		IMenuManager menu,
-		IStructuredSelection selection) {
-	}
-
-	/**
-	 * Updates the global actions with the given selection.
-	 * Be sure to invoke after actions objects have updated, since can* methods delegate to action objects.
-	 */
-	public void updateGlobalActions(IStructuredSelection selection) {
-
-	}
-
-	/**
-	* Contributes actions to the local tool bar and local pulldown menu.
-	* @since 2.0
-	*/
-	public void fillActionBars(IStructuredSelection selection) {
-	}
-
-	/**
-	* Update the selection for new selection.
-	*/
-	public void selectionChanged(IStructuredSelection selection) {}
-
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/ApiTestSuite.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/ApiTestSuite.java
deleted file mode 100644
index 8f0bc80..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/ApiTestSuite.java
+++ /dev/null
@@ -1,71 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.ui.tests.api.workbenchpart.OverriddenTitleTest;
-import org.eclipse.ui.tests.api.workbenchpart.RawIViewPartTest;
-import org.eclipse.ui.tests.api.workbenchpart.ViewPartTitleTest;
-
-/**
- * Test all areas of the UI API.
- */
-public class ApiTestSuite extends TestSuite {
-
-	/**
-	 * Returns the suite.  This is required to
-	 * use the JUnit Launcher.
-	 */
-	public static Test suite() {
-		return new ApiTestSuite();
-	}
-	
-	/**
-	 * Construct the test suite.
-	 */
-	public ApiTestSuite() {		
-		addTest(new TestSuite(PlatformUITest.class));
-		addTest(new TestSuite(IWorkbenchTest.class));
-		addTest(new TestSuite(IWorkbenchWindowTest.class));
-		addTest(new TestSuite(IWorkbenchPageTest.class));
-		addTest(new TestSuite(IDeprecatedWorkbenchPageTest.class));
-		addTest(new TestSuite(IActionFilterTest.class));
-		addTest(new TestSuite(IPageListenerTest.class));
-		addTest(new TestSuite(IPageServiceTest.class));
-		addTest(new TestSuite(IPerspectiveRegistryTest.class));
-		addTest(new TestSuite(IPerspectiveDescriptorTest.class));
-		addTest(new TestSuite(IFileEditorMappingTest.class));
-		addTest(new TestSuite(IEditorDescriptorTest.class));
-		addTest(new TestSuite(IEditorRegistryTest.class));
-		addTest(new TestSuite(IPerspectiveListenerTest.class));
-		addTest(new TestSuite(IWorkbenchWindowActionDelegateTest.class));
-		addTest(new TestSuite(IViewActionDelegateTest.class));
-		addTest(new TestSuite(IViewSiteTest.class));
-		addTest(new TestSuite(IEditorSiteTest.class));
-		addTest(new TestSuite(IActionBarsTest.class));
-		addTest(new TestSuite(IViewPartTest.class));
-		addTest(new TestSuite(IEditorPartTest.class));
-		addTest(new TestSuite(IEditorActionBarContributorTest.class));
-		addTest(new TestSuite(IPartServiceTest.class));
-		addTest(new TestSuite(ISelectionServiceTest.class));
-		addTest(new TestSuite(IWorkingSetTest.class));
-		addTest(new TestSuite(IWorkingSetManagerTest.class));
-		addTest(new TestSuite(MockWorkingSetTest.class));	
-		addTest(new TestSuite(StartupTest.class));		
-		addTest(new TestSuite(Bug42616Test.class));
-		addTest(new TestSuite(StickyViewTest.class));
-		addTest(new TestSuite(EditorIconTest.class));
-		addTest(new TestSuite(RawIViewPartTest.class));
-		addTest(new TestSuite(ViewPartTitleTest.class));
-		addTest(new TestSuite(OverriddenTitleTest.class));
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/Bug42616Test.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/Bug42616Test.java
deleted file mode 100644
index be23ac3..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/Bug42616Test.java
+++ /dev/null
@@ -1,48 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.ui.tests.util.UITestCase;
-
-import org.eclipse.ui.internal.WorkbenchPlugin;
-
-/**
- * Test to ensure that <code>WorkbenchPlugin.createExtension()</code> will only 
- * throw <code>CoreException</code>s if there is a problem creating the 
- * extension.
- * 
- * @since 3.0
- */
-public class Bug42616Test extends UITestCase {
-
-	/**
-	 * @param testName
-	 */
-	public Bug42616Test(String testName) {
-		super(testName);
-	}
-
-	public void testErrorCondition() {
-		try {
-			WorkbenchPlugin.createExtension(null, null);
-			fail("createExtension with nulls succeeded");
-		} 
-		catch (CoreException e) {
-			// ensure that exception has a root cause.
-			assertNotNull("Cause is null", e.getStatus().getException()); 
-		} 
-		catch (Throwable t) {
-			fail("Throwable not wrapped in core exception.");
-		}
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/DeprecatedSessionRestoreTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/DeprecatedSessionRestoreTest.java
deleted file mode 100644
index 33c8109..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/DeprecatedSessionRestoreTest.java
+++ /dev/null
@@ -1,100 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.core.resources.IFile;
-
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.tests.util.EmptyPerspective;
-import org.eclipse.ui.tests.util.UITestCase;
-
-/**
- * SessionRestoreTest runs the second half of our session
- * presistance tests.
- * 
-*/
-public class DeprecatedSessionRestoreTest extends UITestCase {
-
-	/** 
-	 * Construct an instance.
-	 */
-	public DeprecatedSessionRestoreTest(String arg) {
-		super(arg);
-	}
-		
-	/**
-	 * Generates a session state in the workbench.
-	 */
-	public void testRestoreSession() throws Throwable {
-		IWorkbenchWindow [] windows;
-		IWorkbenchPage [] pages;
-		
-		// Get windows.
-		windows = fWorkbench.getWorkbenchWindows();
-		assertEquals(windows.length, 3);
-		
-		// First window contains empty perspective.
-		pages = windows[0].getPages();
-		assertEquals(pages.length, 1);
-		assertEquals(pages[0].getPerspective().getId(), EmptyPerspective.PERSP_ID);
-		
-		// Second window contains empty + session.
-		pages = windows[1].getPages();
-		assertEquals(pages.length, 2);
-		assertEquals(pages[0].getPerspective().getId(), EmptyPerspective.PERSP_ID);
-		assertEquals(pages[1].getPerspective().getId(), SessionPerspective.ID);
-		testSessionView(pages[1]);
-		
-		// Third window contains 2 sessions.
-		pages = windows[2].getPages();
-		assertEquals(pages.length, 2);
-		assertEquals(pages[0].getPerspective().getId(), SessionPerspective.ID);
-		assertEquals(pages[1].getPerspective().getId(), SessionPerspective.ID);
-		testSessionView(pages[0]);
-		testSessionView(pages[1]);
-		
-		// Last page contains 3 editors.
-		IEditorPart [] editors = pages[1].getEditors();
-		assertEquals(editors.length, 3);
-		testSessionEditor(editors[0], SessionCreateTest.TEST_FILE_1);
-		testSessionEditor(editors[1], SessionCreateTest.TEST_FILE_2);
-		testSessionEditor(editors[2], SessionCreateTest.TEST_FILE_3);
-	}
-	
-	/**
-	 * Tests the session view within a page.
-	 */
-	private void testSessionView(IWorkbenchPage page) {
-		IViewPart view = page.findView(SessionView.VIEW_ID);
-		assertNotNull(view);
-		SessionView sessionView = (SessionView)view;
-		sessionView.testMementoState(this);
-	}
-
-	/**
-	 * Tests the state of a session editor.
-	 */
-	private void testSessionEditor(IEditorPart part, String fileName) {
-		IEditorSite site = part.getEditorSite();
-		assertEquals(site.getId(), MockEditorPart.ID1);
-		IEditorInput input = part.getEditorInput();
-		assertTrue(input instanceof IFileEditorInput);
-		IFile file = ((IFileEditorInput)input).getFile();
-		assertEquals(fileName, file.getName());
-	}
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/EditorIconTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/EditorIconTest.java
deleted file mode 100644
index 191bedb..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/EditorIconTest.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.tests.api;
-
-import java.util.Arrays;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.ui.tests.util.UITestCase;
-
-/**
- * Tests to ensure that various icon scenarios work.  These are tested on 
- * editors but should be applicable for any client of 
- * AbstractUIPlugin.imageDescriptorFromPlugin()
- * 
- * @since 3.0
- */
-public class EditorIconTest extends UITestCase {
-
-	/**
-	 * @param testName
-	 */
-	public EditorIconTest(String testName) {
-		super(testName);
-	}
-	
-	public void testDependantBundleIcon() {
-		Image i1 = fWorkbench.getEditorRegistry().getDefaultEditor("foo.icontest1").getImageDescriptor().createImage();
-		Image i2 = AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.ui", "icons/full/obj16/font.gif").createImage();
-		compareImages(i1, i2);
-	}
-	
-	public void testNonDependantBundleIcon() {
-		Image i1 = fWorkbench.getEditorRegistry().getDefaultEditor("foo.icontest2").getImageDescriptor().createImage();
-		Image i2 = AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.jdt.ui", "icons/full/obj16/class_obj.gif").createImage();
-		compareImages(i1, i2);		
-	}
-	
-	public void testBadIcon() {
-		Image i1 = fWorkbench.getEditorRegistry().getDefaultEditor("foo.icontest3").getImageDescriptor().createImage();
-		Image i2 = AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.ui", "icons/full/obj16/file_obj.gif").createImage();
-		compareImages(i1, i2);				
-	}
-
-	private void compareImages(Image i1, Image i2) {
-		ImageData data1 = i1.getImageData();
-		ImageData data2 = i2.getImageData();
-		assertTrue(Arrays.equals(data1.data, data2.data));
-	}	
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IActionBarsTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IActionBarsTest.java
deleted file mode 100644
index 042e2de..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IActionBarsTest.java
+++ /dev/null
@@ -1,173 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.action.IToolBarManager;
-
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.tests.util.ActionUtil;
-import org.eclipse.ui.tests.util.UITestCase;
-
-
-/**
- * Test the lifecycle of an action delegate.
- */
-public class IActionBarsTest extends UITestCase {
-
-	protected IWorkbenchWindow fWindow;
-	protected IWorkbenchPage fPage;
-
-	private class MockAction extends Action {
-		public boolean hasRun = false;
-		public MockAction() {
-			super();
-		}
-		public void run() {
-			hasRun = true;
-		}
-	}
-		
-	/**
-	 * Constructor for IActionDelegateTest
-	 */
-	public IActionBarsTest(String testName) {
-		super(testName);
-	}
-	
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-		fWindow = openTestWindow();
-		fPage = fWindow.getActivePage();
-	}
-	
-	public void testGetMenuManager() throws Throwable {
-		// From Javadoc: "Returns the menu manager."
-		
-		IViewPart part = fPage.showView(MockViewPart.ID);
-		IActionBars bars = part.getViewSite().getActionBars();
-		assertNotNull(bars);
-		IMenuManager mgr = bars.getMenuManager();
-		assertNotNull(mgr);
-	}
-	
-	public void testGetStatusLineManager() throws Throwable {
-		// From Javadoc: "Returns the status line manager."
-		
-		IViewPart part = fPage.showView(MockViewPart.ID);
-		IActionBars bars = part.getViewSite().getActionBars();
-		assertNotNull(bars);
-		IStatusLineManager mgr = bars.getStatusLineManager();
-		assertNotNull(mgr);
-	}
-	
-	public void testGetToolBarManager() throws Throwable {
-		// From Javadoc: "Returns the tool bar manager."
-		
-		IViewPart part = fPage.showView(MockViewPart.ID);
-		IActionBars bars = part.getViewSite().getActionBars();
-		assertNotNull(bars);
-		IToolBarManager mgr = bars.getToolBarManager();
-		assertNotNull(mgr);
-	}
-	
-	public void testGetGlobalActionHandler() throws Throwable {
-		// From Javadoc: "Returns the global action handler for 
-		// the action with the given id.  
-		
-		IViewPart part = fPage.showView(MockViewPart.ID);
-		IActionBars bars = part.getViewSite().getActionBars();
-		assertNotNull(bars);
-		
-		// Get actions.  They should all be null.
-		assertNull(bars.getGlobalActionHandler(IWorkbenchActionConstants.CUT));
-		assertNull(bars.getGlobalActionHandler(IWorkbenchActionConstants.COPY));
-		assertNull(bars.getGlobalActionHandler(IWorkbenchActionConstants.UNDO));
-		
-		// Create actions.
-		MockAction cut = new MockAction();
-		MockAction copy = new MockAction();
-		MockAction undo = new MockAction();
-		
-		// Set actions.
-		bars.setGlobalActionHandler(IWorkbenchActionConstants.CUT, cut);
-		bars.setGlobalActionHandler(IWorkbenchActionConstants.COPY, copy);
-		bars.setGlobalActionHandler(IWorkbenchActionConstants.UNDO, undo);
-		bars.updateActionBars();
-		
-		// Get actions.  They should not be null.
-		assertEquals(cut, bars.getGlobalActionHandler(IWorkbenchActionConstants.CUT));
-		assertEquals(copy, bars.getGlobalActionHandler(IWorkbenchActionConstants.COPY));
-		assertEquals(undo, bars.getGlobalActionHandler(IWorkbenchActionConstants.UNDO));
-	}
-	
-	public void testSetGlobalActionHandler() throws Throwable {
-		// From Javadoc: "Returns the global action handler for 
-		// the action with the given id.  
-		
-		IViewPart part = fPage.showView(MockViewPart.ID);
-		IActionBars bars = part.getViewSite().getActionBars();
-		assertNotNull(bars);
-		
-		// Create actions.
-		MockAction cut = new MockAction();
-		MockAction copy = new MockAction();
-		MockAction undo = new MockAction();
-		
-		// Set actions.
-		bars.setGlobalActionHandler(IWorkbenchActionConstants.CUT, cut);
-		bars.setGlobalActionHandler(IWorkbenchActionConstants.COPY, copy);
-		bars.setGlobalActionHandler(IWorkbenchActionConstants.UNDO, undo);
-		bars.updateActionBars();
-
-		// Run the real workbench actions.
-		// Verify the actions are invoked.
-		cut.hasRun = copy.hasRun = undo.hasRun = false;
-		ActionUtil.runActionUsingPath(this, fWindow, 
-			IWorkbenchActionConstants.M_EDIT + '/' + IWorkbenchActionConstants.CUT);
-		ActionUtil.runActionUsingPath(this, fWindow, 
-			IWorkbenchActionConstants.M_EDIT + '/' + IWorkbenchActionConstants.UNDO);
-		assertTrue(cut.hasRun);
-		assertTrue(!copy.hasRun);
-		assertTrue(undo.hasRun);
-		
-		// Now create a second view and run the actions again.
-		// Our global actions should not be invoked.
-		fPage.showView(MockViewPart.ID2);
-		cut.hasRun = copy.hasRun = undo.hasRun = false;
-		ActionUtil.runActionUsingPath(this, fWindow, 
-			IWorkbenchActionConstants.M_EDIT + '/' + IWorkbenchActionConstants.CUT);
-		ActionUtil.runActionUsingPath(this, fWindow, 
-			IWorkbenchActionConstants.M_EDIT + '/' + IWorkbenchActionConstants.UNDO);
-		assertTrue(!cut.hasRun);
-		assertTrue(!copy.hasRun);
-		assertTrue(!undo.hasRun);
-		
-		// Reactivate test view and run actions again.
-		// This time our global actions should be invoked.		
-		fPage.activate(part);
-		cut.hasRun = copy.hasRun = undo.hasRun = false;
-		ActionUtil.runActionUsingPath(this, fWindow, 
-			IWorkbenchActionConstants.M_EDIT + '/' + IWorkbenchActionConstants.CUT);
-		ActionUtil.runActionUsingPath(this, fWindow, 
-			IWorkbenchActionConstants.M_EDIT + '/' + IWorkbenchActionConstants.UNDO);
-		assertTrue(cut.hasRun);
-		assertTrue(!copy.hasRun);
-		assertTrue(undo.hasRun);
-	}
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IActionDelegateTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IActionDelegateTest.java
deleted file mode 100644
index d022b52..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IActionDelegateTest.java
+++ /dev/null
@@ -1,97 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.tests.util.UITestCase;
-
-
-/**
- * Test the lifecycle of an action delegate.
- */
-public abstract class IActionDelegateTest extends UITestCase {
-
-	protected IWorkbenchWindow fWindow;
-	protected IWorkbenchPage fPage;
-	
-	/**
-	 * Constructor for IActionDelegateTest
-	 */
-	public IActionDelegateTest(String testName) {
-		super(testName);
-	}
-	
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-		fWindow = openTestWindow();
-		fPage = fWindow.getActivePage();
-	}
-	
-	public void testRun() throws Throwable {
-		// Create the action.
-		Object obj = createActionWidget();
-		
-		// Run the action delegate.
-		// The selectionChanged and run methods should be called, in that order.
-		runAction(obj);
-		MockActionDelegate delegate = getDelegate();
-		assertNotNull(delegate);
-		assertTrue(delegate.callHistory.verifyOrder(
-			new String[] {"selectionChanged", "run" } ));
-	}
-	
-	public void testSelectionChanged() throws Throwable {
-		// Create the delegate by running it.
-		Object obj = createActionWidget();
-		runAction(obj);
-		MockActionDelegate delegate = getDelegate();
-		assertNotNull(delegate);
-		
-		// Fire a selection.
-		// The selectionChanged method should be invoked.
-		delegate.callHistory.clear();		
-		fireSelection(obj);
-		assertTrue(delegate.callHistory.contains("selectionChanged"));
-	}
-	
-	/**
-	 * Returns the last mock action delegate which was created.
-	 */
-	protected MockActionDelegate getDelegate() throws Throwable {
-		MockActionDelegate delegate = MockActionDelegate.lastDelegate;
-		assertNotNull(delegate);
-		return delegate;
-	}
-
-	/**
-	 * Creates the widget for an action, and adds the action.
-	 * 
-	 * @returns an object which will be passed to runAction and 
-	 * fireSelection.
-	 */
-	protected abstract Object createActionWidget() throws Throwable;
-	
-	/**
-	 * Adds and runs the action delegate.  Subclasses should override.
-	 * 
-	 * @param obj the object returned from createActionWidget.
-	 */
-	protected abstract void runAction(Object widget) throws Throwable;
-	
-	/**
-	 * Fires a selection from the source.  Subclasses should override.
-	 * 
-	 * @param obj the object returned from createActionWidget.
-	 */
-	protected abstract void fireSelection(Object widget) throws Throwable;
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IActionFilterTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IActionFilterTest.java
deleted file mode 100644
index 5ae6b40..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IActionFilterTest.java
+++ /dev/null
@@ -1,177 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.jface.action.MenuManager;
-
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.tests.util.ActionUtil;
-import org.eclipse.ui.tests.util.UITestCase;
-
-/**
- * Test the lifecycle of an action filter.
- * 
- * From Javadoc: "An IActionFilter returns whether the specific attribute
- * 		matches the state of the target object."
- * 
- * Setup: The plugin.xml contains a number of popup menu action 
- * targetted to ListElements 
- * 
- * 		redAction -> (name = red)
- * 		blueAction -> (name = blue)
- * 		trueAction -> (flag = true)
- * 		falseAction -> (flag = false)
- * 		redTrueAction -> (name = red) (flag = true)
- */
-public class IActionFilterTest extends UITestCase {
-
-	protected IWorkbenchWindow fWindow;
-	protected IWorkbenchPage fPage;
-	protected String STATIC_MENU_VIEW_ID = "org.eclipse.ui.tests.api.IActionFilterTest1";
-	protected String DYNAMIC_MENU_VIEW_ID = "org.eclipse.ui.tests.api.IActionFilterTest2";
-		
-	public IActionFilterTest(String testName) {
-		super(testName);
-	}
-	
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-		fWindow = openTestWindow();
-		fPage = fWindow.getActivePage();
-	}
-	
-	public void testStaticLifecycle() throws Throwable {
-		testLifecycle(STATIC_MENU_VIEW_ID);
-	}
-	
-	public void testDynamicLifecycle() throws Throwable {
-		testLifecycle(DYNAMIC_MENU_VIEW_ID);
-	}
-
-	/**
-	 * Select a list element, popup the menu, and verify that the 
-	 * action filter is called.
-	 * 
-	 * See Setup above.
-	 */	
-	private void testLifecycle(String viewId) throws Throwable {
-		// Create a list view.  
-		ListView view = (ListView)fPage.showView(viewId);
-		
-		// Create the test objects.
-		ListElement red = new ListElement("red");
-		view.addElement(red);
-		view.selectElement(red);
-		
-		// Get action filter.
-		ListElementActionFilter	filter = ListElementActionFilter.getSingleton();
-
-		// Open menu.  Verify that action filter is called.			
-		MenuManager menuMgr = view.getMenuManager();
-		ActionUtil.fireAboutToShow(menuMgr);
-		assertTrue(filter.getCalled());
-	}
-	
-	public void testDynamicMenuContribution() throws Throwable {
-		testMenu(DYNAMIC_MENU_VIEW_ID);
-	}
-	
-	public void testStaticMenuContribution() throws Throwable {
-		testMenu(STATIC_MENU_VIEW_ID);
-	}
-	
-	/**
-	 * Select a ListElement, popup a menu and verify that the 
-	 * ListElementActionFilter.testAttribute method is invoked.  
-	 * Then verify that the correct actions are added to the
-	 * popup menu.
-	 * 
-	 * See Setup above.
-	 */
-	private void testMenu(String viewId) throws Throwable {
-		// Create the test objects.
-		ListElement red = new ListElement("red");
-		ListElement blue = new ListElement("blue");
-		ListElement green = new ListElement("green");
-		ListElement redTrue = new ListElement("red", true);
-		
-		// Create a list view.  
-		ListView view = (ListView)fPage.showView(viewId);
-		MenuManager menuMgr = view.getMenuManager();
-		view.addElement(red);
-		view.addElement(blue);
-		view.addElement(green);
-		view.addElement(redTrue);
-		
-		// Get action filter.
-		ListElementActionFilter	filter = ListElementActionFilter.getSingleton();
-			
-		// Select red, verify popup.
-		view.selectElement(red);
-		ActionUtil.fireAboutToShow(menuMgr);
-		assertTrue(filter.getCalled());
-		assertNotNull(ActionUtil.getActionWithLabel(menuMgr, "redAction_v1"));
-		assertNull(ActionUtil.getActionWithLabel(menuMgr, "blueAction_v1"));
-		assertNull(ActionUtil.getActionWithLabel(menuMgr, "trueAction_v1"));
-		assertNotNull(ActionUtil.getActionWithLabel(menuMgr, "falseAction_v1"));
-		assertNull(ActionUtil.getActionWithLabel(menuMgr, "redTrueAction_v1"));
-		view.verifyActions(this, menuMgr);
-		
-		// Select blue, verify popup.
-		filter.clearCalled();
-		view.selectElement(blue);
-		ActionUtil.fireAboutToShow(menuMgr);
-		assertTrue(filter.getCalled());
-		assertNull(ActionUtil.getActionWithLabel(menuMgr, "redAction_v1"));
-		assertNotNull(ActionUtil.getActionWithLabel(menuMgr, "blueAction_v1"));
-		assertNull(ActionUtil.getActionWithLabel(menuMgr, "trueAction_v1"));
-		assertNotNull(ActionUtil.getActionWithLabel(menuMgr, "falseAction_v1"));
-		assertNull(ActionUtil.getActionWithLabel(menuMgr, "redTrueAction_v1"));
-		view.verifyActions(this, menuMgr);
-		
-		// Select green, verify popup.
-		filter.clearCalled();
-		view.selectElement(green);
-		ActionUtil.fireAboutToShow(menuMgr);
-		assertTrue(filter.getCalled());
-		assertNull(ActionUtil.getActionWithLabel(menuMgr, "redAction_v1"));
-		assertNull(ActionUtil.getActionWithLabel(menuMgr, "blueAction_v1"));
-		assertNull(ActionUtil.getActionWithLabel(menuMgr, "trueAction_v1"));
-		assertNotNull(ActionUtil.getActionWithLabel(menuMgr, "falseAction_v1"));
-		assertNull(ActionUtil.getActionWithLabel(menuMgr, "redTrueAction_v1"));
-		view.verifyActions(this, menuMgr);
-		
-		// Select redTrue, verify popup.
-		filter.clearCalled();
-		view.selectElement(redTrue);
-		ActionUtil.fireAboutToShow(menuMgr);
-		assertTrue(filter.getCalled());
-		assertNotNull(ActionUtil.getActionWithLabel(menuMgr, "redAction_v1"));
-		assertNull(ActionUtil.getActionWithLabel(menuMgr, "blueAction_v1"));
-		assertNotNull(ActionUtil.getActionWithLabel(menuMgr, "trueAction_v1"));
-		assertNull(ActionUtil.getActionWithLabel(menuMgr, "falseAction_v1"));
-		assertNotNull(ActionUtil.getActionWithLabel(menuMgr, "redTrueAction_v1"));
-		view.verifyActions(this, menuMgr);
-
-		// Select nothing, verify popup.
-		filter.clearCalled();
-		view.selectElement(null);
-		ActionUtil.fireAboutToShow(menuMgr);
-		assertTrue(!filter.getCalled());
-		assertNull(ActionUtil.getActionWithLabel(menuMgr, "redAction_v1"));
-		assertNull(ActionUtil.getActionWithLabel(menuMgr, "blueAction_v1"));
-		assertNull(ActionUtil.getActionWithLabel(menuMgr, "trueAction_v1"));
-		assertNull(ActionUtil.getActionWithLabel(menuMgr, "falseAction_v1"));
-		assertNull(ActionUtil.getActionWithLabel(menuMgr, "redTrueAction_v1"));
-		view.verifyActions(this, menuMgr);
- 	}	
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IConstants.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IConstants.java
deleted file mode 100644
index 0ae0402..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IConstants.java
+++ /dev/null
@@ -1,24 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-public interface IConstants {
-	public static String FakeID =
-		"Is this fake ID for buying beer or getting into a club?",
-		FakeLabel =
-			"Hmmm. Who's to say this is a fake label? I mean, someday, this can be a real label.",
-		UnknownFileName[] =
-			{
-				"This is not a known file name to the world.with a cool extension",
-				"this is not the same as the other.anyways this is a file extension" },
-		KnownFileName[] = { "plugin.xml" },
-		ProjectName = "JUnitTestingProjectName";
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IDeprecatedWorkbenchPageTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IDeprecatedWorkbenchPageTest.java
deleted file mode 100644
index 234c290..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IDeprecatedWorkbenchPageTest.java
+++ /dev/null
@@ -1,802 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.internal.WorkbenchPage;
-import org.eclipse.ui.internal.registry.IActionSetDescriptor;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.tests.TestPlugin;
-import org.eclipse.ui.tests.util.ArrayUtil;
-import org.eclipse.ui.tests.util.CallHistory;
-import org.eclipse.ui.tests.util.EmptyPerspective;
-import org.eclipse.ui.tests.util.FileUtil;
-import org.eclipse.ui.tests.util.PlatformUtil;
-import org.eclipse.ui.tests.util.UITestCase;
-
-public class IDeprecatedWorkbenchPageTest extends UITestCase {
-
-	private IWorkbenchPage fActivePage;
-	private IWorkbenchWindow fWin;
-	private IWorkbenchPart partMask;
-	private IProject proj;
-
-	public IDeprecatedWorkbenchPageTest(String testName) {
-		super(testName);
-	}
-
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-		fWin = openTestWindow();
-		fActivePage = fWin.getActivePage();
-	}
-
-	protected void doTearDown() throws Exception {
-		super.doTearDown();
-		if (proj != null) {
-			try {
-				FileUtil.deleteProject(proj);
-			} catch (CoreException e) {
-				TestPlugin.getDefault().getLog().log(e.getStatus());
-				fail();
-			}
-			proj = null;
-		}
-	}
-
-	/**
-	 *	tests both of the following:	
-	 *	setEditorAreaVisible()
-	 *	isEditorAreaVisible()
-	 */
-	public void testGet_SetEditorAreaVisible() throws Throwable {
-		fActivePage.setEditorAreaVisible(true);
-		assertTrue(fActivePage.isEditorAreaVisible() == true);
-
-		fActivePage.setEditorAreaVisible(false);
-		assertTrue(fActivePage.isEditorAreaVisible() == false);
-	}
-
-	public void testGetPerspective() throws Throwable {
-		assertNotNull(fActivePage.getPerspective());
-
-		IWorkbenchPage page =
-			fWin.openPage(EmptyPerspective.PERSP_ID, ResourcesPlugin.getWorkspace());
-		assertEquals(EmptyPerspective.PERSP_ID, page.getPerspective().getId());
-	}
-
-	public void testSetPerspective() throws Throwable {
-		IPerspectiveDescriptor per =
-			PlatformUI.getWorkbench().getPerspectiveRegistry().findPerspectiveWithId(
-				EmptyPerspective.PERSP_ID);
-		fActivePage.setPerspective(per);
-		assertEquals(per, fActivePage.getPerspective());
-	}
-
-	public void testGetLabel() {
-		assertNotNull(fActivePage.getLabel());
-	}
-
-	public void testGetInput() throws Throwable {
-		IAdaptable input = ResourcesPlugin.getWorkspace();
-		IWorkbenchPage page = fWin.openPage(input);
-		assertEquals(input, page.getInput());
-	}
-
-	public void testActivate() throws Throwable {
-		MockViewPart part = (MockViewPart) fActivePage.showView(MockViewPart.ID);
-		MockViewPart part2 = (MockViewPart) fActivePage.showView(MockViewPart.ID2);
-
-		MockPartListener listener = new MockPartListener();
-		fActivePage.addPartListener(listener);
-		fActivePage.activate(part);
-
-		CallHistory callTrace;
-
-		callTrace = part2.getCallHistory();
-		callTrace.clear();
-		fActivePage.activate(part2);
-		assertTrue(callTrace.contains("setFocus"));
-		assertTrue(listener.getCallHistory().contains("partActivated"));
-
-		callTrace = part.getCallHistory();
-		callTrace.clear();
-		fActivePage.activate(part);
-		assertTrue(callTrace.contains("setFocus"));
-		assertTrue(listener.getCallHistory().contains("partActivated"));
-	}
-
-	public void testBringToTop() throws Throwable {
-		proj = FileUtil.createProject("testOpenEditor");
-		IEditorPart part = IDE.openEditor(fActivePage, FileUtil.createFile("a.mock1", proj), true);
-		IEditorPart part2 = IDE.openEditor(fActivePage, FileUtil.createFile("b.mock1", proj), true);
-
-		MockPartListener listener = new MockPartListener();
-		fActivePage.addPartListener(listener);
-		CallHistory callTrace = listener.getCallHistory();
-
-		//at this point, part2 is active
-		fActivePage.bringToTop(part);
-		assertEquals(callTrace.contains("partBroughtToTop"), true);
-
-		callTrace.clear();
-		fActivePage.bringToTop(part2);
-		assertEquals(callTrace.contains("partBroughtToTop"), true);
-	}
-
-	public void testGetWorkbenchWindow() {
-/*
- * Commented out because until test case can be updated to work
- * with new window/page/perspective implementation
- * 
-		assertEquals(fActivePage.getWorkbenchWindow(), fWin);
-		IWorkbenchPage page = openTestPage(fWin);
-		assertEquals(page.getWorkbenchWindow(), fWin);
-*/
-	}
-
-	public void testShowView() throws Throwable {
-	/*
-		javadoc: Shows a view in this page and give it focus
-	*/		
-		MockViewPart view = (MockViewPart) fActivePage.showView(MockViewPart.ID);
-		assertNotNull(view);
-		assertTrue(
-			view.getCallHistory().verifyOrder(
-				new String[] { "init", "createPartControl", "setFocus" }));
-	
-		fActivePage.showView(MockViewPart.ID2 );
-		
-	/*
-		javadoc: If the view is already visible, it is given focus
-	*/
-		CallHistory callTrace = view.getCallHistory();
-		callTrace.clear();
-		assertEquals(fActivePage.showView(MockViewPart.ID), view );		
-		assertEquals(callTrace.contains( "setFocus" ), true );
-	}
-
-	/**
-	 *	openEditor(IFile input)
-	 */
-	public void testOpenEditor() throws Throwable {
-		proj = FileUtil.createProject("testOpenEditor");		
-		
-	/*
-		javadoc: 1. 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
-	*/
-		IFile file = FileUtil.createFile("test.mock1", proj);
-		IEditorPart editor = IDE.openEditor(fActivePage, file, true);
-		assertEquals(ArrayUtil.contains(fActivePage.getEditors(), editor), true);
-		assertEquals(fActivePage.getActiveEditor(), editor);
-		assertEquals(editor.getSite().getId(),
-			fWorkbench.getEditorRegistry().getDefaultEditor(file.getName()).getId());
-
-	/*
-		javadoc: 2. 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.
-	*/
-		//can not be tested
-
-	/*
-		javadoc: 3. If all else fails the file will be opened in a default text editor.		
-	*/
-		if (!PlatformUtil.onLinux()) {
-			file = FileUtil.createFile("a.null and void", proj);
-			editor = IDE.openEditor(fActivePage, file, true);
-			assertEquals(ArrayUtil.contains(fActivePage.getEditors(), editor), true);
-			assertEquals(fActivePage.getActiveEditor(), editor);
-			assertEquals(editor.getSite().getId(), "org.eclipse.ui.DefaultTextEditor");
-		}
-			
-		//open another editor to take the focus away from the first editor
-		IDE.openEditor(fActivePage, FileUtil.createFile("test.mock2", proj), true);
-	
-	/*	
-		javadoc: If this page already has an editor open on the target object that editor is activated
-	*/
-		//open the editor second time.		
-		assertEquals(editor, IDE.openEditor(fActivePage, file, true));
-		assertEquals(editor, fActivePage.getActiveEditor());
-	}
-
-	/**
-	 * openEditor(IFile input, String editorID)
-	 */
-	public void testOpenEditor2() throws Throwable {
-		proj = FileUtil.createProject("testOpenEditor");
-		final IFile file = FileUtil.createFile("asfasdasdf", proj);
-		final String id = MockEditorPart.ID1;
-
-	/*
-		javadoc: The editor type is determined by mapping editorId to an editor extension registered with the workbench.
-	*/	
-		IEditorPart editor = fActivePage.openEditor(new FileEditorInput(file), id);
-		assertEquals(editor.getSite().getId(), id);
-		assertEquals(ArrayUtil.contains(fActivePage.getEditors(), editor), true);
-		assertEquals(fActivePage.getActiveEditor(), editor);
-
-		//open another editor to take the focus away from the first editor
-		IDE.openEditor(fActivePage, FileUtil.createFile("test.mock2", proj), true);
-		
-	/*
-		javadoc: If this page already has an editor open on the target object that editor is activated
-	*/
-		//open the first editor second time.
-		assertEquals(fActivePage.openEditor(new FileEditorInput(file), id), editor);
-		assertEquals(fActivePage.getActiveEditor(), editor);
-	}
-
-	/**
-	 * openEditor(IEditorInput input,String editorId)                       
-	 */
-	public void testOpenEditor3() throws Throwable {
-		proj = FileUtil.createProject("testOpenEditor");
-		final String id = MockEditorPart.ID1;
-		IEditorInput input =
-			new FileEditorInput(FileUtil.createFile("test.mock1", proj));
-			
-	/*
-		javadoc: The editor type is determined by mapping editorId to an editor extension registered with the workbench
-	*/
-		IEditorPart editor = fActivePage.openEditor(input, id);
-		assertEquals(editor.getEditorInput(), input);
-		assertEquals(editor.getSite().getId(), id);
-		assertEquals(ArrayUtil.contains(fActivePage.getEditors(), editor), true);
-		assertEquals(fActivePage.getActiveEditor(), editor);
-
-		//open another editor to take the focus away from the first editor
-		IDE.openEditor(fActivePage, FileUtil.createFile("test.mock2", proj), true);
-		
-	/*
-		javadoc: If this page already has an editor open on the target object that editor is activated
-	*/
-		//open the first editor second time.
-		assertEquals(fActivePage.openEditor(input, id), editor);
-		assertEquals(fActivePage.getActiveEditor(), editor);
-	}
-
-	/**
-	 * openEditor(IEditorInput input, String editorId, boolean activate) 
-	 */
-	public void testOpenEditor4() throws Throwable {
-		proj = FileUtil.createProject("testOpenEditor");
-		final String id = MockEditorPart.ID1;
-		IEditorInput input =
-			new FileEditorInput(FileUtil.createFile("test.mock1", proj));
-		MockPartListener listener = new MockPartListener();
-		fActivePage.addPartListener(listener);
-		CallHistory callTrace = listener.getCallHistory();
-
-	/*
-		javadoc: The editor type is determined by mapping editorId to an editor extension 
-		registered with the workbench. 
-		javadoc: If activate == true the editor will be activated
-	*/
-		//open an editor with activation
-		IEditorPart editor = fActivePage.openEditor(input, id, true);
-		assertEquals(editor.getEditorInput(), input);
-		assertEquals(editor.getSite().getId(), id);
-		assertEquals(ArrayUtil.contains(fActivePage.getEditors(), editor), true);
-		assertEquals(fActivePage.getActiveEditor(), editor);
-		assertEquals(callTrace.contains( "partActivated"), true);
-
-		//we need another editor so that the editor under test can receive events.
-		//otherwise, events will be ignored.
-		IEditorPart extra = IDE.openEditor(fActivePage, FileUtil.createFile("aaaaa", proj), true);
-		
-		//close the first editor after the second has opened; necessary for
-		//test to work with fix to PR 7743
-		fActivePage.closeEditor(editor, false);
-
-		//open an editor without activation
-		callTrace.clear();
-		editor = fActivePage.openEditor(input, id, false);
-		assertEquals(editor.getEditorInput(), input);
-		assertEquals(editor.getSite().getId(), id);
-		assertEquals(ArrayUtil.contains(fActivePage.getEditors(), editor), true);
-		assertEquals(callTrace.contains( "partActivated"), false);
-		assertEquals(callTrace.contains( "partBroughtToTop"), true);
-
-		fActivePage.activate(extra);
-
-	/*
-		javadoc: If this page already has an editor open on the target object that editor is brought to the front
-	*/
-		//open the editor under test second time without activation
-		callTrace.clear();
-		assertEquals(fActivePage.openEditor(input, id, false), editor);
-		assertEquals(callTrace.contains( "partBroughtToTop"), true);
-		assertEquals(callTrace.contains( "partActivated"), false);
-
-		//activate the other editor
-		fActivePage.activate(extra);
-
-	/*
-		javadoc: If activate == true the editor will be activated
-	*/
-		//open the editor under test second time with activation
-		callTrace.clear();
-		assertEquals(fActivePage.openEditor(input, id, true), editor);
-		assertEquals(callTrace.contains( "partBroughtToTop"), true);
-		assertEquals(callTrace.contains( "partActivated"), true);
-	}
-
-	/**
-	 * openEditor(IMarker marker)                       
-	 */
-	public void testOpenEditor5() throws Throwable {
-		proj = FileUtil.createProject("testOpenEditor");
-		IMarker marker =
-			FileUtil.createFile("aa.mock2", proj).createMarker(IMarker.TASK);
-		CallHistory callTrace;
-
-	/*	
-		javadoc: the cursor and selection state of the editor is then updated from information 
-		recorded in the marker. 
-	*/		
-		//open the registered editor for the marker resource 
-		IEditorPart editor = IDE.openEditor(fActivePage, marker, true);
-		callTrace = ((MockEditorPart) editor).getCallHistory();
-		assertEquals(editor.getSite().getId(), MockEditorPart.ID2);
-		assertEquals(ArrayUtil.contains(fActivePage.getEditors(), editor), true);
-		assertEquals(fActivePage.getActiveEditor(), editor);
-		assertEquals(callTrace.contains( "gotoMarker"), true);
-		fActivePage.closeEditor(editor, false);
-
-	/*	
-		javadoc: If the marker contains an EDITOR_ID_ATTR attribute the attribute value will be used to 
-		determine the editor type to be opened
-	*/
-		marker.setAttribute(IWorkbenchPage.EDITOR_ID_ATTR, MockEditorPart.ID1);
-		editor = IDE.openEditor(fActivePage, marker, true);
-		callTrace = ((MockEditorPart) editor).getCallHistory();
-		assertEquals(editor.getSite().getId(), MockEditorPart.ID1);
-		assertEquals(ArrayUtil.contains(fActivePage.getEditors(), editor), true);
-		assertEquals(fActivePage.getActiveEditor(), editor);
-		assertEquals(callTrace.contains( "gotoMarker"), true);
-		//do not close the editor this time
-
-	/*
-		javdoc: If this page already has an editor open on the target object that editor is activated
-	*/		
-		callTrace.clear();
-		assertEquals(IDE.openEditor(fActivePage, marker, true), editor);
-		assertEquals(fActivePage.getActiveEditor(), editor);
-		assertEquals(callTrace.contains( "gotoMarker"), true);
-		fActivePage.closeEditor(editor, false);
-	}
-
-	/**
-	 *	openEditor(IMarker marker, boolean activate)                                           
-	 */
-	public void testOpenEditor6() throws Throwable {
-		proj = FileUtil.createProject("testOpenEditor");
-		IMarker marker =
-			FileUtil.createFile("aa.mock2", proj).createMarker(IMarker.TASK);
-		MockPartListener listener = new MockPartListener();
-		fActivePage.addPartListener(listener);
-		CallHistory listenerCall = listener.getCallHistory();
-		CallHistory editorCall;
-
-		//we need another editor so that the editor under test can receive events.
-		//otherwise, events will be ignored.
-		IEditorPart extra = IDE.openEditor(fActivePage, FileUtil.createFile("aaaaa", proj), true); 
-
-	/*
-		javadoc: If activate == true the editor will be activated
-	*/		
-		//open the registered editor for the marker resource with activation
-		IEditorPart editor = IDE.openEditor(fActivePage, marker, true); 
-		editorCall = ((MockEditorPart) editor).getCallHistory();
-		assertEquals(editor.getSite().getId(), MockEditorPart.ID2);
-		assertEquals(ArrayUtil.contains(fActivePage.getEditors(), editor), true);
-		assertEquals(fActivePage.getActiveEditor(), editor);
-
-	/*	
-		javadoc: the cursor and selection state of the editor is then updated from information 
-		recorded in the marker. 
-	*/		
-		assertEquals(editorCall.contains( "gotoMarker"), true);
-		fActivePage.closeEditor(editor, false);
-
-		fActivePage.activate(extra);
-
-		//open the registered editor for the marker resource without activation
-		listenerCall.clear();
-		editor = IDE.openEditor(fActivePage, marker, false);
-		editorCall = ((MockEditorPart) editor).getCallHistory();
-		assertEquals(editor.getSite().getId(), MockEditorPart.ID2);
-		assertEquals(ArrayUtil.contains(fActivePage.getEditors(), editor), true);
-		assertEquals(listenerCall.contains( "partBroughtToTop"), true);
-		assertEquals(listenerCall.contains( "partActivated"), false);	
-		assertEquals(editorCall.contains( "gotoMarker"), true);		
-		fActivePage.closeEditor(editor, false);
-	
-	/*	
-		javadoc: If the marker contains an EDITOR_ID_ATTR attribute the attribute value will be used to 
-		determine the editor type to be opened
-	*/
-		String id = MockEditorPart.ID1;
-		marker.setAttribute(IWorkbenchPage.EDITOR_ID_ATTR, id);
-
-		//open an editor with activation
-		listenerCall.clear();
-	
-		editor = IDE.openEditor(fActivePage, marker, true);
-		editorCall = ((MockEditorPart) editor).getCallHistory();
-		assertEquals(editor.getSite().getId(), id);
-		assertEquals(ArrayUtil.contains(fActivePage.getEditors(), editor), true);
-		assertEquals(fActivePage.getActiveEditor(), editor);
-		assertEquals(editorCall.contains( "gotoMarker"), true);
-		fActivePage.closeEditor(editor, false);
-
-		fActivePage.activate(extra);
-
-		//open an editor without activation
-		listenerCall.clear();
-		editor = IDE.openEditor(fActivePage, marker, false);
-		editorCall = ((MockEditorPart) editor).getCallHistory();
-		assertEquals(editor.getSite().getId(), id);
-		assertEquals(ArrayUtil.contains(fActivePage.getEditors(), editor), true);
-		assertEquals(editorCall.contains( "gotoMarker"), true);
-		assertEquals(listenerCall.contains( "partActivated"), false);
-		assertEquals(listenerCall.contains( "partBroughtToTop"), true);
-		//do not close the editor this time
-
-		fActivePage.activate(extra);
-
-	/*
-		javadoc: If this page already has an editor open on the target object that editor is brought to front
-	*/
-		//open the editor second time without activation
-		listenerCall.clear();
-		assertEquals(IDE.openEditor(fActivePage, marker, false), editor);
-		assertEquals(listenerCall.contains( "partBroughtToTop"), true);
-		assertEquals(listenerCall.contains( "partActivated"), false);
-
-		fActivePage.activate(extra);
-
-	/*
-		javdoc: If activate == true the editor will be activated
-	*/
-		//open the editor second time with activation 		
-		listenerCall.clear();
-		assertEquals(IDE.openEditor(fActivePage, marker, true), editor);
-		assertEquals(editorCall.contains( "gotoMarker"), true);
-		assertEquals(listenerCall.contains( "partBroughtToTop"), true);		
-		assertEquals(listenerCall.contains( "partActivated"), true);
-	}
-
-	public void testFindView() throws Throwable {
-		String id = MockViewPart.ID3;
-		//id of valid, but not open view
-		assertNull(fActivePage.findView(id));
-
-		IViewPart view = fActivePage.showView(id);
-		assertEquals(fActivePage.findView(id), view);
-
-		//close view		
-		fActivePage.hideView(view);
-		assertNull(fActivePage.findView(id));
-	}
-
-	public void testGetViews() throws Throwable {
-		int totalBefore = fActivePage.getViews().length;
-
-		IViewPart view = fActivePage.showView(MockViewPart.ID2);
-		assertEquals(ArrayUtil.contains(fActivePage.getViews(), view), true);
-		assertEquals(fActivePage.getViews().length, totalBefore + 1);
-
-		fActivePage.hideView(view);
-		assertEquals(ArrayUtil.contains(fActivePage.getViews(), view), false);
-		assertEquals(fActivePage.getViews().length, totalBefore);
-	}
-
-	public void testHideView() throws Throwable {
-		IViewPart view = fActivePage.showView(MockViewPart.ID3);
-
-		fActivePage.hideView(view);
-		CallHistory callTrace = ((MockViewPart) view).getCallHistory();
-		assertTrue(callTrace.contains( "dispose"));
-	}
-
-	public void testClose() throws Throwable {
-		IWorkbenchPage page = openTestPage(fWin);
-
-		proj = FileUtil.createProject("testOpenEditor");
-		final IFile file = FileUtil.createFile("aaa.mock1", proj);
-		IEditorPart editor = IDE.openEditor(page, file, true);
-		CallHistory callTrace = ((MockEditorPart) editor).getCallHistory();
-		callTrace.clear();
-
-	/*
-		javadoc: If the page has open editors with unsaved content and save is true, the user will be given the opportunity to save them
-	*/		
-		assertEquals(page.close(), true);
-		assertEquals(
-			callTrace.verifyOrder(new String[] { "isDirty", "dispose" }),
-			true);
-		assertEquals(fWin.getActivePage(), fActivePage);	
-	}
-
-	public void testCloseEditor() throws Throwable {
-		proj = FileUtil.createProject("testOpenEditor");
-		final IFile file = FileUtil.createFile("test.mock1", proj);
-		IEditorPart editor;
-		CallHistory callTrace;
-		MockEditorPart mock;
-
-	/*
-		javadoc: Parameters: save - true to save the editor contents if required (recommended)
-	*/
-		//create a clean editor that needs to be saved on closing
-		editor = IDE.openEditor(fActivePage, file, true);
-		mock = (MockEditorPart) editor;
-		mock.setSaveNeeded(true);
-		callTrace = mock.getCallHistory();
-		callTrace.clear();
-		//close the editor with save confirmation
-		assertEquals( fActivePage.closeEditor(editor, true), true );
-		assertEquals(
-			callTrace.verifyOrder(
-				new String[] { "isDirty", "dispose" }),
-			true);
-
-	/*
-		javadoc: If the editor has unsaved content and save is true, the user will be given the opportunity to save it.
-	*/
-		//can't be tested
-			
-	/*
-		javadoc: Parameters: save - false to discard any unsaved changes
-	*/
-		//create a dirty editor
-		editor = IDE.openEditor(fActivePage, file, true);
-		mock = (MockEditorPart) editor;
-		mock.setDirty(true);
-		mock.setSaveNeeded(true);
-		callTrace = mock.getCallHistory();
-		callTrace.clear();
-		//close the editor and discard changes
-		assertEquals( fActivePage.closeEditor(editor, false), true );
-		assertEquals(callTrace.contains( "isSaveOnCloseNeeded"), false);
-		/*
-		 * It is possible that some action may query the isDirty value of
-		 * the editor to update its enabled state. There is nothing wrong
-		 * in doing that, so do not test for no isDirty call here.
-		 *
-		 * assertEquals(callTrace.contains( "isDirty"), false);
-		 */
-		assertEquals(callTrace.contains( "doSave"), false);
-		assertEquals(callTrace.contains( "dispose"), true);
-	}
-
-	public void testCloseAllEditors() throws Throwable
-	{
-		int total = 5;
-		final IFile[] files = new IFile[total];
-		IEditorPart[] editors = new IEditorPart[total];
-		CallHistory[] callTraces = new CallHistory[total];
-		MockEditorPart[] mocks = new MockEditorPart[total];
-
-		proj = FileUtil.createProject("testOpenEditor");
-		for (int i = 0; i < total; i++)
-			files[i] = FileUtil.createFile(i + ".mock2", proj);
-
-	/*
-		javadoc: If the page has open editors with unsaved content and save is true, the user will be given the opportunity to save them.
-	*/		
-		//close all clean editors with confirmation
-		for( int i = 0; i < total; i ++ ){	
-			editors[i] = IDE.openEditor(fActivePage, files[i], true);			
-			callTraces[i] = ((MockEditorPart)editors[i]).getCallHistory();		
-		}
-		assertEquals(fActivePage.closeAllEditors(true), true);
-		for (int i = 0; i < total; i++) {
-			assertEquals(callTraces[i].contains( "isDirty"), true);
-			assertEquals(callTraces[i].contains( "doSave"), false);
-			callTraces[i].clear();
-		}
-		
-		//close all dirty editors with confirmation
-		//can't be tested		
-		
-		//close all dirty editors discarding them		
-		for( int i = 0; i < total; i ++ ){	
-			editors[i] = IDE.openEditor(fActivePage, files[i], true);
-			mocks[i] = (MockEditorPart) editors[i];
-			mocks[i].setDirty(true);
-			callTraces[i] = mocks[i].getCallHistory();
-		}
-		assertEquals(fActivePage.closeAllEditors(false), true);
-		for (int i = 0; i < total; i++) {
-			assertEquals(callTraces[i].contains("doSave"), false);
-		}
-	}
-
-	public void testSaveEditor() throws Throwable {
-		proj = FileUtil.createProject("testOpenEditor");
-		final IFile file = FileUtil.createFile("test.mock1", proj);
-		IEditorPart editor;
-		CallHistory callTrace;
-		MockEditorPart mock;
-
-		//create a clean editor
-		editor = IDE.openEditor(fActivePage, file, true);
-		mock = (MockEditorPart) editor;
-		callTrace = mock.getCallHistory();
-		callTrace.clear();
-
-	/*
-		javadoc: Saves the contents of the given editor if dirty. 
-		If not, this method returns without effect
-	*/
-		//save the clean editor with confirmation		
-		assertEquals(fActivePage.saveEditor(editor, true), true);
-		assertEquals(callTrace.contains("isDirty"), true);
-		assertEquals(callTrace.contains("doSave"), false);
-	
-	/*
-		javadoc: If confirm is true the user is prompted to confirm the command. 
-	*/
-		//can't be tested
-
-	/*
-		javadoc: Otherwise, the save happens without prompt. 
-	*/
-		//save the clean editor without confirmation
-		assertEquals(fActivePage.saveEditor(editor, false), true);
-		assertEquals(callTrace.contains( "isDirty"), true);
-		assertEquals(callTrace.contains("doSave"), false);
-
-		//save the dirty editor without confirmation
-		mock.setDirty(true);
-		callTrace.clear();
-		assertEquals(fActivePage.saveEditor(editor, false), true);
-		assertEquals(
-			callTrace.verifyOrder(new String[] { "isDirty", "doSave" }),
-			true);
-	}
-
-	public void testSaveAllEditors() throws Throwable {
-		int total = 3;
-
-		final IFile[] files = new IFile[total];
-		IEditorPart[] editors = new IEditorPart[total];
-		CallHistory[] callTraces = new CallHistory[total];
-		MockEditorPart[] mocks = new MockEditorPart[total];
-
-		proj = FileUtil.createProject("testOpenEditor");
-		for (int i = 0; i < total; i++) {
-			files[i] = FileUtil.createFile(i + ".mock2", proj);
-			editors[i] = IDE.openEditor(fActivePage, files[i], true);
-			mocks[i] = (MockEditorPart) editors[i];
-			callTraces[i] = mocks[i].getCallHistory();
-		}
-
-	/*
-		javadoc: If there are no dirty editors this method returns without effect.
-		javadoc: If confirm is true the user is prompted to confirm the command
-	*/
-		//save all clean editors with confirmation
-		assertEquals(fActivePage.saveAllEditors(true), true);
-		for (int i = 0; i < total; i++) {
-			assertEquals(callTraces[i].contains( "isDirty"), true);
-			assertEquals(callTraces[i].contains( "doSave"), false);
-			callTraces[i].clear();
-		}
-
-		//save all dirty editors with confirmation can't be tested
-
-	/*
-		javadoc: Parameters: confirm - false to save unsaved changes without asking
-	*/
-		//save all clean editors without confirmation
-		assertEquals(fActivePage.saveAllEditors(false), true);
-		for (int i = 0; i < total; i++) {
-			assertEquals(callTraces[i].contains( "isDirty"), true);
-			assertEquals(callTraces[i].contains( "doSave"), false);
-			callTraces[i].clear();
-		}
-
-		//save all dirty editors without confirmation
-		for (int i = 0; i < total; i++) 
-			mocks[i].setDirty(true);
-		assertEquals(fActivePage.saveAllEditors(false), true);
-		for (int i = 0; i < total; i++)
-			assertEquals(
-				callTraces[i].verifyOrder(new String[] { "isDirty", "doSave" }),
-				true);
-	}
-
-	public void testGetEditors() throws Throwable {
-		proj = FileUtil.createProject("testOpenEditor");
-		int totalBefore = fActivePage.getEditors().length;
-		int num = 3;
-		IEditorPart[] editors = new IEditorPart[num];
-
-		for (int i = 0; i < num; i++) {
-			editors[i] = IDE.openEditor(fActivePage, FileUtil.createFile(i + ".mock2", proj), true);
-			assertEquals(ArrayUtil.contains(fActivePage.getEditors(), editors[i]), true);
-		}
-		assertEquals(fActivePage.getEditors().length, totalBefore + num);
-
-		fActivePage.closeEditor(editors[0], false);
-		assertEquals(ArrayUtil.contains(fActivePage.getEditors(), editors[0]), false);
-		assertEquals(fActivePage.getEditors().length, totalBefore + num - 1);
-
-		fActivePage.closeAllEditors(false);
-		assertEquals(fActivePage.getEditors().length, 0);
-	}
-
-	public void testShowActionSet() {
-		String id = MockActionDelegate.ACTION_SET_ID;
-		WorkbenchPage page = (WorkbenchPage) fActivePage;
-
-		int totalBefore = page.getActionSets().length;
-		fActivePage.showActionSet(id);
-
-		IActionSetDescriptor[] sets = ((WorkbenchPage) fActivePage).getActionSets();
-		boolean found = false;
-		for (int i = 0; i < sets.length; i++)
-			if (id.equals(sets[i].getId()))
-				found = true;
-		assertEquals(found, true);
-
-		//check that the method does not add an invalid action set to itself
-		id = IConstants.FakeID;
-		fActivePage.showActionSet(id);
-
-		sets = ((WorkbenchPage) fActivePage).getActionSets();
-		found = false;
-		for (int i = 0; i < sets.length; i++)
-			if (id.equals(sets[i].getId()))
-				found = true;
-		assertEquals(found, false);
-		assertEquals(page.getActionSets().length, totalBefore + 1);
-	}
-
-	public void testHideActionSet() {
-		WorkbenchPage page = (WorkbenchPage) fActivePage;
-		int totalBefore = page.getActionSets().length;
-
-		String id = MockWorkbenchWindowActionDelegate.SET_ID;
-		fActivePage.showActionSet( id );
-		assertEquals(page.getActionSets().length, totalBefore + 1);
-
-		fActivePage.hideActionSet(id );
-		assertEquals(page.getActionSets().length, totalBefore );
-		
-		IActionSetDescriptor[] sets = page.getActionSets();
-		boolean found = false;
-		for (int i = 0; i < sets.length; i++)
-			if (id.equals(sets[i].getId()))
-				found = true;
-		assertEquals(found, false);
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IEditorActionBarContributorTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IEditorActionBarContributorTest.java
deleted file mode 100644
index a3f2c6c..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IEditorActionBarContributorTest.java
+++ /dev/null
@@ -1,117 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.tests.util.CallHistory;
-import org.eclipse.ui.tests.util.FileUtil;
-import org.eclipse.ui.tests.util.UITestCase;
-
-/**
- * This is a test for IEditorPart.  Since IEditorPart is an
- * interface this test verifies the IEditorPart lifecycle rather
- * than the implementation.
- */
-public class IEditorActionBarContributorTest extends UITestCase {
-
-	protected IWorkbenchWindow fWindow;
-	protected IWorkbenchPage fPage;
-	private String EDITOR_ID = "org.eclipse.ui.tests.api.IEditorActionBarContributorTest";
-	
-	/**
-	 * Constructor for IEditorPartTest
-	 */
-	public IEditorActionBarContributorTest(String testName) {
-		super(testName);
-	}
-
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-		fWindow = openTestWindow();
-		fPage = fWindow.getActivePage();
-	}
-	
-	public void testInit() throws Throwable {
-		// From javadoc: "Initializes this contributor, which is expected to 
-		// add contributions as required to the given action bars and global 
-		// action handlers."
-		
-		// Open a part.
-		MockEditorPart part = openEditor(fPage, "1");
-		
-		// Get contributor and verify call history.
-		MockEditorActionBarContributor contributor = 
-			(MockEditorActionBarContributor)part.getEditorSite().getActionBarContributor();
-		CallHistory history = contributor.getCallHistory();
-		assertTrue(history.verifyOrder(new String[] {
-			"init", "setActiveEditor"}));
-		assertEquals(part, contributor.getActiveEditor());
-		
-		// Close the part.
-		fPage.closeAllEditors(false);
-	}
-	
-	public void testSetActiveEditor() throws Throwable {
-		// From javadoc: "Sets the active editor for the contributor."
-		
-		// Open an editor.
-		MockEditorPart part = openEditor(fPage, "X");
-		
-		// Get contributor and verify call history.
-		MockEditorActionBarContributor contributor = 
-			(MockEditorActionBarContributor)
-				part.getEditorSite().getActionBarContributor();
-		CallHistory history = contributor.getCallHistory();
-		assertTrue(history.verifyOrder(new String[] {
-			"init", "setActiveEditor" }));
-		assertEquals(part, contributor.getActiveEditor());
-		
-		// Open a few more and verify setActiveEditor.
-		int editorCount = 5;
-		MockEditorPart [] parts = new MockEditorPart[editorCount];
-		for (int nX = 0; nX < editorCount; nX ++) {
-			history.clear();
-			parts[nX] = openEditor(fPage, Integer.toString(nX));
-			assertTrue(history.verifyOrder(new String[] {	
-				"setActiveEditor" }));
-			assertEquals(parts[nX], contributor.getActiveEditor());
-		}
-		
-		// Activate the parts and verify setActiveEditor.
-		for (int nX = 0; nX < editorCount; nX ++) {
-			history.clear();
-			fPage.activate(parts[nX]);
-			assertTrue(history.verifyOrder(new String[] {	
-				"setActiveEditor" }));
-			assertEquals(parts[nX], contributor.getActiveEditor());
-		}
-		
-		// Close the parts.
-		fPage.closeAllEditors(false);
-	}
-	
-	/**
-	 * @see IWorkbenchPartTest#openPart(IWorkbenchPage)
-	 */
-	protected MockEditorPart openEditor(IWorkbenchPage page, String suffix) 
-		throws Throwable 
-	{
-		IProject proj = FileUtil.createProject("IEditorActionBarContributorTest");
-		IFile file = FileUtil.createFile("test" + suffix + ".txt", proj);
-		return (MockEditorPart)page.openEditor(new FileEditorInput(file), EDITOR_ID);
-	}
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IEditorActionDelegateTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IEditorActionDelegateTest.java
deleted file mode 100644
index bcfeb4b..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IEditorActionDelegateTest.java
+++ /dev/null
@@ -1,91 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-
-import org.eclipse.jface.action.IMenuManager;
-
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.tests.util.ActionUtil;
-import org.eclipse.ui.tests.util.FileUtil;
-
-
-/**
- * Tests the lifecycle for an editor action delegate.
- */
-public class IEditorActionDelegateTest extends IActionDelegateTest {
-	
-	public static String EDITOR_ID = "org.eclipse.ui.tests.api.IEditorActionDelegateTest";
-	private MockEditorPart editor;
-
-	/**
-	 * Constructor for IWorkbenchWindowActionDelegateTest
-	 */
-	public IEditorActionDelegateTest(String testName) {
-		super(testName);
-	}
-
-	public void testSetActiveEditor() throws Throwable {
-		// When an action delegate is run the
-		// setActiveEditor, selectionChanged, and run methods should
-		// be called, in that order.
-		
-		// Run the action.
-		testRun();
-		
-		// Verify lifecycle.
-		MockActionDelegate delegate = getDelegate();
-		assertNotNull(delegate);
-		assertTrue(delegate.callHistory.verifyOrder(
-			new String [] {"setActiveEditor", "selectionChanged", "run"}));
-	}
-	
-	/**
-	 * @see IActionDelegateTest#createActionWidget()
-	 */
-	protected Object createActionWidget() throws Throwable {
-		editor = openEditor(fPage, "X");
-		return editor;
-	}
-
-	/**
-	 * @see IActionDelegateTest#runAction()
-	 */
-	protected void runAction(Object widget) throws Throwable {
-		MockEditorPart editor = (MockEditorPart)widget;
-		MockEditorActionBarContributor contributor = 	
-			(MockEditorActionBarContributor)
-				editor.getEditorSite().getActionBarContributor();
-		IMenuManager mgr = contributor.getActionBars().getMenuManager();
-		ActionUtil.runActionWithLabel(this, mgr, "Mock Action");
-	}
-
-	/**
-	 * @see IActionDelegateTest#fireSelection()
-	 */
-	protected void fireSelection(Object widget) throws Throwable {
-		MockEditorPart editor = (MockEditorPart)widget;
-		editor.fireSelection();
-	}
-	
-	protected MockEditorPart openEditor(IWorkbenchPage page, String suffix) 
-		throws Throwable 
-	{
-		IProject proj = FileUtil.createProject("IEditorActionDelegateTest");
-		IFile file = FileUtil.createFile("test" + suffix + ".txt", proj);
-		return (MockEditorPart)page.openEditor(new FileEditorInput(file), EDITOR_ID);
-	}
-
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IEditorDescriptorTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IEditorDescriptorTest.java
deleted file mode 100644
index b4709e4..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IEditorDescriptorTest.java
+++ /dev/null
@@ -1,53 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import junit.framework.TestCase;
-
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IFileEditorMapping;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.tests.util.ArrayUtil;
-
-public class IEditorDescriptorTest extends TestCase {
-	IEditorDescriptor[] fEditors;
-	
-	public IEditorDescriptorTest( String testName )
-	{
-		super( testName );
-	}
-	
-	public void setUp()
-	{
-		IFileEditorMapping mapping = ( IFileEditorMapping )ArrayUtil.pickRandom( 
-				PlatformUI.getWorkbench().getEditorRegistry().getFileEditorMappings() 
-			);
-		fEditors = mapping.getEditors();
-	}
-	
-	public void testGetId() throws Throwable
-	{
-		for( int i = 0; i < fEditors.length; i ++ )
-			assertNotNull( fEditors[ i ].getId() );	
-	}
- 
- 	public void testGetImageDescriptor()  throws Throwable
-	{
-		for( int i = 0; i < fEditors.length; i ++ )
-			assertNotNull( fEditors[ i ].getImageDescriptor() );	
-	}
-
- 	public void testGetLabel() throws Throwable
-	{
-		for( int i = 0; i < fEditors.length; i ++ )
-			assertNotNull( fEditors[ i ].getLabel() );	
-	}	
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IEditorLauncherTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IEditorLauncherTest.java
deleted file mode 100644
index 89fd026..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IEditorLauncherTest.java
+++ /dev/null
@@ -1,15 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-public class IEditorLauncherTest {
-
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IEditorPartTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IEditorPartTest.java
deleted file mode 100644
index d96152c..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IEditorPartTest.java
+++ /dev/null
@@ -1,53 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.tests.util.FileUtil;
-
-/**
- * This is a test for IEditorPart.  Since IEditorPart is an
- * interface this test verifies the IEditorPart lifecycle rather
- * than the implementation.
- */
-public class IEditorPartTest extends IWorkbenchPartTest {
-
-	/**
-	 * Constructor for IEditorPartTest
-	 */
-	public IEditorPartTest(String testName) {
-		super(testName);
-	}
-
-	/**
-	 * @see IWorkbenchPartTest#openPart(IWorkbenchPage)
-	 */
-	protected MockPart openPart(IWorkbenchPage page) throws Throwable {
-		IProject proj = FileUtil.createProject("IEditorPartTest");
-		IFile file = FileUtil.createFile("IEditorPartTest.txt", proj);
-		return (MockWorkbenchPart)page.openEditor(new FileEditorInput(file), MockEditorPart.ID1);
-	}
-
-	/**
-	 * @see IWorkbenchPartTest#closePart(IWorkbenchPage, MockWorkbenchPart)
-	 */
-	protected void closePart(IWorkbenchPage page, MockPart part)
-		throws Throwable 
-	{
-		page.closeEditor((IEditorPart)part, false);
-	}
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IEditorRegistryTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IEditorRegistryTest.java
deleted file mode 100644
index f9640dc..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IEditorRegistryTest.java
+++ /dev/null
@@ -1,274 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IEditorRegistry;
-import org.eclipse.ui.IFileEditorMapping;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.internal.registry.EditorRegistry;
-import org.eclipse.ui.internal.registry.FileEditorMapping;
-import org.eclipse.ui.tests.TestPlugin;
-import org.eclipse.ui.tests.util.ArrayUtil;
-import org.eclipse.ui.tests.util.CallHistory;
-import org.eclipse.ui.tests.util.FileUtil;
-
-public class IEditorRegistryTest extends TestCase {
-	private IEditorRegistry fReg;
-	private IProject proj;	
-
-	public IEditorRegistryTest(String testName) {
-		super( testName );		
-	}
-	
-	public void setUp() {
-		fReg = PlatformUI.getWorkbench().getEditorRegistry();		
-	}
-	
-	public void tearDown() {
-		if( proj != null ){
-			try{
-				FileUtil.deleteProject( proj );
-			} catch (CoreException e) {
-				TestPlugin.getDefault().getLog().log(e.getStatus());
-				fail();
-			}
-		}
-	}
-
-	public void testGetFileEditorMappings() {
-		assertTrue( ArrayUtil.checkNotNull( fReg.getFileEditorMappings() ) );
-	}
-	
-	/**
-	 *	tests both of the following:
-	 *	IEditorDescriptor[] getEditors(IFile file) 
-	 *	IEditorDescriptor[] getEditors(String filename)  
-	 */
-	public void testGetEditors() throws Throwable {
-		IEditorDescriptor[] editors, editors2;
-		String[][] maps = {
-			{"a.mock1", MockEditorPart.ID1 },
-			{"b.mock2", MockEditorPart.ID2 }
-		};
-		
-		proj = FileUtil.createProject("testProject");
-		
-		for( int i = 0; i < maps.length; i ++ ){
-			editors = fReg.getEditors( maps[i][0] );
-			assertEquals( editors.length, 1 );
-			assertEquals( editors[ 0 ].getId(), maps[i][1] );
-			editors2 = fReg.getEditors(FileUtil.createFile(maps[i][0], proj).getName());
-			assertEquals( ArrayUtil.equals( editors, editors2 ), true );
-		}
-
-		//there is no matching editor
-		String fileName = IConstants.UnknownFileName[0];
-		editors = fReg.getEditors( fileName );
-		assertEquals( editors.length, 0 );
-		editors = fReg.getEditors(FileUtil.createFile(fileName, proj).getName());
-		assertEquals( editors.length, 0 );
-	}
-
-	public void testFindEditor() {
-		String id = MockEditorPart.ID1;	
-		IEditorDescriptor editor = fReg.findEditor( id );		
-		assertEquals( editor.getId(), id );		
-		
-		//editor is not found
-		id = IConstants.FakeID;
-		editor = fReg.findEditor( id );		
-		assertNull( editor );
-	}
-
-	/**
-	 * getDefaultEditor()
-	 */	
-	public void testGetDefaultEditor() {
-		assertNotNull( fReg.getDefaultEditor() );	
-	}	
-
-	/**
-	 * getDefaultEditor(String fileName)
-	 */
-	public void testGetDefaultEditor2() {
-		IEditorDescriptor editor = fReg.getDefaultEditor( "a.mock1" );
-		assertEquals( editor.getId(), MockEditorPart.ID1 );
-		
-		// same extension with different name
-		IEditorDescriptor editor2 = fReg.getDefaultEditor( "b.mock1" );
-		assertEquals( editor, editor2 );
-				
-		//editor not found		
-		assertNull( fReg.getDefaultEditor( IConstants.UnknownFileName[0] ) );
-	}
-
-	/**
-	 * getDefaultEditor(IFile file)	
-	 */
-	public void testGetDefaultEditor3() throws Throwable {
-		proj = FileUtil.createProject("testProject");
-		
-		IFile file = FileUtil.createFile("Whats up.bro", proj);
-		String id = MockEditorPart.ID1;
-		IDE.setDefaultEditor(file, id);
-		IEditorDescriptor editor = IDE.getDefaultEditor(file);
-		assertEquals( editor.getId(), id );
-		
-		//attach an IFile object with a registered extension to a different editor
-		file = FileUtil.createFile("ambush.mock1", proj);
-		id = MockEditorPart.ID2;
-		IDE.setDefaultEditor( file, id );
-		editor = IDE.getDefaultEditor( file );
-		assertEquals( editor.getId(), id );
-		
-		//a non-registered IFile object with a registered extension
-		String name = "what.mock2";
-		file = FileUtil.createFile( name, proj);
-		editor = IDE.getDefaultEditor( file );
-		assertEquals( editor, fReg.getDefaultEditor( name ) );
-		
-		//a non-registered IFile object with an unregistered extension
-		name = IConstants.UnknownFileName[0];
-		file = FileUtil.createFile( name, proj);
-		assertNull( IDE.getDefaultEditor( file ) );
-	}
-	
-	public void testSetDefaultEditor() throws Throwable {
-		proj = FileUtil.createProject("testProject");		
-		IFile file = FileUtil.createFile("good.file", proj);
-
-		String id = MockEditorPart.ID1;
-		IDE.setDefaultEditor( file, id );	
-		IEditorDescriptor editor = IDE.getDefaultEditor( file );
-		assertEquals( editor.getId(), id );
-		
-		//change the default editor
-		id = MockEditorPart.ID2;
-		IDE.setDefaultEditor( file, id );	
-		editor = IDE.getDefaultEditor( file );
-		assertEquals( editor.getId(), id );
-		
-		//register the default editor with an invalid editor id
-		IDE.setDefaultEditor( file, IConstants.FakeID );	
-		assertNull( IDE.getDefaultEditor( file ) );		
-	}
-	
-	/**
-	 *	tests both of the following:
-	 *	getImageDescriptor(IFile file)    
-	 * 	getImageDescriptor(String filename)  
-	 */
-	public void testGetImageDescriptor() throws Throwable {
-		proj = FileUtil.createProject("testProject");		
-		
-		
-		ImageDescriptor image1, image2; 
-		String fileName;
-		
-		fileName = "a.mock1";
-		IFile file = FileUtil.createFile(fileName, proj);
-		image1 = fReg.getImageDescriptor( fileName );
-		image2 = fReg.getDefaultEditor( fileName).getImageDescriptor();
-		assertEquals( image1, image2 );
-		//for getImageDescriptor(IFile file)
-		assertEquals( image1, fReg.getImageDescriptor( file.getName() ) );
-		
-		//same extension, different file name
-		fileName = "b.mock1";
-		file = FileUtil.createFile(fileName, proj);
-		assertEquals( image1, fReg.getImageDescriptor( fileName ) );
-		assertEquals( image1, fReg.getImageDescriptor( file.getName() ) );
-		
-		//default image		
-		fileName = "a.nullAndVoid";
-		file = FileUtil.createFile(fileName, proj);
-		image1 = fReg.getImageDescriptor( fileName );
-		image2 = fReg.getImageDescriptor( "b.this_is_not_good" );				
-		assertNotNull( image1 );
-		assertEquals( image1, image2 );
-		assertEquals( image2, fReg.getImageDescriptor( file.getName() ) );
-	}
-	
-	public void testAddPropertyListener() throws Throwable {
-		final String METHOD = "propertyChanged";
-		
-		//take out mappings from the registry and put them back right away
-		//so that the event gets triggered without making change to the registry
-		IFileEditorMapping[] src = fReg.getFileEditorMappings();
-		FileEditorMapping[] maps = new FileEditorMapping[src.length];
-		System.arraycopy( src, 0, maps, 0, src.length);
-
-		MockPropertyListener listener =
-			new MockPropertyListener(fReg, IEditorRegistry.PROP_CONTENTS);
-		fReg.addPropertyListener( listener );
-		CallHistory callTrace = listener.getCallHistory();
-
-		//multiple listener
-		MockPropertyListener listener2 =
-			new MockPropertyListener(fReg, IEditorRegistry.PROP_CONTENTS);
-		fReg.addPropertyListener( listener2 );
-		CallHistory callTrace2 = listener2.getCallHistory();
-
-		//fire!!		
-		callTrace.clear();
-		callTrace2.clear();
-		((EditorRegistry)fReg).setFileEditorMappings( maps );				
-		assertEquals( callTrace.contains( METHOD ), true);
-		assertEquals( callTrace2.contains( METHOD ), true);
-		
-		//add the same listener second time
-		fReg.addPropertyListener( listener );
-		
-		//fire!!		
-		callTrace.clear();
-		((EditorRegistry)fReg).setFileEditorMappings( maps );				
-		//make sure the method was called only once
-		assertEquals(callTrace.verifyOrder(new String[] { METHOD }), true);
-		
-		fReg.removePropertyListener( listener );
-		fReg.removePropertyListener( listener2 );
-	}
-	
-	public void testRemovePropertyListener() {
-		IFileEditorMapping[] src = fReg.getFileEditorMappings();
-		FileEditorMapping[] maps = new FileEditorMapping[src.length];
-		System.arraycopy( src, 0, maps, 0, src.length);
-	
-		MockPropertyListener listener =
-			new MockPropertyListener(fReg, IEditorRegistry.PROP_CONTENTS);
-		fReg.addPropertyListener( listener );
-		//remove the listener immediately after adding it
-		fReg.removePropertyListener( listener );
-		CallHistory callTrace = listener.getCallHistory();
-	
-		//fire!!		
-		callTrace.clear();
-		((EditorRegistry)fReg).setFileEditorMappings( maps );				
-		assertEquals( callTrace.contains( "propertyChanged" ), false );
-		
-		//removing the listener that is not registered yet should have no effect
-		try{
-			fReg.removePropertyListener( listener );	
-		} catch (Throwable e) {
-			fail();
-		}
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IEditorSiteTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IEditorSiteTest.java
deleted file mode 100644
index f794331..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IEditorSiteTest.java
+++ /dev/null
@@ -1,69 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.tests.util.FileUtil;
-
-public class IEditorSiteTest extends IWorkbenchPartSiteTest {
-
-	/**
-	 * Constructor for IEditorSiteTest
-	 */
-	public IEditorSiteTest(String testName) {
-		super(testName);
-	}
-
-	/**
-	 * @see IWorkbenchPartSiteTest#getTestPartName()
-	 */
-	protected String getTestPartName() throws Throwable {
-		return MockEditorPart.NAME;
-	}
-
-	/**
-	 * @see IWorkbenchPartSiteTest#getTestPartId()
-	 */
-	protected String getTestPartId() throws Throwable {
-		return MockEditorPart.ID1;
-	}
-
-	/**
-	 * @see IWorkbenchPartSiteTest#createTestPart(IWorkbenchPage)
-	 */
-	protected IWorkbenchPart createTestPart(IWorkbenchPage page) throws Throwable {
-		IProject proj = FileUtil.createProject("createTestPart");
-		IFile file = FileUtil.createFile("test1.mock1", proj);
-		return IDE.openEditor(page, file, true);
-	}
-	
-	public void testGetActionBarContributor() throws Throwable {
-		// From Javadoc: "Returns the editor action bar contributor for 
-		// this editor.
-		
-		IEditorPart editor = (IEditorPart) createTestPart(fPage);
-		IEditorSite site = editor.getEditorSite();
-		assertNull(site.getActionBarContributor());
-		
-		// TBD: Flesh this out with a real contributor.
-	}
-
-	
-
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IFileEditorMappingTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IFileEditorMappingTest.java
deleted file mode 100644
index 0f29f22..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IFileEditorMappingTest.java
+++ /dev/null
@@ -1,77 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import junit.framework.TestCase;
-
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IFileEditorMapping;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.tests.util.ArrayUtil;
-
-public class IFileEditorMappingTest extends TestCase {
-	private IFileEditorMapping[] fMappings;
-	
-	public IFileEditorMappingTest( String testName )
-	{
-		super( testName );
-	}
-
-	public void setUp()
-	{
-		fMappings = PlatformUI.getWorkbench().getEditorRegistry().getFileEditorMappings();
-	}
-	
-	public void testGetName() throws Throwable
-	{
-		for( int i = 0; i < fMappings.length; i ++ )
-			assertNotNull( fMappings[ i ].getName() );
-	}
-
-	public void testGetLabel() throws Throwable
-	{
-		String label;
-		for( int i = 0; i < fMappings.length; i ++ ){
-			label = fMappings[ i ].getLabel();
-			assertNotNull( label );
-			assertTrue( label.equals( fMappings[ i ].getName() + "." + fMappings[ i ].getExtension() ) );			
-		}
-	}
-
-	public void testGetExtension() throws Throwable
-	{
-		for( int i = 0; i < fMappings.length; i ++ )
-			assertNotNull( fMappings[ i ].getExtension() );
-	}
-
-	public void testGetEditors() throws Throwable
-	{
-		IEditorDescriptor[] editors;
-		
-		for( int i = 0; i < fMappings.length; i ++ ){
-			editors = fMappings[ i ].getEditors();
-			assertTrue( ArrayUtil.checkNotNull( editors ) == true );
-		}
-	}
-
-	public void testGetImageDescriptor() throws Throwable
-	{
-		for( int i = 0; i < fMappings.length; i ++ )
-			assertNotNull( fMappings[ i ].getImageDescriptor() );
-	}
-
-//how do i set the default editor?
-	public void testGetDefaultEditor()  throws Throwable
-	{		
-/*		for( int i = 0; i < fMappings.length; i ++ )
-			assertNotNull( fMappings[ i ].getDefaultEditor() );*/
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IPageListenerTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IPageListenerTest.java
deleted file mode 100644
index 5a1e143..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IPageListenerTest.java
+++ /dev/null
@@ -1,153 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-
-import org.eclipse.ui.IPageListener;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.tests.util.UITestCase;
-
-/**
- * Tests the IPageListener class.
- */
-public class IPageListenerTest extends UITestCase 
-	implements IPageListener
-{
-	private IWorkbenchWindow fWindow;
-	private IWorkspace fWorkspace;
-	
-	private int eventsReceived = 0;
-	final private int OPEN = 0x01;
-	final private int CLOSE = 0x02;
-	final private int ACTIVATE = 0x04;
-	private IWorkbenchPage pageMask;
-	
-	public IPageListenerTest(String testName) {
-		super(testName);
-	}
-
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-		fWindow = openTestWindow();
-		fWorkspace = ResourcesPlugin.getWorkspace();
-		fWindow.addPageListener(this);
-	}
-	
-	protected void doTearDown() throws Exception {
-		fWindow.removePageListener(this);
-		super.doTearDown();
-	}
-
-	/**
-	 * Tests the pageOpened method.
-	 */	
-	public void testPageOpened() throws Throwable {
-/*
- * Commented out because until test case can be updated to work
- * with new window/page/perspective implementation
- * 
-		// From Javadoc: "Notifies this listener that the given page has been opened."
-		
-		// Test open page.
-		eventsReceived = 0;
-		IWorkbenchPage page = fWindow.openPage(EmptyPerspective.PERSP_ID,
-			fWorkspace);
-		assertEquals(eventsReceived, OPEN|ACTIVATE);
-		
-		// Close page.
-		page.close();
-*/
-	}
-	
-	/**
-	 * Tests the pageClosed method.
-	 */	
-	public void testPageClosed() throws Throwable {
-/*
- * Commented out because until test case can be updated to work
- * with new window/page/perspective implementation
- * 
-		// From Javadoc: "Notifies this listener that the given page has been closed."
-		
-		// Open page.
-		IWorkbenchPage page = fWindow.openPage(EmptyPerspective.PERSP_ID,
-			fWorkspace);
-			
-		// Test close page.
-		eventsReceived = 0;
-		pageMask = page;
-		page.close();
-		assertEquals(eventsReceived, CLOSE);
-*/
-	}
-	
-	/**
-	 * Tests the pageActivated method.
-	 */	
-	public void testPageActivate() throws Throwable {
-/*
- * Commented out because until test case can be updated to work
- * with new window/page/perspective implementation
- * 
-		// From Javadoc: "Notifies this listener that the given page has been activated."
-		
-		// Add pages.
-		IWorkbenchPage page1 = fWindow.openPage(EmptyPerspective.PERSP_ID,
-			fWorkspace);
-		IWorkbenchPage page2 = fWindow.openPage(EmptyPerspective.PERSP_ID,
-			fWorkspace);
-		
-		// Test activation of page 1.
-		eventsReceived = 0;
-		pageMask = page1;
-		fWindow.setActivePage(page1);
-		assertEquals(eventsReceived, ACTIVATE);
-
-		// Test activation of page 2.
-		eventsReceived = 0;		
-		pageMask = page2;
-		fWindow.setActivePage(page2);
-		assertEquals(eventsReceived, ACTIVATE);
-		
-		// Cleanup.
-		page1.close();
-		page2.close();
-*/
-	}
-	
-	/**
-	 * @see IPageListener#pageActivated(IWorkbenchPage)
-	 */
-	public void pageActivated(IWorkbenchPage page) {
-		if (pageMask == null || page == pageMask)
-			eventsReceived |= ACTIVATE;
-	}
-
-	/**
-	 * @see IPageListener#pageClosed(IWorkbenchPage)
-	 */
-	public void pageClosed(IWorkbenchPage page) {
-		if (pageMask == null || page == pageMask)
-			eventsReceived |= CLOSE;
-	}
-
-	/**
-	 * @see IPageListener#pageOpened(IWorkbenchPage)
-	 */
-	public void pageOpened(IWorkbenchPage page) {
-		if (pageMask == null || page == pageMask)
-			eventsReceived |= OPEN;
-	}
-
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IPageServiceTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IPageServiceTest.java
deleted file mode 100644
index 8a1aee8..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IPageServiceTest.java
+++ /dev/null
@@ -1,216 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-
-import org.eclipse.ui.IPageListener;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.tests.util.EmptyPerspective;
-import org.eclipse.ui.tests.util.UITestCase;
-
-/**
- * Tests the IPageService class.
- */
-public class IPageServiceTest extends UITestCase 
-	implements IPageListener, org.eclipse.ui.IPerspectiveListener
-{
-	private IWorkbenchWindow fWindow;
-	private IWorkspace fWorkspace;
-	
-	private boolean pageEventReceived;
-	private boolean perspEventReceived;
-	
-	public IPageServiceTest(String testName) {
-		super(testName);
-	}
-
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-		fWindow = openTestWindow();
-		fWorkspace = ResourcesPlugin.getWorkspace();
-	}
-	
-	/**
-	 * Tests the addPageListener method.
-	 */	
-	public void testAddPageListener() throws Throwable {
-/*
- * Commented out because until test case can be updated to work
- * with new window/page/perspective implementation
- * 
-		// From Javadoc: "Adds the given listener for page lifecycle events.
-		// Has no effect if an identical listener is already registered."
-		
-		// Add listener.
-		fWindow.addPageListener(this);
-		
-		// Open and close page.
-		// Verify events are received.
-		pageEventReceived = false;
-		IWorkbenchPage page = fWindow.openPage(EmptyPerspective.PERSP_ID,
-			fWorkspace);
-		page.close();
-		assertTrue(pageEventReceived);
-		
-		// Remove listener.	
-		fWindow.removePageListener(this);		
-*/
-	}
-	
-	/**
-	 * Tests the removePageListener method.
-	 */
-	public void testRemovePageListener() throws Throwable {
-		// From Javadoc: "Removes the given page listener.
-		// Has no affect if an identical listener is not registered."
-		
-		// Add and remove listener.
-		fWindow.addPageListener(this);
-		fWindow.removePageListener(this);		
-		
-		// Open and close page.
-		// Verify no events are received.
-		pageEventReceived = false;
-		IWorkbenchPage page = fWindow.openPage(EmptyPerspective.PERSP_ID,
-			fWorkspace);
-		page.close();
-		assertTrue(!pageEventReceived);
-	}
-	
-	/**
-	 * Tests getActivePage.
-	 */
-	public void testGetActivePage() throws Throwable {
-/*
- * Commented out because until test case can be updated to work
- * with new window/page/perspective implementation
- * 
-		// From Javadoc: "return the active page, or null if no page 
-		// is currently active"
-		
-		// Add page.
-		IWorkbenchPage page1 = fWindow.openPage(EmptyPerspective.PERSP_ID,
-			fWorkspace);
-		assertEquals(fWindow.getActivePage(), page1);
-		
-		// Add second page.
-		IWorkbenchPage page2 = fWindow.openPage(EmptyPerspective.PERSP_ID,
-			fWorkspace);
-		assertEquals(fWindow.getActivePage(), page2);
-		
-		// Set active page.
-		fWindow.setActivePage(page1);
-		assertEquals(fWindow.getActivePage(), page1);
-		fWindow.setActivePage(page2);
-		assertEquals(fWindow.getActivePage(), page2);
-		
-		// Cleanup.
-		page1.close();
-		page2.close();
-*/
-	}
-	
-	/**
-	 * Tests the addPerspectiveListener method.
-	 */	
-	public void testAddPerspectiveListener() throws Throwable {
-/*
- * Commented out because until test case can be updated to work
- * with new window/page/perspective implementation
- * 
-		// From Javadoc: "Adds the given listener for a page's perspective lifecycle events.
-		// Has no effect if an identical listener is already registered."
-		
-		// Add listener.
-		fWindow.addPerspectiveListener(this);
-		
-		// Open page and change persp feature.
-		// Verify events are received.
-		perspEventReceived = false;
-		IWorkbenchPage page = fWindow.openPage(IWorkbenchConstants.DEFAULT_LAYOUT_ID,
-			fWorkspace);
-		page.setEditorAreaVisible(false);
-		page.setEditorAreaVisible(true);
-		page.close();
-		assertTrue(perspEventReceived);
-		
-		// Remove listener.	
-		fWindow.removePerspectiveListener(this);		
-*/
-	}
-	
-	/**
-	 * Tests the removePerspectiveListener method.
-	 */	
-	public void testRemovePerspectiveListener() throws Throwable {
-		// From Javadoc: "Removes the given page's perspective listener.
-		// Has no affect if an identical listener is not registered."
-		
-		// Add and remove listener.
-		fWindow.addPerspectiveListener(this);
-		fWindow.removePerspectiveListener(this);		
-		
-		// Open page and change persp feature.
-		// Verify no events are received.
-		perspEventReceived = false;
-		IWorkbenchPage page = fWindow.openPage(IDE.RESOURCE_PERSPECTIVE_ID,
-			fWorkspace);
-		page.setEditorAreaVisible(false);
-		page.setEditorAreaVisible(true);
-		page.close();
-		assertTrue(!perspEventReceived);
-	}
-	
-	/**
-	 * @see IPageListener#pageActivated(IWorkbenchPage)
-	 */
-	public void pageActivated(IWorkbenchPage page) {
-		pageEventReceived = true;
-	}
-
-	/**
-	 * @see IPageListener#pageClosed(IWorkbenchPage)
-	 */
-	public void pageClosed(IWorkbenchPage page) {
-		pageEventReceived = true;
-	}
-
-	/**
-	 * @see IPageListener#pageOpened(IWorkbenchPage)
-	 */
-	public void pageOpened(IWorkbenchPage page) {
-		pageEventReceived = true;
-	}
-
-	/**
-	 * @see IPerspectiveListener#perspectiveActivated(IWorkbenchPage, IPerspectiveDescriptor)
-	 */
-	public void perspectiveActivated(IWorkbenchPage page,
-		IPerspectiveDescriptor perspective) 
-	{
-		perspEventReceived = true;
-	}
-
-	/**
-	 * @see IPerspectiveListener#perspectiveChanged(IWorkbenchPage, IPerspectiveDescriptor, String)
-	 */
-	public void perspectiveChanged(IWorkbenchPage page,
-		IPerspectiveDescriptor perspective, String changeId) 
-	{
-		perspEventReceived = true;
-	}
-
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IPartServiceTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IPartServiceTest.java
deleted file mode 100644
index f38cf5c..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IPartServiceTest.java
+++ /dev/null
@@ -1,372 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IPartListener2;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchPartReference;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.internal.PartSite;
-import org.eclipse.ui.tests.util.CallHistory;
-import org.eclipse.ui.tests.util.EmptyPerspective;
-import org.eclipse.ui.tests.util.UITestCase;
-
-/**
- * Tests the IPartService, IPartListener and IPartListener2 interfaces.
- */
-public class IPartServiceTest extends UITestCase {
-
-    private IWorkbenchWindow fWindow;
-	private IWorkbenchPage fPage;
-	
-	// Event state.
-	private IWorkbenchPart eventPart;
-	private IWorkbenchPartReference eventPartRef;
-	
-	class TestPartListener implements IPartListener {
-        public void partActivated(IWorkbenchPart part) {
-            history.add("partActivated");
-            eventPart = part;
-        }
-        public void partBroughtToTop(IWorkbenchPart part) {
-            history.add("partBroughtToTop");
-            eventPart = part;
-        }
-        public void partClosed(IWorkbenchPart part) {
-            history.add("partClosed");
-            eventPart = part;
-        }
-        public void partDeactivated(IWorkbenchPart part) {
-            history.add("partDeactivated");
-            eventPart = part;
-        }
-        public void partOpened(IWorkbenchPart part) {
-            history.add("partOpened");
-            eventPart = part;
-        }
-    }
-
-	class TestPartListener2 implements IPartListener2 {
-        public void partActivated(IWorkbenchPartReference ref) {
-            history2.add("partActivated");
-            eventPartRef = ref;
-        }
-        public void partBroughtToTop(IWorkbenchPartReference ref) {
-            history2.add("partBroughtToTop");
-            eventPartRef = ref;
-        }
-        public void partClosed(IWorkbenchPartReference ref) {
-            history2.add("partClosed");
-            eventPartRef = ref;
-        }
-        public void partDeactivated(IWorkbenchPartReference ref) {
-            history2.add("partDeactivated");
-            eventPartRef = ref;
-        }
-        public void partOpened(IWorkbenchPartReference ref) {
-            history2.add("partOpened");
-            eventPartRef = ref;
-        }
-        public void partHidden(IWorkbenchPartReference ref) {
-            history2.add("partHidden");
-            eventPartRef = ref;
-        }
-        public void partVisible(IWorkbenchPartReference ref) {
-            history2.add("partVisible");
-            eventPartRef = ref;
-        }
-        public void partInputChanged(IWorkbenchPartReference ref) {
-            history2.add("partInputChanged");
-            eventPartRef = ref;
-        }
-    }
-	
-	private IPartListener partListener = new TestPartListener();    
-	private IPartListener2 partListener2 = new TestPartListener2();    
-    private CallHistory history = new CallHistory(partListener);
-    private CallHistory history2 = new CallHistory(partListener2);
-
-	public IPartServiceTest(String testName) {
-		super(testName);
-	}
-
-	/**
-	 * Clear the event state.
-	 */
-	private void clearEventState() {
-		eventPart = null;
-		eventPartRef = null;
-		history.clear();
-		history2.clear();
-	}
-		
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-		fWindow = openTestWindow();
-		fPage = fWindow.getActivePage();
-	}
-
-	private IWorkbenchPartReference getRef(IWorkbenchPart part) {
-	    return ((PartSite) part.getSite()).getPartReference();
-	}
-	
-	/**
-	 * Tests the addPartListener method on IWorkbenchPage's part service.
-	 */	
-	public void testAddPartListenerToPage() throws Throwable {
-		// From Javadoc: "Adds the given listener for part lifecycle events.
-	    // Has no effect if an identical listener is already registered."
-		fPage.addPartListener(partListener);
-		fPage.addPartListener(partListener2);
-		
-		// Open a view.
-		// Verify events are received.
-		clearEventState();
-		MockViewPart view = (MockViewPart) fPage.showView(MockViewPart.ID);
-		assertTrue(history.verifyOrder(new String[] {"partOpened", "partActivated"}));
-		assertEquals(view, eventPart);
-		assertTrue(history2.verifyOrder(new String[] {"partOpened", "partVisible", "partActivated"}));
-		assertEquals(getRef(view), eventPartRef);
-
-		// Hide the view
-		// Verify events are received.
-		clearEventState();
-		fPage.hideView(view);
-		assertTrue(history.verifyOrder(new String[] {"partDeactivated", "partClosed"}));
-		assertEquals(view, eventPart);
-		assertTrue(history2.verifyOrder(new String[] {"partDeactivated", "partHidden", "partClosed"}));
-		assertEquals(getRef(view), eventPartRef);
-	}
-	
-	/**
-	 * Tests the addPartListener method on IWorkbenchWindow's part service.
-	 */	
-	public void testAddPartListenerToWindow() throws Throwable {
-		// From Javadoc: "Adds the given listener for part lifecycle events.
-	    // Has no effect if an identical listener is already registered."
-		fWindow.getPartService().addPartListener(partListener);
-		fWindow.getPartService().addPartListener(partListener2);
-		
-		// Open a view.
-		// Verify events are received.
-		clearEventState();
-		MockViewPart view = (MockViewPart) fPage.showView(MockViewPart.ID);
-		assertTrue(history.verifyOrder(new String[] {"partOpened", "partActivated"}));
-		assertEquals(view, eventPart);
-		assertTrue(history2.verifyOrder(new String[] {"partOpened", "partVisible", "partActivated"}));
-		assertEquals(getRef(view), eventPartRef);
-
-		// Hide the view
-		// Verify events are received.
-		clearEventState();
-		fPage.hideView(view);
-		assertTrue(history.verifyOrder(new String[] {"partDeactivated", "partClosed"}));
-		assertEquals(view, eventPart);
-		assertTrue(history2.verifyOrder(new String[] {"partDeactivated", "partHidden", "partClosed"}));
-		assertEquals(getRef(view), eventPartRef);
-	}
-	
-	/**
-	 * Tests the removePartListener method on IWorkbenchPage's part service.
-	 */
-	public void testRemovePartListenerFromPage() throws Throwable {
-		// From Javadoc: "Removes the given part listener.
-	    // Has no affect if an identical listener is not registered."
-		
-		// Add and remove listener.
-		fPage.addPartListener(partListener);
-		fPage.addPartListener(partListener2);
-		fPage.removePartListener(partListener);		
-		fPage.removePartListener(partListener2);		
-		
-		// Open a view.
-		// Verify no events are received.
-		clearEventState();
-		fPage.showView(MockViewPart.ID);
-		assertTrue(history.isEmpty());
-		assertTrue(history2.isEmpty());
-	}
-
-	/**
-	 * Tests the removePartListener method on IWorkbenchWindow's part service.
-	 */
-	public void testRemovePartListenerFromWindow() throws Throwable {
-		// From Javadoc: "Removes the given part listener.
-	    // Has no affect if an identical listener is not registered."
-		
-		// Add and remove listener.
-	    fWindow.getPartService().addPartListener(partListener);
-		fWindow.getPartService().addPartListener(partListener2);
-		fWindow.getPartService().removePartListener(partListener);		
-		fWindow.getPartService().removePartListener(partListener2);		
-		
-		// Open a view.
-		// Verify no events are received.
-		clearEventState();
-		fPage.showView(MockViewPart.ID);
-		assertTrue(history.isEmpty());
-		assertTrue(history2.isEmpty());
-	}
-	
-	/**
-	 * Tests the partHidden method by closing a view when it is not shared with another perspective.
-	 * Includes regression test for: 
-	 *   Bug 60039 [ViewMgmt] (regression) IWorkbenchPage#findView returns non-null value after part has been closed
-	 */
-	public void testPartHiddenWhenClosedAndUnshared() throws Throwable {
-	    IPartListener2 listener = new TestPartListener2() {
-            public void partHidden(IWorkbenchPartReference ref) {
-                super.partHidden(ref);
-                // ensure that the notification is for the view we closed
-                assertEquals(MockViewPart.ID, ref.getId());
-                // ensure that the view cannot be found
-                assertNull(fPage.findView(MockViewPart.ID));
-            }
-	    };
-		MockViewPart view = (MockViewPart) fPage.showView(MockViewPart.ID);
-	    fPage.addPartListener(listener);
-		clearEventState();
-		fPage.hideView(view);
-		assertTrue(history2.contains("partHidden"));
-		assertEquals(getRef(view), eventPartRef);
-	}
-
-	/**
-	 * Tests the partHidden method by closing a view when it is shared with another perspective.
-	 * Includes regression test for: 
-	 *   Bug 60039 [ViewMgmt] (regression) IWorkbenchPage#findView returns non-null value after part has been closed
-	 */
-	public void testPartHiddenWhenClosedAndShared() throws Throwable {
-	    IPartListener2 listener = new TestPartListener2() {
-            public void partHidden(IWorkbenchPartReference ref) {
-                super.partHidden(ref);
-                // ensure that the notification is for the view we closed
-                assertEquals(MockViewPart.ID, ref.getId());
-                // ensure that the view cannot be found
-                assertNull(fPage.findView(MockViewPart.ID));
-            }
-	    };
-		MockViewPart view = (MockViewPart) fPage.showView(MockViewPart.ID);
-		IPerspectiveDescriptor emptyPerspDesc2 = fWindow.getWorkbench().getPerspectiveRegistry().findPerspectiveWithId(EmptyPerspective.PERSP_ID2);
-		fPage.setPerspective(emptyPerspDesc2);
-		MockViewPart view2 = (MockViewPart) fPage.showView(MockViewPart.ID);
-		assertTrue(view == view2);
-	    fPage.addPartListener(listener);
-		clearEventState();
-		fPage.hideView(view);
-		assertTrue(history2.contains("partHidden"));
-		assertEquals(getRef(view), eventPartRef);
-	}
-
-	/**
-	 * Tests the partHidden method by activating another view in the same folder.
-	 */
-	public void testPartHiddenWhenObscured() throws Throwable {
-	    final boolean[] eventReceived = { false };
-	    IPartListener2 listener = new TestPartListener2() {
-            public void partHidden(IWorkbenchPartReference ref) {
-                super.partHidden(ref);
-                // ensure that the notification is for the view that was obscured
-                assertEquals(MockViewPart.ID, ref.getId());
-                // ensure that the view can still be found
-                assertNotNull(fPage.findView(MockViewPart.ID));
-                eventReceived[0] = true;
-            }
-	    };
-		MockViewPart view2 = (MockViewPart) fPage.showView(MockViewPart.ID2);
-		MockViewPart view = (MockViewPart) fPage.showView(MockViewPart.ID);
-		assertEquals(view, fPage.getActivePart());
-	    fPage.addPartListener(listener);
-		clearEventState();
-		fPage.activate(view2);
-		assertTrue(eventReceived[0]);
-	}
-	
-	/**
-	 * Tests the partVisible method by showing a view when it is not
-	 * open in any other perspectives.
-	 */
-	public void testPartVisibleWhenOpenedUnshared() throws Throwable {
-	    final boolean[] eventReceived = { false };
-	    IPartListener2 listener = new TestPartListener2() {
-            public void partVisible(IWorkbenchPartReference ref) {
-                super.partVisible(ref);
-                // ensure that the notification is for the view we opened
-                assertEquals(MockViewPart.ID, ref.getId());
-                // ensure that the view can be found
-                assertNotNull(fPage.findView(MockViewPart.ID));
-                eventReceived[0] = true;
-            }
-	    };
-	    fPage.addPartListener(listener);
-		clearEventState();
-		MockViewPart view = (MockViewPart) fPage.showView(MockViewPart.ID);
-		assertEquals(view, fPage.getActivePart());
-		assertTrue(eventReceived[0]);
-	}
-	
-	/**
-	 * Tests the partVisible method by showing a view when it is already
-	 * open in another perspective.
-	 */
-	public void testPartVisibleWhenOpenedShared() throws Throwable {
-	    final boolean[] eventReceived = { false };
-	    IPartListener2 listener = new TestPartListener2() {
-            public void partVisible(IWorkbenchPartReference ref) {
-                super.partVisible(ref);
-                // ensure that the notification is for the view we opened
-                assertEquals(MockViewPart.ID, ref.getId());
-                // ensure that the view can be found
-                assertNotNull(fPage.findView(MockViewPart.ID));
-                eventReceived[0] = true;
-            }
-	    };
-		MockViewPart view = (MockViewPart) fPage.showView(MockViewPart.ID);
-		IPerspectiveDescriptor emptyPerspDesc2 = fWindow.getWorkbench().getPerspectiveRegistry().findPerspectiveWithId(EmptyPerspective.PERSP_ID2);
-		fPage.setPerspective(emptyPerspDesc2);
-	    fPage.addPartListener(listener);
-		clearEventState();
-		MockViewPart view2 = (MockViewPart) fPage.showView(MockViewPart.ID);
-		assertTrue(view == view2);
-		assertEquals(view2, fPage.getActivePart());
-		assertTrue(eventReceived[0]);
-	}
-	
-	/**
-	 * Tests the partVisible method by activating a view obscured by
-	 * another view in the same folder.
-	 */
-	public void testPartVisibleWhenObscured() throws Throwable {
-	    final boolean[] eventReceived = { false };
-	    IPartListener2 listener = new TestPartListener2() {
-            public void partVisible(IWorkbenchPartReference ref) {
-                super.partVisible(ref);
-                // ensure that the notification is for the view we revealed
-                assertEquals(MockViewPart.ID, ref.getId());
-                // ensure that the view can still be found
-                assertNotNull(fPage.findView(MockViewPart.ID));
-                eventReceived[0] = true;
-            }
-	    };
-		MockViewPart view = (MockViewPart) fPage.showView(MockViewPart.ID);
-		MockViewPart view2 = (MockViewPart) fPage.showView(MockViewPart.ID2);
-		assertEquals(view2, fPage.getActivePart());
-	    fPage.addPartListener(listener);
-		clearEventState();
-		fPage.activate(view);
-		assertTrue(eventReceived[0]);
-	}
-	
-	
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IPerspectiveDescriptorTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IPerspectiveDescriptorTest.java
deleted file mode 100644
index 49fdc76..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IPerspectiveDescriptorTest.java
+++ /dev/null
@@ -1,78 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import junit.framework.TestCase;
-
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IPerspectiveRegistry;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.tests.util.ArrayUtil;
-
-public class IPerspectiveDescriptorTest extends TestCase {
-
-	private IPerspectiveDescriptor fPer;
-	private IPerspectiveRegistry fReg;
-	
-	public IPerspectiveDescriptorTest( String testName )
-	{
-		super( testName );
-	}
-	
-	public void setUp()
-	{
-		fPer = ( IPerspectiveDescriptor )ArrayUtil.pickRandom( PlatformUI.getWorkbench().getPerspectiveRegistry().getPerspectives() );
-		//fPer.
-	}
-	
-	public void testGetId()
-	{
-		assertNotNull( fPer.getId() );
-	}
-	
-	public void testGetLabel()
-	{
-		assertNotNull( fPer.getLabel() );	
-	}
-
-//	This always fails
-	public void testGetImageDescriptor()
-	{
-/*		IWorkbench wb = PlatformUI.getWorkbench();
-		
-		IPerspectiveDescriptor[] pers = wb.getPerspectiveRegistry().getPerspectives();
-		IWorkbenchPage page = wb.getActiveWorkbenchWindow().getActivePage();
-	
-		for( int i = 0; i < pers.length; i ++ )
-			if( pers[ i ] != page.getPerspective() ){
-				page.setPerspective( pers[ i ] );
-				break;
-			}
-
-		System.out.println( "active page pers: " + page.getPerspective().getLabel() );
-		System.out.println( "active pers image: " + page.getPerspective().getImageDescriptor() );
-
-		for( int i = 0; i < pers.length; i ++ )
-			if( pers[ i ].getLabel().equals( "Resource" ) ){
-				System.out.println( "resource image: " + pers[ i ].getImageDescriptor() );
-				break;
-			}
-		for( int i = 0; i < pers.length; i ++ ){
-			assertNotNull( pers[ i ].getImageDescriptor() );
-		}*/
-	}
-	
-	public void testThis()
-	{
-//		opne
-	}
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IPerspectiveListenerTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IPerspectiveListenerTest.java
deleted file mode 100644
index c91b110..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IPerspectiveListenerTest.java
+++ /dev/null
@@ -1,117 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IPerspectiveListener;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.tests.util.UITestCase;
-
-public class IPerspectiveListenerTest extends UITestCase implements IPerspectiveListener {
-	private int fEvent;
-	private IWorkbenchWindow fWindow;
-	private IWorkbenchPage fPageMask;
-	private IPerspectiveDescriptor fPerMask;
-	
-	/**
-	 * bit masks for events
-	 */
-	public static final int 
-		NONE = 0x00,
-		OPEN = 0x01,
-		CLOSED = 0x02,
-		ACTIVATED = 0x04,
-		CHANGED = 0x08;
-	
-	public IPerspectiveListenerTest( String testName )
-	{
-		super( testName );
-	}
-	
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-		fEvent = NONE;		
-		fWindow = openTestWindow();		
-		fWindow.addPerspectiveListener( this );
-	}
-	
-	protected void doTearDown() throws Exception {
-		fWindow.removePerspectiveListener( this );
-		super.doTearDown();
-	}
-	
-	public void testPerspectiveActivated()
-	{
-/*
- * Commented out because until test case can be updated to work
- * with new window/page/perspective implementation
- * 
-		fPageMask = fWindow.getActivePage();
-		fPerMask = fWorkbench.getPerspectiveRegistry().findPerspectiveWithId(EmptyPerspective.PERSP_ID );
-		fPageMask.setPerspective( fPerMask );
-		
-		assertEquals( isActivated( fEvent ), true );
-*/
-	}
-
-	public void testPerspectiveChanged()
-	{
-/*
- * Commented out because until test case can be updated to work
- * with new window/page/perspective implementation
- * 
-		fPageMask = fWindow.getActivePage();
-		fPerMask = fWorkbench.getPerspectiveRegistry().findPerspectiveWithId(EmptyPerspective.PERSP_ID );
-		fPageMask.setPerspective( fPerMask );
-		
-		assertEquals( isActivated( fEvent ), true );
-*/
-	}
-	
-	/**
-	 * @see IPerspectiveListener#perspectiveActivated(IWorkbenchPage, IPerspectiveDescriptor)
-	 */
-	public void perspectiveActivated( IWorkbenchPage page, IPerspectiveDescriptor perspective ) 
-	{
-		if( page == fPageMask && perspective == fPerMask )
-			fEvent |= ACTIVATED;
-	}
-
-	/**
-	 * @see IPerspectiveListener#perspectiveChanged(IWorkbenchPage, IPerspectiveDescriptor, String)
-	 */
-	public void perspectiveChanged( IWorkbenchPage page, IPerspectiveDescriptor perspective, String changeId) 
-	{
-		if( page == fPageMask && perspective == fPerMask )
-			fEvent |= CHANGED;
-	}
-	
-	public static boolean isOpen( int bits )
-	{
-		return ( ( bits & OPEN ) != 0 );		
-	}
-
-	public static boolean isClosed( int bits )
-	{
-		return ( ( bits & CLOSED ) != 0 );		
-	}
-	
-	public static boolean isActivated( int bits )
-	{
-		return ( ( bits & ACTIVATED ) != 0 );		
-	}
-	
-	public static boolean isChanged( int bits )
-	{
-		return( ( bits & CLOSED ) != 0 );
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IPerspectiveRegistryTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IPerspectiveRegistryTest.java
deleted file mode 100644
index ec85ed3..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IPerspectiveRegistryTest.java
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/ISelectionServiceTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/ISelectionServiceTest.java
deleted file mode 100644
index 12a0884..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/ISelectionServiceTest.java
+++ /dev/null
@@ -1,214 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.tests.SelectionProviderView;
-import org.eclipse.ui.tests.util.UITestCase;
-
-/**
- * Tests the ISelectionService class.
- */
-public class ISelectionServiceTest extends UITestCase 
-	implements ISelectionListener
-{
-	private IWorkbenchWindow fWindow;
-	private IWorkbenchPage fPage;
-	
-	// Event state.
-	private boolean eventReceived;
-	private ISelection eventSelection;
-	private IWorkbenchPart eventPart;
-	
-	public ISelectionServiceTest(String testName) {
-		super(testName);
-	}
-
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-		fWindow = openTestWindow();
-		fPage = fWindow.getActivePage();
-	}
-	
-	/**
-	 * Tests the addSelectionListener method.
-	 */	
-	public void testAddSelectionListener() throws Throwable {
-		// From Javadoc: "Adds the given selection listener.
-		// Has no effect if an identical listener is already registered."
-		
-		// Add listener.
-		fPage.addSelectionListener(this);
-		
-		// Open a view and select something.
-		// Verify events are received.
-		clearEventState();
-		SelectionProviderView view = (SelectionProviderView)
-			fPage.showView(SelectionProviderView.ID);
-		view.setSelection("Selection");
-		assertTrue("EventReceived", eventReceived);
-	}
-	
-	/**
-	 * Tests the removePageListener method.
-	 */
-	public void testRemoveSelectionListener() throws Throwable {
-		// From Javadoc: "Removes the given selection listener.
- 		// Has no affect if an identical listener is not registered."
-		
-		// Add and remove listener.
-		fPage.addSelectionListener(this);
-		fPage.removeSelectionListener(this);		
-		
-		// Open a view and select something.
-		// Verify no events are received.
-		clearEventState();
-		SelectionProviderView view = (SelectionProviderView)
-			fPage.showView(SelectionProviderView.ID);
-		view.setSelection("Selection");
-		assertTrue("EventReceived", !eventReceived);
-	}
-
-	/**
-	 * Tests getActivePage.
-	 */
-	public void testGetSelection() throws Throwable {
-		// From Javadoc: "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>"
-		Object actualSel, sel1 = "Selection 1", sel2 = "Selection 2";
-		
-		// Open view.
-		SelectionProviderView view = (SelectionProviderView)
-			fPage.showView(SelectionProviderView.ID);
-			
-		// Fire selection and verify.
-		view.setSelection(sel1);
-		actualSel = unwrapSelection(fPage.getSelection());
-		assertEquals("Selection", sel1, actualSel);
-		
-		// Fire selection and verify.
-		view.setSelection(sel2);
-		actualSel = unwrapSelection(fPage.getSelection());
-		assertEquals("Selection", sel2, actualSel);
-		
-		// Close view and verify.
-		fPage.hideView(view);
-		assertNull("getSelection", fPage.getSelection());
-	}
-
-	/**
-	 * Test event firing for inactive parts.  In this scenario 
-	 * the event should not be fired.
-	 */
-	public void testSelectionEventWhenInactive() throws Throwable {
-		Object sel1 = "Selection 1", sel2 = "Selection 2";
-		
-		// Add listener.
-		fPage.addSelectionListener(this);
-
-		// Open two views.
-		SelectionProviderView view1 = (SelectionProviderView)
-			fPage.showView(SelectionProviderView.ID);
-		SelectionProviderView view2 = (SelectionProviderView)
-			fPage.showView(SelectionProviderView.ID_2);
-			
-		// Fire selection from the second.
-		// Verify it is received.
-		clearEventState();
-		view2.setSelection(sel2);
-		assertTrue("EventReceived", eventReceived);
-		assertEquals("EventPart", view2, eventPart);
-		assertEquals("Event Selection", sel2, unwrapSelection(eventSelection));
-
-		// Fire selection from the first.
-		// Verify it is NOT received.
-		clearEventState();
-		view1.setSelection(sel1);
-		assertTrue("Unexpected selection events received", !eventReceived);
-	}
-		
-	/**
-	 * Test event firing when activated.  
-	 */
-	public void testSelectionEventWhenActivated() throws Throwable {
-		// From Javadoc: "Adds the given selection listener.
-		// Has no effect if an identical listener is already registered."
-		Object sel1 = "Selection 1", sel2 = "Selection 2";
-		
-		// Add listener.
-		fPage.addSelectionListener(this);
-		
-		// Open a view and select something.
-		SelectionProviderView view1 = (SelectionProviderView)
-			fPage.showView(SelectionProviderView.ID);
-		view1.setSelection(sel1);
-		
-		// Open another view and select something.
-		SelectionProviderView view2 = (SelectionProviderView)
-			fPage.showView(SelectionProviderView.ID_2);
-		view2.setSelection(sel2);
-		
-		// Activate the first view.
-		// Verify that selection events are fired.
-		clearEventState();
-		fPage.activate(view1);
-		assertTrue("EventReceived", eventReceived);
-		assertEquals("EventPart", view1, eventPart);
-		assertEquals("Event Selection", sel1, unwrapSelection(eventSelection));
-		
-		// Activate the second view.
-		// Verify that selection events are fired.
-		clearEventState();
-		fPage.activate(view2);
-		assertTrue("EventReceived", eventReceived);
-		assertEquals("EventPart", view2, eventPart);
-		assertEquals("Event Selection", sel2, unwrapSelection(eventSelection));
-	}
-		
-	/**
-	 * Unwrap a selection.
-	 */
-	private Object unwrapSelection(ISelection sel) {
-		if (sel instanceof StructuredSelection) {
-			StructuredSelection struct = (StructuredSelection)sel;
-			if (struct.size() == 1)
-				return struct.getFirstElement();
-		}
-		return null;
-	}
-	
-	/**
-	 * Clear the event state.
-	 */
-	private void clearEventState() {
-		eventReceived = false;
-		eventPart = null;
-		eventSelection = null;
-	}
-		
-	/*
-	 * @see ISelectionListener#selectionChanged(IWorkbenchPart, ISelection)
-	 */
-	public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-		eventReceived = true;
-		eventPart = part;
-		eventSelection = selection;
-	}
-
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IViewActionDelegateTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IViewActionDelegateTest.java
deleted file mode 100644
index c239c2d..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IViewActionDelegateTest.java
+++ /dev/null
@@ -1,72 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.jface.action.IMenuManager;
-
-import org.eclipse.ui.tests.util.ActionUtil;
-
-
-/**
- * Tests the lifecycle for a view action delegate.
- */
-public class IViewActionDelegateTest extends IActionDelegateTest {
-	
-	public static String TEST_VIEW_ID = "org.eclipse.ui.tests.api.IViewActionDelegateTest";
-
-	/**
-	 * Constructor for IWorkbenchWindowActionDelegateTest
-	 */
-	public IViewActionDelegateTest(String testName) {
-		super(testName);
-	}
-
-	public void testInit() throws Throwable {
-		// When an action delegate is run the
-		// init, selectionChanged, and run methods should
-		// be called, in that order.
-		
-		// Run the action.
-		testRun();
-		
-		// Verify lifecycle.
-		MockActionDelegate delegate = getDelegate();
-		assertNotNull(delegate);
-		assertTrue(delegate.callHistory.verifyOrder(
-			new String [] {"init", "selectionChanged", "run"}));
-	}
-	
-	/**
-	 * @see IActionDelegateTest#createActionWidget()
-	 */
-	protected Object createActionWidget() throws Throwable {
-		MockViewPart view = (MockViewPart)fPage.showView(TEST_VIEW_ID);
-		return view;
-	}
-
-	/**
-	 * @see IActionDelegateTest#runAction()
-	 */
-	protected void runAction(Object widget) throws Throwable {
-		MockViewPart view = (MockViewPart)widget;
-		IMenuManager mgr = view.getViewSite().getActionBars().getMenuManager();
-		ActionUtil.runActionWithLabel(this, mgr, "Mock Action");
-	}
-
-	/**
-	 * @see IActionDelegateTest#fireSelection()
-	 */
-	protected void fireSelection(Object widget) throws Throwable {
-		MockViewPart view = (MockViewPart)widget;
-		view.fireSelection();
-	}
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IViewPartTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IViewPartTest.java
deleted file mode 100644
index e0e300c..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IViewPartTest.java
+++ /dev/null
@@ -1,46 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-
-/**
- * This is a test for IViewPart.  Since IViewPart is an
- * interface this test verifies the IViewPart lifecycle rather
- * than the implementation.
- */
-public class IViewPartTest extends IWorkbenchPartTest {
-
-	/**
-	 * Constructor for IEditorPartTest
-	 */
-	public IViewPartTest(String testName) {
-		super(testName);
-	}
-
-	/**
-	 * @see IWorkbenchPartTest#openPart(IWorkbenchPage)
-	 */
-	protected MockPart openPart(IWorkbenchPage page) throws Throwable {
-		return (MockWorkbenchPart)page.showView(MockViewPart.ID);
-	}
-
-	/**
-	 * @see IWorkbenchPartTest#closePart(IWorkbenchPage, MockWorkbenchPart)
-	 */
-	protected void closePart(IWorkbenchPage page, MockPart part)
-		throws Throwable 
-	{
-		page.hideView((IViewPart)part);
-	}
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IViewSiteTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IViewSiteTest.java
deleted file mode 100644
index f54bcff..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IViewSiteTest.java
+++ /dev/null
@@ -1,57 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-
-public class IViewSiteTest extends IWorkbenchPartSiteTest {
-
-	/**
-	 * Constructor for IViewPartSiteTest
-	 */
-	public IViewSiteTest(String testName) {
-		super(testName);
-	}
-
-	/**
-	 * @see IWorkbenchPartSiteTest#getTestPartName()
-	 */
-	protected String getTestPartName() throws Throwable {
-		return MockViewPart.NAME;
-	}
-
-	/**
-	 * @see IWorkbenchPartSiteTest#getTestPartId()
-	 */
-	protected String getTestPartId() throws Throwable {
-		return MockViewPart.ID;
-	}
-
-	/**
-	 * @see IWorkbenchPartSiteTest#createTestPart(IWorkbenchPage)
-	 */
-	protected IWorkbenchPart createTestPart(IWorkbenchPage page) throws Throwable {
-		return page.showView(MockViewPart.ID);
-	}
-	
-	public void testGetActionBars() throws Throwable {
-		// From Javadoc: "Returns the action bars for this part site."
-		
-		IViewPart view = (IViewPart) createTestPart(fPage);
-		IViewSite site = view.getViewSite();
-		assertNotNull(site.getActionBars());
-	}
-
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkbenchPageTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkbenchPageTest.java
deleted file mode 100644
index 6d17ed8..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkbenchPageTest.java
+++ /dev/null
@@ -1,1343 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-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.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IViewReference;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.internal.ClosePerspectiveAction;
-import org.eclipse.ui.internal.WorkbenchPage;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.registry.IActionSetDescriptor;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.tests.TestPlugin;
-import org.eclipse.ui.tests.util.CallHistory;
-import org.eclipse.ui.tests.util.EmptyPerspective;
-import org.eclipse.ui.tests.util.FileUtil;
-import org.eclipse.ui.tests.util.PerspectiveWithFastView;
-import org.eclipse.ui.tests.util.PlatformUtil;
-import org.eclipse.ui.tests.util.UITestCase;
-
-public class IWorkbenchPageTest extends UITestCase {
-
-	private IWorkbenchPage fActivePage;
-	private IWorkbenchWindow fWin;
-	private IProject proj;
-
-	public IWorkbenchPageTest(String testName) {
-		super(testName);
-	}
-
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-		fWin = openTestWindow();
-		fActivePage = fWin.getActivePage();
-	}
-
-	protected void doTearDown() throws Exception {
-		super.doTearDown();
-		if (proj != null) {
-			try {
-				FileUtil.deleteProject(proj);
-			} catch (CoreException e) {
-				TestPlugin.getDefault().getLog().log(e.getStatus());
-				fail();			
-				
-			}
-			proj = null;
-		}
-	}
-
-	
-	/**
-	 *	tests both of the following:	
-	 *	setEditorAreaVisible()
-	 *	isEditorAreaVisible()
-	 */
-	public void testGet_SetEditorAreaVisible() throws Throwable {
-		fActivePage.setEditorAreaVisible(true);
-		assertTrue(fActivePage.isEditorAreaVisible() == true);
-
-		fActivePage.setEditorAreaVisible(false);
-		assertTrue(fActivePage.isEditorAreaVisible() == false);
-	}
-
-	public void testGetPerspective() throws Throwable {
-		assertNotNull(fActivePage.getPerspective());
-
-		IWorkbenchPage page =
-			fWin.openPage(
-				EmptyPerspective.PERSP_ID,
-				ResourcesPlugin.getWorkspace());
-		assertEquals(EmptyPerspective.PERSP_ID, page.getPerspective().getId());
-	}
-
-	public void testSetPerspective() throws Throwable {
-		IPerspectiveDescriptor per =
-			PlatformUI
-				.getWorkbench()
-				.getPerspectiveRegistry()
-				.findPerspectiveWithId(
-				EmptyPerspective.PERSP_ID);
-		fActivePage.setPerspective(per);
-		assertEquals(per, fActivePage.getPerspective());
-	}
-
-	public void testGetLabel() {
-		assertNotNull(fActivePage.getLabel());
-	}
-
-	public void testGetInput() throws Throwable {
-		IAdaptable input = ResourcesPlugin.getWorkspace();
-		IWorkbenchPage page = fWin.openPage(input);
-		assertEquals(input, page.getInput());
-	}
-
-	public void testActivate() throws Throwable {
-		MockViewPart part =
-			(MockViewPart) fActivePage.showView(MockViewPart.ID);
-		MockViewPart part2 =
-			(MockViewPart) fActivePage.showView(MockViewPart.ID2);
-
-		MockPartListener listener = new MockPartListener();
-		fActivePage.addPartListener(listener);
-		fActivePage.activate(part);
-
-		CallHistory callTrace;
-
-		callTrace = part2.getCallHistory();
-		callTrace.clear();
-		fActivePage.activate(part2);
-		assertTrue(callTrace.contains("setFocus"));
-		assertTrue(listener.getCallHistory().contains("partActivated"));
-
-		callTrace = part.getCallHistory();
-		callTrace.clear();
-		fActivePage.activate(part);
-		assertTrue(callTrace.contains("setFocus"));
-		assertTrue(listener.getCallHistory().contains("partActivated"));
-	}
-
-	public void testBringToTop() throws Throwable {
-		proj = FileUtil.createProject("testOpenEditor");
-		IEditorPart part = IDE.openEditor(fActivePage, FileUtil.createFile("a.mock1", proj));
-		IEditorPart part2 = IDE.openEditor(fActivePage, FileUtil.createFile("b.mock1", proj));
-
-		MockPartListener listener = new MockPartListener();
-		fActivePage.addPartListener(listener);
-		CallHistory callTrace = listener.getCallHistory();
-
-		//at this point, part2 is active
-		fActivePage.bringToTop(part);
-		assertEquals(callTrace.contains("partBroughtToTop"), true);
-
-		callTrace.clear();
-		fActivePage.bringToTop(part2);
-		assertEquals(callTrace.contains("partBroughtToTop"), true);
-	}
-
-	public void testGetWorkbenchWindow() {
-		/*
-		 * Commented out because until test case can be updated to work
-		 * with new window/page/perspective implementation
-		 * 
-				assertEquals(fActivePage.getWorkbenchWindow(), fWin);
-				IWorkbenchPage page = openTestPage(fWin);
-				assertEquals(page.getWorkbenchWindow(), fWin);
-		*/
-	}
-
-	public void testShowView() throws Throwable {
-		/*
-			javadoc: Shows a view in this page and give it focus
-		*/
-		MockViewPart view =
-			(MockViewPart) fActivePage.showView(MockViewPart.ID);
-		assertNotNull(view);
-		assertTrue(
-			view.getCallHistory().verifyOrder(
-				new String[] { "init", "createPartControl", "setFocus" }));
-
-		fActivePage.showView(MockViewPart.ID2);
-
-		/*
-			javadoc: If the view is already visible, it is given focus
-		*/
-		CallHistory callTrace = view.getCallHistory();
-		callTrace.clear();
-		assertEquals(fActivePage.showView(MockViewPart.ID), view);
-		assertEquals(callTrace.contains("setFocus"), true);
-	}
-
-	public void testShowViewMult() throws Throwable {
-		/*
-			javadoc: Shows the view identified by the given view id and secondary id 
-			  in this page and gives it focus. 
-			  This allows multiple instances of a particular view to be created.  
-			  They are disambiguated using the secondary id.
-		*/
-		MockViewPart view =
-			(MockViewPart) fActivePage.showView(MockViewPart.IDMULT);
-		assertNotNull(view);
-		assertTrue(
-			view.getCallHistory().verifyOrder(
-				new String[] { "init", "createPartControl", "setFocus" }));
-		MockViewPart view2 =
-			(MockViewPart) fActivePage.showView(MockViewPart.IDMULT, "2", IWorkbenchPage.VIEW_ACTIVATE);
-		assertNotNull(view2);
-		assertTrue(
-			view2.getCallHistory().verifyOrder(
-				new String[] { "init", "createPartControl", "setFocus" }));
-		assertTrue(!view.equals(view2));
-		MockViewPart view3 =
-			(MockViewPart) fActivePage.showView(MockViewPart.IDMULT, "3", IWorkbenchPage.VIEW_ACTIVATE);
-		assertNotNull(view3);
-		assertTrue(
-			view3.getCallHistory().verifyOrder(
-				new String[] { "init", "createPartControl", "setFocus" }));
-		assertTrue(!view.equals(view3));
-		assertTrue(!view2.equals(view3));
-
-		/*
-			javadoc: If there is a view identified by the given view id and 
-			  secondary id already open in this page, it is given focus.
-		*/
-		CallHistory callTrace = view.getCallHistory();
-		callTrace.clear();
-		assertEquals(fActivePage.showView(MockViewPart.IDMULT), view);
-		assertEquals(callTrace.contains("setFocus"), true);
-		CallHistory callTrace2 = view2.getCallHistory();
-		callTrace.clear();
-		callTrace2.clear();
-		assertEquals(fActivePage.showView(MockViewPart.IDMULT, "2", IWorkbenchPage.VIEW_ACTIVATE), view2);
-		assertEquals(callTrace2.contains("setFocus"), true);
-		assertEquals(callTrace.contains("setFocus"), false);
-		CallHistory callTrace3 = view3.getCallHistory();
-		callTrace.clear();
-		callTrace2.clear();
-		callTrace3.clear();
-		assertEquals(fActivePage.showView(MockViewPart.IDMULT, "3", IWorkbenchPage.VIEW_ACTIVATE), view3);
-		assertEquals(callTrace3.contains("setFocus"), true);
-		assertEquals(callTrace.contains("setFocus"), false);
-		assertEquals(callTrace2.contains("setFocus"), false);
-		
-		/*
-		    javadoc: If a secondary id is given, the view must allow multiple instances by
-		      having specified allowMultiple="true" in its extension.
-		*/
-		boolean exceptionThrown = false;
-		try {
-		    fActivePage.showView(MockViewPart.ID, "2", IWorkbenchPage.VIEW_ACTIVATE);
-		}
-		catch (PartInitException e) {
-		    assertEquals(e.getMessage().indexOf("mult") != -1, true);
-		    exceptionThrown = true;
-		}
-		assertEquals(exceptionThrown, true);
-	}
-
-	/**
-	 *	openEditor(IWorkbenchPage page, IFile input)
-	 */
-	public void testOpenEditor() throws Throwable {
-		proj = FileUtil.createProject("testOpenEditor");
-
-		/*
-			javadoc: 1. 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
-		*/
-		IFile file = FileUtil.createFile("test.mock1", proj);
-		IEditorPart editor = IDE.openEditor(fActivePage, file);
-
-		boolean foundEditor = hasEditor(editor);
-		assertEquals(foundEditor, true);
-		assertEquals(fActivePage.getActiveEditor(), editor);
-		assertEquals(
-			editor.getSite().getId(),
-			fWorkbench.getEditorRegistry().getDefaultEditor(file.getName()).getId());
-
-		/*
-			javadoc: 2. 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.
-		*/
-		//can not be tested
-
-		/*
-			javadoc: 3. If all else fails the file will be opened in a default text editor.		
-		*/
-		
-		if (!PlatformUtil.onLinux()) {
-			file = FileUtil.createFile("a.null and void", proj);
-			editor = IDE.openEditor(fActivePage, file);
-			assertEquals(hasEditor(editor), true);
-			assertEquals(fActivePage.getActiveEditor(), editor);
-			assertEquals(
-				editor.getSite().getId(),
-				"org.eclipse.ui.DefaultTextEditor");
-		}
-
-		//open another editor to take the focus away from the first editor
-		IDE.openEditor(fActivePage, FileUtil.createFile("test.mock2", proj));
-
-		/*	
-			javadoc: If this page already has an editor open on the target object that editor is activated
-		*/
-		//open the editor second time.		
-		assertEquals(editor, IDE.openEditor(fActivePage, file));
-		assertEquals(editor, fActivePage.getActiveEditor());
-	}
-
-	/**
-	 * openEditor(IWorkbenchPage page, IFile input, String editorID)
-	 */
-	public void testOpenEditor2() throws Throwable {
-		proj = FileUtil.createProject("testOpenEditor");
-		final IFile file = FileUtil.createFile("asfasdasdf", proj);
-		final String id = MockEditorPart.ID1;
-
-		/*
-			javadoc: The editor type is determined by mapping editorId to an editor extension registered with the workbench.
-		*/
-		IEditorPart editor = IDE.openEditor(fActivePage, file, id);
-		assertEquals(editor.getSite().getId(), id);
-		assertEquals(hasEditor(editor), true);
-		assertEquals(fActivePage.getActiveEditor(), editor);
-
-		//open another editor to take the focus away from the first editor
-		IDE.openEditor(fActivePage, FileUtil.createFile("test.mock2", proj));
-
-		/*
-			javadoc: If this page already has an editor open on the target object that editor is activated
-		*/
-		//open the first editor second time.
-		assertEquals(IDE.openEditor(fActivePage, file, id), editor);
-		assertEquals(fActivePage.getActiveEditor(), editor);
-	}
-
-	/**
-	 * openEditor(IEditorInput input,String editorId)                       
-	 */
-	public void testOpenEditor3() throws Throwable {
-		proj = FileUtil.createProject("testOpenEditor");
-		final String id = MockEditorPart.ID1;
-		IEditorInput input =
-			new FileEditorInput(FileUtil.createFile("test.mock1", proj));
-
-		/*
-			javadoc: The editor type is determined by mapping editorId to an editor extension registered with the workbench
-		*/
-		IEditorPart editor = IDE.openEditor(fActivePage, input, id);
-		assertEquals(editor.getEditorInput(), input);
-		assertEquals(editor.getSite().getId(), id);
-		assertEquals(hasEditor(editor), true);
-		assertEquals(fActivePage.getActiveEditor(), editor);
-
-		//open another editor to take the focus away from the first editor
-		IDE.openEditor(fActivePage, FileUtil.createFile("test.mock2", proj));
-
-		/*
-			javadoc: If this page already has an editor open on the target object that editor is activated
-		*/
-		//open the first editor second time.
-		assertEquals(IDE.openEditor(fActivePage, input, id), editor);
-		assertEquals(fActivePage.getActiveEditor(), editor);
-	}
-
-	/**
-	 * openEditor(IEditorInput input, String editorId, boolean activate) 
-	 */
-	public void testOpenEditor4() throws Throwable {
-		proj = FileUtil.createProject("testOpenEditor");
-		final String id = MockEditorPart.ID1;
-		IEditorInput input =
-			new FileEditorInput(FileUtil.createFile("test.mock1", proj));
-		MockPartListener listener = new MockPartListener();
-		fActivePage.addPartListener(listener);
-		CallHistory callTrace = listener.getCallHistory();
-
-		/*
-			javadoc: The editor type is determined by mapping editorId to an editor extension 
-			registered with the workbench. 
-			javadoc: If activate == true the editor will be activated
-		*/
-		//open an editor with activation
-		IEditorPart editor = IDE.openEditor(fActivePage, input, id, true);
-		assertEquals(editor.getEditorInput(), input);
-		assertEquals(editor.getSite().getId(), id);
-		assertEquals(hasEditor(editor), true);
-		assertEquals(fActivePage.getActiveEditor(), editor);
-		assertEquals(callTrace.contains("partActivated"), true);
-
-		//we need another editor so that the editor under test can receive events.
-		//otherwise, events will be ignored.
-		IEditorPart extra = IDE.openEditor(fActivePage, FileUtil.createFile("aaaaa", proj));
-
-		//close the first editor after the second has opened; necessary for
-		//test to work with fix to PR 7743
-		fActivePage.closeEditor(editor, false);
-
-		//open an editor without activation
-		callTrace.clear();
-		editor = IDE.openEditor(fActivePage, input, id, false);
-		assertEquals(editor.getEditorInput(), input);
-		assertEquals(editor.getSite().getId(), id);
-		assertEquals(hasEditor(editor), true);
-		assertEquals(callTrace.contains("partActivated"), false);
-		assertEquals(callTrace.contains("partBroughtToTop"), true);
-
-		fActivePage.activate(extra);
-
-		/*
-			javadoc: If this page already has an editor open on the target object that editor is brought to the front
-		*/
-		//open the editor under test second time without activation
-		callTrace.clear();
-		assertEquals(IDE.openEditor(fActivePage, input, id, false), editor);
-		assertEquals(callTrace.contains("partBroughtToTop"), true);
-		assertEquals(callTrace.contains("partActivated"), false);
-
-		//activate the other editor
-		fActivePage.activate(extra);
-
-		/*
-			javadoc: If activate == true the editor will be activated
-		*/
-		//open the editor under test second time with activation
-		callTrace.clear();
-		assertEquals(IDE.openEditor(fActivePage, input, id, true), editor);
-		assertEquals(callTrace.contains("partBroughtToTop"), true);
-		assertEquals(callTrace.contains("partActivated"), true);
-	}
-
-	/**
-	 * openEditor(IMarker marker)                       
-	 */
-	public void testOpenEditor5() throws Throwable {
-		proj = FileUtil.createProject("testOpenEditor");
-		IMarker marker =
-			FileUtil.createFile("aa.mock2", proj).createMarker(IMarker.TASK);
-		CallHistory callTrace;
-
-		/*	
-			javadoc: the cursor and selection state of the editor is then updated from information 
-			recorded in the marker. 
-		*/
-		//open the registered editor for the marker resource 
-		IEditorPart editor = IDE.openEditor(fActivePage, marker);
-		callTrace = ((MockEditorPart) editor).getCallHistory();
-		assertEquals(editor.getSite().getId(), MockEditorPart.ID2);
-		assertEquals(hasEditor(editor), true);
-		assertEquals(fActivePage.getActiveEditor(), editor);
-		assertEquals(callTrace.contains("gotoMarker"), true);
-		fActivePage.closeEditor(editor, false);
-
-		/*	
-			javadoc: If the marker contains an EDITOR_ID_ATTR attribute the attribute value will be used to 
-			determine the editor type to be opened
-		*/
-		marker.setAttribute(IDE.EDITOR_ID_ATTR, MockEditorPart.ID1);
-		editor = IDE.openEditor(fActivePage, marker);
-		callTrace = ((MockEditorPart) editor).getCallHistory();
-		assertEquals(editor.getSite().getId(), MockEditorPart.ID1);
-		assertEquals(hasEditor(editor), true);
-		assertEquals(fActivePage.getActiveEditor(), editor);
-		assertEquals(callTrace.contains("gotoMarker"), true);
-		//do not close the editor this time
-
-		/*
-			javdoc: If this page already has an editor open on the target object that editor is activated
-		*/
-		callTrace.clear();
-		assertEquals(IDE.openEditor(fActivePage, marker), editor);
-		assertEquals(fActivePage.getActiveEditor(), editor);
-		assertEquals(callTrace.contains("gotoMarker"), true);
-		fActivePage.closeEditor(editor, false);
-	}
-
-	/**
-	 *	openEditor(IMarker marker, boolean activate)                                           
-	 */
-	public void testOpenEditor6() throws Throwable {
-		proj = FileUtil.createProject("testOpenEditor");
-		IMarker marker =
-			FileUtil.createFile("aa.mock2", proj).createMarker(IMarker.TASK);
-		MockPartListener listener = new MockPartListener();
-		fActivePage.addPartListener(listener);
-		CallHistory listenerCall = listener.getCallHistory();
-		CallHistory editorCall;
-
-		//we need another editor so that the editor under test can receive events.
-		//otherwise, events will be ignored.
-		IEditorPart extra = IDE.openEditor(fActivePage, FileUtil.createFile("aaaaa", proj));
-
-		/*
-			javadoc: If activate == true the editor will be activated
-		*/
-		//open the registered editor for the marker resource with activation
-		IEditorPart editor = IDE.openEditor(fActivePage, marker, true);
-		editorCall = ((MockEditorPart) editor).getCallHistory();
-		assertEquals(editor.getSite().getId(), MockEditorPart.ID2);
-		assertEquals(hasEditor(editor), true);
-		assertEquals(fActivePage.getActiveEditor(), editor);
-
-		/*	
-			javadoc: the cursor and selection state of the editor is then updated from information 
-			recorded in the marker. 
-		*/
-		assertEquals(editorCall.contains("gotoMarker"), true);
-		fActivePage.closeEditor(editor, false);
-
-		fActivePage.activate(extra);
-
-		//open the registered editor for the marker resource without activation
-		listenerCall.clear();
-		editor = IDE.openEditor(fActivePage, marker, false);
-		editorCall = ((MockEditorPart) editor).getCallHistory();
-		assertEquals(editor.getSite().getId(), MockEditorPart.ID2);
-		assertEquals(hasEditor(editor), true);
-		assertEquals(listenerCall.contains("partBroughtToTop"), true);
-		assertEquals(listenerCall.contains("partActivated"), false);
-		assertEquals(editorCall.contains("gotoMarker"), true);
-		fActivePage.closeEditor(editor, false);
-
-		/*	
-			javadoc: If the marker contains an EDITOR_ID_ATTR attribute the attribute value will be used to 
-			determine the editor type to be opened
-		*/
-		String id = MockEditorPart.ID1;
-		marker.setAttribute(IDE.EDITOR_ID_ATTR, id);
-
-		//open an editor with activation
-		listenerCall.clear();
-
-		editor = IDE.openEditor(fActivePage, marker, true);
-		editorCall = ((MockEditorPart) editor).getCallHistory();
-		assertEquals(editor.getSite().getId(), id);
-		assertEquals(hasEditor(editor), true);
-		assertEquals(fActivePage.getActiveEditor(), editor);
-		assertEquals(editorCall.contains("gotoMarker"), true);
-		fActivePage.closeEditor(editor, false);
-
-		fActivePage.activate(extra);
-
-		//open an editor without activation
-		listenerCall.clear();
-		editor = IDE.openEditor(fActivePage, marker, false);
-		editorCall = ((MockEditorPart) editor).getCallHistory();
-		assertEquals(editor.getSite().getId(), id);
-		assertEquals(hasEditor(editor), true);
-		assertEquals(editorCall.contains("gotoMarker"), true);
-		assertEquals(listenerCall.contains("partActivated"), false);
-		assertEquals(listenerCall.contains("partBroughtToTop"), true);
-		//do not close the editor this time
-
-		fActivePage.activate(extra);
-
-		/*
-			javadoc: If this page already has an editor open on the target object that editor is brought to front
-		*/
-		//open the editor second time without activation
-		listenerCall.clear();
-		assertEquals(IDE.openEditor(fActivePage, marker, false), editor);
-		assertEquals(listenerCall.contains("partBroughtToTop"), true);
-		assertEquals(listenerCall.contains("partActivated"), false);
-
-		fActivePage.activate(extra);
-
-		/*
-			javdoc: If activate == true the editor will be activated
-		*/
-		//open the editor second time with activation 		
-		listenerCall.clear();
-		assertEquals(IDE.openEditor(fActivePage, marker, true), editor);
-		assertEquals(editorCall.contains("gotoMarker"), true);
-		assertEquals(listenerCall.contains("partBroughtToTop"), true);
-		assertEquals(listenerCall.contains("partActivated"), true);
-	}
-
-	public void testFindView() throws Throwable {
-		String id = MockViewPart.ID3;
-		//id of valid, but not open view
-		assertNull(fActivePage.findView(id));
-
-		IViewPart view = fActivePage.showView(id);
-		assertEquals(fActivePage.findView(id), view);
-
-		//close view		
-		fActivePage.hideView(view);
-		assertNull(fActivePage.findView(id));
-	}
-	
-	public void testFindViewReference() throws Throwable {
-		fActivePage.getWorkbenchWindow().getWorkbench().showPerspective(SessionPerspective.ID, fActivePage.getWorkbenchWindow());
-		assertNull(fActivePage.findViewReference(MockViewPart.ID4));
-		
-		fActivePage.showView(MockViewPart.ID4);
-		assertNotNull(fActivePage.findViewReference(MockViewPart.ID4));
-	}
-
-	public void testGetViews() throws Throwable {
-		int totalBefore = fActivePage.getViewReferences().length;
-
-		IViewPart view = fActivePage.showView(MockViewPart.ID2);
-		assertEquals(hasView(view),true);
-		assertEquals(fActivePage.getViewReferences().length, totalBefore + 1);
-
-		fActivePage.hideView(view);
-		assertEquals(hasView(view),false);
-		assertEquals(fActivePage.getViewReferences().length, totalBefore);
-	}
-
-	public void testHideViewWithPart() throws Throwable {
-		// test that nothing bad happens with a null parameter
-		try {
-			fActivePage.hideView((IViewPart)null);
-		}
-		catch (RuntimeException e) {
-			fail(e.getMessage());
-		}		
-		
-		IViewPart view = fActivePage.showView(MockViewPart.ID3);
-
-		fActivePage.hideView(view);
-		CallHistory callTrace = ((MockViewPart) view).getCallHistory();
-		assertTrue(callTrace.contains("dispose"));		
-	}
-	
-	public void testHideViewWithReference() throws Throwable {
-		// test that nothing bad happens with a null parameter
-		try {
-			fActivePage.hideView((IViewReference)null);
-		}
-		catch (RuntimeException e) {
-			fail(e.getMessage());
-		}		
-		
-		IViewPart view = fActivePage.showView(MockViewPart.ID4);
-		IViewReference ref = fActivePage.findViewReference(MockViewPart.ID4);
-		fActivePage.hideView(ref);
-		CallHistory callTrace = ((MockViewPart) view).getCallHistory();
-		assertTrue(callTrace.contains("dispose"));
-		
-		
-	}
-
-	public void testClose() throws Throwable {
-		IWorkbenchPage page = openTestPage(fWin);
-
-		proj = FileUtil.createProject("testOpenEditor");
-		final IFile file = FileUtil.createFile("aaa.mock1", proj);
-		IEditorPart editor = IDE.openEditor(page, file);
-		CallHistory callTrace = ((MockEditorPart) editor).getCallHistory();
-		callTrace.clear();
-
-		/*
-			javadoc: If the page has open editors with unsaved content and save is true, the user will be given the opportunity to save them
-		*/
-		assertEquals(page.close(), true);
-		assertEquals(
-			callTrace.verifyOrder(new String[] { "isDirty", "dispose" }),
-			true);
-		assertEquals(fWin.getActivePage(), fActivePage);
-	}
-
-	public void testCloseEditor() throws Throwable {
-		proj = FileUtil.createProject("testOpenEditor");
-		final IFile file = FileUtil.createFile("test.mock1", proj);
-		IEditorPart editor;
-		CallHistory callTrace;
-		MockEditorPart mock;
-
-		/*
-			javadoc: Parameters: save - true to save the editor contents if required (recommended)
-		*/
-		//create a clean editor that needs to be saved on closing
-		editor = IDE.openEditor(fActivePage, file);
-		mock = (MockEditorPart) editor;
-		mock.setSaveNeeded(true);
-		callTrace = mock.getCallHistory();
-		callTrace.clear();
-		//close the editor with save confirmation
-		assertEquals(fActivePage.closeEditor(editor, true), true);
-		assertEquals(
-			callTrace.verifyOrder(new String[] { "isDirty", "dispose" }),
-			true);
-
-		/*
-			javadoc: If the editor has unsaved content and save is true, the user will be given the opportunity to save it.
-		*/
-		//can't be tested
-
-		/*
-			javadoc: Parameters: save - false to discard any unsaved changes
-		*/
-		//create a dirty editor
-		editor = IDE.openEditor(fActivePage, file);
-		mock = (MockEditorPart) editor;
-		mock.setDirty(true);
-		mock.setSaveNeeded(true);
-		callTrace = mock.getCallHistory();
-		callTrace.clear();
-		//close the editor and discard changes
-		assertEquals(fActivePage.closeEditor(editor, false), true);
-		assertEquals(callTrace.contains("isSaveOnCloseNeeded"), false);
-		/*
-		 * It is possible that some action may query the isDirty value of
-		 * the editor to update its enabled state. There is nothing wrong
-		 * in doing that, so do not test for no isDirty call here.
-		 *
-		 * assertEquals(callTrace.contains( "isDirty"), false);
-		 */
-		assertEquals(callTrace.contains("doSave"), false);
-		assertEquals(callTrace.contains("dispose"), true);
-	}
-
-	public void testCloseEditors() throws Throwable {
-		int total = 5;
-		final IFile[] files = new IFile[total];
-		IEditorPart[] editors = new IEditorPart[total];
-		IEditorReference[] editorRefs = new IEditorReference[total];
-		CallHistory[] callTraces = new CallHistory[total];
-		MockEditorPart[] mocks = new MockEditorPart[total];
-
-		proj = FileUtil.createProject("testCloseEditors");
-		for (int i = 0; i < total; i++)
-			files[i] = FileUtil.createFile(i + ".mock2", proj);
-
-		/*
-			javadoc: If the page has open editors with unsaved content and save is true, the user will be given the opportunity to save them.
-		*/
-		//close all clean editors with confirmation
-		for (int i = 0; i < total; i++) {
-			editors[i] = IDE.openEditor(fActivePage, files[i]);
-			callTraces[i] = ((MockEditorPart) editors[i]).getCallHistory();
-		}
-		
-		editorRefs = fActivePage.getEditorReferences();
-		assertEquals(fActivePage.closeEditors(editorRefs, true), true);
-		for (int i = 0; i < total; i++) {
-			assertEquals(callTraces[i].contains("isDirty"), true);
-			assertEquals(callTraces[i].contains("doSave"), false);
-			callTraces[i].clear();
-		}
-
-		//close all dirty editors with confirmation
-		//can't be tested		
-
-		//close all dirty editors discarding them		
-		for (int i = 0; i < total; i++) {
-			editors[i] = IDE.openEditor(fActivePage, files[i]);
-			mocks[i] = (MockEditorPart) editors[i];
-			mocks[i].setDirty(true);
-			callTraces[i] = mocks[i].getCallHistory();
-		}
-		editorRefs = fActivePage.getEditorReferences();
-		assertEquals(fActivePage.closeEditors(editorRefs, false), true);
-		for (int i = 0; i < total; i++) {
-			assertEquals(callTraces[i].contains("doSave"), false);
-		}
-		
-		//close empty array of editors
-		total = 1;
-		for (int i = 0; i < total; i++) {
-			editors[i] = IDE.openEditor(fActivePage, files[i]);
-			mocks[i] = (MockEditorPart) editors[i];
-			mocks[i].setDirty(true);
-			callTraces[i] = mocks[i].getCallHistory();
-		}
-		// empty array test
-		editorRefs = new IEditorReference[0];
-		assertEquals(fActivePage.closeEditors(editorRefs, true), true);
-		for (int i = 0; i < total; i++) {
-				assertEquals(callTraces[i].contains("isDirty"), true);
-				assertEquals(callTraces[i].contains("doSave"), false);
-				callTraces[i].clear();
-		}
-		
-		// close the last remaining editor, with save=false
-		editorRefs = fActivePage.getEditorReferences();
-		fActivePage.closeEditors(editorRefs, false);
-	}
-	
-	public void testCloseAllEditors() throws Throwable {
-		int total = 5;
-		final IFile[] files = new IFile[total];
-		IEditorPart[] editors = new IEditorPart[total];
-		CallHistory[] callTraces = new CallHistory[total];
-		MockEditorPart[] mocks = new MockEditorPart[total];
-
-		proj = FileUtil.createProject("testOpenEditor");
-		for (int i = 0; i < total; i++)
-			files[i] = FileUtil.createFile(i + ".mock2", proj);
-
-		/*
-			javadoc: If the page has open editors with unsaved content and save is true, the user will be given the opportunity to save them.
-		*/
-		//close all clean editors with confirmation
-		for (int i = 0; i < total; i++) {
-			editors[i] = IDE.openEditor(fActivePage, files[i]);
-			callTraces[i] = ((MockEditorPart) editors[i]).getCallHistory();
-		}
-		assertEquals(fActivePage.closeAllEditors(true), true);
-		for (int i = 0; i < total; i++) {
-			assertEquals(callTraces[i].contains("isDirty"), true);
-			assertEquals(callTraces[i].contains("doSave"), false);
-			callTraces[i].clear();
-		}
-
-		//close all dirty editors with confirmation
-		//can't be tested		
-
-		//close all dirty editors discarding them		
-		for (int i = 0; i < total; i++) {
-			editors[i] = IDE.openEditor(fActivePage, files[i]);
-			mocks[i] = (MockEditorPart) editors[i];
-			mocks[i].setDirty(true);
-			callTraces[i] = mocks[i].getCallHistory();
-		}
-		assertEquals(fActivePage.closeAllEditors(false), true);
-		for (int i = 0; i < total; i++) {
-			assertEquals(callTraces[i].contains("doSave"), false);
-		}
-	}
-
-	public void testSaveEditor() throws Throwable {
-		proj = FileUtil.createProject("testOpenEditor");
-		final IFile file = FileUtil.createFile("test.mock1", proj);
-		IEditorPart editor;
-		CallHistory callTrace;
-		MockEditorPart mock;
-
-		//create a clean editor
-		editor = IDE.openEditor(fActivePage, file);
-		mock = (MockEditorPart) editor;
-		callTrace = mock.getCallHistory();
-		callTrace.clear();
-
-		/*
-			javadoc: Saves the contents of the given editor if dirty. 
-			If not, this method returns without effect
-		*/
-		//save the clean editor with confirmation		
-		assertEquals(fActivePage.saveEditor(editor, true), true);
-		assertEquals(callTrace.contains("isDirty"), true);
-		assertEquals(callTrace.contains("doSave"), false);
-
-		/*
-			javadoc: If confirm is true the user is prompted to confirm the command. 
-		*/
-		//can't be tested
-
-		/*
-			javadoc: Otherwise, the save happens without prompt. 
-		*/
-		//save the clean editor without confirmation
-		assertEquals(fActivePage.saveEditor(editor, false), true);
-		assertEquals(callTrace.contains("isDirty"), true);
-		assertEquals(callTrace.contains("doSave"), false);
-
-		//save the dirty editor without confirmation
-		mock.setDirty(true);
-		callTrace.clear();
-		assertEquals(fActivePage.saveEditor(editor, false), true);
-		assertEquals(
-			callTrace.verifyOrder(new String[] { "isDirty", "doSave" }),
-			true);
-	}
-	
-	public void testIDESaveAllEditors() throws Throwable {
-		int total = 3;
-
-		final IFile[] files = new IFile[total];
-		IEditorPart[] editors = new IEditorPart[total];
-		CallHistory[] callTraces = new CallHistory[total];
-		MockEditorPart[] mocks = new MockEditorPart[total];
-
-		proj = FileUtil.createProject("testOpenEditor");
-		for (int i = 0; i < total; i++) {
-			files[i] = FileUtil.createFile(i + ".mock2", proj);
-			editors[i] = IDE.openEditor(fActivePage, files[i]);
-			mocks[i] = (MockEditorPart) editors[i];
-			callTraces[i] = mocks[i].getCallHistory();
-		}
-
-		/*
-			javadoc: If there are no dirty editors this method returns without effect.
-			javadoc: If confirm is true the user is prompted to confirm the command
-		*/
-		//save all clean editors with confirmation
-		assertEquals(IDE.saveAllEditors(new IResource[] {proj}, true), true);
-		for (int i = 0; i < total; i++) {
-			assertEquals(callTraces[i].contains("isDirty"), true);
-			assertEquals(callTraces[i].contains("doSave"), false);
-			callTraces[i].clear();
-		}
-
-		//save all dirty editors with confirmation can't be tested
-
-		/*
-			javadoc: Parameters: confirm - false to save unsaved changes without asking
-		*/
-		//save all clean editors without confirmation
-		assertEquals(IDE.saveAllEditors(new IResource[] {proj}, false), true);
-		for (int i = 0; i < total; i++) {
-			assertEquals(callTraces[i].contains("isDirty"), true);
-			assertEquals(callTraces[i].contains("doSave"), false);
-			callTraces[i].clear();
-		}
-
-		//save all dirty editors with resource that IS NOT a parent
-		// of the contents of the dirty editors without confirmation, this should not 
-		// save any as they are not parented by the resource provided
-		for (int i = 0; i < total; i++)
-			mocks[i].setDirty(true);
-		
-		IResource emptyProj = FileUtil.createProject("testOpenEditorEmptyProject");
-		assertEquals(IDE.saveAllEditors(new IResource[] {emptyProj}, false), true);
-		for (int i = 0; i < total; i++) {
-			// the editors were not in the empty project hence still dirty
-			assertEquals(mocks[i].isDirty(), true);
-			callTraces[i].clear();
-		}
-		
-		//save all dirty editors with resource that IS a parent
-		// of the contents of the editors without confirmation, this should 
-		// save them as they are parented by the resource provided
-		assertEquals(IDE.saveAllEditors(new IResource[] {proj}, false), true);
-		for (int i = 0; i < total; i++) {
-			// the editors were not in the empty project hence still dirty
-			assertEquals(mocks[i].isDirty(), false);
-			assertEquals(callTraces[i].contains("isDirty"), true);
-			assertEquals(callTraces[i].contains("doSave"), true);
-			callTraces[i].clear();
-		}
-		
-		//save all dirty editors with resource that IS NOT a parent
-		// of the contents of the dirty editors without confirmation, this should not 
-		// save any as they are not parented by the resource provided
-		for (int i = 0; i < total; i++)
-			mocks[i].setDirty(true);
-		assertEquals(IDE.saveAllEditors(new IResource[] {}, false), true);
-		for (int i = 0; i < total; i++) {
-			// the editors were not in the empty project hence still dirty
-			assertEquals(mocks[i].isDirty(), true);
-			callTraces[i].clear();
-		}
-		
-		// clear the dirty state so the tearDown does not open a confirm dialog.
-		for (int i = 0; i < total; i++)
-			mocks[i].setDirty(false);
-	}
-	
-	public void testSaveAllEditors() throws Throwable {
-		int total = 3;
-
-		final IFile[] files = new IFile[total];
-		IEditorPart[] editors = new IEditorPart[total];
-		CallHistory[] callTraces = new CallHistory[total];
-		MockEditorPart[] mocks = new MockEditorPart[total];
-
-		proj = FileUtil.createProject("testOpenEditor");
-		for (int i = 0; i < total; i++) {
-			files[i] = FileUtil.createFile(i + ".mock2", proj);
-			editors[i] = IDE.openEditor(fActivePage, files[i]);
-			mocks[i] = (MockEditorPart) editors[i];
-			callTraces[i] = mocks[i].getCallHistory();
-		}
-
-		/*
-			javadoc: If there are no dirty editors this method returns without effect.
-			javadoc: If confirm is true the user is prompted to confirm the command
-		*/
-		//save all clean editors with confirmation
-		assertEquals(fActivePage.saveAllEditors(true), true);
-		for (int i = 0; i < total; i++) {
-			assertEquals(callTraces[i].contains("isDirty"), true);
-			assertEquals(callTraces[i].contains("doSave"), false);
-			callTraces[i].clear();
-		}
-
-		//save all dirty editors with confirmation can't be tested
-
-		/*
-			javadoc: Parameters: confirm - false to save unsaved changes without asking
-		*/
-		//save all clean editors without confirmation
-		assertEquals(fActivePage.saveAllEditors(false), true);
-		for (int i = 0; i < total; i++) {
-			assertEquals(callTraces[i].contains("isDirty"), true);
-			assertEquals(callTraces[i].contains("doSave"), false);
-			callTraces[i].clear();
-		}
-
-		//save all dirty editors without confirmation
-		for (int i = 0; i < total; i++)
-			mocks[i].setDirty(true);
-		assertEquals(fActivePage.saveAllEditors(false), true);
-		for (int i = 0; i < total; i++)
-			assertEquals(
-				callTraces[i].verifyOrder(new String[] { "isDirty", "doSave" }),
-				true);
-	}
-
-	public void testGetEditors() throws Throwable {
-		proj = FileUtil.createProject("testOpenEditor");
-		int totalBefore = fActivePage.getEditorReferences().length;
-		int num = 3;
-		IEditorPart[] editors = new IEditorPart[num];
-
-		for (int i = 0; i < num; i++) {
-			editors[i] = IDE.openEditor(fActivePage, FileUtil.createFile(i + ".mock2", proj));
-			assertEquals(hasEditor(editors[i]),true);
-		}
-		assertEquals(fActivePage.getEditorReferences().length, totalBefore + num);
-
-		fActivePage.closeEditor(editors[0], false);
-		assertEquals(hasEditor(editors[0]),false);
-		assertEquals(fActivePage.getEditorReferences().length, totalBefore + num - 1);
-
-		fActivePage.closeAllEditors(false);
-		assertEquals(fActivePage.getEditorReferences().length, 0);
-	}
-
-	public void testShowActionSet() {
-		String id = MockActionDelegate.ACTION_SET_ID;
-		WorkbenchPage page = (WorkbenchPage) fActivePage;
-
-		int totalBefore = page.getActionSets().length;
-		fActivePage.showActionSet(id);
-
-		IActionSetDescriptor[] sets =
-			((WorkbenchPage) fActivePage).getActionSets();
-		boolean found = false;
-		for (int i = 0; i < sets.length; i++)
-			if (id.equals(sets[i].getId()))
-				found = true;
-		assertEquals(found, true);
-
-		//check that the method does not add an invalid action set to itself
-		id = IConstants.FakeID;
-		fActivePage.showActionSet(id);
-
-		sets = ((WorkbenchPage) fActivePage).getActionSets();
-		found = false;
-		for (int i = 0; i < sets.length; i++)
-			if (id.equals(sets[i].getId()))
-				found = true;
-		assertEquals(found, false);
-		assertEquals(page.getActionSets().length, totalBefore + 1);
-	}
-
-	public void testHideActionSet() {
-		WorkbenchPage page = (WorkbenchPage) fActivePage;
-		int totalBefore = page.getActionSets().length;
-
-		String id = MockWorkbenchWindowActionDelegate.SET_ID;
-		fActivePage.showActionSet(id);
-		assertEquals(page.getActionSets().length, totalBefore + 1);
-
-		fActivePage.hideActionSet(id);
-		assertEquals(page.getActionSets().length, totalBefore);
-
-		IActionSetDescriptor[] sets = page.getActionSets();
-		boolean found = false;
-		for (int i = 0; i < sets.length; i++)
-			if (id.equals(sets[i].getId()))
-				found = true;
-		assertEquals(found, false);
-	}
-
-	/**
-	 * Return whether or not the editor exists in the current page.
-	 * @param editor
-	 *  @return boolean
-	 */
-	private boolean hasEditor(IEditorPart editor) {
-		IEditorReference[] references = fActivePage.getEditorReferences();
-		for (int i = 0; i < references.length; i++) {
-			if (references[i].getEditor(false).equals(editor))
-				return true;
-		}
-		return false;
-	}
-
-	/**
-	 * Return whether or not the view exists in the current page.
-	 * @param editor
-	 * @return boolean
-	 */
-	private boolean hasView(IViewPart view) {
-		IViewReference[] references = fActivePage.getViewReferences();
-		for (int i = 0; i < references.length; i++) {
-			if (references[i].getView(false).equals(view))
-				return true;
-		}
-		return false;
-	}
-	
-	public void testStackOrder() {
-		WorkbenchPage page = (WorkbenchPage) fActivePage;
-		try {
-			IViewPart part1 = page.showView(MockViewPart.ID);
-			IViewPart part2 = page.showView(MockViewPart.ID2);
-			IViewPart part3 = page.showView(MockViewPart.ID3);
-			IViewPart part4 = page.showView(MockViewPart.ID4);
-			
-			IViewPart [] stack = page.getViewStack(part1);
-			assertTrue(stack.length == 4);
-			assertTrue(stack[0] == part4);
-			assertTrue(stack[1] == part3);
-			assertTrue(stack[2] == part2);
-			assertTrue(stack[3] == part1);
-			
-			page.activate(part2);
-			stack = page.getViewStack(part1);
-			assertTrue(stack.length == 4);
-			assertTrue(stack[0] == part2);
-			assertTrue(stack[1] == part4);
-			assertTrue(stack[2] == part3);
-			assertTrue(stack[3] == part1);
-			
-			page.activate(part1);
-			stack = page.getViewStack(part1);
-			assertTrue(stack.length == 4);
-			assertTrue(stack[0] == part1);
-			assertTrue(stack[1] == part2);
-			assertTrue(stack[2] == part4);
-			assertTrue(stack[3] == part3);
-
-			page.activate(part3);
-			stack = page.getViewStack(part1);
-			assertTrue(stack.length == 4);
-			assertTrue(stack[0] == part3);
-			assertTrue(stack[1] == part1);
-			assertTrue(stack[2] == part2);
-			assertTrue(stack[3] == part4);
-		}
-		catch(PartInitException e) {
-		    fail(e.getMessage());
-		}
-	}
-	
-	/**
-	 * Test the VIEW_CREATE parameter for showView.  Ensures that the created
-	 * view is not the active part.
-	 *
-	 */
-	public void testView_CREATE1() {
-	    WorkbenchPage page = (WorkbenchPage) fActivePage;
-	    try {
-	        
-	        page.setPerspective(WorkbenchPlugin.getDefault().getPerspectiveRegistry().findPerspectiveWithId("org.eclipse.ui.tests.api.ViewPerspective"));
-	        
-		    //create a part to be active
-		    IViewPart activePart = page.showView(MockViewPart.ID);		    
-		    IViewPart createdPart = page.showView(MockViewPart.ID2, null, IWorkbenchPage.VIEW_CREATE);
-		    
-		    IViewPart [] stack = page.getViewStack(activePart);
-		    assertEquals(2, stack.length);
-		    
-		    assertEquals(activePart, stack[0]);
-		    assertEquals(createdPart, stack[1]);
-		    
-		    assertFalse(page.isPartVisible(createdPart));
-		    
-		    assertEquals(activePart, page.getActivePart());
-	    }
-	    catch (PartInitException e) {
-	        fail(e.getMessage());
-	    }
-	}
-	
-	/**
-	 * Test the VIEW_CREATE parameter for showView.  Ensures that the created
-	 * view is not the active part and is not visible
-	 */
-	public void testView_CREATE2() {
-	    WorkbenchPage page = (WorkbenchPage) fActivePage;
-	    try {
-	        
-	        page.setPerspective(WorkbenchPlugin.getDefault().getPerspectiveRegistry().findPerspectiveWithId("org.eclipse.ui.tests.api.ViewPerspective"));
-	        
-		    //create a part to be active
-		    IViewPart activePart = page.showView(MockViewPart.ID3);		    
-		    IViewPart createdPart = page.showView(MockViewPart.ID2, null, IWorkbenchPage.VIEW_CREATE);
-		    
-		    IViewPart [] stack = page.getViewStack(createdPart);
-		    assertEquals(2, stack.length);
-		    
-		    assertEquals(page.findView(MockViewPart.ID), stack[0]);
-		    assertEquals(createdPart, stack[1]);
-		    
-		    assertFalse(page.isPartVisible(createdPart));
-		    
-		    assertEquals(activePart, page.getActivePart());
-	    }
-	    catch (PartInitException e) {
-	        fail(e.getMessage());
-	    }
-	}
-
-	/**
-	 * Test the VIEW_CREATE parameter for showView.  Ensures that the created
-	 * view is not the active part and is visible.
-	 */
-	public void testView_CREATE3() {
-	    WorkbenchPage page = (WorkbenchPage) fActivePage;
-	    try {
-	        
-	        page.setPerspective(WorkbenchPlugin.getDefault().getPerspectiveRegistry().findPerspectiveWithId("org.eclipse.ui.tests.api.ViewPerspective"));
-	        
-		    //create a part to be active
-		    IViewPart activePart = page.showView(MockViewPart.ID3);		    
-		    IViewPart createdPart = page.showView(MockViewPart.ID4, null, IWorkbenchPage.VIEW_CREATE);
-		    
-		    IViewPart [] stack = page.getViewStack(createdPart);
-		    assertEquals(1, stack.length);
-		    
-		    assertEquals(createdPart, stack[0]);
-		    
-		    assertTrue(page.isPartVisible(createdPart));
-		    
-		    assertEquals(activePart, page.getActivePart());
-	    }
-	    catch (PartInitException e) {
-	        fail(e.getMessage());
-	    }
-	}	
-	
-	/**
-	 * Test the VIEW_VISIBLE parameter for showView, opening the view in the 
-	 * stack containing the active view.  Ensures that the created view is not 
-	 * the active part and is not visible.
-	 */
-	public void testView_VISIBLE1() {
-	    WorkbenchPage page = (WorkbenchPage) fActivePage;
-	    try {
-		    page.setPerspective(WorkbenchPlugin.getDefault().getPerspectiveRegistry().findPerspectiveWithId("org.eclipse.ui.tests.api.ViewPerspective"));
-
-		    //create a part to be active
-		    IViewPart activePart = page.showView(MockViewPart.ID);
-		    IViewPart createdPart = page.showView(MockViewPart.ID2, null, IWorkbenchPage.VIEW_VISIBLE);		    
-		    IViewPart [] stack = page.getViewStack(activePart);
-		    assertEquals(2, stack.length);
-		    
-		    assertEquals(activePart, stack[0]);
-		    assertEquals(createdPart, stack[1]);
-		    
-		    assertFalse(page.isPartVisible(createdPart));
-		    
-		    assertEquals(activePart, page.getActivePart());
-	    }
-	    catch (PartInitException e) {
-	        fail(e.getMessage());
-	    }
-	}
-	
-	/**
-	 * Test the VIEW_VISIBLE parameter for showView, opening the view in the 
-	 * stack that does not contain the active view.  Ensures that the created 
-	 * view is not the active part but is the top part in its stack.
-	 */
-	public void testView_VISIBLE2() {
-	    WorkbenchPage page = (WorkbenchPage) fActivePage;
-	    try {
-		    page.setPerspective(WorkbenchPlugin.getDefault().getPerspectiveRegistry().findPerspectiveWithId("org.eclipse.ui.tests.api.ViewPerspective"));
-
-		    //create a part to be active
-		    IViewPart activePart = page.showView(MockViewPart.ID3);
-		    
-		    IViewPart createdPart = page.showView(MockViewPart.ID2, null, IWorkbenchPage.VIEW_VISIBLE);		    
-		    IViewPart [] stack = page.getViewStack(createdPart);
-		    assertEquals(2, stack.length);
-		    
-		    assertEquals(createdPart, stack[0]);
-		    assertEquals(page.findView(MockViewPart.ID), stack[1]);
-		    
-		    assertTrue(page.isPartVisible(createdPart));
-		    
-		    assertEquals(activePart, page.getActivePart());
-	    }
-	    catch (PartInitException e) {
-	        fail(e.getMessage());
-	    }
-	}	
-	
-	/**
-	 * Test the VIEW_VISIBLE parameter for showView, opening the view in its 
-	 * own stack.  Ensures that the created view is not active part but is the 
-	 * top part in its stack.
-	 */
-	public void testView_VISIBLE3() {
-	    WorkbenchPage page = (WorkbenchPage) fActivePage;
-	    try {
-		    page.setPerspective(WorkbenchPlugin.getDefault().getPerspectiveRegistry().findPerspectiveWithId("org.eclipse.ui.tests.api.ViewPerspective"));
-
-		    //create a part to be active
-		    IViewPart activePart = page.showView(MockViewPart.ID3);
-		    
-		    IViewPart createdPart = page.showView(MockViewPart.ID4, null, IWorkbenchPage.VIEW_VISIBLE);		    
-		    IViewPart [] stack = page.getViewStack(createdPart);
-		    assertEquals(1, stack.length);
-		    
-		    assertEquals(createdPart, stack[0]);
-		    
-		    assertTrue(page.isPartVisible(createdPart));
-		    
-		    assertEquals(activePart, page.getActivePart());
-	    }
-	    catch (PartInitException e) {
-	        fail(e.getMessage());
-	    }
-	}
-	
-	/**
-	 * Test opening a perspective with a fast view.
-	 */
-	public void testOpenPerspectiveWithFastView() {
-		WorkbenchPage page = (WorkbenchPage) fActivePage;
-
-		try {
-			fWin.getWorkbench().showPerspective(
-					PerspectiveWithFastView.PERSP_ID, fWin);
-		} catch (WorkbenchException e) {
-			e.printStackTrace(System.err);
-		}
-
-		assertEquals(page.getFastViews().length, 1);
-		assertEquals(page.getFastViews()[0].getId(),
-				"org.eclipse.ui.views.ResourceNavigator");
-		assertEquals(page.getViewReferences().length, 1);
-		assertTrue(page.getViewReferences()[0].isFastView());
-
-		ClosePerspectiveAction closePespective = new ClosePerspectiveAction(
-				fWin);
-		closePespective.run();
-
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkbenchPartSiteTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkbenchPartSiteTest.java
deleted file mode 100644
index 90adeac..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkbenchPartSiteTest.java
+++ /dev/null
@@ -1,145 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchPartSite;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.tests.util.UITestCase;
-
-
-/**
- * Tests the site for an IWorkbenchPart.
- */
-public abstract class IWorkbenchPartSiteTest extends UITestCase {
-
-	protected IWorkbenchWindow fWindow;
-	protected IWorkbenchPage fPage;
-	
-	/**
-	 * Constructor for IWorkbenchPartSiteTest
-	 */
-	public IWorkbenchPartSiteTest(String testName) {
-		super(testName);
-	}
-	
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-		fWindow = openTestWindow();
-		fPage = fWindow.getActivePage();
-	}
-	
-	public void testGetId() throws Throwable {
-		// From Javadoc: "Returns the part registry extension id for 
-		// this workbench site's part."
-		
-		IWorkbenchPart part = createTestPart(fPage);
-		IWorkbenchPartSite site = part.getSite();
-		assertEquals(getTestPartId(), site.getId());
-	}
-
-	public void testGetPage() throws Throwable {
-		// From Javadoc: "Returns the page containing this workbench 
-		// site's part."
-		
-		IWorkbenchPart part = createTestPart(fPage);
-		IWorkbenchPartSite site = part.getSite();
-		assertEquals(fPage, site.getPage());
-	}
-
-	public void testGetPluginId() throws Throwable {
-		// From Javadoc: "Returns the unique identifier of the 
-		// plug-in that defines this workbench site's part."
-		
-		IWorkbenchPart part = createTestPart(fPage);
-		IWorkbenchPartSite site = part.getSite();
-		assertEquals(getTestPartPluginId(), site.getPluginId());
-	}
-
-	public void testGetRegisteredName() throws Throwable {
-		// From Javadoc: "Returns the registered name for this 
-		// workbench site's part."
-		
-		IWorkbenchPart part = createTestPart(fPage);
-		IWorkbenchPartSite site = part.getSite();
-		assertEquals(getTestPartName(), site.getRegisteredName());
-	}
-
-	public void testGetShell() throws Throwable {
-		// From Javadoc: "Returns the shell containing this 
-		// workbench site's part"
-		
-		IWorkbenchPart part = createTestPart(fPage);
-		IWorkbenchPartSite site = part.getSite();
-		assertEquals(fWindow.getShell(), site.getShell());
-	}
-
-	public void testGetWorkbenchWindow() throws Throwable {
-		// From Javadoc: "Returns the workbench window 
-		// containing this workbench site's part."
-		
-		IWorkbenchPart part = createTestPart(fPage);
-		IWorkbenchPartSite site = part.getSite();
-		assertEquals(fWindow, site.getWorkbenchWindow());
-	}
-	
-	public void testGetSelectionProvider() throws Throwable {
-		// From Javadoc: "'Get' returns the selection provider 
-		// for this workbench site's part.  
-		
-		IWorkbenchPart part = createTestPart(fPage);
-		IWorkbenchPartSite site = part.getSite();
-		assertTrue(part instanceof MockWorkbenchPart);
-		MockWorkbenchPart mock = (MockWorkbenchPart)part;
-		assertEquals(mock.getSelectionProvider(), site.getSelectionProvider());
-	}
-		
-	public void testSetSelectionProvider() throws Throwable {
-		// From Javadoc: 'Set' sets the selection provider.
-		
-		// Set selection provider to null.
-		IWorkbenchPart part = createTestPart(fPage);
-		IWorkbenchPartSite site = part.getSite();
-		site.setSelectionProvider(null);
-		assertNull(site.getSelectionProvider());
-		
-		// Set selection provider to real.
-		MockSelectionProvider provider = new MockSelectionProvider();
-		site.setSelectionProvider(provider);
-		assertEquals(provider, site.getSelectionProvider());
-	}
-
-	/**
-	 * Creates a test part in the page.	
-	 */
-	abstract protected IWorkbenchPart createTestPart(IWorkbenchPage page) 
-		throws Throwable;
-	
-	/**
-	 * Returns the expected id for a test part.
-	 */
-	abstract protected String getTestPartId() throws Throwable;
-
-	/**
-	 * Returns the expected name for a test part.
-	 */
-	abstract protected String getTestPartName() throws Throwable;
-
-	/**
-	 * Returns the expected id for a test part plugin.  Subclasses may
-	 * override this.
-	 */
-	protected String getTestPartPluginId() throws Throwable {
-		return "org.eclipse.ui.tests";
-	}
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkbenchPartTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkbenchPartTest.java
deleted file mode 100644
index 1f9da7c..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkbenchPartTest.java
+++ /dev/null
@@ -1,68 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.tests.util.CallHistory;
-import org.eclipse.ui.tests.util.UITestCase;
-
-
-/**
- * This is a test for IWorkbenchPart.  Since IWorkbenchPart is an
- * interface this test verifies the IWorkbenchPart lifecycle rather
- * than the implementation.
- */
-public abstract class IWorkbenchPartTest extends UITestCase {
-
-	protected IWorkbenchWindow fWindow;
-	protected IWorkbenchPage fPage;
-	
-	/**
-	 * Constructor for IActionDelegateTest
-	 */
-	public IWorkbenchPartTest(String testName) {
-		super(testName);
-	}
-	
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-		fWindow = openTestWindow();
-		fPage = fWindow.getActivePage();
-	}
-	
-	public void testOpenAndClose() throws Throwable {
-		// Open a part.
-		MockPart part = openPart(fPage);
-		assertTrue(part.isSiteInitialized());
-		CallHistory history = part.getCallHistory();
-		assertTrue(history.verifyOrder(new String[] {
-			"init", "createPartControl", "setFocus" }));
-		
-		// Close the part.
-		closePart(fPage, part);
-		assertTrue(history.verifyOrder(new String[] {
-			"init", "createPartControl", "setFocus", "dispose"}));
-	}
-	
-	/**
-	 * Opens a part.  Subclasses should override
-	 */
-	protected abstract MockPart openPart(IWorkbenchPage page) 
-		throws Throwable;
-	
-	/**
-	 * Closes a part.  Subclasses should override
-	 */
-	protected abstract void closePart(IWorkbenchPage page, MockPart part) 
-		throws Throwable;
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkbenchTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkbenchTest.java
deleted file mode 100644
index 65a87cc..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkbenchTest.java
+++ /dev/null
@@ -1,276 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.preference.PreferenceManager;
-import org.eclipse.ui.*;
-import org.eclipse.ui.tests.util.*;
-
-/**
- * Tests the IWorkbench interface.
- */
-public class IWorkbenchTest extends UITestCase {
-
-	public IWorkbenchTest(String testName) {
-		super(testName);
-	}
-
-	/**
-	 * Tests the activation of two windows.
-	 */
-	public void testGetActiveWorkbenchWindow() throws Throwable {
-		IWorkbenchWindow win1, win2;
-
-		// PR 41400
-		if (PlatformUtil.onLinux())
-			return;
-		
-		// Test initial window.
-		win1 = fWorkbench.getActiveWorkbenchWindow();
-		assertNotNull(win1);
-
-		// Test open window.
-		win1 = openTestWindow();
-		assertEquals(win1, fWorkbench.getActiveWorkbenchWindow());
-
-		// Test open second window.
-		win2 = openTestWindow();
-		assertEquals(win2, fWorkbench.getActiveWorkbenchWindow());
-
-		// Test set focus.
-		win1.getShell().forceFocus();
-		assertEquals(win1, fWorkbench.getActiveWorkbenchWindow());
-
-		// Test set focus.
-		win2.getShell().forceFocus();
-		assertEquals(win2, fWorkbench.getActiveWorkbenchWindow());
-
-		// Cleanup in tearDown.
-	}
-
-	public void testGetEditorRegistry() throws Throwable {
-		IEditorRegistry reg = fWorkbench.getEditorRegistry();
-		assertNotNull(reg);
-	}
-
-	public void testGetPerspectiveRegistry() throws Throwable {
-		IPerspectiveRegistry reg = fWorkbench.getPerspectiveRegistry();
-		assertNotNull(reg);
-	}
-	
-	public void testGetPrefereneManager() throws Throwable {
-		PreferenceManager mgr = fWorkbench.getPreferenceManager();
-		assertNotNull(mgr);
-	}
-
-	public void testGetSharedImages() throws Throwable {
-		ISharedImages img = fWorkbench.getSharedImages();
-		assertNotNull(img);
-	}
-
-	public void testGetWorkingSetManager() throws Throwable {
-		IWorkingSetManager workingSetManager = fWorkbench.getWorkingSetManager();
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		
-		assertNotNull(workingSetManager);
-		
-		IWorkingSet workingSet = workingSetManager.createWorkingSet("ws1", new IAdaptable[] {workspace.getRoot()});
-		workingSetManager.addWorkingSet(workingSet);
-		workingSetManager = fWorkbench.getWorkingSetManager();
-		assertEquals(1, workingSetManager.getWorkingSets().length);
-		assertEquals(workingSet, workingSetManager.getWorkingSets()[0]);
-	}
-	
-	public void testGetWorkbenchWindows() throws Throwable {
-		IWorkbenchWindow[] wins = fWorkbench.getWorkbenchWindows();
-		assertEquals(ArrayUtil.checkNotNull(wins), true);
-		int oldTotal = wins.length;
-		int num = 3;
-
-		IWorkbenchWindow[] newWins = new IWorkbenchWindow[num];
-		for (int i = 0; i < num; i++)
-			newWins[i] = openTestWindow();
-
-		wins = fWorkbench.getWorkbenchWindows();
-		for (int i = 0; i < num; i++)
-			assertTrue(ArrayUtil.contains(wins, newWins[i]));
-
-		assertEquals(wins.length, oldTotal + num);
-
-		closeAllTestWindows();
-		wins = fWorkbench.getWorkbenchWindows();
-		assertEquals(wins.length, oldTotal);
-	}
-
-	/**
-	 * openWorkbenchWindow(String, IAdaptable)
-	 */
-	public void testOpenWorkbenchWindow() throws Throwable {
-		// open a window with valid perspective 
-		IWorkbenchWindow win = null;
-		try {
-			win =
-				fWorkbench.openWorkbenchWindow(
-					EmptyPerspective.PERSP_ID,
-					ResourcesPlugin.getWorkspace());
-			assertNotNull(win);
-			if (!PlatformUtil.onLinux()) {
-				assertEquals(win, fWorkbench.getActiveWorkbenchWindow());
-			}
-			assertEquals(
-				EmptyPerspective.PERSP_ID,
-				win.getActivePage().getPerspective().getId());
-		} finally {
-			if (win != null)
-				win.close();
-		}
-
-		// open a window with invalid perspective. WorkbenchException is expected.
-		boolean exceptionOccured = false;
-		try {
-			win =
-				fWorkbench.openWorkbenchWindow("afdasfdasf", ResourcesPlugin.getWorkspace());
-		} catch (WorkbenchException ex) {
-			exceptionOccured = true;
-		}
-
-		assertEquals(exceptionOccured, true);
-	}
-
-	/**
-	 * openWorkbenchWindow(IAdaptable)
-	 */
-	public void testOpenWorkbenchWindow2() throws Throwable {
-		// open a window with valid perspective 
-		IWorkbenchWindow win = null;
-
-		try {
-			win = fWorkbench.openWorkbenchWindow(ResourcesPlugin.getWorkspace());
-			assertNotNull(win);
-
-			if (!PlatformUtil.onLinux()) {
-				assertEquals(win, fWorkbench.getActiveWorkbenchWindow());
-			}
-			String defaultID = fWorkbench.getPerspectiveRegistry().getDefaultPerspective();
-			assertEquals(win.getActivePage().getPerspective().getId(), defaultID);
-
-		} finally {
-			if (win != null)
-				win.close();
-		}
-	}
-	
-	public void testOpenPage1() throws Throwable {
-		IWorkbenchWindow win = null;
-		//IWorkbenchPage page1, page2;
-		try {
-/*
- * Commented out until test case can be updated to match new
- * implementation of single page per window
- * 
-			// Open test window.
-			win = fWorkbench.openWorkbenchWindow(ResourcesPlugin.getWorkspace());
-			assertNotNull(win);
-
-			// Set platform pref for openPage.
-			IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
-			store.setValue(IPreferenceConstants.REUSE_PERSPECTIVES, 
-				true);
-			
-			// Call openPage twice with the same input.
-			// Verify that we get the same page back both times.
-			page1 = fWorkbench.openPage(ResourcesPlugin.getWorkspace());
-			assertNotNull(page1);
-			page2 = fWorkbench.openPage(ResourcesPlugin.getWorkspace());
-			assertNotNull(page2);
-			assertEquals("Pages should be equal", page1, page2);
-
-			// Reset platform pref for openPage.
-			store.setValue(IPreferenceConstants.REUSE_PERSPECTIVES, 
-				false);
-*/			
-			// Call openPage twice with the same input.
-			// Verify that we get two different pages back.
-/*
- * Commented out until Nick has time to update this
- * test case to match new implementation of openPage
- * otherwise this test always fails.
- *
-			page1 = fWorkbench.openPage(ResourcesPlugin.getWorkspace());
-			assertNotNull(page1);
-			page2 = fWorkbench.openPage(ResourcesPlugin.getWorkspace());
-			assertNotNull(page2);
-			assertTrue("Pages should be not equal", page1 != page2);
-*/
-		} finally {
-			// Close test window.
-			if (win != null)
-				win.close();
-		}
-	}
-
-	public void testOpenPage2() throws Throwable {
-		IWorkbenchWindow win = null;
-		//IWorkbenchPage page1, page2;
-		try {
-/*
- * Commented out until test case can be updated to match new
- * implementation of single page per window
- * 
-			// Open test window.
-			win = fWorkbench.openWorkbenchWindow(ResourcesPlugin.getWorkspace());
-			assertNotNull(win);
-
-			// Set platform pref for openPage.
-			IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
-			store.setValue(IPreferenceConstants.REUSE_PERSPECTIVES, 
-				true);
-			
-			// Call openPage twice with the same input.
-			// Verify that we get the same page back both times.
-			page1 = fWorkbench.openPage(EmptyPerspective.PERSP_ID,
-				ResourcesPlugin.getWorkspace(), 0);
-			assertNotNull(page1);
-			page2 = fWorkbench.openPage(IWorkbenchConstants.DEFAULT_LAYOUT_ID,
-				ResourcesPlugin.getWorkspace(), 0);
-			assertNotNull(page2);
-			assertEquals("Pages should be equal", page1, page2);
-
-			// Reset platform pref for openPage.
-			store.setValue(IPreferenceConstants.REUSE_PERSPECTIVES, 
-				false);
-			
-			// Call openPage twice with the same input.
-			// Verify that we get two different pages back.
-			page1 = fWorkbench.openPage(EmptyPerspective.PERSP_ID,
-				ResourcesPlugin.getWorkspace(), 0);
-			assertNotNull(page1);
-			page2 = fWorkbench.openPage(IWorkbenchConstants.DEFAULT_LAYOUT_ID,
-				ResourcesPlugin.getWorkspace(), 0);
-			assertTrue("Pages should be not equal", page1 != page2);
-*/			
-		} finally {
-			// Close test window.
-			if (win != null)
-				win.close();
-		}
-	}
-
-	/**
-	 * close() couldn't be tested because calling close() would lead to early termination 
-	 * to entire test suites		
-	 */
-	public void testClose() {
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkbenchTestSuite.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkbenchTestSuite.java
deleted file mode 100644
index 09e3abf..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkbenchTestSuite.java
+++ /dev/null
@@ -1,37 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * Test the workbench. This suite was created as a 
- * workaround for problems running the suites from the
- * command line.
- */
-public class IWorkbenchTestSuite extends TestSuite {
-
-	/**
-	 * Returns the suite.  This is required to
-	 * use the JUnit Launcher.
-	 */
-	public static Test suite() {
-		return new IWorkbenchTestSuite();
-	}
-	
-	/**
-	 * Construct the test suite.
-	 */
-	public IWorkbenchTestSuite() {
-		addTest(new TestSuite(IWorkbenchTest.class));
-		addTest(new TestSuite(IWorkbenchWindowTest.class));
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkbenchWindowActionDelegateTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkbenchWindowActionDelegateTest.java
deleted file mode 100644
index f53182f..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkbenchWindowActionDelegateTest.java
+++ /dev/null
@@ -1,86 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.ui.tests.util.ActionUtil;
-
-/**
- * Tests the lifecycle for a window action delegate.
- */
-public class IWorkbenchWindowActionDelegateTest extends IActionDelegateTest {
-
-	/**
-	 * Constructor for IWorkbenchWindowActionDelegateTest
-	 */
-	public IWorkbenchWindowActionDelegateTest(String testName) {
-		super(testName);
-	}
-
-	public void testInit() throws Throwable {
-		// Run the action.
-		testRun();
-		
-		// Verify lifecycle.
-		// The init, selectionChanged, and run methods should
-		// be called, in that order.
-		MockActionDelegate delegate = getDelegate();
-		assertNotNull(delegate);
-		assertTrue(delegate.callHistory.verifyOrder( 
-			new String [] {"init", "selectionChanged", "run"}));
-	}
-
-// Bug 48799.  Commented out testDispose to avoid a test failure.  This should be a temporary solution.
-//	public void testDispose() throws Throwable {
-//		// Run the action.
-//		testRun();
-//		
-//		// Get the action.
-//		MockActionDelegate delegate = getDelegate();
-//		assertNotNull(delegate);
-//		
-//		// Dispose action.
-//		// Verify that the dispose method is called.
-//		delegate.callHistory.clear();
-//		removeAction();
-//		assertTrue(delegate.callHistory.contains("dispose"));
-//	}
-	
-	/**
-	 * @see IActionDelegateTest#createActionWidget()
-	 */
-	protected Object createActionWidget() throws Throwable {
-		fPage.showActionSet("org.eclipse.ui.tests.api.MockActionSet");
-		return null;
-	}
-
-	/**
-	 * @see IActionDelegateTest#runAction()
-	 */
-	protected void runAction(Object widget) throws Throwable {
-		ActionUtil.runActionWithLabel(this, fWindow, "Mock Action");
-	}
-
-	/**
-	 * @see IActionDelegateTest#fireSelection()
-	 */
-	protected void fireSelection(Object widget) throws Throwable {
-		MockViewPart view = (MockViewPart)fPage.showView(MockViewPart.ID);
-		view.fireSelection();
-	}
-	
-	/**
-	 * Removes the action.
-	 */
-	protected void removeAction() {
-		fPage.hideActionSet("org.eclipse.ui.tests.api.MockActionSet");
-	}
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkbenchWindowTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkbenchWindowTest.java
deleted file mode 100644
index 4e9282d..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkbenchWindowTest.java
+++ /dev/null
@@ -1,178 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.tests.util.ArrayUtil;
-import org.eclipse.ui.tests.util.UITestCase;
-
-public class IWorkbenchWindowTest extends UITestCase {
-
-	private IWorkbenchWindow fWin;
-
-	public IWorkbenchWindowTest(String testName) {
-		super(testName);
-	}
-
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-		fWin = openTestWindow();
-	}
-
-	public void testClose() throws Throwable {		
-		assertEquals(fWin.close(), true);
-		assertEquals(ArrayUtil.contains(fWorkbench.getWorkbenchWindows(), fWin), false);
-	}
-
-	public void testGetActivePage() throws Throwable {
-/*
- * Commented out because until test case can be updated to work
- * with new window/page/perspective implementation
- * 
-		IWorkbenchPage page1, page2;
-		page1 = openTestPage(fWin);
-		assertEquals(fWin.getActivePage(), page1);
-
-		page2 = openTestPage(fWin);
-		assertEquals(fWin.getActivePage(), page2);
-
-		fWin.setActivePage(page1);
-		assertEquals(fWin.getActivePage(), page1);
-
-		fWin.setActivePage(page2);
-		assertEquals(fWin.getActivePage(), page2);
-
-		//no pages
-		closeAllPages(fWin);
-		assertNull(fWin.getActivePage());
-*/
-	}
-
-	public void testSetActivePage() throws Throwable {
-		openTestPage(fWin, 5);
-		IWorkbenchPage[] pages = fWin.getPages();
-
-		for (int i = 0; i < pages.length; i++) {
-			fWin.setActivePage(pages[i]);
-			assertEquals(pages[i], fWin.getActivePage());
-		}
-		
-		fWin.setActivePage( null );
-		assertNull( fWin.getActivePage() );
-	}
-
-	public void testGetPages() throws Throwable {
-/*
- * Commented out because until test case can be updated to work
- * with new window/page/perspective implementation
- * 
-		int totalBefore;
-		IWorkbenchPage[] pages, domainPages;
-
-		totalBefore = fWin.getPages().length;
-		int num = 5;
-		pages = openTestPage(fWin, num);
-		assertEquals(fWin.getPages().length, totalBefore + num);
-
-		domainPages = fWin.getPages();
-		for (int i = 0; i < pages.length; i++)
-			assertEquals(ArrayUtil.contains(domainPages, pages[i]), true);
-
-		closeAllPages(fWin);
-		assertEquals(fWin.getPages().length, 0);
-*/
-	}
-
-	public void testGetShell() {
-		Shell sh = fWin.getShell();
-		assertNotNull(sh);
-	}
-	
-	public void testGetWorkbench() {
-		IWorkbenchWindow win = fWorkbench.getActiveWorkbenchWindow();
-		assertEquals(win.getWorkbench(), fWorkbench);
-	}
-
-	/**
-	 * tests openPage(String)
-	 */
-	public void testOpenPage() throws Throwable {
-/*
- * Commented out because until test case can be updated to work
- * with new window/page/perspective implementation
- * 
-		IWorkbenchPage page = null;
-		try {
-			page = fWin.openPage(ResourcesPlugin.getWorkspace());
-			assertNotNull(page);
-			assertEquals(fWin.getActivePage(), page);
-		} finally {
-			if (page != null)
-				page.close();
-		}
-*/
-	}
-
-	/**
-	 * tests openPage(String, IAdaptable)
-	 */
-	public void testOpenPage2() throws Throwable {
-/*
- * Commented out because until test case can be updated to work
- * with new window/page/perspective implementation
- * 
-		IWorkbenchPage page = null;
-		try {
-			page = fWin.openPage(EmptyPerspective.PERSP_ID, ResourcesPlugin.getWorkspace());
-			assertNotNull(page);
-			assertEquals(fWin.getActivePage(), page);
-			assertEquals(
-				fWin.getActivePage().getPerspective().getId(),
-				EmptyPerspective.PERSP_ID);
-		} finally {
-			if (page != null)
-				page.close();
-		}
-
-		//test openPage() fails
-		try {
-			page = fWin.openPage("*************", ResourcesPlugin.getWorkspace());
-			fail();
-		} catch (WorkbenchException ex) {
-		}
-
-		page.close();
-*/
-	}
-
-	public void testIsApplicationMenu() {
-		String[] ids = {
-			IWorkbenchActionConstants.M_FILE,
-			IWorkbenchActionConstants.M_WINDOW,
-		};
-
-		for( int i = 0; i < ids.length; i ++ )
-			assertEquals( fWin.isApplicationMenu( ids[ i ] ), true );
-		
-		ids = new String[] {
-			IWorkbenchActionConstants.M_EDIT,
-			IWorkbenchActionConstants.M_HELP,
-			IWorkbenchActionConstants.M_LAUNCH
-		};
-
-		for( int i = 0; i < ids.length; i ++ )
-			assertEquals( fWin.isApplicationMenu( ids[ i ] ), false );
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkingSetManagerTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkingSetManagerTest.java
deleted file mode 100644
index 5404846..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkingSetManagerTest.java
+++ /dev/null
@@ -1,211 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IAdaptable;
-
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.IWorkingSetManager;
-import org.eclipse.ui.XMLMemento;
-import org.eclipse.ui.dialogs.IWorkingSetSelectionDialog;
-import org.eclipse.ui.tests.util.ArrayUtil;
-import org.eclipse.ui.tests.util.UITestCase;
-
-public class IWorkingSetManagerTest extends UITestCase {
-	final static String WORKING_SET_NAME_1 = "ws1";
-	final static String WORKING_SET_NAME_2 = "ws2";	
-
-	IWorkingSetManager fWorkingSetManager;
-	IWorkspace fWorkspace;
-	IWorkingSet fWorkingSet;
-	String fChangeProperty;
-	Object fChangeNewValue;
-	Object fChangeOldValue;		
-
-	class TestPropertyChangeListener implements IPropertyChangeListener {
-		public void propertyChange(PropertyChangeEvent event) {
-			fChangeProperty = event.getProperty();
-			fChangeNewValue = event.getNewValue();
-			fChangeOldValue = event.getOldValue();
-		}
-	}
-
-	public IWorkingSetManagerTest(String testName) {
-		super(testName);		
-	}
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-		fWorkingSetManager = fWorkbench.getWorkingSetManager();
-		fWorkspace = ResourcesPlugin.getWorkspace();
-		fWorkingSet = fWorkingSetManager.createWorkingSet(WORKING_SET_NAME_1, new IAdaptable[] {fWorkspace.getRoot()});
-
-		IWorkingSet[] workingSets = fWorkingSetManager.getWorkingSets();
-		for (int i = 0; i < workingSets.length; i++) {
-			fWorkingSetManager.removeWorkingSet(workingSets[i]);
-		}		
-	}
-	void resetChangeData() {
-		fChangeProperty = "";
-		fChangeNewValue = null;
-		fChangeOldValue = null;		
-	}
-
-	public void testAddPropertyChangeListener() throws Throwable {
-		IPropertyChangeListener listener = new TestPropertyChangeListener();
-		fWorkingSetManager.addPropertyChangeListener(listener);
-		
-		resetChangeData();
-		fWorkingSetManager.removeWorkingSet(fWorkingSet);
-		assertEquals("", fChangeProperty);
-				
-		resetChangeData();
-		fWorkingSetManager.addWorkingSet(fWorkingSet);
-		assertEquals(IWorkingSetManager.CHANGE_WORKING_SET_ADD, fChangeProperty);
-		assertEquals(null, fChangeOldValue);				
-		assertEquals(fWorkingSet, fChangeNewValue);						
-
-		resetChangeData();
-		fWorkingSetManager.removeWorkingSet(fWorkingSet);
-		assertEquals(IWorkingSetManager.CHANGE_WORKING_SET_REMOVE, fChangeProperty);
-		assertEquals(fWorkingSet, fChangeOldValue);				
-		assertEquals(null, fChangeNewValue);						
-
-		resetChangeData();
-		fWorkingSet.setName(WORKING_SET_NAME_2);
-		assertEquals(IWorkingSetManager.CHANGE_WORKING_SET_NAME_CHANGE, fChangeProperty);
-		assertEquals(null, fChangeOldValue);				
-		assertEquals(fWorkingSet, fChangeNewValue);						
-
-		resetChangeData();
-		fWorkingSet.setElements(new IAdaptable[] {});
-		assertEquals(IWorkingSetManager.CHANGE_WORKING_SET_CONTENT_CHANGE, fChangeProperty);
-		assertEquals(null, fChangeOldValue);				
-		assertEquals(fWorkingSet, fChangeNewValue);						
-	}
-	public void testAddRecentWorkingSet() throws Throwable {
-		fWorkingSetManager.addRecentWorkingSet(fWorkingSet);
-		fWorkingSetManager.addWorkingSet(fWorkingSet);	
-		assertTrue(ArrayUtil.equals(new IWorkingSet[] {fWorkingSet}, fWorkingSetManager.getRecentWorkingSets()));
-		
-		IWorkingSet workingSet2 = fWorkingSetManager.createWorkingSet(WORKING_SET_NAME_2, new IAdaptable[] {fWorkspace.getRoot()});
-		fWorkingSetManager.addRecentWorkingSet(workingSet2);
-		fWorkingSetManager.addWorkingSet(workingSet2);
-		assertTrue(ArrayUtil.equals(new IWorkingSet[] {workingSet2, fWorkingSet}, fWorkingSetManager.getRecentWorkingSets()));
-	}
-	public void testAddWorkingSet() throws Throwable {
-		fWorkingSetManager.addWorkingSet(fWorkingSet);			
-		assertTrue(ArrayUtil.equals(new IWorkingSet[] {fWorkingSet}, fWorkingSetManager.getWorkingSets()));
-
-		boolean exceptionThrown = false;
-		try {
-			fWorkingSetManager.addWorkingSet(fWorkingSet);
-		}
-		catch (RuntimeException exception) {
-			exceptionThrown = true;
-		}
-		assertTrue(exceptionThrown);
-		assertTrue(ArrayUtil.equals(new IWorkingSet[] {fWorkingSet}, fWorkingSetManager.getWorkingSets()));
-	}
-	public void testCreateWorkingSet() throws Throwable {
-		IWorkingSet workingSet2 = fWorkingSetManager.createWorkingSet(WORKING_SET_NAME_2, new IAdaptable[] {fWorkspace.getRoot()});
-		assertEquals(WORKING_SET_NAME_2, workingSet2.getName());
-		assertTrue(ArrayUtil.equals(new IAdaptable[] {fWorkspace.getRoot()}, workingSet2.getElements()));
-
-		workingSet2 = fWorkingSetManager.createWorkingSet("", new IAdaptable[] {});
-		assertEquals("", workingSet2.getName());
-		assertTrue(ArrayUtil.equals(new IAdaptable[] {}, workingSet2.getElements()));
-	}
-	public void testCreateWorkingSetFromMemento() throws Throwable {
-		IWorkingSet workingSet2 = fWorkingSetManager.createWorkingSet(WORKING_SET_NAME_2, new IAdaptable[] {fWorkspace.getRoot()});
-		IMemento memento = XMLMemento.createWriteRoot("savedState"); //$NON-NLS-1$
-		workingSet2.saveState(memento);
-		IWorkingSet restoredWorkingSet2 = fWorkingSetManager.createWorkingSet(memento);
-		assertEquals(WORKING_SET_NAME_2, restoredWorkingSet2.getName());
-		assertTrue(ArrayUtil.equals(new IAdaptable[] {fWorkspace.getRoot()}, restoredWorkingSet2.getElements()));
-	}
-	public void testCreateWorkingSetSelectionDialog() throws Throwable {
-		IWorkbenchWindow window = openTestWindow();
-		IWorkingSetSelectionDialog dialog = fWorkingSetManager.createWorkingSetSelectionDialog(window.getShell(), true);
-		
-		assertNotNull(dialog);
-	}
-	public void testGetRecentWorkingSets() throws Throwable {
-		assertEquals(0, fWorkingSetManager.getRecentWorkingSets().length);
-
-		fWorkingSetManager.addRecentWorkingSet(fWorkingSet);
-		fWorkingSetManager.addWorkingSet(fWorkingSet);
-		assertTrue(ArrayUtil.equals(new IWorkingSet[] {fWorkingSet}, fWorkingSetManager.getRecentWorkingSets()));
-
-		IWorkingSet workingSet2 = fWorkingSetManager.createWorkingSet(WORKING_SET_NAME_2, new IAdaptable[] {fWorkspace.getRoot()});
-		fWorkingSetManager.addRecentWorkingSet(workingSet2);
-		fWorkingSetManager.addWorkingSet(workingSet2);
-		assertTrue(ArrayUtil.equals(new IWorkingSet[] {workingSet2, fWorkingSet}, fWorkingSetManager.getRecentWorkingSets()));
-		
-		fWorkingSetManager.removeWorkingSet(workingSet2);
-		assertTrue(ArrayUtil.equals(new IWorkingSet[] {fWorkingSet}, fWorkingSetManager.getRecentWorkingSets()));
-	}
-	public void testGetWorkingSet() throws Throwable {
-		assertNull(fWorkingSetManager.getWorkingSet(WORKING_SET_NAME_1));
-		
-		fWorkingSetManager.addWorkingSet(fWorkingSet);	
-		assertNotNull(fWorkingSetManager.getWorkingSet(fWorkingSet.getName()));
-
-		assertNull(fWorkingSetManager.getWorkingSet(""));
-		
-		assertNull(fWorkingSetManager.getWorkingSet(null));
-	}
-	public void testGetWorkingSets() throws Throwable {
-		assertTrue(ArrayUtil.equals(new IWorkingSet[] {}, fWorkingSetManager.getWorkingSets()));
-
-		fWorkingSetManager.addWorkingSet(fWorkingSet);	
-		assertTrue(ArrayUtil.equals(new IWorkingSet[] {fWorkingSet}, fWorkingSetManager.getWorkingSets()));
-
-		try {
-			fWorkingSetManager.addWorkingSet(fWorkingSet);	
-		}
-		catch (RuntimeException exception) {}
-		assertTrue(ArrayUtil.equals(new IWorkingSet[] {fWorkingSet}, fWorkingSetManager.getWorkingSets()));
-
-		IWorkingSet workingSet2 = fWorkingSetManager.createWorkingSet(WORKING_SET_NAME_2, new IAdaptable[] {fWorkspace.getRoot()});
-		fWorkingSetManager.addWorkingSet(workingSet2);	
-		assertTrue(ArrayUtil.contains(fWorkingSetManager.getWorkingSets(), workingSet2));
-		assertTrue(ArrayUtil.contains(fWorkingSetManager.getWorkingSets(), fWorkingSet));		
-	}
-	public void testRemovePropertyChangeListener() throws Throwable {
-		IPropertyChangeListener listener = new TestPropertyChangeListener();
-		
-		fWorkingSetManager.removePropertyChangeListener(listener);
-		
-		fWorkingSetManager.addPropertyChangeListener(listener);
-		fWorkingSetManager.removePropertyChangeListener(listener);		
-
-		resetChangeData();
-		fWorkingSet.setName(WORKING_SET_NAME_1);
-		assertEquals("", fChangeProperty);
-	}
-	public void testRemoveWorkingSet() throws Throwable {
-		fWorkingSetManager.removeWorkingSet(fWorkingSet);
-		assertTrue(ArrayUtil.equals(new IWorkingSet[] {}, fWorkingSetManager.getWorkingSets()));
-				
-		fWorkingSetManager.addWorkingSet(fWorkingSet);
-		IWorkingSet workingSet2 = fWorkingSetManager.createWorkingSet(WORKING_SET_NAME_2, new IAdaptable[] {fWorkspace.getRoot()});
-		fWorkingSetManager.addWorkingSet(workingSet2);	
-		fWorkingSetManager.removeWorkingSet(fWorkingSet);
-		assertTrue(ArrayUtil.equals(new IWorkingSet[] {workingSet2}, fWorkingSetManager.getWorkingSets()));
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkingSetTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkingSetTest.java
deleted file mode 100644
index cea68fd..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkingSetTest.java
+++ /dev/null
@@ -1,106 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IAdaptable;
-
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.IWorkingSetManager;
-import org.eclipse.ui.tests.util.ArrayUtil;
-import org.eclipse.ui.tests.util.FileUtil;
-import org.eclipse.ui.tests.util.UITestCase;
-
-public class IWorkingSetTest extends UITestCase {
-	final static String WORKING_SET_NAME_1 = "ws1";
-	final static String WORKING_SET_NAME_2 = "ws2";	
-	
-	IWorkspace fWorkspace;
-	IWorkingSet fWorkingSet;
-	
-	public IWorkingSetTest(String testName) {
-		super(testName);		
-	}
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-		IWorkingSetManager workingSetManager = fWorkbench.getWorkingSetManager();	
-		
-		fWorkspace = ResourcesPlugin.getWorkspace();		
-		fWorkingSet = workingSetManager.createWorkingSet(WORKING_SET_NAME_1, new IAdaptable[] {fWorkspace.getRoot()});
-	}
-	public void testGetElements() throws Throwable {
-		assertEquals(fWorkspace.getRoot(), fWorkingSet.getElements()[0]);		
-	}
-	public void testGetId() throws Throwable {
-		assertEquals(null, fWorkingSet.getId());
-		fWorkingSet.setId("bogusId");
-		assertEquals("bogusId", fWorkingSet.getId());				
-		fWorkingSet.setId(null);
-		assertEquals(null, fWorkingSet.getId());
-	}
-	public void testGetName() throws Throwable {
-		assertEquals(WORKING_SET_NAME_1, fWorkingSet.getName());
-	}
-	public void testSetElements() throws Throwable {
-		boolean exceptionThrown = false;
-		
-		try {
-			fWorkingSet.setElements(null);
-		}
-		catch (RuntimeException exception) {
-			exceptionThrown = true;
-		}
-		assertTrue(exceptionThrown);
-
-		IProject p1 = FileUtil.createProject("TP1");
-		IFile f1 = FileUtil.createFile("f1.txt", p1);
-		IAdaptable[] elements = new IAdaptable[] {f1, p1};
-		fWorkingSet.setElements(elements);
-		assertTrue(ArrayUtil.equals(elements, fWorkingSet.getElements()));
-		
-		fWorkingSet.setElements(new IAdaptable[] {f1});
-		assertEquals(f1, fWorkingSet.getElements()[0]);
-
-		fWorkingSet.setElements(new IAdaptable[] {});
-		assertEquals(0, fWorkingSet.getElements().length);
-	}
-	public void testSetId() throws Throwable {
-		assertEquals(null, fWorkingSet.getId());
-		fWorkingSet.setId("bogusId");
-		assertEquals("bogusId", fWorkingSet.getId());
-		fWorkingSet.setId(null);
-		assertEquals(null, fWorkingSet.getId());
-	}
-	public void testSetName() throws Throwable {
-		boolean exceptionThrown = false;
-		
-		try {
-			fWorkingSet.setName(null);
-		}
-		catch (RuntimeException exception) {
-			exceptionThrown = true;
-		}
-		assertTrue(exceptionThrown);
-
-		fWorkingSet.setName(WORKING_SET_NAME_2);
-		assertEquals(WORKING_SET_NAME_2, fWorkingSet.getName());
-		
-		fWorkingSet.setName("");
-		assertEquals("", fWorkingSet.getName());
-
-		fWorkingSet.setName(" ");
-		assertEquals(" ", fWorkingSet.getName());
-	}
-
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/ListContentProvider.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/ListContentProvider.java
deleted file mode 100644
index 72b1c02..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/ListContentProvider.java
+++ /dev/null
@@ -1,43 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import java.util.List;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-public class ListContentProvider implements IStructuredContentProvider {
-
-	/**
-	 * @see IStructuredContentProvider#getElements(Object)
-	 */
-	public Object[] getElements(Object inputElement) {
-		if (inputElement instanceof List) {
-			return ((List)inputElement).toArray();
-		}
-		return new Object[0];
-	}
-
-	/**
-	 * @see IContentProvider#dispose()
-	 */
-	public void dispose() {
-	}
-
-	/**
-	 * @see IContentProvider#inputChanged(Viewer, Object, Object)
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-	}
-
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/ListElement.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/ListElement.java
deleted file mode 100644
index 6bda65e..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/ListElement.java
+++ /dev/null
@@ -1,51 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.core.runtime.IAdaptable;
-
-import org.eclipse.ui.IActionFilter;
-
-public class ListElement implements IAdaptable {
-
-	private String name;
-	private boolean flag;
-	
-	public ListElement(String name) {
-		this(name, false);
-	}
-	
-	public ListElement(String name, boolean flag) {
-		this.name = name;
-		this.flag = flag;
-	}
-	
-	public String toString() {
-		return name + ':' + flag;
-	}
-
-	public String getName() {
-		return name;
-	}
-	
-	public boolean getFlag() {
-		return flag;
-	}
-		
-	public Object getAdapter(Class adapter) {
-		if (adapter == IActionFilter.class) {
-			return ListElementActionFilter.getSingleton();
-		}
-		return null;
-	}
-
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/ListElementActionFilter.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/ListElementActionFilter.java
deleted file mode 100644
index a93f56a..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/ListElementActionFilter.java
+++ /dev/null
@@ -1,63 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.ui.IActionFilter;
-
-public class ListElementActionFilter implements IActionFilter {
-
-	private boolean called = false;
-	
-	public static final String ATTR_NAME = "name";
-	public static final String ATTR_FLAG = "flag";
-	public static final String VAL_TRUE = "true";
-	public static final String VAL_FALSE = "false";
-	
-	private static ListElementActionFilter singleton;
-
-	public static ListElementActionFilter getSingleton() {
-		if (singleton == null)
-			singleton = new ListElementActionFilter();
-		return singleton;
-	}
-		
-	private ListElementActionFilter() {
-		super();
-	}
-
-	/**
-	 * @see IActionFilter#testAttribute(Object, String, String)
-	 */
-	public boolean testAttribute(Object target, String name, String value) {
-		called = true;
-		ListElement le = (ListElement)target;
-		if (name.equals(ATTR_NAME)) {
-			return value.equals(le.getName());
-		} else if (name.equals(ATTR_FLAG)) {
-			boolean flag = le.getFlag();
-			if (flag)
-				return value.equals(VAL_TRUE);
-			else
-				return value.equals(VAL_FALSE);
-		}	
-		return false;
-	}
-	
-	public void clearCalled() {
-		called = false;
-	}
-	
-	public boolean getCalled() {
-		return called;
-	}
-
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/ListElementPropertyTester.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/ListElementPropertyTester.java
deleted file mode 100644
index 566ee41..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/ListElementPropertyTester.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.core.expressions.PropertyTester;
-
-public class ListElementPropertyTester extends PropertyTester {
-
-	public static final String ATTR_NAME = "name";
-
-	public boolean test(Object receiver, String property, Object[] args, Object expectedValue) {
-		ListElement le = (ListElement)receiver;
-		if (property.equals(ATTR_NAME)) {
-			return expectedValue.equals(le.getName());
-		}
-		return false;
-	}
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/ListView.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/ListView.java
deleted file mode 100644
index fc89daf..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/ListView.java
+++ /dev/null
@@ -1,167 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import java.util.ArrayList;
-
-import junit.framework.TestCase;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Menu;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.ListViewer;
-import org.eclipse.jface.viewers.StructuredSelection;
-
-import org.eclipse.ui.IWorkbenchActionConstants;
-
-/**
- * An ElementViewPart shows a bunch of elements in a list
- * viewer.
- */
-public class ListView extends MockViewPart 
-	implements IMenuListener
-{
-
-	ListViewer viewer;
-	ArrayList input;
-	MenuManager menuMgr;
-	Menu menu;
-	Action addAction;
-	String ADD_ACTION_ID = "addAction";
-	
-	/**
-	 * Constructor for ElementViewPart
-	 */
-	public ListView() {
-		super();
-		input = new ArrayList();
-	}
-
-	/**
-	 * @see IWorkbenchPart#createPartControl(Composite)
-	 */
-	public void createPartControl(Composite parent) {
-		callTrace.add("createPartControl");
-		
-		// Create viewer.
-		viewer = new ListViewer(parent);
-		viewer.setLabelProvider(new LabelProvider());
-		viewer.setContentProvider(new ListContentProvider());
-		viewer.setInput(input);
-		
-		// Create popup menu.
-		createPopupMenu();
-		
-		// Register stuff.
-		getSite().setSelectionProvider(viewer);
-	}
-
-	/**
-	 * Creates a popup menu.
-	 */	
-	public void createPopupMenu() {
-		// Create actions.
-		addAction = new Action("Add Standard Items") {
-			public void run() {
-				addStandardItems();
-			}
-		};
-		addAction.setId(ADD_ACTION_ID);
-		
-		// Create popup menu.
-		if (useStaticMenu())
-			createStaticPopupMenu();
-		else	
-			createDynamicPopupMenu();
-	}
-	
-	/**
-	 * Creates a dynamic popup menu.
-	 */	
-	public void createDynamicPopupMenu() {
-		menuMgr = new MenuManager();
-		menuMgr.setRemoveAllWhenShown(true);
-		menuMgr.addMenuListener(this);
-		menu = menuMgr.createContextMenu(viewer.getControl());
-		viewer.getControl().setMenu(menu);
-		getSite().registerContextMenu(menuMgr, viewer);
-	}
-	
-	/**
-	 * Creates a static popup menu.
-	 */	
-	public void createStaticPopupMenu() {
-		menuMgr = new MenuManager();
-		menu = menuMgr.createContextMenu(viewer.getControl());
-		viewer.getControl().setMenu(menu);
-		getSite().registerContextMenu(menuMgr, viewer);
-		menuAboutToShow(menuMgr);
-	}
-	
-	public void addElement(ListElement el) {
-		input.add(el);
-		viewer.refresh();
-		viewer.getControl().update();
-	}
-	
-	public void selectElement(ListElement el) {
-		if (el == null)
-			viewer.setSelection(new StructuredSelection());
-		else
-			viewer.setSelection(new StructuredSelection(el));
-	}
-	
-	public MenuManager getMenuManager() {
-		return menuMgr;
-	}
-	
-	/**
-	 * @see IMenuListener#menuAboutToShow(IMenuManager)
-	 */
-	public void menuAboutToShow(IMenuManager menuMgr) {
-		menuMgr.add(addAction);
-		menuMgr.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-	}
-	
-	/**
-	 * Tests that the menu mgr contains the expected actions.
-	 */
-	public void verifyActions(TestCase test, IMenuManager menuMgr) {
-		TestCase.assertNotNull(menuMgr.find(ADD_ACTION_ID));
-	}
-	
-	public void addStandardItems() {
-		addElement(new ListElement("red"));
-		addElement(new ListElement("blue"));
-		addElement(new ListElement("green"));
-		addElement(new ListElement("red", true));
-	}
-
-	/**
-	 * Returns <code>true</code> to indicate that a static menu should be used,
-	 * <code>false</code> to indicate a dynamic menu.
-	 */
-	private boolean useStaticMenu() {
-		Object data = getData();
-		if (data instanceof String) {
-			String arg = (String) data;
-			return arg.indexOf("-staticMenu") >= 0; //$NON-NLS-1$
-		}
-		return false;
-	}
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockAction.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockAction.java
deleted file mode 100644
index cb56b9b..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockAction.java
+++ /dev/null
@@ -1,53 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.resource.ImageDescriptor;
-
-import org.eclipse.ui.tests.TestPlugin;
-
-public class MockAction extends Action {
-	
-	private boolean hasRun = false;
-
-	/**
-	 * Constructor for MockAction
-	 */
-	protected MockAction(String text) {
-		super(text);
-		TestPlugin plugin = TestPlugin.getDefault();
-		setImageDescriptor(plugin.getImageDescriptor("anything.gif"));
-		setToolTipText(text);
-	}
-
-	/**
-	 * Constructor for MockAction
-	 */
-	protected MockAction(String text, ImageDescriptor image) {
-		super(text, image);
-		setToolTipText(text);
-	}
-	
-	public void run() {
-		hasRun = true;
-	}
-	
-	public void clearRun() {
-		hasRun = false;
-	}
-	
-	public boolean getRun() {
-		return hasRun;
-	}
-	
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockActionDelegate.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockActionDelegate.java
deleted file mode 100644
index 9c8b23a..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockActionDelegate.java
+++ /dev/null
@@ -1,58 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-import org.eclipse.ui.tests.util.CallHistory;
-
-public class MockActionDelegate implements IWorkbenchWindowActionDelegate {
-
-	public CallHistory callHistory;
-	public static final String ACTION_SET_ID = "org.eclipse.ui.tests.api.MockActionSet";
-	public static MockActionDelegate lastDelegate;
-	
-	public MockActionDelegate() {
-		callHistory = new CallHistory(this);
-		lastDelegate = this;
-	}
-	
-	/*
-	 * @see IWorkbenchWindowActionDelegate#init(IWorkbenchWindow)
-	 */
-	public void init(IWorkbenchWindow window) {
-	}
-
-	/**
-	 * @see IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action) {
-		callHistory.add("run");
-	}
-	
-	/**
-	 * @see IActionDelegate#selectionChanged(IAction, ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		callHistory.add("selectionChanged");
-	}
-	
-	/*
-	 * @see IWorkbenchWindowActionDelegate#dispose()
-	 */
-	public void dispose() {
-	}
-
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockEditorActionBarContributor.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockEditorActionBarContributor.java
deleted file mode 100644
index 28d8523..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockEditorActionBarContributor.java
+++ /dev/null
@@ -1,95 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.jface.action.IToolBarManager;
-
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.part.EditorActionBarContributor;
-import org.eclipse.ui.tests.util.CallHistory;
-
-public class MockEditorActionBarContributor
-	extends EditorActionBarContributor 
-{
-	protected CallHistory callHistory;
-	protected IEditorPart target;
-	protected int ACTION_COUNT = 5;
-	protected MockAction [] actions;
-
-	/**
-	 * Constructor for MockEditorActionBarContributor
-	 */
-	public MockEditorActionBarContributor() {
-		super();
-		callHistory = new CallHistory(this);
-	}
-
-	public CallHistory getCallHistory() {
-		return callHistory;
-	}
-	
-	/**
-	 * @see IEditorActionBarContributor#init(IActionBars)
-	 */
-	public void init(IActionBars bars) {
-		callHistory.add("init");
-		actions = new MockAction[ACTION_COUNT];
-		for (int nX = 0; nX < ACTION_COUNT; nX ++) {
-			actions[nX] = new MockAction(Integer.toString(nX));
-			if (nX % 2 > 0)
-				actions[nX].setEnabled(false);
-		}
-		super.init(bars);
-	}
-	
-	/**
-	 * @see EditorActionBarContributor#contributeToToolBar(IToolBarManager)
-	 */
-	public void contributeToToolBar(IToolBarManager toolBarManager) {
-		for (int i = 0; i < actions.length; ++i) {
-			toolBarManager.add(actions[i]);
-		}
-	}
-
-	/**
-	 * @see IEditorActionBarContributor#setActiveEditor(IEditorPart)
-	 */
-	public void setActiveEditor(IEditorPart targetEditor) {
-		callHistory.add("setActiveEditor");
-		target = targetEditor;
-	}
-	
-	/**
-	 * Returns the active editor.
-	 */
-	public IEditorPart getActiveEditor() {
-		return target;
-	}
-		
-	/**
-	 * Returns the actions.
-	 */
-	public MockAction [] getActions() {
-		return actions;
-	}
-	
-	/**
-	 * Set the enablement for all actions.
-	 */
-	public void enableActions(boolean b) {
-		for (int nX = 0; nX < ACTION_COUNT; nX ++) {
-			actions[nX].setEnabled(b);
-		}
-	}
-
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockEditorActionDelegate.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockEditorActionDelegate.java
deleted file mode 100644
index 31776dc..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockEditorActionDelegate.java
+++ /dev/null
@@ -1,46 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.jface.action.IAction;
-
-import org.eclipse.ui.IEditorActionDelegate;
-import org.eclipse.ui.IEditorPart;
-
-public class MockEditorActionDelegate extends MockActionDelegate
-	implements IEditorActionDelegate 
-{
-	private IEditorPart target;
-
-	/**
-	 * Constructor for MockEditorActionDelegate
-	 */
-	public MockEditorActionDelegate() {
-		super();
-	}
-
-	/**
-	 * @see IEditorActionDelegate#setActiveEditor(IAction, IEditorPart)
-	 */
-	public void setActiveEditor(IAction action, IEditorPart targetEditor) {
-		callHistory.add("setActiveEditor");
-		target = targetEditor;
-	}
-	
-	/**
-	 * Returns the active editor.
-	 */
-	public IEditorPart getActiveEditor() {
-		return target;
-	}
-
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockEditorPart.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockEditorPart.java
deleted file mode 100644
index 4010ff5..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockEditorPart.java
+++ /dev/null
@@ -1,125 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.ide.IGotoMarker;
-
-public class MockEditorPart extends MockWorkbenchPart implements IEditorPart, IGotoMarker {
-
-	private static final String BASE = "org.eclipse.ui.tests.api.MockEditorPart";
-	public static final String ID1 = BASE + "1";
-	public static final String ID2 = BASE + "2";
-	public static final String NAME = "Mock Editor 1";
-
-	private IEditorInput input;
-	private boolean dirty = false;
-	private boolean saveNeeded = false;
-	
-	public MockEditorPart() {
-		super();
-	}
-	
-	/**
-	 * @see IEditorPart#doSave(IProgressMonitor)
-	 */
-	public void doSave(IProgressMonitor monitor) {
-		setDirty(false);
-		callTrace.add( "doSave" );
-	}
-
-	/**
-	 * @see IEditorPart#doSaveAs()
-	 */
-	public void doSaveAs() {
-	}
-
-	/**
-	 * @see IEditorPart#getEditorInput()
-	 */
-	public IEditorInput getEditorInput() {
-		return input;
-	}
-
-	/**
-	 * @see IEditorPart#getEditorSite()
-	 */
-	public IEditorSite getEditorSite() {
-		return (IEditorSite)getSite();
-	}
-
-	/**
-	 * @see org.eclipse.ui.ide.IGotoMarker
-	 */
-	public void gotoMarker(IMarker marker) {
-		callTrace.add( "gotoMarker" );	
-	}
-
-	/**
-	 * @see IEditorPart#init(IEditorSite, IEditorInput)
-	 */
-	public void init(IEditorSite site, IEditorInput input)
-		throws PartInitException {
-		this.input = input;
-		setSite(site);
-		callTrace.add( "init" );
-		setSiteInitialized();
-	}
-
-	/**
-	 * @see IEditorPart#isDirty()
-	 */
-	public boolean isDirty() {
-		callTrace.add( "isDirty" );
-		return dirty;
-	}
-
-	public void setDirty( boolean value )
-	{
-		dirty = value;
-		firePropertyChange(PROP_DIRTY);
-	}
-
-	/**
-	 * @see IEditorPart#isSaveAsAllowed()
-	 */
-	public boolean isSaveAsAllowed() {
-		return false;
-	}
-
-	/**
-	 * @see IEditorPart#isSaveOnCloseNeeded()
-	 */
-	public boolean isSaveOnCloseNeeded() {
-		callTrace.add( "isSaveOnCloseNeeded" );
-		return saveNeeded;
-	}
-	
-	public void setSaveNeeded( boolean value )
-	{
-		saveNeeded = value;
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.tests.api.MockWorkbenchPart#getActionBars()
-     */
-    protected IActionBars getActionBars() {
-        return getEditorSite().getActionBars();
-    }
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockPart.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockPart.java
deleted file mode 100644
index 03fcf1e..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockPart.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-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.IPluginDescriptor;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IPropertyListener;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.tests.util.CallHistory;
-
-
-/**
- * Base class for mock intro and workbench parts.
- * 
- * @since 3.0
- */
-public class MockPart implements IExecutableExtension {
-
-    /**
-     * 
-     */
-    public MockPart() {
-		callTrace = new CallHistory(this);
-		selectionProvider = new MockSelectionProvider();    
-    }
-
-    protected CallHistory callTrace;
-    protected MockSelectionProvider selectionProvider;
-    private IConfigurationElement config;
-    private Object data;
-    private Image titleImage;
-    private ListenerList propertyListeners = new ListenerList();
-
-    public CallHistory getCallHistory() {
-    	return callTrace;
-    }
-
-    public ISelectionProvider getSelectionProvider() {
-    	return selectionProvider;
-    }
-
-    public void setInitializationData(IConfigurationElement config, String propertyName, Object data) throws CoreException {
-    	this.config = config;
-    	this.data = data;
-    
-    	// Icon.
-    	String strIcon = config.getAttribute("icon");//$NON-NLS-1$
-    	if (strIcon != null) {
-    		try {
-    			IPluginDescriptor pd = config.getDeclaringExtension()
-    				.getDeclaringPluginDescriptor();
-    			URL fullPathString = new URL(pd.getInstallURL(), strIcon);
-    			ImageDescriptor imageDesc = ImageDescriptor.createFromURL(fullPathString);
-    			titleImage = imageDesc.createImage();
-    		} catch (MalformedURLException e) {
-    		    // ignore
-    		}
-    	}
-    }
-
-    protected IConfigurationElement getConfig() {
-    	return config;
-    }
-
-    protected Object getData() {
-    	return data;
-    }
-
-    /**
-     * @see IWorkbenchPart#addPropertyListener(IPropertyListener)
-     */
-    public void addPropertyListener(IPropertyListener listener) {
-        propertyListeners.add(listener);
-    }
-
-    /**
-     * @see IWorkbenchPart#createPartControl(Composite)
-     */
-    public void createPartControl(Composite parent) {
-    	callTrace.add("createPartControl" );
-    }
-
-    /**
-     * @see IWorkbenchPart#dispose()
-     */
-    public void dispose() {
-    	callTrace.add("dispose" );
-    }
-
-    /**
-     * @see IWorkbenchPart#getTitleImage()
-     */
-    public Image getTitleImage() {
-    	return titleImage;
-    }
-
-    /**
-     * @see IWorkbenchPart#removePropertyListener(IPropertyListener)
-     */
-    public void removePropertyListener(IPropertyListener listener) {
-    	propertyListeners.remove(listener);
-    }
-
-    /**
-     * @see IWorkbenchPart#setFocus()
-     */
-    public void setFocus() {
-    	callTrace.add("setFocus" );
-    }
-
-    /**
-     * @see IAdaptable#getAdapter(Class)
-     */
-    public Object getAdapter(Class arg0) {
-    	return null;
-    }
-
-    /**
-     * Fires a selection out.
-     */
-    public void fireSelection() {
-    	selectionProvider.fireSelection();
-    }
-
-    /**
-     * Fires a property change event.
-     */
-    protected void firePropertyChange(int propertyId) {
-    	Object [] listeners = propertyListeners.getListeners();
-    	for (int i = 0; i < listeners.length; i ++) {
-    		IPropertyListener l = (IPropertyListener)listeners[i];
-    		l.propertyChanged(this, propertyId);
-    	}
-    }
-
-    /**
-     * boolean to declare whether the site was properly initialized in the init method. 
-     */
-    private boolean siteState = false;
-
-    /**
-     * Sets whether the site was properly initialized in the init method.
-     */
-    protected void setSiteInitialized(boolean initialized) {
-        siteState = initialized;
-    }
-
-    /**
-     * Gets whether the site was properly initialized in the init method.
-     */
-    public boolean isSiteInitialized() {
-        return siteState;
-    }
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockPartListener.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockPartListener.java
deleted file mode 100644
index bb6a137..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockPartListener.java
+++ /dev/null
@@ -1,62 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.tests.util.CallHistory;
-
-public class MockPartListener implements IPartListener {
-	private CallHistory callTrace;
-
-	public MockPartListener() {
-		callTrace = new CallHistory( this );
-	}
-
-	public CallHistory getCallHistory() {
-		return callTrace;
-	}
-
-	/**
-	 * @see IPartListener#partActivated(IWorkbenchPart)
-	 */
-	public void partActivated(IWorkbenchPart part) {
-		callTrace.add("partActivated");
-	}
-
-	/**
-	 * @see IPartListener#partBroughtToTop(IWorkbenchPart)
-	 */
-	public void partBroughtToTop(IWorkbenchPart part) {
-		callTrace.add("partBroughtToTop");
-	}
-
-	/**
-	 * @see IPartListener#partClosed(IWorkbenchPart)
-	 */
-	public void partClosed(IWorkbenchPart part) {
-		callTrace.add( "partClosed");
-	}
-
-	/**
-	 * @see IPartListener#partDeactivated(IWorkbenchPart)
-	 */
-	public void partDeactivated(IWorkbenchPart part) {
-		callTrace.add( "partDeactivated");
-	}
-
-	/**
-	 * @see IPartListener#partOpened(IWorkbenchPart)
-	 */
-	public void partOpened(IWorkbenchPart part) {
-		callTrace.add( "partOpened");
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockPropertyListener.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockPropertyListener.java
deleted file mode 100644
index dddc5b0..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockPropertyListener.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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.ui.IPropertyListener;
-import org.eclipse.ui.tests.util.CallHistory;
-
-public class MockPropertyListener implements IPropertyListener {
-	private CallHistory callTrace;
-	private Object sourceMask;
-	private int sourceId;
-	
-	/**
-	 * @param source the event source that fires the event to this listener
-	 * @param id the property id for the event
-	 */
-	public MockPropertyListener( Object source, int id )
-	{
-		sourceMask = source;
-		sourceId = id;
-		callTrace = new CallHistory(this);
-	}	
-	
-	/**
-	 * @see IPropertyListener#propertyChanged(Object, int)
-	 */
-	public void propertyChanged(Object source, int propId) {	
-		if( source == sourceMask && propId == sourceId )	
-			callTrace.add( "propertyChanged" );
-	}
-	
-	public CallHistory getCallHistory()
-	{
-		return callTrace;
-	}	
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockSelectionProvider.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockSelectionProvider.java
deleted file mode 100644
index 22cf75c..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockSelectionProvider.java
+++ /dev/null
@@ -1,72 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-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;
-
-public class MockSelectionProvider implements ISelectionProvider {
-
-	private List listeners = new ArrayList(3);
-
-	/**
-	 * Fires out a selection to all listeners.
-	 */
-	public void fireSelection() {
-		fireSelection(new SelectionChangedEvent(this,
-			StructuredSelection.EMPTY));
-	}
-		
-	/**
-	 * Fires out a selection to all listeners.
-	 */
-	public void fireSelection(SelectionChangedEvent event) {
-		Iterator iter = listeners.iterator();
-		while (iter.hasNext()) {
-			((ISelectionChangedListener)iter.next()).selectionChanged(event);
-		}
-	}
-		
-	/**
-	 * @see ISelectionProvider#addSelectionChangedListener(ISelectionChangedListener)
-	 */
-	public void addSelectionChangedListener(ISelectionChangedListener listener) {
-		listeners.add(listener);
-	}
-
-	/**
-	 * @see ISelectionProvider#getSelection()
-	 */
-	public ISelection getSelection() {
-		return StructuredSelection.EMPTY;
-	}
-
-	/**
-	 * @see ISelectionProvider#removeSelectionChangedListener(ISelectionChangedListener)
-	 */
-	public void removeSelectionChangedListener(ISelectionChangedListener listener) {
-		listeners.remove(listener);
-	}
-
-	/**
-	 * @see ISelectionProvider#setSelection(ISelection)
-	 */
-	public void setSelection(ISelection selection) {
-	}
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockViewActionDelegate.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockViewActionDelegate.java
deleted file mode 100644
index 78adc6d..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockViewActionDelegate.java
+++ /dev/null
@@ -1,36 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-
-/**
- * This mock is used to test IViewActionDelegate lifecycle.
- */
-public class MockViewActionDelegate extends MockActionDelegate 
-	implements IViewActionDelegate
-{
-	/**
-	 * Constructor for MockWorkbenchWindowActionDelegate
-	 */
-	public MockViewActionDelegate() {
-		super();
-	}
-
-	/**
-	 * @see IViewActionDelegate#init(IViewPart)
-	 */
-	public void init(IViewPart view) {
-		callHistory.add("init");
-	}
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockViewPart.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockViewPart.java
deleted file mode 100644
index b6853d7..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockViewPart.java
+++ /dev/null
@@ -1,70 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.PartInitException;
-
-public class MockViewPart extends MockWorkbenchPart implements IViewPart {	
-	public static String ID = "org.eclipse.ui.tests.api.MockViewPart";
-	public static String ID2 = ID + "2";
-	public static String ID3 = ID + "3";
-	public static String ID4 = ID + "4";
-	public static String IDMULT = ID + "Mult";
-	public static String NAME = "Mock View 1";
-
-	public MockViewPart()
-	{
-		super();
-	}
-	
-	/**
-	 * @see IViewPart#getViewSite()
-	 */
-	public IViewSite getViewSite() {
-		return (IViewSite)getSite();
-	}
-
-	/**
-	 * @see IViewPart#init(IViewSite)
-	 */
-	public void init(IViewSite site) throws PartInitException {
-		setSite(site);
-		callTrace.add("init" );
-		setSiteInitialized();
-	}
-
-	/**
-	 * @see IViewPart#init(IViewSite, IMemento)
-	 */
-	public void init(IViewSite site, IMemento memento) throws PartInitException {
-		setSite(site);
-		callTrace.add("init" );
-		setSiteInitialized();
-	}
-
-	/**
-	 * @see IViewPart#saveState(IMemento)
-	 */
-	public void saveState(IMemento memento) {
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.tests.api.MockWorkbenchPart#getActionBars()
-     */
-    protected IActionBars getActionBars() {
-        return getViewSite().getActionBars();
-    }	
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockWorkbenchPart.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockWorkbenchPart.java
deleted file mode 100644
index eadfa46..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockWorkbenchPart.java
+++ /dev/null
@@ -1,95 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchPartSite;
-
-public abstract class MockWorkbenchPart extends MockPart implements IWorkbenchPart
-{	
-
-	private IWorkbenchPartSite site;
-	private String title;
-	public MockWorkbenchPart() {
-	    super();
-	}
-	
-	public void setSite(IWorkbenchPartSite site) {
-		this.site = site;
-		site.setSelectionProvider(selectionProvider);
-	}
-	
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.tests.api.MockPart#createPartControl(org.eclipse.swt.widgets.Composite)
-     */
-    public void createPartControl(Composite parent) {
-        // TODO Auto-generated method stub
-        super.createPartControl(parent);
-    	Label label = new Label(parent, SWT.NONE);
-    	label.setText(title);
-    }
-    
-	public IWorkbenchPartSite getSite() {
-		return site;
-	}
-	
-	/**
-	 * @see IWorkbenchPart#getTitle()
-	 */
-	public String getTitle() {
-		return title;
-	}
-
-	/**
-	 * @see IWorkbenchPart#getTitleToolTip()
-	 */
-	public String getTitleToolTip() {
-		return title;
-	}
-	
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.tests.api.MockPart#setInitializationData(org.eclipse.core.runtime.IConfigurationElement, java.lang.String, java.lang.Object)
-     */
-    public void setInitializationData(IConfigurationElement config,
-            String propertyName, Object data) throws CoreException {
-        // TODO Auto-generated method stub
-        super.setInitializationData(config, propertyName, data);
-    	title = config.getAttribute("name");
-    }
-    
-    protected void setSiteInitialized() {
-		setSiteInitialized(getSite().getKeyBindingService() != null 
-		        & getSite().getPage() != null
-		        & getSite().getSelectionProvider() != null
-		        & getSite().getWorkbenchWindow() != null
-		        & testActionBars(getActionBars()));        
-    }
-
-    /**
-     * @param actionBars
-     * @return
-     */
-    private boolean testActionBars(IActionBars bars) {
-        return bars != null 
-    	&& bars.getMenuManager() != null
-    	&& bars.getToolBarManager() != null
-    	&& bars.getStatusLineManager() != null;
-        
-    }
-
-    protected abstract IActionBars getActionBars();
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockWorkbenchWindowActionDelegate.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockWorkbenchWindowActionDelegate.java
deleted file mode 100644
index 721c68b..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockWorkbenchWindowActionDelegate.java
+++ /dev/null
@@ -1,46 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-
-
-public class MockWorkbenchWindowActionDelegate extends MockActionDelegate 
-	implements IWorkbenchWindowActionDelegate
-{
-	public static MockWorkbenchWindowActionDelegate lastDelegate;
-	public static String SET_ID = "org.eclipse.ui.tests.api.MockActionSet";
-	public static String ID = "org.eclipse.ui.tests.api.MockWindowAction";
-
-	/**
-	 * Constructor for MockWorkbenchWindowActionDelegate
-	 */
-	public MockWorkbenchWindowActionDelegate() {
-		super();
-		lastDelegate = this;
-	}
-
-	/**
-	 * @see IWorkbenchWindowActionDelegate#init(IWorkbenchWindow)
-	 */
-	public void init(IWorkbenchWindow window) {
-		callHistory.add("init");
-	}
-
-	/**
-	 * @see IWorkbenchWindowActionDelegate#dispose()
-	 */
-	public void dispose() {
-		callHistory.add("dispose");
-	}
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockWorkingSetPage.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockWorkingSetPage.java
deleted file mode 100644
index 1b01177..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockWorkingSetPage.java
+++ /dev/null
@@ -1,61 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.swt.widgets.Composite;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.wizard.WizardPage;
-
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.dialogs.IWorkingSetPage;
-
-/**
- * Tests the org.eclipse.ui.workingSets extension point.
- */
-public class MockWorkingSetPage extends WizardPage implements IWorkingSetPage {
-	private IWorkingSet workingSet;
-
-	/**
-	 * Creates a new instance of the receiver.
-	 */
-	public MockWorkingSetPage() {
-		super("MockWorkingSetPage", "Test Working Set", ImageDescriptor.getMissingImageDescriptor());	//$NON-NLS-1$ $NON-NLS-2$
-	}
-	/**
-	 * Overrides method in WizardPage.
-	 * 
-	 * @see org.eclipse.jface.wizard.WizardPage#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-	}
-	/**
-	 * Implements IWorkingSetPage.
-	 * 
-	 * @see org.eclipse.ui.dialogs.IWorkingSetPage#getSelection()
-	 */
-	public IWorkingSet getSelection() {
-		return workingSet;
-	}
-	/**
-	 * Implements IWorkingSetPage.
-	 * 
-	 * @see org.eclipse.ui.dialogs.IWorkingSetPage#setSelection(IWorkingSet)
-	 */
-	public void setSelection(IWorkingSet workingSet) {
-	}	
-	/**
-	 * @see org.eclipse.ui.dialogs.IWorkingSetPage#finish()
-	 */
-	public void finish() {
-	}
-
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockWorkingSetTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockWorkingSetTest.java
deleted file mode 100644
index d58694e..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockWorkingSetTest.java
+++ /dev/null
@@ -1,58 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import junit.framework.TestCase;
-
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.registry.WorkingSetDescriptor;
-import org.eclipse.ui.internal.registry.WorkingSetRegistry;
-
-/**
- * Tests the WorkingSetDescriptor and WorkingSetRegistry.
- */
-public class MockWorkingSetTest extends TestCase {
-	final static String WORKING_SET_ID = "org.eclipse.ui.tests.api.MockWorkingSet";
-	final static String WORKING_SET_NAME = "Mock Working Set";
-	final static String WORKING_SET_PAGE_CLASS_NAME = "org.eclipse.ui.tests.api.MockWorkingSetPage";
-
-	WorkingSetRegistry fRegistry;
-
-	public MockWorkingSetTest(String name) {
-		super(name);
-	}
-	/**
-	 * @see junit.framework.TestCase#setUp()
-	 */
-	protected void setUp() throws Exception {
-		super.setUp();
-		fRegistry = WorkbenchPlugin.getDefault().getWorkingSetRegistry();
-	}
-	public void testWorkingSetDescriptor() throws Throwable {
-		WorkingSetDescriptor workingSetDescriptor = fRegistry.getWorkingSetDescriptor(WORKING_SET_ID);
-
-		assertNotNull(workingSetDescriptor.getIcon());		
-		assertEquals(WORKING_SET_ID, workingSetDescriptor.getId());
-		assertEquals(WORKING_SET_NAME, workingSetDescriptor.getName());
-		assertEquals(WORKING_SET_PAGE_CLASS_NAME, workingSetDescriptor.getPageClassName());		
-	}
-	public void testWorkingSetRegistry() throws Throwable {
-		WorkingSetDescriptor[] workingSetDescriptors = fRegistry.getWorkingSetDescriptors();
-		/*
-		 * Should have at least resourceWorkingSetPage and MockWorkingSet
-		 */
-		assertTrue(workingSetDescriptors.length >= 2);
-
-		assertEquals(Class.forName(WORKING_SET_PAGE_CLASS_NAME), fRegistry.getWorkingSetPage(WORKING_SET_ID).getClass());
-	}
-
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/PlatformUITest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/PlatformUITest.java
deleted file mode 100644
index 0fa3186..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/PlatformUITest.java
+++ /dev/null
@@ -1,37 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import junit.framework.TestCase;
-
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Tests the PlatformUI class.
- */
-public class PlatformUITest extends TestCase {
-
-	public PlatformUITest(String testName) {
-		super(testName);
-	}
-
-	public void testGetWorkbench() throws Throwable {
-		// From Javadoc: "Returns the workbench interface."
-		IWorkbench wb = PlatformUI.getWorkbench();
-		assertNotNull(wb);
-	}
-	
-	public void testPLUGIN_ID() {
-		// From Javadoc: "Identifies the workbench plugin."
-		assertNotNull(PlatformUI.PLUGIN_ID);
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/SessionCreateTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/SessionCreateTest.java
deleted file mode 100644
index 6c34226..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/SessionCreateTest.java
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/SessionPerspective.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/SessionPerspective.java
deleted file mode 100644
index 4556921..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/SessionPerspective.java
+++ /dev/null
@@ -1,35 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-/**
- * This class tests the persistance of a perspective.
- */
-public class SessionPerspective implements IPerspectiveFactory {
-
-	public static String ID = "org.eclipse.ui.tests.api.SessionPerspective";
-	
-	/**
-	 * @see IPerspectiveFactory#createInitialLayout(IPageLayout)
-	 */
-	public void createInitialLayout(IPageLayout layout) {
-		String editorArea = layout.getEditorArea();
-		layout.addView(SessionView.VIEW_ID, IPageLayout.LEFT,
-			0.33f, editorArea);
-		layout.addPlaceholder(MockViewPart.ID4, IPageLayout.RIGHT, 
-			.033f, editorArea);
-	}
-
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/SessionRestoreTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/SessionRestoreTest.java
deleted file mode 100644
index dab79d5..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/SessionRestoreTest.java
+++ /dev/null
@@ -1,101 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.core.resources.IFile;
-
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.tests.util.EmptyPerspective;
-import org.eclipse.ui.tests.util.UITestCase;
-
-/**
- * SessionRestoreTest runs the second half of our session
- * presistance tests.
- * 
-*/
-public class SessionRestoreTest extends UITestCase {
-
-	/** 
-	 * Construct an instance.
-	 */
-	public SessionRestoreTest(String arg) {
-		super(arg);
-	}
-		
-	/**
-	 * Generates a session state in the workbench.
-	 */
-	public void testRestoreSession() throws Throwable {
-		IWorkbenchWindow [] windows;
-		IWorkbenchPage [] pages;
-		
-		// Get windows.
-		windows = fWorkbench.getWorkbenchWindows();
-		assertEquals(windows.length, 3);
-		
-		// First window contains empty perspective.
-		pages = windows[0].getPages();
-		assertEquals(pages.length, 1);
-		assertEquals(pages[0].getPerspective().getId(), EmptyPerspective.PERSP_ID);
-		
-		// Second window contains empty + session.
-		pages = windows[1].getPages();
-		assertEquals(pages.length, 2);
-		assertEquals(pages[0].getPerspective().getId(), EmptyPerspective.PERSP_ID);
-		assertEquals(pages[1].getPerspective().getId(), SessionPerspective.ID);
-		testSessionView(pages[1]);
-		
-		// Third window contains 2 sessions.
-		pages = windows[2].getPages();
-		assertEquals(pages.length, 2);
-		assertEquals(pages[0].getPerspective().getId(), SessionPerspective.ID);
-		assertEquals(pages[1].getPerspective().getId(), SessionPerspective.ID);
-		testSessionView(pages[0]);
-		testSessionView(pages[1]);
-		
-		// Last page contains 3 editors.
-		IEditorReference [] editors = pages[1].getEditorReferences();
-		assertEquals(editors.length, 3);
-		testSessionEditor(editors[0].getEditor(true), SessionCreateTest.TEST_FILE_1);
-		testSessionEditor(editors[1].getEditor(true), SessionCreateTest.TEST_FILE_2);
-		testSessionEditor(editors[2].getEditor(true), SessionCreateTest.TEST_FILE_3);
-	}
-	
-	/**
-	 * Tests the session view within a page.
-	 */
-	private void testSessionView(IWorkbenchPage page) {
-		IViewPart view = page.findView(SessionView.VIEW_ID);
-		assertNotNull(view);
-		SessionView sessionView = (SessionView)view;
-		sessionView.testMementoState(this);
-	}
-
-	/**
-	 * Tests the state of a session editor.
-	 */
-	private void testSessionEditor(IEditorPart part, String fileName) {
-		IEditorSite site = part.getEditorSite();
-		assertEquals(site.getId(), MockEditorPart.ID1);
-		IEditorInput input = part.getEditorInput();
-		assertTrue(input instanceof IFileEditorInput);
-		IFile file = ((IFileEditorInput)input).getFile();
-		assertEquals(fileName, file.getName());
-	}
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/SessionView.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/SessionView.java
deleted file mode 100644
index f3ae074..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/SessionView.java
+++ /dev/null
@@ -1,113 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import junit.framework.TestCase;
-
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.PartInitException;
-
-/**
- * This view is used to test the creation and restoration of 
- * view state between sessions.
- */
-public class SessionView extends MockViewPart {
-
-	private IMemento memento;
-	
-	public static String VIEW_ID = "org.eclipse.ui.tests.api.SessionView";
-	/**
-	 * Constructor for SessionView
-	 */
-	public SessionView() {
-		super();
-	}
-
-	/**
-	 * @see IViewPart#init(IViewSite, IMemento)
-	 */
-	public void init(IViewSite site, IMemento memento) throws PartInitException {
-		super.init(site, memento);
-		this.memento = memento;
-	}
-
-	/**
-	 * Create an IMemento.
-	 */
-	public void saveState(IMemento memento) {
-		createMementoState(memento);
-	}
-	
-	/**
-	 * Creates an IMemento.
-	 */
-	private void createMementoState(IMemento memento) {
-		// Create float, integer and string.
-		memento.putFloat("float", 0.50f);
-		memento.putInteger("integer", 50);
-		memento.putString("string", "50");
-		
-		// Create a single child.
-		IMemento child = memento.createChild("single");
-		child.putInteger("id", 1);
-		
-		// Create multiple children.
-		int count = 10;
-		for (int nX = 0; nX < count; nX ++) {
-			child = memento.createChild("multiple");
-			child.putInteger("id", nX);
-		}
-		memento.putInteger("multiple.count", count);
-	}
-	
-	/**
-	 * Restore an IMemento.
-	 */
-	public void testMementoState(TestCase testCase) {
-		// Verify that the memento was passed to us in
-		// constructor.
-		TestCase.assertNotNull(memento);
-	
-		// Read float.	
-		Float bigFloat = memento.getFloat("float");
-		TestCase.assertNotNull(bigFloat);
-		TestCase.assertEquals(bigFloat.floatValue(), 0.50f, 0.0001);
-		
-		// Read int.	
-		Integer bigInt = memento.getInteger("integer");
-		TestCase.assertEquals(bigInt, new Integer(50));
-		
-		// Read string.
-		String str = memento.getString("string");
-		TestCase.assertEquals(str, "50");
-		
-		// Read single child.
-		IMemento child = memento.getChild("single");
-		TestCase.assertNotNull(child);
-		bigInt = child.getInteger("id");
-		TestCase.assertEquals(bigInt, new Integer(1));
-		
-		// Read multiple children.
-		bigInt = memento.getInteger("multiple.count");
-		TestCase.assertNotNull(bigInt);
-		int count = bigInt.intValue();
-		IMemento [] children = memento.getChildren("multiple");
-		TestCase.assertEquals(count, children.length);
-		for (int nX = 0; nX < count; nX ++) {
-			child = children[nX];
-			TestCase.assertNotNull(child);
-			bigInt = child.getInteger("id");
-			TestCase.assertEquals(bigInt, new Integer(nX));
-		}
-	}
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/StartupClass.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/StartupClass.java
deleted file mode 100644
index 4e568e9..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/StartupClass.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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.ui.IStartup;
-
-public class StartupClass implements IStartup {
-
-	// This boolean should only be true if the earlyStartup() method
-	// has been called.
-	private static boolean earlyStartupCalled = false;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IStartup#earlyStartup()
-	 */
-	public void earlyStartup() {
-		earlyStartupCalled = true;
-	}
-	
-	public static boolean wasEarlyStartupCalled() {
-		return earlyStartupCalled;
-	}
-	
-	public static void clearEarlyStartup() {
-		earlyStartupCalled = false;
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/StartupTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/StartupTest.java
deleted file mode 100644
index e8fe07b..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/StartupTest.java
+++ /dev/null
@@ -1,38 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.ui.tests.TestPlugin;
-import org.eclipse.ui.tests.util.UITestCase;
-
-public class StartupTest extends UITestCase {
-
-	/** 
-	 * Construct an instance.
-	 */
-	public StartupTest(String arg) {
-		super(arg);
-	}
-	
-	public void testStartup() {
-		assertTrue("Startup - explicit", StartupClass.wasEarlyStartupCalled());
-		assertTrue("Startup - implicit", TestPlugin.wasEarlyStartupCalled());
-	}
-	
-	protected void doTearDown() throws Exception {
-		super.doTearDown();
-		// NOTE:  tearDown will run after each test.  Therefore, we
-		// only want one test in this suite (or the values set when
-		// this plugin started up will be lost).
-		StartupClass.clearEarlyStartup();
-		TestPlugin.clearEarlyStartup();
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/StickyViewTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/StickyViewTest.java
deleted file mode 100644
index 9757f15..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/StickyViewTest.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.registry.IStickyViewDescriptor;
-import org.eclipse.ui.tests.util.UITestCase;
-
-
-/**
- * @since 3.0
- */
-public class StickyViewTest extends UITestCase {
-
-    private IWorkbenchWindow window;
-    private IWorkbenchPage page;
-    /**
-     * @param testName
-     */
-    public StickyViewTest(String testName) {
-        super(testName);
-    }
-
-
-    public void testStackPlacementRight() {
-        testStackPlacement("Right");
-    }
-    
-    public void testStackPlacementLeft() {
-        testStackPlacement("Left");
-    }
-    
-    public void testStackPlacementTop() {
-        testStackPlacement("Top");
-    }
-    
-    public void testStackPlacementBottom() {
-        testStackPlacement("Bottom");
-    }
-
-    /**
-     * Tests to ensure that sticky views are opened in the same stack.
-     */
-    private void testStackPlacement(String location) {
-        try {
-            IViewPart part1 = page.showView("org.eclipse.ui.tests.api.StickyView" + location + "1");
-            assertNotNull(part1);
-            IViewPart part2 = page.showView("org.eclipse.ui.tests.api.StickyView" + location + "2");
-            assertNotNull(part2);
-            IViewPart [] stack = page.getViewStack(part1);
-
-            assertTrue(ViewUtils.findInStack(stack, part1));
-            assertTrue(ViewUtils.findInStack(stack, part2));
-            
-        } catch (PartInitException e) {
-            fail(e.getMessage());
-        }
-        
-    }
-    
-    /**
-     * Tests to ensure that all views in a stack with a known sticky view are also sticky.
-     */
-    public void testStackContents() {
-        try {
-            IViewPart part1 = page.showView("org.eclipse.ui.tests.api.StickyViewRight1");
-            assertNotNull(part1);
-
-            IViewPart [] stack = page.getViewStack(part1);
-            
-            for (int i = 0; i < stack.length; i++) {
-                assertTrue(stack[i].getTitle(), ViewUtils.isSticky(stack[i]));
-            }            
-        } catch (PartInitException e) {
-            fail(e.getMessage());
-        }        
-    }
-    
-    /**
-     * Tests whether the moveable flag is being picked up and honoured
-     * from the XML.
-     */
-    public void testClosableFlag() {        
-        //explicit closeable = true
-        testCloseable("org.eclipse.ui.tests.api.StickyViewRight1", true);
-        //explicit closeable = false
-        testCloseable("org.eclipse.ui.tests.api.StickyViewRight2", false);
-        //implicit closeable = true
-        testCloseable("org.eclipse.ui.tests.api.StickyViewLeft1", true);
-    }
-    
-    public void testMoveableFlag() {
-        //explicit closeable = true
-        testMoveable("org.eclipse.ui.tests.api.StickyViewRight1", true);
-        //explicit closeable = false
-        testMoveable("org.eclipse.ui.tests.api.StickyViewRight2", false);
-        //implicit closeable = true
-        testMoveable("org.eclipse.ui.tests.api.StickyViewLeft1", true);        
-    }
-    
-    /** 
-     * Tests whether a sticky view with the given id is moveable or not.
-     * 
-     * @param id the id
-     * @param expectation the expected moveable state
-     */
-    private void testMoveable(String id, boolean expectation) {
-        try {            
-            IViewPart part = page.showView(id);
-            assertNotNull(part);
-            assertTrue(ViewUtils.isSticky(part));
-            
-            //tests to ensure that the XML was read correctly            
-            IStickyViewDescriptor [] descs = WorkbenchPlugin.getDefault().getViewRegistry().getStickyViews();
-            for (int i = 0; i < descs.length; i++) {
-                if (descs[i].getId().equals(id)) {
-                    assertEquals(expectation, descs[i].isMoveable());
-                }            
-            }
-         
-            // tests to ensure that the property is being honoured by the perspective
-            assertEquals(expectation, ViewUtils.isMoveable(part));            
-        } catch (PartInitException e) {
-            fail(e.getMessage());
-        }        
-    }
-
-
-    /** 
-     * Tests whether a sticky view with the given id is closeable or not.
-     * 
-     * @param id the id
-     * @param expectation the expected closeable state
-     */
-    private void testCloseable(String id, boolean expectation) {
-        try {            
-            IViewPart part = page.showView(id);
-            assertNotNull(part);
-            assertTrue(ViewUtils.isSticky(part));
-            
-            //tests to ensure that the XML was read correctly            
-            IStickyViewDescriptor [] descs = WorkbenchPlugin.getDefault().getViewRegistry().getStickyViews();
-            for (int i = 0; i < descs.length; i++) {
-                if (descs[i].getId().equals(id)) {
-                    assertEquals(expectation, descs[i].isCloseable());
-                }            
-            }
-         
-            // tests to ensure that the property is being honoured by the perspective
-            assertEquals(expectation, ViewUtils.isCloseable(part));            
-        } catch (PartInitException e) {
-            fail(e.getMessage());
-        }
-    }   
-
-    /**
-     * Sticky views should remain after perspective reset.
-     */
-    public void testPerspectiveReset() {
-        try {
-            page.showView("org.eclipse.ui.tests.api.StickyViewRight1");
-            page.resetPerspective();
-            assertNotNull(page.findView("org.eclipse.ui.tests.api.StickyViewRight1"));
-        } catch (PartInitException e) {
-            fail(e.getMessage());
-        }        
-    }      
-    
-    /**
-     * Tests that a sticky view is opened in successive perspectives.
-     */
-    public void testPerspectiveOpen() {
-        try {
-            page.showView("org.eclipse.ui.tests.api.StickyViewRight1");
-            page.setPerspective(WorkbenchPlugin.getDefault().getPerspectiveRegistry().findPerspectiveWithId("org.eclipse.ui.tests.api.SessionPerspective"));            
-            assertNotNull(page.findView("org.eclipse.ui.tests.api.StickyViewRight1"));
-        } catch (PartInitException e) {
-            fail(e.getMessage());
-        }
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.tests.util.UITestCase#doSetUp()
-     */
-    protected void doSetUp() throws Exception {
-        window = openTestWindow();
-        page = window.getActivePage();       
-    }
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/ViewPerspective.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/ViewPerspective.java
deleted file mode 100644
index d4663f4..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/ViewPerspective.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.ui.IFolderLayout;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-
-/**
- * Supplies an arrangement of views to test various forms of view activation.
- * 
- * @since 3.0
- */
-public class ViewPerspective implements IPerspectiveFactory {
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IPerspectiveFactory#createInitialLayout(org.eclipse.ui.IPageLayout)
-     */
-    public void createInitialLayout(IPageLayout layout) {
-        String editorArea = layout.getEditorArea();
-        IFolderLayout folder1 = layout.createFolder("folder1", IPageLayout.LEFT, .25f, editorArea);
-        folder1.addView(MockViewPart.ID);
-        folder1.addPlaceholder(MockViewPart.ID2);
-        layout.addView(MockViewPart.ID3, IPageLayout.RIGHT, .75f, editorArea);
-        layout.addPlaceholder(MockViewPart.ID4, IPageLayout.BOTTOM, .75f, editorArea);
-    }
-
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/ViewUtils.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/ViewUtils.java
deleted file mode 100644
index 6a531b6..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/ViewUtils.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api;
-
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IViewReference;
-import org.eclipse.ui.internal.ViewSite;
-import org.eclipse.ui.internal.WorkbenchPage;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.registry.IStickyViewDescriptor;
-
-
-/**
- * Utility class that will test various view properties.
- * 
- * @since 3.0
- */
-public final class ViewUtils {
-    
-    public static boolean findInStack(IViewPart[] stack, IViewPart target) {
-        for (int i = 0; i < stack.length; i++) {
-            if (stack[i] == target)
-                return true;                
-        }
-        return false;        
-    }
-    
-    public static boolean isCloseable(IViewPart part) {
-        ViewSite viewSite = (ViewSite)part.getSite();
-        String id = viewSite.getId();
-        IViewReference ref = viewSite.getPage().findViewReference(id);                
-        return ((WorkbenchPage)viewSite.getPage()).getActivePerspective().isCloseable(ref);
-    }
-
-    public static boolean isMoveable(IViewPart part) {
-        ViewSite viewSite = (ViewSite)part.getSite();
-        String id = viewSite.getId();
-        IViewReference ref = viewSite.getPage().findViewReference(id);                
-        return ((WorkbenchPage)viewSite.getPage()).getActivePerspective().isMoveable(ref);
-    }
-    
-    public static boolean isSticky(IViewPart part) {
-        String id = part.getSite().getId();
-        IStickyViewDescriptor [] descs = WorkbenchPlugin.getDefault().getViewRegistry().getStickyViews();
-        for (int i = 0; i < descs.length; i++) {
-            if (descs[i].getId().equals(id))
-                return true;
-        }
-        return false;        
-    }
-
-    /**
-     * 
-     */
-    protected ViewUtils() {
-        //no-op
-    }
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/workbenchpart/CustomTitleView.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/workbenchpart/CustomTitleView.java
deleted file mode 100644
index 0c6c491..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/workbenchpart/CustomTitleView.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api.workbenchpart;
-
-/**
- * @since 3.0
- */
-public class CustomTitleView extends EmptyView {
-
-	/**
-	 * 
-	 */
-	public CustomTitleView() {
-		super();
-		
-		setTitle("Custom title");
-	}
-
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/workbenchpart/EmptyView.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/workbenchpart/EmptyView.java
deleted file mode 100644
index bc46e13..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/workbenchpart/EmptyView.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api.workbenchpart;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.part.ViewPart;
-
-/**
- * @since 3.0
- */
-public class EmptyView extends ViewPart {
-
-	/**
-	 * 
-	 */
-	public EmptyView() {
-		super();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createPartControl(Composite parent) {
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#setFocus()
-	 */
-	public void setFocus() {
-
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.WorkbenchPart#setContentDescription(java.lang.String)
-	 */
-	public void setContentDescription(String description) {
-		super.setContentDescription(description);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.WorkbenchPart#setPartName(java.lang.String)
-	 */
-	public void setPartName(String partName) {
-		super.setPartName(partName);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.WorkbenchPart#setTitle(java.lang.String)
-	 */
-	public void setTitle(String title) {
-		super.setTitle(title);
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/workbenchpart/OverriddenTitleTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/workbenchpart/OverriddenTitleTest.java
deleted file mode 100644
index c766f02..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/workbenchpart/OverriddenTitleTest.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api.workbenchpart;
-
-import junit.framework.Assert;
-
-import org.eclipse.ui.IPropertyListener;
-import org.eclipse.ui.IWorkbenchPart2;
-import org.eclipse.ui.IWorkbenchPartConstants;
-import org.eclipse.ui.internal.WorkbenchPage;
-import org.eclipse.ui.internal.WorkbenchWindow;
-import org.eclipse.ui.tests.util.UITestCase;
-
-/**
- * @since 3.0
- */
-public class OverriddenTitleTest extends UITestCase {
-	/**
-	 * @param testName
-	 */
-	public OverriddenTitleTest(String testName) {
-		super(testName);
-	}
-	
-	WorkbenchWindow window;
-	WorkbenchPage page;
-	OverriddenTitleView view;
-	boolean titleChangeEvent = false;
-	boolean nameChangeEvent = false;
-	boolean contentChangeEvent = false;
-	
-	private IPropertyListener propertyListener = new IPropertyListener() {
-		/* (non-Javadoc)
-		 * @see org.eclipse.ui.IPropertyListener#propertyChanged(java.lang.Object, int)
-		 */
-		public void propertyChanged(Object source, int propId) {
-			switch(propId) {
-				case IWorkbenchPartConstants.PROP_TITLE:
-					titleChangeEvent = true; break;
-				case IWorkbenchPartConstants.PROP_PART_NAME:
-					nameChangeEvent = true; break;
-				case IWorkbenchPartConstants.PROP_CONTENT_DESCRIPTION:
-					contentChangeEvent = true; break;
-			}
-		}
-	}; 
-	
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-		window = (WorkbenchWindow)openTestWindow();
-		page = (WorkbenchPage)window.getActivePage();
-		view = (OverriddenTitleView)page.showView("org.eclipse.ui.tests.workbenchpart.OverriddenTitleView");
-		view.addPropertyListener(propertyListener);
-		titleChangeEvent = false;
-		nameChangeEvent = false;
-		contentChangeEvent = false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.tests.util.UITestCase#doTearDown()
-	 */
-	protected void doTearDown() throws Exception {
-		view.removePropertyListener(propertyListener);
-		page.hideView(view);
-		super.doTearDown();
-	}
-	
-	private static void verifySettings(IWorkbenchPart2 part, String expectedTitle, String expectedPartName, String expectedContentDescription) throws Exception {
-		Assert.assertEquals("Incorrect view title", expectedTitle, part.getTitle());
-		Assert.assertEquals("Incorrect part name", expectedPartName, part.getPartName());
-		Assert.assertEquals("Incorrect content description", expectedContentDescription, part.getContentDescription());	
-	}
-	
-	private void verifySettings(String expectedTitle, String expectedPartName, String expectedContentDescription) throws Exception {
-		verifySettings(view, expectedTitle, expectedPartName, expectedContentDescription);
-	}
-	
-	/**
-	 * Ensure that we've received the given property change events since the start of the test
-	 * 
-	 * @param titleEvent PROP_TITLE
-	 * @param nameEvent PROP_PART_NAME
-	 * @param descriptionEvent PROP_CONTENT_DESCRIPTION
-	 */
-	private void verifyEvents(boolean titleEvent, boolean nameEvent, boolean descriptionEvent) {
-		if (titleEvent) {
-			Assert.assertEquals("Missing title change event", titleEvent, titleChangeEvent);
-		}
-		if (nameEvent) {
-			Assert.assertEquals("Missing name change event", nameEvent, nameChangeEvent);
-		}
-		if (descriptionEvent) {
-			Assert.assertEquals("Missing content description event", descriptionEvent, contentChangeEvent);
-		}
-	}
-	
-	public void testDefaults() throws Throwable {
-		verifySettings("OverriddenTitle", "OverriddenTitleView", "OverriddenTitle");
-		verifyEvents(false, false, false);
-	}
-	
-	public void testCustomName() throws Throwable {
-		view.setPartName("CustomPartName");
-		verifySettings("OverriddenTitle", "CustomPartName", "OverriddenTitle");
-		verifyEvents(false, true, false);
-	}
-	
-	public void testEmptyContentDescription() throws Throwable {
-		view.setContentDescription("");
-		verifySettings("OverriddenTitle", "OverriddenTitleView", "");
-		verifyEvents(false, false, true);
-	}
-	
-	public void testCustomTitle() throws Throwable {
-		view.customSetTitle("CustomTitle");
-		verifySettings("CustomTitle", "OverriddenTitleView", "CustomTitle");
-		verifyEvents(true, false, true);
-	}
-	
-	public void testCustomContentDescription() throws Throwable {
-		view.setContentDescription("CustomContentDescription");
-		verifySettings("OverriddenTitle", "OverriddenTitleView", "CustomContentDescription");
-		verifyEvents(false, false, true);
-	}
-	
-	public void testCustomNameAndContentDescription() throws Throwable {
-		view.setPartName("CustomName");
-		view.setContentDescription("CustomContentDescription");
-		verifySettings("OverriddenTitle", "CustomName", "CustomContentDescription");
-		verifyEvents(false, true, true);
-	}
-	
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/workbenchpart/OverriddenTitleView.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/workbenchpart/OverriddenTitleView.java
deleted file mode 100644
index b0edeac..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/workbenchpart/OverriddenTitleView.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api.workbenchpart;
-
-import org.eclipse.ui.IWorkbenchPartConstants;
-import org.eclipse.ui.internal.util.Util;
-
-
-/**
- * @since 3.0
- */
-public class OverriddenTitleView extends EmptyView {
-	
-	String overriddenTitle = "OverriddenTitle";
-	
-	/**
-	 * 
-	 */
-	public OverriddenTitleView() {
-		super();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#getTitle()
-	 */
-	public String getTitle() {
-		return overriddenTitle;
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.WorkbenchPart#setTitle(java.lang.String)
-	 */
-	public void customSetTitle(String title) {
-		overriddenTitle = Util.safeString(title);
-		
-		firePropertyChange(IWorkbenchPartConstants.PROP_TITLE);
-	}
-	
-	
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/workbenchpart/RawIViewPart.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/workbenchpart/RawIViewPart.java
deleted file mode 100644
index 86a2888..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/workbenchpart/RawIViewPart.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api.workbenchpart;
-
-import org.eclipse.core.runtime.Platform;
-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.IMemento;
-import org.eclipse.ui.IPropertyListener;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.IWorkbenchPartConstants;
-import org.eclipse.ui.IWorkbenchPartSite;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * @since 3.0
- */
-public class RawIViewPart implements IViewPart {
-
-	private IViewSite site;
-	private ListenerList propChangeListeners = new ListenerList(2);
-	private String title = "SomeTitle";
-    
-	/**
-	 * 
-	 */
-	public RawIViewPart() {
-		super();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IViewPart#getViewSite()
-	 */
-	public IViewSite getViewSite() {
-		return site;
-	}
-	
-	public void setTitle(String newTitle) {
-		title = newTitle;
-		firePropertyChange(IWorkbenchPartConstants.PROP_TITLE);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IViewPart#init(org.eclipse.ui.IViewSite)
-	 */
-	public void init(IViewSite site) throws PartInitException {
-		this.site = site;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IViewPart#init(org.eclipse.ui.IViewSite, org.eclipse.ui.IMemento)
-	 */
-	public void init(IViewSite site, IMemento memento) throws PartInitException {
-		this.site = site;
-	}
-
-	/**
-	 * 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(RawIViewPart.this, propertyId);
-				}
-			});
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IViewPart#saveState(org.eclipse.ui.IMemento)
-	 */
-	public void saveState(IMemento memento) {
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#addPropertyListener(org.eclipse.ui.IPropertyListener)
-	 */
-	public void addPropertyListener(IPropertyListener listener) {
-		propChangeListeners.add(listener);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createPartControl(Composite parent) {
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#dispose()
-	 */
-	public void dispose() {
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#getSite()
-	 */
-	public IWorkbenchPartSite getSite() {
-		return site;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#getTitle()
-	 */
-	public String getTitle() {
-		return title;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#getTitleImage()
-	 */
-	public Image getTitleImage() {
-		return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_DEF_VIEW);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#getTitleToolTip()
-	 */
-	public String getTitleToolTip() {
-		return "blah";
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#removePropertyListener(org.eclipse.ui.IPropertyListener)
-	 */
-	public void removePropertyListener(IPropertyListener l) {
-		propChangeListeners.remove(l);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#setFocus()
-	 */
-	public void setFocus() {
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		return null;
-	}
-
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/workbenchpart/RawIViewPartTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/workbenchpart/RawIViewPartTest.java
deleted file mode 100644
index 95390d9..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/workbenchpart/RawIViewPartTest.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api.workbenchpart;
-
-import junit.framework.Assert;
-
-import org.eclipse.ui.IPropertyListener;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchPartConstants;
-import org.eclipse.ui.IWorkbenchPartReference;
-import org.eclipse.ui.internal.WorkbenchPage;
-import org.eclipse.ui.internal.WorkbenchWindow;
-import org.eclipse.ui.tests.util.UITestCase;
-
-/**
- * @since 3.0
- */
-public class RawIViewPartTest extends UITestCase {
-	/**
-	 * @param testName
-	 */
-	public RawIViewPartTest(String testName) {
-		super(testName);
-	}
-	
-	WorkbenchWindow window;
-	WorkbenchPage page;
-	RawIViewPart view;
-	IWorkbenchPartReference ref;
-	boolean titleChangeEvent = false;
-	boolean nameChangeEvent = false;
-	boolean contentChangeEvent = false;
-	
-	private IPropertyListener propertyListener = new IPropertyListener() {
-		/* (non-Javadoc)
-		 * @see org.eclipse.ui.IPropertyListener#propertyChanged(java.lang.Object, int)
-		 */
-		public void propertyChanged(Object source, int propId) {
-			switch(propId) {
-				case IWorkbenchPartConstants.PROP_TITLE:
-					titleChangeEvent = true; break;
-				case IWorkbenchPartConstants.PROP_PART_NAME:
-					nameChangeEvent = true; break;
-				case IWorkbenchPartConstants.PROP_CONTENT_DESCRIPTION:
-					contentChangeEvent = true; break;
-			}
-		}
-	}; 
-	
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-		window = (WorkbenchWindow)openTestWindow();
-		page = (WorkbenchPage)window.getActivePage();
-		view = (RawIViewPart)page.showView("org.eclipse.ui.tests.workbenchpart.RawIViewPart");
-		ref = page.findViewReference("org.eclipse.ui.tests.workbenchpart.RawIViewPart");
-		ref.addPropertyListener(propertyListener);
-		titleChangeEvent = false;
-		nameChangeEvent = false;
-		contentChangeEvent = false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.tests.util.UITestCase#doTearDown()
-	 */
-	protected void doTearDown() throws Exception {
-		view.removePropertyListener(propertyListener);
-		page.hideView(view);
-		super.doTearDown();
-	}
-	
-	private void verifySettings(IWorkbenchPart part, String expectedTitle, String expectedPartName, String expectedContentDescription) throws Exception {
-		Assert.assertEquals("Incorrect view title", expectedTitle, part.getTitle());
-		
-		Assert.assertEquals("Incorrect title in view reference", expectedTitle, ref.getTitle());
-		Assert.assertEquals("Incorrect part name in view reference", expectedPartName, ref.getPartName());
-		Assert.assertEquals("Incorrect content description in view reference", expectedContentDescription, ref.getContentDescription());
-	}
-	
-	private void verifySettings(String expectedTitle, String expectedPartName, String expectedContentDescription) throws Exception {
-		verifySettings(view, expectedTitle, expectedPartName, expectedContentDescription);
-	}
-	
-	/**
-	 * Ensure that we've received the given property change events since the start of the test
-	 * 
-	 * @param titleEvent PROP_TITLE
-	 * @param nameEvent PROP_PART_NAME
-	 * @param descriptionEvent PROP_CONTENT_DESCRIPTION
-	 */
-	private void verifyEvents(boolean titleEvent, boolean nameEvent, boolean descriptionEvent) {
-		if (titleEvent) {
-			Assert.assertEquals("Missing title change event", titleEvent, titleChangeEvent);
-		}
-		if (nameEvent) {
-			Assert.assertEquals("Missing name change event", nameEvent, nameChangeEvent);
-		}
-		if (descriptionEvent) {
-			Assert.assertEquals("Missing content description event", descriptionEvent, contentChangeEvent);
-		}
-	}
-	
-	public void testDefaults() throws Throwable {
-		verifySettings("SomeTitle", "RawIViewPart", "SomeTitle");
-		verifyEvents(false, false, false);
-	}
-	
-	public void testCustomTitle() throws Throwable {
-		view.setTitle("CustomTitle");
-		verifySettings("CustomTitle", "RawIViewPart", "CustomTitle");
-		verifyEvents(true, false, true);
-	}
-	
-	/**
-	 * Ensures that the content description is empty when the title is the same
-	 * as the default part name
-	 */
-	public void testEmptyContentDescription() throws Throwable {
-		view.setTitle("RawIViewPart");
-		verifySettings("RawIViewPart", "RawIViewPart", "");
-		verifyEvents(true, false, true);
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/workbenchpart/TitleTestEditor.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/workbenchpart/TitleTestEditor.java
deleted file mode 100644
index 9190c05..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/workbenchpart/TitleTestEditor.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api.workbenchpart;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IPropertyListener;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.internal.layout.CellLayout;
-import org.eclipse.ui.internal.layout.Row;
-import org.eclipse.ui.part.EditorPart;
-
-/**
- * @since 3.0
- */
-public class TitleTestEditor extends EditorPart {
-
-	Composite composite;
-	Text title;
-	Text name;
-	Text contentDescription;
-	Label titleLabel;
-	Label nameLabel;
-	Label cdLabel;
-	
-	/**
-	 * 
-	 */
-	public TitleTestEditor() {
-		super();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.ISaveablePart#doSave(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void doSave(IProgressMonitor monitor) {
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.ISaveablePart#doSaveAs()
-	 */
-	public void doSaveAs() {
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IEditorPart#init(org.eclipse.ui.IEditorSite, org.eclipse.ui.IEditorInput)
-	 */
-	public void init(IEditorSite site, IEditorInput input)
-			throws PartInitException {
-		
- 		if (!(input instanceof IFileEditorInput))
- 	 			throw new PartInitException("Invalid Input: Must be IFileEditorInput");
- 	 	setSite(site);
- 	 	setInput(input);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.ISaveablePart#isDirty()
-	 */
-	public boolean isDirty() {
-		// TODO Auto-generated method stub
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.ISaveablePart#isSaveAsAllowed()
-	 */
-	public boolean isSaveAsAllowed() {
-		// TODO Auto-generated method stub
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createPartControl(Composite parent) {
-		composite = new Composite(parent, SWT.NONE);
-		CellLayout layout = new CellLayout(2)
-			.setColumn(0, Row.fixed())
-			.setColumn(1, Row.growing());
-		composite.setLayout(layout);
-		
-		Label firstLabel = new Label(composite, SWT.NONE);
-		firstLabel.setText("Title");
-		title = new Text(composite, SWT.BORDER);
-		title.setText(getTitle());
-		
-		title.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				setTitle(title.getText());
-			}
-		});
-		
-		Label secondLabel = new Label(composite, SWT.NONE);
-		secondLabel.setText("Name");
-		name = new Text(composite, SWT.BORDER);
-		name.setText(getPartName());
-		name.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				setPartName(name.getText());
-			}
-		});
-		
-		Label thirdLabel = new Label(composite, SWT.NONE);
-		thirdLabel.setText("Content");
-		contentDescription = new Text(composite, SWT.BORDER);
-		contentDescription.setText(getContentDescription());
-		contentDescription.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				setContentDescription(contentDescription.getText());
-			}
-		});	
-		
-		Label tlLabel = new Label(composite, SWT.NONE);
-		tlLabel.setText("getTitle() = ");
-		titleLabel = new Label(composite, SWT.NONE);
-		
-		Label nmLabel = new Label(composite, SWT.NONE);
-		nmLabel.setText("getPartName() = ");
-		nameLabel = new Label(composite, SWT.NONE);
-		
-		Label descLabel = new Label(composite, SWT.NONE);
-		descLabel.setText("getContentDescription() = ");
-		cdLabel = new Label(composite, SWT.NONE);
-		
-		updateLabels();
-		
-		addPropertyListener(new IPropertyListener() {
-			/* (non-Javadoc)
-			 * @see org.eclipse.ui.IPropertyListener#propertyChanged(java.lang.Object, int)
-			 */
-			public void propertyChanged(Object source, int propId) {
-				updateLabels();
-			}
-		});
-	}
-	
-	private void updateLabels() {
-		titleLabel.setText(getTitle());
-		nameLabel.setText(getPartName());
-		cdLabel.setText(getContentDescription());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#setFocus()
-	 */
-	public void setFocus() {
-		composite.setFocus();
-
-	}
-
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/workbenchpart/TitleTestView.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/workbenchpart/TitleTestView.java
deleted file mode 100644
index c8796bd..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/workbenchpart/TitleTestView.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api.workbenchpart;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IPropertyListener;
-import org.eclipse.ui.internal.layout.CellLayout;
-import org.eclipse.ui.internal.layout.Row;
-import org.eclipse.ui.part.ViewPart;
-
-/**
- * @since 3.0
- */
-public class TitleTestView extends ViewPart {
-
-	Composite composite;
-	Text title;
-	Text name;
-	Text contentDescription;
-	Label titleLabel;
-	Label nameLabel;
-	Label cdLabel;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createPartControl(Composite parent) {
-		composite = new Composite(parent, SWT.NONE);
-		CellLayout layout = new CellLayout(2)
-			.setColumn(0, Row.fixed())
-			.setColumn(1, Row.growing());
-		composite.setLayout(layout);
-		
-		Label firstLabel = new Label(composite, SWT.NONE);
-		firstLabel.setText("Title");
-		title = new Text(composite, SWT.BORDER);
-		title.setText(getTitle());
-		
-		title.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				setTitle(title.getText());
-			}
-		});
-		
-		Label secondLabel = new Label(composite, SWT.NONE);
-		secondLabel.setText("Name");
-		name = new Text(composite, SWT.BORDER);
-		name.setText(getPartName());
-		name.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				setPartName(name.getText());
-			}
-		});
-		
-		Label thirdLabel = new Label(composite, SWT.NONE);
-		thirdLabel.setText("Content");
-		contentDescription = new Text(composite, SWT.BORDER);
-		contentDescription.setText(getContentDescription());
-		contentDescription.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				setContentDescription(contentDescription.getText());
-			}
-		});
-		
-		Label tlLabel = new Label(composite, SWT.NONE);
-		tlLabel.setText("getTitle() = ");
-		titleLabel = new Label(composite, SWT.NONE);
-		
-		Label nmLabel = new Label(composite, SWT.NONE);
-		nmLabel.setText("getPartName() = ");
-		nameLabel = new Label(composite, SWT.NONE);
-		
-		Label descLabel = new Label(composite, SWT.NONE);
-		descLabel.setText("getContentDescription() = ");
-		cdLabel = new Label(composite, SWT.NONE);
-		
-		updateLabels();
-		
-		addPropertyListener(new IPropertyListener() {
-			/* (non-Javadoc)
-			 * @see org.eclipse.ui.IPropertyListener#propertyChanged(java.lang.Object, int)
-			 */
-			public void propertyChanged(Object source, int propId) {
-				updateLabels();
-			}
-		});
-	}
-
-	private void updateLabels() {
-		titleLabel.setText(getTitle());
-		nameLabel.setText(getPartName());
-		cdLabel.setText(getContentDescription());
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#setFocus()
-	 */
-	public void setFocus() {
-
-	}
-
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/workbenchpart/ViewPartTitleTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/workbenchpart/ViewPartTitleTest.java
deleted file mode 100644
index 3d5003f..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/workbenchpart/ViewPartTitleTest.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.api.workbenchpart;
-
-import junit.framework.Assert;
-
-import org.eclipse.ui.IPropertyListener;
-import org.eclipse.ui.IWorkbenchPart2;
-import org.eclipse.ui.IWorkbenchPartConstants;
-import org.eclipse.ui.IWorkbenchPartReference;
-import org.eclipse.ui.internal.WorkbenchPage;
-import org.eclipse.ui.internal.WorkbenchWindow;
-import org.eclipse.ui.tests.util.UITestCase;
-
-/**
- * Tests bug 56822 -- NPE thrown when setTitle(null) is called.
- * 
- * @since 3.0
- */
-public class ViewPartTitleTest extends UITestCase {
-	
-	/**
-	 * @param testName
-	 */
-	public ViewPartTitleTest(String testName) {
-		super(testName);
-	}
-	
-	WorkbenchWindow window;
-	WorkbenchPage page;
-	EmptyView view;
-	IWorkbenchPartReference ref;
-	boolean titleChangeEvent = false;
-	boolean nameChangeEvent = false;
-	boolean contentChangeEvent = false;
-	
-	private IPropertyListener propertyListener = new IPropertyListener() {
-		/* (non-Javadoc)
-		 * @see org.eclipse.ui.IPropertyListener#propertyChanged(java.lang.Object, int)
-		 */
-		public void propertyChanged(Object source, int propId) {
-			switch(propId) {
-				case IWorkbenchPartConstants.PROP_TITLE:
-					titleChangeEvent = true; break;
-				case IWorkbenchPartConstants.PROP_PART_NAME:
-					nameChangeEvent = true; break;
-				case IWorkbenchPartConstants.PROP_CONTENT_DESCRIPTION:
-					contentChangeEvent = true; break;
-			}
-		}
-	}; 
-	
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-		window = (WorkbenchWindow)openTestWindow();
-		page = (WorkbenchPage)window.getActivePage();
-		String viewId = "org.eclipse.ui.tests.workbenchpart.EmptyView";
-		view = (EmptyView)page.showView(viewId);
-		ref = page.findViewReference(viewId);
-		view.addPropertyListener(propertyListener);
-		titleChangeEvent = false;
-		nameChangeEvent = false;
-		contentChangeEvent = false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.tests.util.UITestCase#doTearDown()
-	 */
-	protected void doTearDown() throws Exception {
-		view.removePropertyListener(propertyListener);
-		page.hideView(view);
-		super.doTearDown();
-	}
-	
-	private void verifySettings(IWorkbenchPart2 part, String expectedTitle, String expectedPartName, String expectedContentDescription) throws Exception {
-		Assert.assertEquals("Incorrect view title", expectedTitle, part.getTitle());
-		Assert.assertEquals("Incorrect part name", expectedPartName, part.getPartName());
-		Assert.assertEquals("Incorrect content description", expectedContentDescription, part.getContentDescription());
-		
-		Assert.assertEquals("Incorrect title in view reference", expectedTitle, ref.getTitle());
-		Assert.assertEquals("Incorrect part name in view reference", expectedPartName, ref.getPartName());
-		Assert.assertEquals("Incorrect content description in view reference", expectedContentDescription, ref.getContentDescription());		
-	}
-	
-	private void verifySettings(String expectedTitle, String expectedPartName, String expectedContentDescription) throws Exception {
-		verifySettings(view, expectedTitle, expectedPartName, expectedContentDescription);
-	}
-	
-	/**
-	 * Ensure that we've received the given property change events since the start of the test
-	 * 
-	 * @param titleEvent PROP_TITLE
-	 * @param nameEvent PROP_PART_NAME
-	 * @param descriptionEvent PROP_CONTENT_DESCRIPTION
-	 */
-	private void verifyEvents(boolean titleEvent, boolean nameEvent, boolean descriptionEvent) {
-		if (titleEvent) {
-			Assert.assertEquals("Missing title change event", titleEvent, titleChangeEvent);
-		}
-		if (nameEvent) {
-			Assert.assertEquals("Missing name change event", nameEvent, nameChangeEvent);
-		}
-		if (descriptionEvent) {
-			Assert.assertEquals("Missing content description event", descriptionEvent, contentChangeEvent);
-		}
-	}
-	
-	public void testDefaults() throws Throwable {
-		verifySettings("EmptyView", "EmptyView", "");
-		verifyEvents(false, false, false);
-	}
-	
-	/**
-	 * Ensures that we can call ViewPart.setTitle(null) without throwing
-	 * any exceptions
-	 * 
-	 * @throws Throwable
-	 */
-	public void testNullTitle() throws Throwable {
-		view.setTitle(null);
-		
-		verifySettings("", "EmptyView", "");
-		verifyEvents(true, false, false);
-	}
-	
-	public void testCustomName() throws Throwable {
-		view.setPartName("CustomPartName");
-		verifySettings("CustomPartName", "CustomPartName", "");
-		verifyEvents(true, true, false);
-	}
-	
-	public void testCustomTitle() throws Throwable {
-		view.setTitle("CustomTitle");
-		verifySettings("CustomTitle", "EmptyView", "CustomTitle");
-		verifyEvents(true, false, true);
-	}
-	
-	public void testCustomContentDescription() throws Throwable {
-		view.setContentDescription("CustomContentDescription");
-		verifySettings("EmptyView (CustomContentDescription)", "EmptyView", "CustomContentDescription");
-		verifyEvents(true, false, true);
-	}
-	
-	public void testCustomNameAndContentDescription() throws Throwable {
-		view.setPartName("CustomName");
-		view.setContentDescription("CustomContentDescription");
-		verifySettings("CustomName (CustomContentDescription)", "CustomName", "CustomContentDescription");
-		verifyEvents(true, true, true);
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/commands/Bug66182Test.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/commands/Bug66182Test.java
deleted file mode 100644
index b3b4d57..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/commands/Bug66182Test.java
+++ /dev/null
@@ -1,272 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.tests.commands;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.commands.AbstractHandler;
-import org.eclipse.ui.commands.ExecutionException;
-import org.eclipse.ui.commands.HandlerSubmission;
-import org.eclipse.ui.commands.ICommand;
-import org.eclipse.ui.commands.IHandler;
-import org.eclipse.ui.commands.IWorkbenchCommandSupport;
-import org.eclipse.ui.commands.NotHandledException;
-import org.eclipse.ui.commands.Priority;
-import org.eclipse.ui.tests.util.UITestCase;
-
-/**
- * Tests that dialogs will inherit the handlers from the workbench window, if
- * none is defined for the dialog itself. It tests all of the various
- * combinations of this situation.
- * 
- * @since 3.0
- */
-public final class Bug66182Test extends UITestCase {
-
-    /**
-     * Constructor for Bug66182Test.
-     * 
-     * @param name
-     *            The name of the test
-     */
-    public Bug66182Test(final String name) {
-        super(name);
-    }
-
-    /**
-     * Tests that the dialog handlers will take priority. The set-up is a
-     * workbench window with a handler registered for the command to test. Then
-     * there is a dialog opened with a handler for the same command. The test is
-     * to see that the dialog's handler gets priority.
-     * 
-     * @throws ExecutionException
-     *             This should never happen, and indicates a problem with the
-     *             test.
-     * @throws NotHandledException
-     *             Indicates that no handler was found where one should have
-     *             been found.
-     */
-    public final void testDialogHandlers() throws ExecutionException,
-            NotHandledException {
-        // Open a test window.
-        final IWorkbenchWindow window = openTestWindow();
-
-        // Define a handler for some random command identifier.
-        final Object windowResult = new Object();
-        final IHandler windowHandler = new AbstractHandler() {
-
-            public Object execute(Map parameterValuesByName)
-                    throws ExecutionException {
-                // Do nothing.
-                return windowResult;
-            }
-        };
-        final IWorkbenchCommandSupport commandSupport = fWorkbench
-                .getCommandSupport();
-        final String commandId = "org.eclipse.ui.tests.Bug66182";
-        final Shell windowShell = window.getShell();
-        final HandlerSubmission windowSubmission = new HandlerSubmission(null,
-                windowShell, null, commandId, windowHandler, Priority.MEDIUM);
-        commandSupport.addHandlerSubmission(windowSubmission);
-
-        // Open a dialog.
-        final Shell dialogShell = new Shell(windowShell);
-        dialogShell.pack();
-        dialogShell.open();
-        final Display display = dialogShell.getDisplay();
-        while (display.readAndDispatch())
-            ;
-
-        /*
-         * Define a handler for the same command identifier, but for this
-         * dialog.
-         */
-        final Object dialogResult = new Object();
-        final IHandler dialogHandler = new AbstractHandler() {
-
-            public Object execute(Map parameterValuesByName)
-                    throws ExecutionException {
-                // Do nothing.
-                return dialogResult;
-            }
-        };
-        final HandlerSubmission dialogSubmission = new HandlerSubmission(null,
-                dialogShell, null, commandId, dialogHandler, Priority.MEDIUM);
-        commandSupport.addHandlerSubmission(dialogSubmission);
-
-        // Check to see which handler is the right handler.
-        final ICommand command = commandSupport.getCommandManager().getCommand(
-                commandId);
-        assertSame(
-                "The active shell must be the dialog.  If you are activating other shells while this test is running, then this test will fail",
-                dialogShell, display.getActiveShell());
-        assertSame(
-                "The active workbench window must be the window created in this test.  If you are activating other workbench windows, then this test will fail",
-                windowShell, fWorkbench.getActiveWorkbenchWindow().getShell());
-        final Object result = command.execute(new HashMap());
-        assertSame(
-                "The dialog handler was not chosen when both a window and dialog handler were defined.",
-                dialogResult, result);
-
-        // Close the dialog and let the event loop spin.
-        commandSupport.removeHandlerSubmission(windowSubmission);
-        commandSupport.removeHandlerSubmission(dialogSubmission);
-        dialogShell.close();
-        while (display.readAndDispatch())
-            ;
-    }
-
-    /**
-     * Tests that, in the absence of a dialog handler, that the window handler
-     * will be given a chance to take over. The set-up is a workbench window
-     * with a handler registered for the command to test. Then there is a dialog
-     * opened, but with no handler. The test is to see that the window's handler
-     * is active.
-     * 
-     * @throws ExecutionException
-     *             This should never happen, and indicates a problem with the
-     *             test.
-     * @throws NotHandledException
-     *             Indicates that no handler was found where one should have
-     *             been found.
-     */
-    public final void testFallbackToWindow() throws ExecutionException,
-            NotHandledException {
-        // Open a test window.
-        final IWorkbenchWindow window = openTestWindow();
-
-        // Define a handler for some random command identifier.
-        final Object windowResult = new Object();
-        final IHandler windowHandler = new AbstractHandler() {
-
-            public Object execute(Map parameterValuesByName)
-                    throws ExecutionException {
-                // Do nothing.
-                return windowResult;
-            }
-        };
-        final IWorkbenchCommandSupport commandSupport = fWorkbench
-                .getCommandSupport();
-        final String commandId = "org.eclipse.ui.tests.Bug66182";
-        final Shell windowShell = window.getShell();
-        final HandlerSubmission windowSubmission = new HandlerSubmission(null,
-                windowShell, null, commandId, windowHandler, Priority.MEDIUM);
-        commandSupport.addHandlerSubmission(windowSubmission);
-
-        // Open a dialog.
-        final Shell dialogShell = new Shell(windowShell);
-        dialogShell.pack();
-        dialogShell.open();
-        final Display display = dialogShell.getDisplay();
-        while (display.readAndDispatch())
-            ;
-
-        // Check to see which handler is the right handler.
-        final ICommand command = commandSupport.getCommandManager().getCommand(
-                commandId);
-        assertSame(
-                "The active shell must be the dialog.  If you are activating other shells while this test is running, then this test will fail",
-                dialogShell, display.getActiveShell());
-        assertSame(
-                "The active workbench window must be the window created in this test.  If you are activating other workbench windows, then this test will fail",
-                windowShell, fWorkbench.getActiveWorkbenchWindow().getShell());
-        final Object result = command.execute(new HashMap());
-        assertSame(
-                "The window handler was not chosen when both a dialog was open with no handler, but the active workbench window did have a handler.",
-                windowResult, result);
-
-        // Close the dialog and let the event loop spin.
-        commandSupport.removeHandlerSubmission(windowSubmission);
-        dialogShell.close();
-        while (display.readAndDispatch())
-            ;
-    }
-
-    /**
-     * Tests that if the workbench window is the active shell, that its handlers
-     * will take priority. The scenario has two handlers defined: one for the
-     * workbench window, and one for a dialog that is not open. The workbench
-     * window handler should be the active handler.
-     * 
-     * @throws ExecutionException
-     *             This should never happen, and indicates a problem with the
-     *             test.
-     * @throws NotHandledException
-     *             Indicates that no handler was found where one should have
-     *             been found.
-     */
-    public final void testWindow() throws ExecutionException,
-            NotHandledException {
-        // Open a test window.
-        final IWorkbenchWindow window = openTestWindow();
-
-        // Define a handler for some random command identifier.
-        final Object windowResult = new Object();
-        final IHandler windowHandler = new AbstractHandler() {
-
-            public Object execute(Map parameterValuesByName)
-                    throws ExecutionException {
-                // Do nothing.
-                return windowResult;
-            }
-        };
-        final IWorkbenchCommandSupport commandSupport = fWorkbench
-                .getCommandSupport();
-        final String commandId = "org.eclipse.ui.tests.Bug66182";
-        final Shell windowShell = window.getShell();
-        final HandlerSubmission windowSubmission = new HandlerSubmission(null,
-                windowShell, null, commandId, windowHandler, Priority.MEDIUM);
-        commandSupport.addHandlerSubmission(windowSubmission);
-
-        // Create a dialog.
-        final Shell dialogShell = new Shell(windowShell);
-
-        /*
-         * Define a handler for the same command identifier, but for this
-         * dialog.
-         */
-        final Object dialogResult = new Object();
-        final IHandler dialogHandler = new AbstractHandler() {
-
-            public Object execute(Map parameterValuesByName)
-                    throws ExecutionException {
-                // Do nothing.
-                return dialogResult;
-            }
-        };
-        final HandlerSubmission dialogSubmission = new HandlerSubmission(null,
-                dialogShell, null, commandId, dialogHandler, Priority.MEDIUM);
-        commandSupport.addHandlerSubmission(dialogSubmission);
-
-        // Check to see which handler is the right handler.
-        final ICommand command = commandSupport.getCommandManager().getCommand(
-                commandId);
-        assertSame(
-                "The active shell must be the dialog.  If you are activating other shells while this test is running, then this test will fail",
-                windowShell, fWorkbench.getDisplay().getActiveShell());
-        assertSame(
-                "The active workbench window must be the window created in this test.  If you are activating other workbench windows, then this test will fail",
-                windowShell, fWorkbench.getActiveWorkbenchWindow().getShell());
-        final Object result = command.execute(new HashMap());
-        assertSame(
-                "The window handler was not chosen when both a dialog was open with no handler, but the active workbench window did have a handler.",
-                windowResult, result);
-
-        // Close the dialog and let the event loop spin.
-        commandSupport.removeHandlerSubmission(windowSubmission);
-        dialogShell.dispose();
-    }
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/commands/CommandsTestSuite.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/commands/CommandsTestSuite.java
deleted file mode 100644
index 4a21720..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/commands/CommandsTestSuite.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.eclipse.ui.tests.commands;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * Tests for all areas of command support for the platform.
- */
-public final class CommandsTestSuite extends TestSuite {
-
-    /**
-     * Returns the suite. This is required to use the JUnit Launcher.
-     */
-    public static final Test suite() {
-        return new CommandsTestSuite();
-    }
-
-    /**
-     * Construct the test suite.
-     */
-    public CommandsTestSuite() {
-        addTest(new TestSuite(Bug66182Test.class));
-    }
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/compare/UIComparePreferences.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/compare/UIComparePreferences.java
deleted file mode 100644
index 7ee7f9d..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/compare/UIComparePreferences.java
+++ /dev/null
@@ -1,61 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.compare;
-
-import java.util.Iterator;
-
-import junit.framework.TestCase;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.preference.IPreferenceNode;
-import org.eclipse.jface.preference.PreferenceDialog;
-import org.eclipse.jface.preference.PreferenceManager;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.tests.dialogs.PreferenceDialogWrapper;
-import org.eclipse.ui.tests.util.DialogCheck;
-
-public class UIComparePreferences extends TestCase {
-
-	public UIComparePreferences(String name) {
-		super(name);
-	}
-	private Shell getShell() {
-		return DialogCheck.getShell();
-	}
-
-	private PreferenceDialog getPreferenceDialog(String id) {
-		PreferenceDialogWrapper dialog = null;
-		PreferenceManager manager = WorkbenchPlugin.getDefault().getPreferenceManager();
-		if (manager != null) {
-			dialog = new PreferenceDialogWrapper(getShell(), manager);
-			dialog.create();
-			WorkbenchHelp.setHelp(dialog.getShell(), IHelpContextIds.PREFERENCE_DIALOG);
-
-			for (Iterator iterator = manager.getElements(PreferenceManager.PRE_ORDER).iterator(); iterator.hasNext();) {
-				IPreferenceNode node = (IPreferenceNode) iterator.next();
-				if (node.getId().equals(id)) {
-					dialog.showPage(node);
-					break;
-				}
-			}
-		}
-		return dialog;
-	}
-
-	public void testCompareViewersPref() {
-		Dialog dialog = getPreferenceDialog("org.eclipse.compare.internal.ComparePreferencePage");
-		DialogCheck.assertDialog(dialog, this);
-	}
-
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/compare/UIComparePreferencesAuto.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/compare/UIComparePreferencesAuto.java
deleted file mode 100644
index 4a4e640..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/compare/UIComparePreferencesAuto.java
+++ /dev/null
@@ -1,63 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.compare;
-
-import java.util.Iterator;
-
-import junit.framework.TestCase;
-
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.preference.IPreferenceNode;
-import org.eclipse.jface.preference.PreferenceDialog;
-import org.eclipse.jface.preference.PreferenceManager;
-
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.tests.dialogs.PreferenceDialogWrapper;
-import org.eclipse.ui.tests.util.DialogCheck;
-
-public class UIComparePreferencesAuto extends TestCase {
-
-	public UIComparePreferencesAuto(String name) {
-		super(name);
-	}
-	protected Shell getShell() {
-		return DialogCheck.getShell();
-	}
-
-	private PreferenceDialog getPreferenceDialog(String id) {
-		PreferenceDialogWrapper dialog = null;
-		PreferenceManager manager = WorkbenchPlugin.getDefault().getPreferenceManager();
-		if (manager != null) {
-			dialog = new PreferenceDialogWrapper(getShell(), manager);
-			dialog.create();
-			WorkbenchHelp.setHelp(dialog.getShell(), IHelpContextIds.PREFERENCE_DIALOG);
-
-			for (Iterator iterator = manager.getElements(PreferenceManager.PRE_ORDER).iterator(); iterator.hasNext();) {
-				IPreferenceNode node = (IPreferenceNode) iterator.next();
-				if (node.getId().equals(id)) {
-					dialog.showPage(node);
-					break;
-				}
-			}
-		}
-		return dialog;
-	}
-
-	public void testCompareViewersPref() {
-		Dialog dialog = getPreferenceDialog("org.eclipse.compare.internal.ComparePreferencePage");
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/contexts/ContextsTestSuite.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/contexts/ContextsTestSuite.java
deleted file mode 100644
index 590e7c9..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/contexts/ContextsTestSuite.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.eclipse.ui.tests.contexts;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * The suite of tests related to the "org.eclipse.ui.contexts" extension point,
- * and the "org.eclise.ui.contexts" Java API. This includes tests dealing with
- * other extension points or elements in other extension points that have been
- * deprecated to be replaced by this one.
- * 
- * @since 3.0
- */
-public final class ContextsTestSuite extends TestSuite {
-
-	/**
-	 * Returns the suite. This is required to use the JUnit Launcher.
-	 */
-	public static final Test suite() {
-		return new ContextsTestSuite();
-	}
-
-    /**
-     * Constructs a new instance of <code>ContextsTestSuite</code> with all of
-     * the relevent test cases.
-     */
-    public ContextsTestSuite() {
-        addTestSuite(ExtensionTestCase.class);
-    }
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/contexts/ExtensionTestCase.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/contexts/ExtensionTestCase.java
deleted file mode 100644
index ad3dbf1..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/contexts/ExtensionTestCase.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ui.tests.contexts;
-
-import org.eclipse.ui.contexts.IContext;
-import org.eclipse.ui.contexts.IContextManager;
-import org.eclipse.ui.contexts.IWorkbenchContextSupport;
-import org.eclipse.ui.contexts.NotDefinedException;
-import org.eclipse.ui.tests.util.UITestCase;
-
-/**
- * The test case for reading in elements from the extension point. This verifies
- * that contexts defined in this test plug-in's extensions are all properly read
- * in. This includes extensions read from deprecated locations, as well as the
- * currently preferred way of specifying contexts.
- * 
- * @since 3.0
- */
-public class ExtensionTestCase extends UITestCase {
-
-    /**
-     * Constructs a new instance of <code>ExtensionTestCase</code> with the
-     * given name.
-     * 
-     * @param testName
-     *            The name of the test; may be <code>null</code>.
-     */
-    public ExtensionTestCase(final String testName) {
-        super(testName);
-    }
-
-    /**
-     * Tests that the "org.eclipse.ui.acceleratorScopes" extension point can be
-     * read in by Eclipse. This extension point is currently deprecated.
-     * 
-     * @throws NotDefinedException
-     *             This shouldn't really be possible, as the test should fail
-     *             gracefully before this could happen.
-     */
-    public final void testAcceleratorScopes() throws NotDefinedException {
-        final IWorkbenchContextSupport contextSupport = fWorkbench
-                .getContextSupport();
-        final IContextManager contextManager = contextSupport
-                .getContextManager();
-
-        final IContext context1 = contextManager
-                .getContext("org.eclipse.ui.tests.acceleratorScopes.test1");
-        assertTrue(
-                "Context contributed via 'org.eclipse.ui.acceleratorScopes' is not loaded properly.",
-                context1.isDefined());
-        assertEquals(
-                "Context contributed via 'org.eclipse.ui.acceleratorScopes' does not get its name.",
-                "Test Accelerator Scope 1", context1.getName());
-
-        final IContext context2 = contextManager
-                .getContext("org.eclipse.ui.tests.acceleratorScopes.test2");
-        assertTrue(
-                "Context contributed via 'org.eclipse.ui.acceleratorScopes' is not loaded properly.",
-                context2.isDefined());
-        assertEquals(
-                "Context contributed via 'org.eclipse.ui.acceleratorScopes' does not get its name.",
-                "Test Accelerator Scope 2", context2.getName());
-        assertEquals(
-                "Context contributed via 'org.eclipse.ui.acceleratorScopes' does not get its parent.",
-                "org.eclipse.ui.tests.acceleratorScopes.test1", context2
-                        .getParentId());
-    }
-
-    /**
-     * Tests that the "scopes" element in the "org.eclipse.ui.commands"
-     * extension point can be read in as a context by Eclipse. This element is
-     * currently deprecated.
-     * 
-     * @throws NotDefinedException
-     *             This shouldn't really be possible, as the test should fail
-     *             gracefully before this could happen.
-     */
-    public final void testCommandsScopes() throws NotDefinedException {
-        final IWorkbenchContextSupport contextSupport = fWorkbench
-                .getContextSupport();
-        final IContextManager contextManager = contextSupport
-                .getContextManager();
-
-        final IContext context1 = contextManager
-                .getContext("org.eclipse.ui.tests.commands.scope1");
-        assertTrue(
-                "Context contributed via 'org.eclipse.ui.commands' is not loaded properly.",
-                context1.isDefined());
-        assertEquals(
-                "Context contributed via 'org.eclipse.ui.commands' does not get its name.",
-                "Test Scope 1", context1.getName());
-
-        final IContext context2 = contextManager
-                .getContext("org.eclipse.ui.tests.commands.scope2");
-        assertTrue(
-                "Context contributed via 'org.eclipse.ui.commands' is not loaded properly.",
-                context2.isDefined());
-        assertEquals(
-                "Context contributed via 'org.eclipse.ui.commands' does not get its name.",
-                "Test Scope 2", context2.getName());
-        assertEquals(
-                "Context contributed via 'org.eclipse.ui.commands' does not get its parent.",
-                "org.eclipse.ui.tests.commands.scope1", context2.getParentId());
-    }
-
-    /**
-     * Tests that the currently preferred way of specifiying contexts can be
-     * read in properly by Eclipse. This uses all of the non-deprecated
-     * attributes.
-     * 
-     * @throws NotDefinedException
-     *             This shouldn't really be possible, as the test should fail
-     *             gracefully before this could happen.
-     */
-    public final void testContexts() throws NotDefinedException {
-        final IWorkbenchContextSupport contextSupport = fWorkbench
-                .getContextSupport();
-        final IContextManager contextManager = contextSupport
-                .getContextManager();
-
-        final IContext context1 = contextManager
-                .getContext("org.eclipse.ui.tests.contexts.context1");
-        assertTrue(
-                "Context contributed via 'org.eclipse.ui.contexts' is not loaded properly.",
-                context1.isDefined());
-        assertEquals(
-                "Context contributed via 'org.eclipse.ui.contexts' does not get its name.",
-                "Test Context 1", context1.getName());
-
-        final IContext context2 = contextManager
-                .getContext("org.eclipse.ui.tests.contexts.context2");
-        assertTrue(
-                "Context contributed via 'org.eclipse.ui.contexts' is not loaded properly.",
-                context2.isDefined());
-        assertEquals(
-                "Context contributed via 'org.eclipse.ui.contexts' does not get its name.",
-                "Test Context 2", context2.getName());
-        assertEquals(
-                "Context contributed via 'org.eclipse.ui.contexts' does not get its parent.",
-                "org.eclipse.ui.tests.contexts.context1", context2
-                        .getParentId());
-    }
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/datatransfer/DataTransferTestSuite.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/datatransfer/DataTransferTestSuite.java
deleted file mode 100644
index b710de4..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/datatransfer/DataTransferTestSuite.java
+++ /dev/null
@@ -1,34 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.datatransfer;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * .
- */
-public class DataTransferTestSuite extends TestSuite {
-
-	/**
-	 * Returns the suite.  This is required to
-	 * use the JUnit Launcher.
-	 */
-	public static Test suite() {
-		return new DataTransferTestSuite();
-	}
-	
-	/**
-	 * Construct the test suite.
-	 */
-	public DataTransferTestSuite() {
-		addTest(new TestSuite(ImportOperationTest.class));		
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/datatransfer/ImportOperationTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/datatransfer/ImportOperationTest.java
deleted file mode 100644
index d194592..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/datatransfer/ImportOperationTest.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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.datatransfer;
-
-import java.io.*;
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.dialogs.IOverwriteQuery;
-import org.eclipse.ui.tests.util.FileUtil;
-import org.eclipse.ui.tests.util.UITestCase;
-import org.eclipse.ui.wizards.datatransfer.FileSystemStructureProvider;
-import org.eclipse.ui.wizards.datatransfer.ImportOperation;
-
-public class ImportOperationTest
-	extends UITestCase
-	implements IOverwriteQuery {
-
-	private String localDirectory;
-
-	private String[] directoryNames = { "dir1", "dir2" };
-
-	private String[] fileNames = { "file1.txt", "file2.txt" };
-	
-	private IProject project;
-
-	public ImportOperationTest(String testName) {
-		super(testName);
-	}
-
-	private void createSubDirectory(String parentName, String newDirName)
-		throws IOException {
-		String newDirPath = parentName + File.separatorChar + newDirName;
-		File newDir = new File(newDirPath);
-		newDir.mkdir();
-		for (int i = 0; i < directoryNames.length; i++) {
-			createFile(newDirPath, fileNames[i]);
-		}
-	}
-
-	private void createFile(String parentName, String filePath)
-		throws IOException {
-		String newFilePath = parentName + File.separatorChar + filePath;
-		File newFile = new File(newFilePath);
-		newFile.createNewFile();
-	}
-
-	private void deleteDirectory(File directory){
-		File[] children = directory.listFiles();
-		for(int i = 0; i < children.length; i ++){
-			if(children[i].isDirectory())
-				deleteDirectory(children[i]);
-			else
-				children[i].delete();
-		}
-		directory.delete();
-	}
-
-	/*
-	 * @see IOverwriteQuery#queryOverwrite(String)
-	 */
-	public String queryOverwrite(String pathString) {
-		//Always return an empty String - we aren't
-		//doing anything interesting
-		return "";
-	}
-	
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-		Class testClass =
-			Class.forName("org.eclipse.ui.tests.datatransfer.ImportOperationTest");
-		InputStream stream = testClass.getResourceAsStream("tests.ini");
-		Properties properties = new Properties();
-		properties.load(stream);
-		localDirectory = properties.getProperty("localSource");
-		setUpDirectory();
-	}
-	
-	/**
-	 * Set up the directories and files used for the test.
-	 */
-
-	private void setUpDirectory() throws IOException {
-		File rootDirectory = new File(localDirectory);
-		rootDirectory.mkdir();
-		localDirectory = rootDirectory.getAbsolutePath(); 
-		for (int i = 0; i < directoryNames.length; i++) {
-			createSubDirectory(localDirectory, directoryNames[i]);
-		}
-	}
-	
-	/**
-	 * Tear down. Delete the project we created and all of the
-	 * files on the file system.
-	 */
-	protected void doTearDown() throws Exception {
-		super.doTearDown();
-		try {
-			project.delete(true,true,null);
-			File topDirectory = new File(localDirectory);
-			deleteDirectory(topDirectory);
-		}
-		catch (CoreException e) {
-			fail(e.toString());
-		}
-	}
-	
-	public void testGetStatus() throws Exception {
-		project = FileUtil.createProject("ImportGetStatus");
-		File element = new File(localDirectory);
-		List importElements = new ArrayList();
-		importElements.add(element);
-		ImportOperation operation =
-			new ImportOperation(
-				project.getFullPath(),
-				FileSystemStructureProvider.INSTANCE,
-				this,
-				importElements);
-		
-		assertTrue(operation.getStatus().getCode() == IStatus.OK);		
-	}
-
-	public void testImportList() throws Exception {
-		project = FileUtil.createProject("ImportList");
-		File element = new File(localDirectory);
-		List importElements = new ArrayList();
-		importElements.add(element);
-		ImportOperation operation =
-			new ImportOperation(
-				project.getFullPath(),
-				FileSystemStructureProvider.INSTANCE,
-				this,
-				importElements);
-		openTestWindow().run(true,true,operation);
-
-		verifyFiles(directoryNames.length);
-	}
-	
-	public void testImportSource() throws Exception {
-		project = FileUtil.createProject("ImportSource");
-		ImportOperation operation =
-			new ImportOperation(
-				project.getFullPath(),
-				new File(localDirectory),
-				FileSystemStructureProvider.INSTANCE,
-				this);
-		openTestWindow().run(true,true,operation);
-		verifyFiles(directoryNames.length);
-	}
-
-	public void testImportSourceList() throws Exception {
-		project = FileUtil.createProject("ImportSourceList");
-		File element = new File(localDirectory + File.separator + directoryNames[0]);
-		List importElements = new ArrayList();
-		importElements.add(element);
-		ImportOperation operation =
-			new ImportOperation(
-				project.getFullPath(),
-				new File(localDirectory),
-				FileSystemStructureProvider.INSTANCE,
-				this,
-				importElements);
-		openTestWindow().run(true,true,operation);
-		verifyFiles(importElements.size());
-	}
-
-	public void testSetContext() throws Exception {
-		project = FileUtil.createProject("ImportSetContext");
-		File element = new File(localDirectory);
-		List importElements = new ArrayList();
-		importElements.add(element);
-		ImportOperation operation =
-			new ImportOperation(
-				project.getFullPath(),
-				FileSystemStructureProvider.INSTANCE,
-				this,
-				importElements);
-		
-		operation.setContext(null);
-		operation.setContext(openTestWindow().getShell());
-	}
-
-	public void testSetCreateContainerStructure() throws Exception {
-		project = FileUtil.createProject("ImportSetCreateContainerStructure");
-		File element = new File(localDirectory);
-		List importElements = new ArrayList();
-		importElements.add(element);
-		ImportOperation operation =
-			new ImportOperation(
-				project.getFullPath(),
-				FileSystemStructureProvider.INSTANCE,
-				this,
-				importElements);
-		
-		operation.setCreateContainerStructure(false);
-		openTestWindow().run(true,true,operation);
-
-		try {
-			IPath path = new Path(localDirectory);
-			IResource targetFolder = project.findMember(path.lastSegment());
-			
-			assertTrue("Import failed", targetFolder instanceof IContainer);
-			
-			IResource[] resources = ((IContainer) targetFolder).members();			
-			assertEquals("Import failed to import all directories", directoryNames.length, resources.length); 
-			for (int i = 0; i < resources.length; i++) {
-				assertTrue("Import failed", resources[i] instanceof IContainer);
-				verifyFolder((IContainer) resources[i]);
-			}
-		}
-		catch (CoreException e) {
-			fail(e.toString());
-		}
-	}
-
-	public void testSetFilesToImport() throws Exception {
-		project = FileUtil.createProject("ImportSetFilesToImport");
-		File element = new File(localDirectory + File.separator + directoryNames[0]);
-		ImportOperation operation =
-			new ImportOperation(
-				project.getFullPath(),
-				new File(localDirectory),
-				FileSystemStructureProvider.INSTANCE,
-				this);
-		List importElements = new ArrayList();
-		importElements.add(element);
-		operation.setFilesToImport(importElements);
-		openTestWindow().run(true,true,operation);
-		verifyFiles(importElements.size());
-	}
-
-	public void testSetOverwriteResources() throws Exception {
-		project = FileUtil.createProject("ImportSetOverwriteResources");
-		File element = new File(localDirectory);
-		List importElements = new ArrayList();
-		importElements.add(element);
-		ImportOperation operation =
-			new ImportOperation(
-				project.getFullPath(),
-				FileSystemStructureProvider.INSTANCE,
-				this,
-				importElements);
-		
-		openTestWindow().run(true,true,operation);
-		operation.setOverwriteResources(true);
-		openTestWindow().run(true,true,operation);
-	}
-
-	/**
-	 * Verifies that all files were imported.
-	 * 
-	 * @param folderCount number of folders that were imported
-	 */
-	private void verifyFiles(int folderCount) {
-		try {
-			IPath path = new Path(localDirectory);
-			IResource targetFolder = project.findMember(path.makeRelative());
-			
-			assertTrue("Import failed", targetFolder instanceof IContainer);
-			
-			IResource[] resources = ((IContainer) targetFolder).members();			
-			assertEquals("Import failed to import all directories", folderCount, resources.length); 
-			for (int i = 0; i < resources.length; i++) {
-				assertTrue("Import failed", resources[i] instanceof IContainer);
-				verifyFolder((IContainer) resources[i]);
-			}
-		}
-		catch (CoreException e) {
-			fail(e.toString());
-		}
-	}
-	/**
-	 * Verifies that all files were imported into the specified folder.
-	 */
-	private void verifyFolder(IContainer folder) {
-		try {
-			IResource[] files = folder.members();
-			assertEquals("Import failed to import all files", fileNames.length, files.length);
-			for (int j = 0; j < fileNames.length; j++) {
-				String fileName = fileNames[j];
-				int k;
-				for (k = 0; k < files.length; k++) {
-					if (fileName.equals(files[k].getName())) break;
-				}
-				assertTrue("Import failed to import file " + fileName, k < fileNames.length);
-			}
-		}
-		catch (CoreException e) {
-			fail(e.toString());
-		}
-	}
-}	
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/datatransfer/tests.ini b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/datatransfer/tests.ini
deleted file mode 100644
index 5acca07..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/datatransfer/tests.ini
+++ /dev/null
@@ -1 +0,0 @@
-localSource=ImportTestSource

diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/DataTransferMessagesCopy.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/DataTransferMessagesCopy.java
deleted file mode 100644
index 83c55c0..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/DataTransferMessagesCopy.java
+++ /dev/null
@@ -1,55 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dialogs;
-
-/* THIS IS A COPY OF DataTransferMessages
- * It is made available for UI testing.
- */
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Utility class which helps managing messages
- */
-public class DataTransferMessagesCopy {
-	private static final String RESOURCE_BUNDLE= "org.eclipse.ui.wizards.datatransfer.messages";//$NON-NLS-1$
-	private static ResourceBundle bundle = ResourceBundle.getBundle(RESOURCE_BUNDLE);
-private DataTransferMessagesCopy(){
-	// 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;
-	}
-}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/DataTransferTestStub.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/DataTransferTestStub.java
deleted file mode 100644
index 6f7499b..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/DataTransferTestStub.java
+++ /dev/null
@@ -1,73 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dialogs;
-
- 
-
-/**
- * FOR USE BY TESTS ONLY!
- * <p>
- * Stub class that provides access to classes visible to the package
- * <code>org.eclipse.ui.wizards.datatransfer</code>.  For the purpose
- * of testing.
- * </p>
- * @private
- */
-public class DataTransferTestStub {
-	//Prevent instantiation
-	private DataTransferTestStub(){}
-	
-	/**
-	 * Gives access to an instance of WizardFileSystemResourceExportPage1.
-	 * @return IWizardPage an instance of WizardFileSystemResourceExportPage1
-	 */
-/**
- * 1GJWD2E: ITPUI:ALL - Test classes should not be released in public packages.
- * 
-	public static IWizardPage newFileSystemResourceExportPage1(IStructuredSelection selection) {
-		return new WizardFileSystemResourceExportPage1(selection);
-	}
- */
-	/**
-	 * Gives access to an instance of WizardFileSystemResourceImportPage1.
-	 * @return IWizardPage an instance of WizardFileSystemResourceImportPage1
-	 */
-/**
- * 1GJWD2E: ITPUI:ALL - Test classes should not be released in public packages.
- * 
-	public static IWizardPage newFileSystemResourceImportPage1(IWorkbench workbench, IStructuredSelection selection) {
-		return new WizardFileSystemResourceImportPage1(workbench, selection);
-	}
- */
-	/**
-	 * Gives access to an instance of WizardZipFileResourceExportPage1.
-	 * @return IWizardPage an instance of WizardZipFileResourceExportPage1
-	 */
-/**
- * 1GJWD2E: ITPUI:ALL - Test classes should not be released in public packages.
- * 
-	public static IWizardPage newZipFileResourceExportPage1(IStructuredSelection selection) {
-		return new WizardZipFileResourceExportPage1(selection);
-	}
- */
-	/**
-	 * Gives access to an instance of WizardZipFileResourceImportPage1.
-	 * @return IWizardPage an instance of WizardZipFileResourceImportPage1
-	 */
-/**
- * 1GJWD2E: ITPUI:ALL - Test classes should not be released in public packages.
- * 
-	public static IWizardPage newZipFileResourceImportPage1(IStructuredSelection selection) {
-		return new WizardZipFileResourceExportPage1(selection);
-	}
- */
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/DeprecatedUIDialogs.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/DeprecatedUIDialogs.java
deleted file mode 100644
index d656d0a..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/DeprecatedUIDialogs.java
+++ /dev/null
@@ -1,47 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dialogs;
-
-import junit.framework.TestCase;
-
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.dialogs.YesNoCancelListSelectionDialog;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.model.AdaptableList;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchPartLabelProvider;
-import org.eclipse.ui.tests.util.DialogCheck;
-
-public class DeprecatedUIDialogs extends TestCase {
-	private static final String PROJECT_SELECTION_MESSAGE = WorkbenchMessages.getString("BuildOrderPreference.selectOtherProjects");
-	private static final String FILTER_SELECTION_MESSAGE = ResourceNavigatorMessagesCopy.getString("FilterSelection.message");
-
-	public DeprecatedUIDialogs(String name) {
-		super(name);
-	}
-	private Shell getShell() {
-		return DialogCheck.getShell();
-	}
-	
-	public void testSaveAll() {
-		YesNoCancelListSelectionDialog dialog = new YesNoCancelListSelectionDialog(
-			getShell(),
-			new AdaptableList(),
-			new WorkbenchContentProvider(),
-			new WorkbenchPartLabelProvider(),
-			WorkbenchMessages.getString("EditorManager.saveResourcesMessage")
-		);
-		dialog.setTitle(WorkbenchMessages.getString("EditorManager.saveResourcesTitle"));
-		DialogCheck.assertDialog(dialog, this);
-	}
-	
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/DeprecatedUIDialogsAuto.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/DeprecatedUIDialogsAuto.java
deleted file mode 100644
index fd28bc0..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/DeprecatedUIDialogsAuto.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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dialogs;
-
-import junit.framework.TestCase;
-
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.dialogs.YesNoCancelListSelectionDialog;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.model.AdaptableList;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchPartLabelProvider;
-import org.eclipse.ui.tests.util.DialogCheck;
-
-
-public class DeprecatedUIDialogsAuto extends TestCase {
-	private static final String PROJECT_SELECTION_MESSAGE = WorkbenchMessages.getString("BuildOrderPreference.selectOtherProjects");
-	private static final String FILTER_SELECTION_MESSAGE = ResourceNavigatorMessagesCopy.getString("FilterSelection.message");
-	
-	public DeprecatedUIDialogsAuto(String name) {
-		super(name);
-	}
-	private Shell getShell() {
-		return DialogCheck.getShell();
-	}
-	
-	public void testSaveAll() {
-		YesNoCancelListSelectionDialog dialog = new YesNoCancelListSelectionDialog(
-			getShell(),
-			new AdaptableList(),
-			new WorkbenchContentProvider(),
-			new WorkbenchPartLabelProvider(),
-			WorkbenchMessages.getString("EditorManager.saveResourcesMessage")
-		);
-		dialog.setTitle(WorkbenchMessages.getString("EditorManager.saveResourcesTitle"));
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	
-}
-
-
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/DeprecatedUIPreferences.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/DeprecatedUIPreferences.java
deleted file mode 100644
index 346533b..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/DeprecatedUIPreferences.java
+++ /dev/null
@@ -1,172 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dialogs;
-
-import java.util.Iterator;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.preference.IPreferenceNode;
-import org.eclipse.jface.preference.PreferenceDialog;
-import org.eclipse.jface.preference.PreferenceManager;
-import org.eclipse.jface.viewers.StructuredSelection;
-
-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.dialogs.PropertyDialog;
-import org.eclipse.ui.internal.dialogs.PropertyPageContributorManager;
-import org.eclipse.ui.internal.dialogs.PropertyPageManager;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.ui.tests.util.DialogCheck;
-
-public class DeprecatedUIPreferences extends TestCase {
-	private IProject _project;
-	private static final String PROJECT_NAME = "DummyProject";
-	
-	public DeprecatedUIPreferences(String name) {
-		super(name);
-	}
-	private Shell getShell() {
-		return DialogCheck.getShell();
-	}
-	private IProject getDummyProject() {
-		try {
-			IProject projects[] = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-			for (int i = 0; i < projects.length; i++) {
-				if ( projects[i].getName().equals(PROJECT_NAME) ) {
-					projects[i].delete(true, null);
-					break;
-				}
-			}
-			_project = ResourcesPlugin.getWorkspace().getRoot().getProject(PROJECT_NAME);
-			_project.create(null);
-		} catch (CoreException e) {
-			System.out.println(e);
-		}
-		return _project;
-	}
-	private void deleteDummyProject(){
-		try {
-			if (_project != null) {
-				_project.delete(true, null);
-			}
-		} catch (CoreException e) {
-			System.out.println(e);
-		}
-	}
-	private PreferenceDialog getPreferenceDialog(String id) {
-		PreferenceDialogWrapper dialog = null;
-		PreferenceManager manager = WorkbenchPlugin.getDefault().getPreferenceManager();
-		if (manager != null) {
-			dialog = new PreferenceDialogWrapper(getShell(), manager);
-			dialog.create();	
-			WorkbenchHelp.setHelp(dialog.getShell(), new Object[]{IHelpContextIds.PREFERENCE_DIALOG});
-
-			for (Iterator iterator = manager.getElements(PreferenceManager.PRE_ORDER).iterator();
-			     iterator.hasNext();)
-			{
-				IPreferenceNode node = (IPreferenceNode)iterator.next();
-				if ( node.getId().equals(id) ) {
-					dialog.showPage(node);
-					break;
-				}
-			}
-		}
-		return dialog;
-	}
-	private PropertyDialog getPropertyDialog(String id) {
-		PropertyDialogWrapper dialog = null;
-
-		PropertyPageManager manager = new PropertyPageManager();
-		String title = "";
-		String name  = "";
-		
-		
-		IProject element = getDummyProject();
-		if (element ==  null) {			
-			return null;
-		}
-		// load pages for the selection
-		// fill the manager with contributions from the matching contributors
-		PropertyPageContributorManager.getManager().contribute(manager, element);
-		
-		IWorkbenchAdapter adapter = (IWorkbenchAdapter)element.getAdapter(IWorkbenchAdapter.class);
-		if (adapter != null) {
-			name = adapter.getLabel(element);
-		}
-		
-		// testing if there are pages in the manager
-		Iterator pages = manager.getElements(PreferenceManager.PRE_ORDER).iterator();		
-		if (!pages.hasNext()) {
-			return null;
-		} else {
-			title = WorkbenchMessages.format("PropertyDialog.propertyMessage", new Object[] {name});
-			dialog = new PropertyDialogWrapper(getShell(), manager, new StructuredSelection(element)); 
-			dialog.create();
-			dialog.getShell().setText(title);
-			WorkbenchHelp.setHelp(dialog.getShell(), new Object[]{IHelpContextIds.PROPERTY_DIALOG});
-			for (Iterator iterator = manager.getElements(PreferenceManager.PRE_ORDER).iterator();
-			     iterator.hasNext();)
-			{
-				IPreferenceNode node = (IPreferenceNode)iterator.next();
-				if ( node.getId().equals(id) ) {
-					dialog.showPage(node);
-					break;
-				}
-			}
-		}
-		return dialog;
-	}
-	
-	public void testWorkbenchPref() {
-		Dialog dialog = getPreferenceDialog("org.eclipse.ui.preferencePages.Workbench");
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testAppearancePref() {
-		Dialog dialog = getPreferenceDialog("org.eclipse.ui.preferencePages.Views");
-		DialogCheck.assertDialog(dialog, this);
-	}
-	
-	public void testDefaultTextEditorPref() {
-		Dialog dialog = getPreferenceDialog("org.eclipse.ui.preferencePages.TextEditor");
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testFileEditorsPref() {
-		Dialog dialog = getPreferenceDialog("org.eclipse.ui.preferencePages.FileEditors");
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testLocalHistoryPref() {
-		Dialog dialog = getPreferenceDialog("org.eclipse.ui.preferencePages.FileStates");
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testPerspectivesPref() {
-		Dialog dialog = getPreferenceDialog("org.eclipse.ui.preferencePages.Perspectives");
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testInfoProp() {
-		Dialog dialog = getPropertyDialog("org.eclipse.ui.propertypages.info.file");
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testProjectReferencesProp() {
-		Dialog dialog = getPropertyDialog("org.eclipse.ui.propertypages.project.reference");
-		DialogCheck.assertDialog(dialog, this);
-	}
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/DeprecatedUIPreferencesAuto.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/DeprecatedUIPreferencesAuto.java
deleted file mode 100644
index 43d30a3..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/DeprecatedUIPreferencesAuto.java
+++ /dev/null
@@ -1,252 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dialogs;
-
-import java.util.Iterator;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.preference.IPreferenceNode;
-import org.eclipse.jface.preference.PreferenceDialog;
-import org.eclipse.jface.preference.PreferenceManager;
-import org.eclipse.jface.viewers.StructuredSelection;
-
-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.dialogs.PropertyDialog;
-import org.eclipse.ui.internal.dialogs.PropertyPageContributorManager;
-import org.eclipse.ui.internal.dialogs.PropertyPageManager;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.ui.tests.util.DialogCheck;
-
-public class DeprecatedUIPreferencesAuto extends TestCase {
-
-	private IProject _project;
-	private static final String PROJECT_NAME = "DummyProject";
-
-	public DeprecatedUIPreferencesAuto(String name) {
-		super(name);
-	}
-	protected Shell getShell() {
-		return DialogCheck.getShell();
-	}
-
-	private IProject getDummyProject() {
-		try {
-			IProject projects[] =
-				ResourcesPlugin.getWorkspace().getRoot().getProjects();
-			for (int i = 0; i < projects.length; i++) {
-				if (projects[i].getName().equals(PROJECT_NAME)) {
-					projects[i].delete(true, null);
-					break;
-				}
-			}
-			_project =
-				ResourcesPlugin.getWorkspace().getRoot().getProject(
-					PROJECT_NAME);
-			_project.create(null);
-		} catch (CoreException e) {
-			System.out.println(e);
-		}
-		return _project;
-	}
-	private void deleteDummyProject() {
-		try {
-			if (_project != null) {
-				_project.delete(true, null);
-			}
-		} catch (CoreException e) {
-			System.out.println(e);
-		}
-	}
-	private PreferenceDialog getPreferenceDialog(String id) {
-		PreferenceDialogWrapper dialog = null;
-		PreferenceManager manager =
-			WorkbenchPlugin.getDefault().getPreferenceManager();
-		if (manager != null) {
-			dialog = new PreferenceDialogWrapper(getShell(), manager);
-			dialog.create();
-			WorkbenchHelp.setHelp(
-				dialog.getShell(),
-				new Object[] { IHelpContextIds.PREFERENCE_DIALOG });
-
-			for (Iterator iterator =
-				manager.getElements(PreferenceManager.PRE_ORDER).iterator();
-				iterator.hasNext();
-				) {
-				IPreferenceNode node = (IPreferenceNode) iterator.next();
-				if (node.getId().equals(id)) {
-					dialog.showPage(node);
-					break;
-				}
-			}
-		}
-		return dialog;
-	}
-	private PropertyDialog getPropertyDialog(String id) {
-		PropertyDialogWrapper dialog = null;
-
-		PropertyPageManager manager = new PropertyPageManager();
-		String title = "";
-		String name = "";
-
-		IProject element = getDummyProject();
-		if (element == null) {
-			return null;
-		}
-		// load pages for the selection
-		// fill the manager with contributions from the matching contributors
-		PropertyPageContributorManager.getManager().contribute(
-			manager,
-			element);
-
-		IWorkbenchAdapter adapter =
-			(IWorkbenchAdapter) element.getAdapter(IWorkbenchAdapter.class);
-		if (adapter != null) {
-			name = adapter.getLabel(element);
-		}
-
-		// testing if there are pages in the manager
-		Iterator pages =
-			manager.getElements(PreferenceManager.PRE_ORDER).iterator();
-		if (!pages.hasNext()) {
-			return null;
-		} else {
-			title =
-				WorkbenchMessages.format(
-					"PropertyDialog.propertyMessage",
-					new Object[] { name });
-			dialog =
-				new PropertyDialogWrapper(
-					getShell(),
-					manager,
-					new StructuredSelection(element));
-			dialog.create();
-			dialog.getShell().setText(title);
-			WorkbenchHelp.setHelp(
-				dialog.getShell(),
-				new Object[] { IHelpContextIds.PROPERTY_DIALOG });
-			for (Iterator iterator =
-				manager.getElements(PreferenceManager.PRE_ORDER).iterator();
-				iterator.hasNext();
-				) {
-				IPreferenceNode node = (IPreferenceNode) iterator.next();
-				if (node.getId().equals(id)) {
-					dialog.showPage(node);
-					break;
-				}
-			}
-		}
-		return dialog;
-	}
-
-	public void testWorkbenchPref() {
-		Dialog dialog =
-			getPreferenceDialog("org.eclipse.ui.preferencePages.Workbench");
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testAppearancePref() {
-		Dialog dialog =
-			getPreferenceDialog("org.eclipse.ui.preferencePages.Views");
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testDefaultTextEditorPref() {
-		Dialog dialog =
-			getPreferenceDialog("org.eclipse.ui.preferencePages.TextEditor");
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testFileEditorsPref() {
-		Dialog dialog =
-			getPreferenceDialog("org.eclipse.ui.preferencePages.FileEditors");
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testLocalHistoryPref() {
-		Dialog dialog =
-			getPreferenceDialog("org.eclipse.ui.preferencePages.FileStates");
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testPerspectivesPref() {
-		Dialog dialog =
-			getPreferenceDialog("org.eclipse.ui.preferencePages.Perspectives");
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-
-	//Only really checking if this opens without an exception
-	public void testFontEditorsPref() {
-		Dialog dialog =
-			getPreferenceDialog("org.eclipse.ui.tests.dialogs.FontFieldEditorTestPreferencePage");
-		DialogCheck.assertDialogTexts(dialog,this);
-	}
-
-	public void testInfoProp() {
-		/*
-		 * Commented out because it generates a failure
-		 * of expect and actual width values. Suspect this
-		 * is an SWT issue.
-		 * 
-		Dialog dialog = getPropertyDialog("org.eclipse.ui.propertypages.info.file");
-		DialogCheck.assertDialogTexts(dialog, this);
-		 */
-	}
-	public void testProjectReferencesProp() {
-		/*
-		 * Commented out because it generates a failure
-		 * of expect and actual width values. Suspect this
-		 * is an SWT issue.
-		 * 
-		Dialog dialog = getPropertyDialog("org.eclipse.ui.propertypages.project.reference");
-		DialogCheck.assertDialogTexts(dialog, this);
-		 */
-	}
-
-	/**
-	 * Test the editors preference page and toggle the
-	 * enable state twice to be sure there are no errors.
-	 */
-	public void testFieldEditorEnablePref() {
-
-		PreferenceDialogWrapper dialog = null;
-		PreferenceManager manager =
-			WorkbenchPlugin.getDefault().getPreferenceManager();
-		if (manager != null) {
-			dialog = new PreferenceDialogWrapper(getShell(), manager);
-			dialog.create();
-
-			for (Iterator iterator =
-				manager.getElements(PreferenceManager.PRE_ORDER).iterator();
-				iterator.hasNext();
-				) {
-				IPreferenceNode node = (IPreferenceNode) iterator.next();
-				if (node
-					.getId()
-					.equals("org.eclipse.ui.tests.dialogs.EnableTestPreferencePage")) {
-					dialog.showPage(node);
-					EnableTestPreferencePage page =
-						(EnableTestPreferencePage) dialog.getPage(node);
-					page.flipState();
-					page.flipState();
-					break;
-				}
-			}
-		}
-
-	}
-
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/DeprecatedUIWizards.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/DeprecatedUIWizards.java
deleted file mode 100644
index 8fe0eed..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/DeprecatedUIWizards.java
+++ /dev/null
@@ -1,228 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dialogs;
-
-import junit.framework.TestCase;
-
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.dialogs.Dialog;
-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.IWizardPage;
-import org.eclipse.jface.wizard.WizardDialog;
-
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.WizardNewProjectReferencePage;
-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.dialogs.ExportWizard;
-import org.eclipse.ui.internal.dialogs.ImportWizard;
-import org.eclipse.ui.internal.dialogs.NewWizard;
-import org.eclipse.ui.tests.util.DialogCheck;
-import org.eclipse.ui.wizards.newresource.BasicNewFileResourceWizard;
-import org.eclipse.ui.wizards.newresource.BasicNewFolderResourceWizard;
-import org.eclipse.ui.wizards.newresource.BasicNewProjectResourceWizard;
-
-
-public class DeprecatedUIWizards extends TestCase {
-	private static final int SIZING_WIZARD_WIDTH    = 470;
-	private static final int SIZING_WIZARD_HEIGHT   = 550;
-	private static final int SIZING_WIZARD_WIDTH_2  = 500;
-	private static final int SIZING_WIZARD_HEIGHT_2 = 500;
-	
-	public DeprecatedUIWizards(String name) {
-		super(name);
-	}
-	private Shell getShell() {
-		return DialogCheck.getShell();
-	}
-	private IWorkbench getWorkbench() {
-		return WorkbenchPlugin.getDefault().getWorkbench();
-	}
-	private WizardDialog exportWizard(IWizardPage page) {
-		ExportWizard wizard = new ExportWizard();
-		wizard.init(getWorkbench(), null);
-		IDialogSettings workbenchSettings = WorkbenchPlugin.getDefault().getDialogSettings();
-		IDialogSettings wizardSettings = workbenchSettings.getSection("ExportResourcesAction");
-		if(wizardSettings == null)
-			wizardSettings = workbenchSettings.addNewSection("ExportResourcesAction");
-		wizard.setDialogSettings(wizardSettings);
-		wizard.setForcePreviousAndNextButtons(true);
-		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(), new Object[]{IHelpContextIds.EXPORT_WIZARD});
-
-		if (page != null) {
-			page.setWizard(wizard);
-			dialog.showPage(page);
-		}
-		return dialog;
-	}
-	private WizardDialog importWizard(IWizardPage page) {
-		ImportWizard wizard = new ImportWizard();
-		wizard.init(getWorkbench(), null);
-		IDialogSettings workbenchSettings = WorkbenchPlugin.getDefault().getDialogSettings();
-		IDialogSettings wizardSettings = workbenchSettings.getSection("ImportResourcesAction");
-		if(wizardSettings==null)
-			wizardSettings = workbenchSettings.addNewSection("ImportResourcesAction");
-		wizard.setDialogSettings(wizardSettings);
-		wizard.setForcePreviousAndNextButtons(true);
-		
-		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(), new Object[]{IHelpContextIds.IMPORT_WIZARD});
-		
-		if (page != null) {
-			page.setWizard(wizard);
-			dialog.showPage(page);
-		}
-		return dialog;
-	}
-
-	public void testExportResources() {//reference: ExportResourcesAction
-		Dialog dialog = exportWizard(null);
-		DialogCheck.assertDialog(dialog, this);
-	}
-/**
- * 1GJWD2E: ITPUI:ALL - Test classes should not be released in public packages.
- * 
-	public void testFileSystemExport() {
-		Dialog dialog = exportWizard( DataTransferTestStub.newFileSystemResourceExportPage1(null) );
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testZipFileExport() {
-		Dialog dialog = exportWizard( DataTransferTestStub.newZipFileResourceExportPage1(null) );
-		DialogCheck.assertDialog(dialog, this);
-	}
- */
-	public void testImportResources() {//reference: ImportResourcesAction
-		Dialog dialog = importWizard(null);
-		DialogCheck.assertDialog(dialog, this);
-	}
-/**
- * 1GJWD2E: ITPUI:ALL - Test classes should not be released in public packages.
- * 
-	public void testFileSystemImport() {
-		Dialog dialog = importWizard( DataTransferTestStub.newFileSystemResourceImportPage1(WorkbenchPlugin.getDefault().getWorkbench(), StructuredSelection.EMPTY) );
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testZipFileImport() {
-		Dialog dialog = importWizard( DataTransferTestStub.newZipFileResourceImportPage1(null) );
-		DialogCheck.assertDialog(dialog, this);
-	}
- */
-	public void testNewFile() {
-		BasicNewFileResourceWizard wizard = new BasicNewFileResourceWizard();
-		wizard.init( PlatformUI.getWorkbench(), new StructuredSelection() );
-		wizard.setNeedsProgressMonitor(true);
-		WizardDialog dialog = new WizardDialog(getShell(), wizard);
-		dialog.create();
-		dialog.getShell().setText(WorkbenchMessages.getString("CreateFileAction.title")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(dialog.getShell(), new Object[]{IHelpContextIds.NEW_FILE_WIZARD});
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testNewFolder() {
-		BasicNewFolderResourceWizard wizard = new BasicNewFolderResourceWizard();
-		wizard.init( PlatformUI.getWorkbench(), new StructuredSelection() );
-		wizard.setNeedsProgressMonitor(true);
-		WizardDialog dialog = new WizardDialog(getShell(), wizard);
-		dialog.create();
-		dialog.getShell().setText(WorkbenchMessages.getString("CreateFolderAction.title")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(dialog.getShell(), new Object[]{IHelpContextIds.NEW_FOLDER_WIZARD});
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testNewProjectPage1() {
-		BasicNewProjectResourceWizard wizard = new BasicNewProjectResourceWizard();
-		wizard.init(PlatformUI.getWorkbench(), null);
-		wizard.setNeedsProgressMonitor(true);
-		
-		WizardDialog dialog = new WizardDialog(getShell(), wizard);
-		dialog.create();
-		dialog.getShell().setSize( Math.max(SIZING_WIZARD_WIDTH_2, dialog.getShell().getSize().x), SIZING_WIZARD_HEIGHT_2 );
-		dialog.getShell().setText(WorkbenchMessages.getString("CreateFileAction.title")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(dialog.getShell(), new Object[]{IHelpContextIds.NEW_PROJECT_WIZARD});
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testNewProjectPage2() {
-		BasicNewProjectResourceWizard wizard = new BasicNewProjectResourceWizard();
-		wizard.init(PlatformUI.getWorkbench(), null);
-		wizard.setNeedsProgressMonitor(true);
-		
-		WizardNewProjectReferencePage page = new WizardNewProjectReferencePage("basicReferenceProjectPage");//$NON-NLS-1$
-		page.setTitle(ResourceMessagesCopy.getString("NewProject.refeerenceTitle")); //$NON-NLS-1$
-		page.setDescription(ResourceMessagesCopy.getString("NewProject.referenceDescription")); //$NON-NLS-1$				
-		page.setWizard(wizard);
-		
-		WizardDialog dialog = new WizardDialog(getShell(), wizard);
-		dialog.create();
-		dialog.getShell().setSize( Math.max(SIZING_WIZARD_WIDTH_2, dialog.getShell().getSize().x), SIZING_WIZARD_HEIGHT_2 );
-		dialog.getShell().setText(WorkbenchMessages.getString("CreateFileAction.title")); //$NON-NLS-1$			
-		dialog.showPage(page);
-		WorkbenchHelp.setHelp(dialog.getShell(), new Object[]{IHelpContextIds.NEW_PROJECT_WIZARD});
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testNewProject() {
-		// Create wizard selection wizard.
-		NewWizard wizard = new NewWizard();
-		wizard.setProjectsOnly(true);
-		ISelection selection = getWorkbench().getActiveWorkbenchWindow().getSelectionService().getSelection();
-		IStructuredSelection selectionToPass = null;
-		if (selection instanceof IStructuredSelection)
-			selectionToPass = (IStructuredSelection) selection;
-		else
-			selectionToPass = StructuredSelection.EMPTY;
-		wizard.init(getWorkbench(), 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.
-		WizardDialog dialog = new WizardDialog(getShell(), wizard);
-		dialog.create();
-		dialog.getShell().setSize( Math.max(SIZING_WIZARD_WIDTH_2, dialog.getShell().getSize().x), SIZING_WIZARD_HEIGHT_2 );
-		WorkbenchHelp.setHelp(dialog.getShell(), new Object[]{IHelpContextIds.NEW_PROJECT_WIZARD});	
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testNewResource() {
-		NewWizard wizard = new NewWizard();
-		ISelection selection = getWorkbench().getActiveWorkbenchWindow().getSelectionService().getSelection();
-		IStructuredSelection selectionToPass = null;
-		if (selection instanceof IStructuredSelection)
-			selectionToPass = (IStructuredSelection) selection;
-		else
-			selectionToPass = StructuredSelection.EMPTY;
-		wizard.init(getWorkbench(), 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);
-		
-		WizardDialog dialog = new WizardDialog(getShell(), wizard);
-		dialog.create();
-		dialog.getShell().setSize( Math.max(SIZING_WIZARD_WIDTH_2, dialog.getShell().getSize().x), SIZING_WIZARD_HEIGHT_2 );
-		WorkbenchHelp.setHelp(dialog.getShell(), new Object[]{IHelpContextIds.NEW_WIZARD});
-		DialogCheck.assertDialog(dialog, this);
-	}
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/DeprecatedUIWizardsAuto.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/DeprecatedUIWizardsAuto.java
deleted file mode 100644
index ac3ef32..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/DeprecatedUIWizardsAuto.java
+++ /dev/null
@@ -1,271 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dialogs;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
-import org.eclipse.ui.dialogs.WizardNewProjectReferencePage;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.dialogs.*;
-import org.eclipse.ui.tests.util.DialogCheck;
-import org.eclipse.ui.tests.util.FileUtil;
-import org.eclipse.ui.wizards.newresource.*;
-
-public class DeprecatedUIWizardsAuto extends TestCase {
-	private static final int SIZING_WIZARD_WIDTH    = 470;
-	private static final int SIZING_WIZARD_HEIGHT   = 550;
-	private static final int SIZING_WIZARD_WIDTH_2  = 500;
-	private static final int SIZING_WIZARD_HEIGHT_2 = 500;
-
-	private IProject project;
-		
-	public DeprecatedUIWizardsAuto(String name) {
-		super(name);
-	}
-	private Shell getShell() {
-		return DialogCheck.getShell();
-	}
-	private IWorkbench getWorkbench() {
-		return WorkbenchPlugin.getDefault().getWorkbench();
-	}
-	
-	private WizardDialog exportWizard(IWizardPage page) {
-		ExportWizard wizard = new ExportWizard();
-		wizard.init(getWorkbench(), null);
-		IDialogSettings workbenchSettings = WorkbenchPlugin.getDefault().getDialogSettings();
-		IDialogSettings wizardSettings = workbenchSettings.getSection("ExportResourcesAction");
-		if(wizardSettings == null)
-			wizardSettings = workbenchSettings.addNewSection("ExportResourcesAction");
-		wizard.setDialogSettings(wizardSettings);
-		wizard.setForcePreviousAndNextButtons(true);
-		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(), new Object[]{IHelpContextIds.EXPORT_WIZARD});
-
-		if (page != null) {
-			page.setWizard(wizard);
-			dialog.showPage(page);
-		}
-		return dialog;
-	}
-	private WizardDialog importWizard(IWizardPage page) {
-		ImportWizard wizard = new ImportWizard();
-		wizard.init(getWorkbench(), null);
-		IDialogSettings workbenchSettings = WorkbenchPlugin.getDefault().getDialogSettings();
-		IDialogSettings wizardSettings = workbenchSettings.getSection("ImportResourcesAction");
-		if(wizardSettings==null)
-			wizardSettings = workbenchSettings.addNewSection("ImportResourcesAction");
-		wizard.setDialogSettings(wizardSettings);
-		wizard.setForcePreviousAndNextButtons(true);
-		
-		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(), new Object[]{IHelpContextIds.IMPORT_WIZARD});
-		
-		if (page != null) {
-			page.setWizard(wizard);
-			dialog.showPage(page);
-		}
-		return dialog;
-	}
-
-	/**
-	 * @see junit.framework.TestCase#tearDown()
-	 */
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		try {
-			if (project != null) {
-				project.delete(true,true,null);
-				project = null;
-			}
-		}
-		catch (CoreException e) {
-			fail(e.toString());
-		}
-	}
-
-	public void testExportResources() {//reference: ExportResourcesAction
-		Dialog dialog = exportWizard(null);
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-/**
- * 1GJWD2E: ITPUI:ALL - Test classes should not be released in public packages.
- * 
-	public void testFileSystemExport() {
-		Dialog dialog = exportWizard( DataTransferTestStub.newFileSystemResourceExportPage1(null) );
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testZipFileExport() {
-		Dialog dialog = exportWizard( DataTransferTestStub.newZipFileResourceExportPage1(null) );
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
- */
-	public void testImportResources() {//reference: ImportResourcesAction
-		Dialog dialog = importWizard(null);
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-/**
- * 1GJWD2E: ITPUI:ALL - Test classes should not be released in public packages.
- * 
-	public void testFileSystemImport() {
-		Dialog dialog = importWizard( DataTransferTestStub.newFileSystemResourceImportPage1(WorkbenchPlugin.getDefault().getWorkbench(), StructuredSelection.EMPTY) );
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testZipFileImport() {
-		Dialog dialog = importWizard( DataTransferTestStub.newZipFileResourceImportPage1(null) );
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
- */
-	public void testNewFile() {
-		BasicNewFileResourceWizard wizard = new BasicNewFileResourceWizard();
-		wizard.init( PlatformUI.getWorkbench(), new StructuredSelection() );
-		wizard.setNeedsProgressMonitor(true);
-		WizardDialog dialog = new WizardDialog(getShell(), wizard);
-		dialog.create();
-		dialog.getShell().setText(WorkbenchMessages.getString("CreateFileAction.title")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(dialog.getShell(), new Object[]{IHelpContextIds.NEW_FILE_WIZARD});
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	/**
-	 * Test for bug 30719 [Linked Resources] NullPointerException when setting filename for WizardNewFileCreationPage 
-	 */
-	public void testNewFile2() {
-		BasicNewFileResourceWizard wizard = new BasicNewFileResourceWizard() {
-			public void addPages() {
-				super.addPages();
-				IWizardPage page = getPage("newFilePage1");
-				assertTrue("Expected newFilePage1", page instanceof WizardNewFileCreationPage);
-				WizardNewFileCreationPage fileCreationPage = (WizardNewFileCreationPage) page;
-				
-				try {
-					project = FileUtil.createProject("testNewFile2");
-				}
-				catch (CoreException e) {
-					fail(e.getMessage());
-				}
-				fileCreationPage.setContainerFullPath(project.getFullPath());
-				fileCreationPage.setFileName("testFileName.test");
-			}			
-		};
-	
-		wizard.init( PlatformUI.getWorkbench(), new StructuredSelection() );
-		wizard.setNeedsProgressMonitor(true);
-		WizardDialog dialog = new WizardDialog(getShell(), wizard);
-		dialog.create();
-		dialog.getShell().setText(WorkbenchMessages.getString("CreateFileAction.title")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(dialog.getShell(), IHelpContextIds.NEW_FILE_WIZARD);
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testNewFolder() {
-		BasicNewFolderResourceWizard wizard = new BasicNewFolderResourceWizard();
-		wizard.init( PlatformUI.getWorkbench(), new StructuredSelection() );
-		wizard.setNeedsProgressMonitor(true);
-		WizardDialog dialog = new WizardDialog(getShell(), wizard);
-		dialog.create();
-		dialog.getShell().setText(WorkbenchMessages.getString("CreateFolderAction.title")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(dialog.getShell(), new Object[]{IHelpContextIds.NEW_FOLDER_WIZARD});
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testNewProjectPage1() {
-		BasicNewProjectResourceWizard wizard = new BasicNewProjectResourceWizard();
-		wizard.init(PlatformUI.getWorkbench(), null);
-		wizard.setNeedsProgressMonitor(true);
-		
-		WizardDialog dialog = new WizardDialog(getShell(), wizard);
-		dialog.create();
-		dialog.getShell().setSize( Math.max(SIZING_WIZARD_WIDTH_2, dialog.getShell().getSize().x), SIZING_WIZARD_HEIGHT_2 );
-		dialog.getShell().setText(WorkbenchMessages.getString("CreateFileAction.title")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(dialog.getShell(), new Object[]{IHelpContextIds.NEW_PROJECT_WIZARD});
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testNewProjectPage2() {
-		BasicNewProjectResourceWizard wizard = new BasicNewProjectResourceWizard();
-		wizard.init(PlatformUI.getWorkbench(), null);
-		wizard.setNeedsProgressMonitor(true);
-		
-		WizardNewProjectReferencePage page = new WizardNewProjectReferencePage("basicReferenceProjectPage");//$NON-NLS-1$
-		page.setTitle(ResourceMessagesCopy.getString("NewProject.refeerenceTitle")); //$NON-NLS-1$
-		page.setDescription(ResourceMessagesCopy.getString("NewProject.referenceDescription")); //$NON-NLS-1$				
-		page.setWizard(wizard);
-		
-		WizardDialog dialog = new WizardDialog(getShell(), wizard);
-		dialog.create();
-		dialog.getShell().setSize( Math.max(SIZING_WIZARD_WIDTH_2, dialog.getShell().getSize().x), SIZING_WIZARD_HEIGHT_2 );
-		dialog.getShell().setText(WorkbenchMessages.getString("CreateFileAction.title")); //$NON-NLS-1$			
-		dialog.showPage(page);
-		WorkbenchHelp.setHelp(dialog.getShell(), new Object[]{IHelpContextIds.NEW_PROJECT_WIZARD});
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testNewProject() {
-		// Create wizard selection wizard.
-		NewWizard wizard = new NewWizard();
-		wizard.setProjectsOnly(true);
-		ISelection selection = getWorkbench().getActiveWorkbenchWindow().getSelectionService().getSelection();
-		IStructuredSelection selectionToPass = null;
-		if (selection instanceof IStructuredSelection)
-			selectionToPass = (IStructuredSelection) selection;
-		else
-			selectionToPass = StructuredSelection.EMPTY;
-		wizard.init(getWorkbench(), 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.
-		WizardDialog dialog = new WizardDialog(getShell(), wizard);
-		dialog.create();
-		dialog.getShell().setSize( Math.max(SIZING_WIZARD_WIDTH_2, dialog.getShell().getSize().x), SIZING_WIZARD_HEIGHT_2 );
-		WorkbenchHelp.setHelp(dialog.getShell(), new Object[]{IHelpContextIds.NEW_PROJECT_WIZARD});	
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testNewResource() {
-		NewWizard wizard = new NewWizard();
-		ISelection selection = getWorkbench().getActiveWorkbenchWindow().getSelectionService().getSelection();
-		IStructuredSelection selectionToPass = null;
-		if (selection instanceof IStructuredSelection)
-			selectionToPass = (IStructuredSelection) selection;
-		else
-			selectionToPass = StructuredSelection.EMPTY;
-		wizard.init(getWorkbench(), 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);
-		
-		WizardDialog dialog = new WizardDialog(getShell(), wizard);
-		dialog.create();
-		dialog.getShell().setSize( Math.max(SIZING_WIZARD_WIDTH_2, dialog.getShell().getSize().x), SIZING_WIZARD_HEIGHT_2 );
-		WorkbenchHelp.setHelp(dialog.getShell(), new Object[]{IHelpContextIds.NEW_WIZARD});
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/EnableTestPreferencePage.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/EnableTestPreferencePage.java
deleted file mode 100644
index d5fc6cc..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/EnableTestPreferencePage.java
+++ /dev/null
@@ -1,159 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dialogs;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-import org.eclipse.jface.preference.BooleanFieldEditor;
-import org.eclipse.jface.preference.ColorFieldEditor;
-import org.eclipse.jface.preference.FieldEditorPreferencePage;
-import org.eclipse.jface.preference.FontFieldEditor;
-import org.eclipse.jface.preference.PathEditor;
-import org.eclipse.jface.preference.RadioGroupFieldEditor;
-import org.eclipse.jface.preference.StringFieldEditor;
-
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-
-public class EnableTestPreferencePage
-	extends FieldEditorPreferencePage
-	implements IWorkbenchPreferencePage {
-
-	private BooleanFieldEditor be;
-	private ColorFieldEditor ce;
-	private FontFieldEditor fe;
-	private PathEditor pe;
-	private RadioGroupFieldEditor rg;
-	private StringFieldEditor se;
-	
-	private Composite beParent;
-	private Composite ceParent;
-	private Composite feParent;
-	private Composite peParent;
-	private Composite rgParent;
-	private Composite seParent;
-
-	private boolean enabledState = true;
-
-	public EnableTestPreferencePage() {
-		super(GRID);
-	}
-
-	public void flipState() {
-		if (enabledState)
-			enabledState = false;
-		else
-			enabledState = true;
-
-		be.setEnabled(enabledState, beParent);
-		ce.setEnabled(enabledState, ceParent);
-		fe.setEnabled(enabledState, feParent);
-		pe.setEnabled(enabledState, peParent);
-		rg.setEnabled(enabledState, rgParent);
-		se.setEnabled(enabledState, seParent);
-
-	}
-
-	/**
-	 * @see org.eclipse.jface.preference.FieldEditorPreferencePage#createFieldEditors()
-	 */
-	protected void createFieldEditors() {
-
-		String[][] labelsAndValues =
-			new String[][] { { "Label 1", "Value 1" }, {
-				"Label 2", "Value 2" }
-		};
-
-		beParent = getFieldEditorParent();
-		be =
-			new BooleanFieldEditor(
-				"BooleanValue",
-				"BooleanTest",
-				beParent);
-		addField(be);
-		
-		ceParent = getFieldEditorParent();
-		ce =
-			new ColorFieldEditor(
-				"ColorValue",
-				"Color Test",
-				ceParent);
-		addField(ce);
-		
-		feParent = getFieldEditorParent();
-		fe =
-			new FontFieldEditor(
-				"FontValue",
-				"Font Test",
-				feParent);
-		addField(fe);
-		
-		peParent = getFieldEditorParent();
-		pe =
-			new PathEditor(
-				"PathValue",
-				"Path Test",
-				"C:\temp",
-				peParent);
-		addField(pe);
-		
-		rgParent = getFieldEditorParent();
-		rg =
-			new RadioGroupFieldEditor(
-				"Radio Value",
-				"Radio Test",
-				2,
-				labelsAndValues,
-				rgParent);
-		addField(rg);
-		
-		seParent = getFieldEditorParent();
-		se =
-			new StringFieldEditor(
-				"String Value",
-				"String Editor",
-				seParent);
-		addField(se);
-
-	}
-
-	/* (non-Javadoc)
-	* Method declared on PreferencePage.
-	*/
-	protected Control createContents(Composite parent) {
-		Composite composite = (Composite) super.createContents(parent);
-		Button enabledButton = new Button(parent, SWT.PUSH);
-		enabledButton.setText("Switch Enabled State");
-	
-		enabledButton.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				flipState();
-			}
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-				flipState();
-			}
-		});
-		return composite;
-	}
-
-	/**
-	 * @see org.eclipse.ui.IWorkbenchPreferencePage#init(IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {
-	}
-
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/FontFieldEditorTestPreferencePage.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/FontFieldEditorTestPreferencePage.java
deleted file mode 100644
index 8138363..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/FontFieldEditorTestPreferencePage.java
+++ /dev/null
@@ -1,66 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dialogs;
-
-import org.eclipse.jface.preference.FieldEditorPreferencePage;
-import org.eclipse.jface.preference.FontFieldEditor;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-
-/**
- * The Field Editor Preference page is a test of the font field
- * editors with and without previewers.
- */
-public class FontFieldEditorTestPreferencePage
-	extends FieldEditorPreferencePage
-	implements IWorkbenchPreferencePage {
-
-	/**
-	 * Create the preference page.
-	 */
-	public FontFieldEditorTestPreferencePage() {
-		super(GRID);
-	}
-
-	/**
-	 * @see org.eclipse.jface.preference.FieldEditorPreferencePage#createFieldEditors()
-	 */
-	protected void createFieldEditors() {
-
-		Composite feParent = getFieldEditorParent();
-
-		for (int i = 0; i < 3; i++) {
-			//Create one with a preview
-			addField(
-				new FontFieldEditor(
-					"FontValue" + String.valueOf(i),
-					"Font Test" + String.valueOf(i),
-					"Preview",
-					feParent));
-
-			//Create one without
-			addField(
-				new FontFieldEditor(
-					"FontValueDefault" + String.valueOf(i),
-					"Font Test Default" + String.valueOf(i),
-					feParent));
-		}
-
-	}
-
-	/**
-	 * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {
-	}
-
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/NavigatorTestStub.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/NavigatorTestStub.java
deleted file mode 100644
index e3aa420..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/NavigatorTestStub.java
+++ /dev/null
@@ -1,41 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dialogs;
-
- 
-
-/**
- * FOR USE BY TESTS ONLY!
- * <p>
- * Stub class that provides access to classes visible to the package
- * <code>org.eclipse.ui.views.navigator</code>.  For the purpose of
- * testing.
- * </p>
- * @private
- */
-
-public class NavigatorTestStub {
-	//Prevent instantiation
-	private NavigatorTestStub(){}
-	
-	/**
-	 * Gives access to an instance of GotoResourceDialog.
-	 * @return GotoResourceDialog an instance of GotoResourceDialog.
-	 */
-/**
- * 1GJWD2E: ITPUI:ALL - Test classes should not be released in public packages.
- * 
-	public static GotoResourceDialog newGotoResourceDialog(Shell parentShell,IResource[] resources) {
-		return new GotoResourceDialog(parentShell, resources);
-	}
- */
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/PreferenceDialogWrapper.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/PreferenceDialogWrapper.java
deleted file mode 100644
index 3881546..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/PreferenceDialogWrapper.java
+++ /dev/null
@@ -1,44 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dialogs;
-
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.preference.IPreferenceNode;
-import org.eclipse.jface.preference.IPreferencePage;
-import org.eclipse.jface.preference.PreferenceDialog;
-import org.eclipse.jface.preference.PreferenceManager;
-
-public class PreferenceDialogWrapper extends PreferenceDialog {
-
-	public PreferenceDialogWrapper(
-		Shell parentShell,
-		PreferenceManager manager) {
-		super(parentShell, manager);
-	}
-	public boolean showPage(IPreferenceNode node) {
-		return super.showPage(node);
-	}
-
-	public IPreferencePage getPage(IPreferenceNode node) {
-		if (node == null)
-			return null;
-
-		// Create the page if nessessary
-		if (node.getPage() == null)
-			node.createPage();
-
-		if (node.getPage() == null)
-			return null;
-
-		return node.getPage();
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/PropertyDialogWrapper.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/PropertyDialogWrapper.java
deleted file mode 100644
index 993f771..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/PropertyDialogWrapper.java
+++ /dev/null
@@ -1,31 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dialogs;
-
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.preference.IPreferenceNode;
-import org.eclipse.jface.preference.PreferenceManager;
-import org.eclipse.jface.viewers.ISelection;
-
-import org.eclipse.ui.internal.dialogs.PropertyDialog;
-
-
-public class PropertyDialogWrapper extends PropertyDialog {
-	
-	public PropertyDialogWrapper(Shell parentShell, PreferenceManager manager, ISelection selection) {
-		super(parentShell, manager, selection);
-	}
-	protected boolean showPage(IPreferenceNode node) {
-		return super.showPage(node);
-	}
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/ResourceMessagesCopy.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/ResourceMessagesCopy.java
deleted file mode 100644
index dcb8db8..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/ResourceMessagesCopy.java
+++ /dev/null
@@ -1,53 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dialogs;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Utility class which helps managing messages
- */
-public class ResourceMessagesCopy {
-	private static final String RESOURCE_BUNDLE= "org.eclipse.ui.wizards.newresource.messages";//$NON-NLS-1$
-	private static ResourceBundle bundle = ResourceBundle.getBundle(RESOURCE_BUNDLE);
-
-private ResourceMessagesCopy(){
-	// 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/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/ResourceNavigatorMessagesCopy.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/ResourceNavigatorMessagesCopy.java
deleted file mode 100644
index 4fd62be..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/ResourceNavigatorMessagesCopy.java
+++ /dev/null
@@ -1,57 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dialogs;
-
-/* THIS IS A COPY OF ResourceNavigatorMessages Class
- * It is made available for UI testing.
- */
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Utility class which helps managing messages
- */
-public class ResourceNavigatorMessagesCopy {
-	private static final String RESOURCE_BUNDLE= "org.eclipse.ui.views.navigator.messages";//$NON-NLS-1$
-	private static ResourceBundle bundle = ResourceBundle.getBundle(RESOURCE_BUNDLE);
-	
-private ResourceNavigatorMessagesCopy(){
-	// 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/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/TaskListTestStub.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/TaskListTestStub.java
deleted file mode 100644
index f4e4028..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/TaskListTestStub.java
+++ /dev/null
@@ -1,40 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dialogs;
-
-
- 
-/**
- * FOR USE BY TESTS ONLY!
- * <p>
- * Stub class that provides access to classes visible to the package
- * <code>org.eclipse.ui.views.tasklist</code>.  For the purpose
- * of testing.
- * </p>
- * @private
- */
-public class TaskListTestStub {
-	//Prevent instantiation
-	private TaskListTestStub(){}
-	
-	/**
-	 * Gives access to an instance of FiltersDialog.
-	 * @return FiltersDialog an instance of FiltersDialog.
-	 */
-/**
- * 1GJWD2E: ITPUI:ALL - Test classes should not be released in public packages.
- * 
-	public static FiltersDialog newFiltersDialog(Shell parentShell) {
-		return new FiltersDialog(parentShell);
-	}
- */
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/TextEditorTestStub.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/TextEditorTestStub.java
deleted file mode 100644
index 57da2e8..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/TextEditorTestStub.java
+++ /dev/null
@@ -1,41 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dialogs;
-
- 
-
-/**
- * FOR USE BY TESTS ONLY!
- * <p>
- * Stub class that provides access to classes visible to the package
- * <code>org.eclipse.ui.texteditor</code>.  For the purpose of
- * testing.
- * </p>
- * @private
- */
-
-public class TextEditorTestStub {
-	//Prevent instantiation
-	private TextEditorTestStub(){}
-	
-	/**
-	 * Gives access to an instance of FindReplaceDialog.
-	 * @return FindReplaceDialog an instance of FindReplaceDialog.
-	 */
-/**
- * 1GJWD2E: ITPUI:ALL - Test classes should not be released in public packages.
- * 
-	public static FindReplaceDialog newFindReplaceDialog(Shell parentShell) {
-		return new FindReplaceDialog(parentShell);
-	}
- */
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIAutomatedSuite.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIAutomatedSuite.java
deleted file mode 100644
index 6d97327..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIAutomatedSuite.java
+++ /dev/null
@@ -1,47 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dialogs;
-
-import org.eclipse.ui.tests.compare.UIComparePreferencesAuto;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-
-/**
- * Test all areas of the UI.
- */
-public class UIAutomatedSuite extends TestSuite {
-
-	/**
-	 * Returns the suite.  This is required to
-	 * use the JUnit Launcher.
-	 */
-	public static Test suite() {
-		return new UIAutomatedSuite();
-	}
-	
-	/**
-	 * Construct the test suite.
-	 */
-	public UIAutomatedSuite() {
-		addTest(new TestSuite(UIDialogsAuto.class));
-		addTest(new TestSuite(DeprecatedUIDialogsAuto.class));
-		addTest(new TestSuite(UIWizardsAuto.class));
-		addTest(new TestSuite(DeprecatedUIWizardsAuto.class));
-		addTest(new TestSuite(UIPreferencesAuto.class));
-		addTest(new TestSuite(UIComparePreferencesAuto.class));
-		addTest(new TestSuite(DeprecatedUIPreferencesAuto.class));
-		addTest(new TestSuite(UIMessageDialogsAuto.class));
-		addTest(new TestSuite(UINewWorkingSetWizardAuto.class));
-		addTest(new TestSuite(UIEditWorkingSetWizardAuto.class));		
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIDialogs.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIDialogs.java
deleted file mode 100644
index 175f4c7..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIDialogs.java
+++ /dev/null
@@ -1,155 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dialogs;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.dialogs.ContainerSelectionDialog;
-import org.eclipse.ui.dialogs.ListSelectionDialog;
-import org.eclipse.ui.dialogs.ProjectLocationSelectionDialog;
-import org.eclipse.ui.dialogs.SaveAsDialog;
-import org.eclipse.ui.dialogs.TypeFilteringDialog;
-import org.eclipse.ui.internal.Perspective;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.WorkbenchPage;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.dialogs.AboutDialog;
-import org.eclipse.ui.internal.dialogs.CustomizePerspectiveDialog;
-import org.eclipse.ui.internal.dialogs.EditorSelectionDialog;
-import org.eclipse.ui.internal.dialogs.FileExtensionDialog;
-import org.eclipse.ui.internal.dialogs.SavePerspectiveDialog;
-import org.eclipse.ui.internal.dialogs.SelectPerspectiveDialog;
-import org.eclipse.ui.internal.dialogs.ShowViewDialog;
-import org.eclipse.ui.internal.ide.dialogs.SimpleListContentProvider;
-import org.eclipse.ui.internal.registry.PerspectiveDescriptor;
-import org.eclipse.ui.internal.registry.PerspectiveRegistry;
-import org.eclipse.ui.tests.util.DialogCheck;
-
-public class UIDialogs extends TestCase {
-	private static final String PROJECT_SELECTION_MESSAGE = WorkbenchMessages.getString("BuildOrderPreference.selectOtherProjects");
-	private static final String FILTER_SELECTION_MESSAGE = ResourceNavigatorMessagesCopy.getString("FilterSelection.message");
-
-	public UIDialogs(String name) {
-		super(name);
-	}
-	private Shell getShell() {
-		return DialogCheck.getShell();
-	}
-	private IWorkbench getWorkbench() {
-		return PlatformUI.getWorkbench();
-	}
-	public void testAbout() {
-		Dialog dialog = null;
-		dialog = new AboutDialog(getShell());
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testAddProjects() {
-		Dialog dialog = new ListSelectionDialog(getShell(), null, new SimpleListContentProvider(), new LabelProvider(), PROJECT_SELECTION_MESSAGE);
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testCopyMoveProject() {
-		IProject dummyProject = ResourcesPlugin.getWorkspace().getRoot().getProject("DummyProject");
-		Dialog dialog = new ProjectLocationSelectionDialog(getShell(), dummyProject);
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testCopyMoveResource() {
-		Dialog dialog = new ContainerSelectionDialog(getShell(), null, true, WorkbenchMessages.getString("CopyResourceAction.selectDestination"));
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testEditActionSetsDialog() {
-		Dialog dialog;
-		Perspective persp = null;
-		//Test perspective: use current perspective of test case
-		try { /*
-			   * fixme: should try to get current perspective, or default;
-			   * currently only
-			   */
-			persp =
-				new Perspective(
-					(PerspectiveDescriptor) getWorkbench().getPerspectiveRegistry().getPerspectives()[0],
-					(WorkbenchPage) getWorkbench().getActiveWorkbenchWindow().getActivePage());
-			dialog = new CustomizePerspectiveDialog(getShell(), persp);
-		} catch (WorkbenchException e) {
-			dialog = null;
-		}
-		DialogCheck.assertDialog(dialog, this);
-		if (persp != null) {
-			persp.dispose();
-		}
-	}
-	public void testEditorSelection() {
-		Dialog dialog = new EditorSelectionDialog(getShell());
-		DialogCheck.assertDialog(dialog, this);
-	}
-	/**
-	 * 1GJWD2E: ITPUI:ALL - Test classes should not be released in public
-	 * packages. public void testFindReplace() { Dialog dialog =
-	 * TextEditorTestStub.newFindReplaceDialog( getShell() );
-	 * DialogCheck.assertDialog(dialog, this); } public void testGotoResource() {
-	 * Dialog dialog = NavigatorTestStub.newGotoResourceDialog(getShell(), new
-	 * IResource[0]); DialogCheck.assertDialog(dialog, this); }
-	 */
-	public void testNavigatorFilter() {
-		Dialog dialog = new ListSelectionDialog(getShell(), null, new SimpleListContentProvider(), new LabelProvider(), FILTER_SELECTION_MESSAGE);
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testNewFileType() {
-		Dialog dialog = new FileExtensionDialog(getShell());
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testProgressInformation() {
-		ProgressMonitorDialog dialog = new ProgressMonitorDialog(getShell());
-		dialog.setBlockOnOpen(true);
-		DialogCheck.assertDialog(dialog, this);
-	}
-
-	public void testSaveAs() {
-		Dialog dialog = new SaveAsDialog(getShell());
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testSavePerspective() {
-		PerspectiveRegistry reg = (PerspectiveRegistry) WorkbenchPlugin.getDefault().getPerspectiveRegistry();
-		// Get persp name.
-		SavePerspectiveDialog dialog = new SavePerspectiveDialog(getShell(), reg);
-		IPerspectiveDescriptor description =
-			reg.findPerspectiveWithId(getWorkbench().getActiveWorkbenchWindow().getActivePage().getPerspective().getId());
-		dialog.setInitialSelection(description);
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testSelectPerspective() {
-		Dialog dialog = new SelectPerspectiveDialog(getShell(), PlatformUI.getWorkbench().getPerspectiveRegistry());
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testSelectTypes() {
-		Dialog dialog = new TypeFilteringDialog(getShell(), null);
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testShowView() {
-		Dialog dialog = new ShowViewDialog(getShell(), WorkbenchPlugin.getDefault().getViewRegistry());
-		DialogCheck.assertDialog(dialog, this);
-	}
-	/**
-	 * 1GJWD2E: ITPUI:ALL - Test classes should not be released in public
-	 * packages. public void testTaskFilters() { Dialog dialog =
-	 * TaskListTestStub.newFiltersDialog( getShell() );
-	 * DialogCheck.assertDialog(dialog, this); }
-	 */
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIDialogsAuto.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIDialogsAuto.java
deleted file mode 100644
index 5cf54f7..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIDialogsAuto.java
+++ /dev/null
@@ -1,146 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dialogs;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ContainerSelectionDialog;
-import org.eclipse.ui.dialogs.ListSelectionDialog;
-import org.eclipse.ui.dialogs.ProjectLocationSelectionDialog;
-import org.eclipse.ui.dialogs.SaveAsDialog;
-import org.eclipse.ui.dialogs.TypeFilteringDialog;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.dialogs.AboutDialog;
-import org.eclipse.ui.internal.dialogs.EditorSelectionDialog;
-import org.eclipse.ui.internal.dialogs.FileExtensionDialog;
-import org.eclipse.ui.internal.dialogs.SavePerspectiveDialog;
-import org.eclipse.ui.internal.dialogs.SelectPerspectiveDialog;
-import org.eclipse.ui.internal.dialogs.ShowViewDialog;
-import org.eclipse.ui.internal.ide.dialogs.SimpleListContentProvider;
-import org.eclipse.ui.internal.registry.PerspectiveRegistry;
-import org.eclipse.ui.tests.util.DialogCheck;
-
-public class UIDialogsAuto extends TestCase {
-	private static final String PROJECT_SELECTION_MESSAGE = WorkbenchMessages.getString("BuildOrderPreference.selectOtherProjects");
-	private static final String FILTER_SELECTION_MESSAGE = ResourceNavigatorMessagesCopy.getString("FilterSelection.message");
-
-	public UIDialogsAuto(String name) {
-		super(name);
-	}
-	private Shell getShell() {
-		return DialogCheck.getShell();
-	}
-	private IWorkbench getWorkbench() {
-		return PlatformUI.getWorkbench();
-	}
-
-	public void testAbout() {
-		Dialog dialog = null;
-		dialog = new AboutDialog(getShell());
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testAddProjects() {
-		Dialog dialog = new ListSelectionDialog(getShell(), null, new SimpleListContentProvider(), new LabelProvider(), PROJECT_SELECTION_MESSAGE);
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testCopyMoveProject() {
-		IProject dummyProject = ResourcesPlugin.getWorkspace().getRoot().getProject("DummyProject");
-		Dialog dialog = new ProjectLocationSelectionDialog(getShell(), dummyProject);
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testCopyMoveResource() {
-		Dialog dialog = new ContainerSelectionDialog(getShell(), null, true, WorkbenchMessages.getString("CopyResourceAction.selectDestination"));
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testEditActionSetsDialog() {
-		// @issue need to uncomment this once customize persp dialog fixed up
-		/*
-		 * Dialog dialog; Perspective persp = null; //Test perspective: use
-		 * current perspective of test case try {//fixme: should try to get
-		 * current perspective, or default; currently only //gets first
-		 * perspective in the registry. persp = new
-		 * Perspective((PerspectiveDescriptor)getWorkbench().getPerspectiveRegistry().getPerspectives()[0],
-		 * (WorkbenchPage)getWorkbench().getActiveWorkbenchWindow().getActivePage() );
-		 * dialog = new CustomizePerspectiveDialog(getShell(), persp); } catch
-		 * (WorkbenchException e) { dialog = null; }
-		 * DialogCheck.assertDialogTexts(dialog, this); if (persp != null) {
-		 * persp.dispose(); }
-		 */
-	}
-	public void testEditorSelection() {
-		Dialog dialog = new EditorSelectionDialog(getShell());
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	/**
-	 * 1GJWD2E: ITPUI:ALL - Test classes should not be released in public
-	 * packages. public void testFindReplace() { Dialog dialog =
-	 * TextEditorTestStub.newFindReplaceDialog( getShell() );
-	 * DialogCheck.assertDialogTexts(dialog, this); } public void
-	 * testGotoResource() { Dialog dialog =
-	 * NavigatorTestStub.newGotoResourceDialog(getShell(), new IResource[0]);
-	 * DialogCheck.assertDialogTexts(dialog, this); }
-	 */
-	public void testNavigatorFilter() {
-		Dialog dialog = new ListSelectionDialog(getShell(), null, new SimpleListContentProvider(), new LabelProvider(), FILTER_SELECTION_MESSAGE);
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testNewFileType() {
-		Dialog dialog = new FileExtensionDialog(getShell());
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testProgressInformation() {
-		ProgressMonitorDialog dialog = new ProgressMonitorDialog(getShell());
-		dialog.setBlockOnOpen(true);
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-
-	public void testSaveAs() {
-		Dialog dialog = new SaveAsDialog(getShell());
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testSavePerspective() {
-		PerspectiveRegistry reg = (PerspectiveRegistry) WorkbenchPlugin.getDefault().getPerspectiveRegistry();
-		// Get persp name.
-		SavePerspectiveDialog dialog = new SavePerspectiveDialog(getShell(), reg);
-		IPerspectiveDescriptor description =
-			reg.findPerspectiveWithId(getWorkbench().getActiveWorkbenchWindow().getActivePage().getPerspective().getId());
-		dialog.setInitialSelection(description);
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testSelectPerspective() {
-		Dialog dialog = new SelectPerspectiveDialog(getShell(), PlatformUI.getWorkbench().getPerspectiveRegistry());
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testSelectTypes() {
-		Dialog dialog = new TypeFilteringDialog(getShell(), null);
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testShowView() {
-		Dialog dialog = new ShowViewDialog(getShell(), WorkbenchPlugin.getDefault().getViewRegistry());
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	/**
-	 * 1GJWD2E: ITPUI:ALL - Test classes should not be released in public
-	 * packages. public void testTaskFilters() { Dialog dialog =
-	 * TaskListTestStub.newFiltersDialog( getShell() );
-	 * DialogCheck.assertDialogTexts(dialog, this); }
-	 */
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIEditWorkingSetWizardAuto.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIEditWorkingSetWizardAuto.java
deleted file mode 100644
index 042b644..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIEditWorkingSetWizardAuto.java
+++ /dev/null
@@ -1,113 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dialogs;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IAdaptable;
-
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.Tree;
-
-import org.eclipse.jface.wizard.IWizardPage;
-
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.IWorkingSetManager;
-import org.eclipse.ui.dialogs.IWorkingSetPage;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.dialogs.WorkingSetEditWizard;
-import org.eclipse.ui.internal.registry.WorkingSetRegistry;
-import org.eclipse.ui.tests.util.ArrayUtil;
-import org.eclipse.ui.tests.util.DialogCheck;
-
-/**
- * Tests the WorkingSetEditWizard
- * Tests input validation, presence of correct edit page and 
- * wizard page texts.
- */
-public class UIEditWorkingSetWizardAuto extends UIWorkingSetWizardsAuto {
-	IWorkingSetPage fDefaultEditPage;
-		
-	public UIEditWorkingSetWizardAuto(String name) {
-		super(name);
-	}
-	
-	protected void doSetUp() throws Exception {
-		WorkingSetRegistry registry = WorkbenchPlugin.getDefault().getWorkingSetRegistry();
-		fDefaultEditPage = registry.getDefaultWorkingSetPage();
-		fWizard = new WorkingSetEditWizard(fDefaultEditPage);
-		super.doSetUp();
-	}
-	public void testEditPage() throws Throwable {
-		IWizardPage page = fWizardDialog.getCurrentPage();
-		assertTrue(page instanceof IWorkingSetPage);
-
-		/*
-		 * Verify that correct working set edit page is displayed
-		 */
-		assertTrue(page.getClass() == fDefaultEditPage.getClass());
-		/*
-		 * Test initial page state
-		 */
-		assertTrue(page.canFlipToNextPage() == false);
-		assertTrue(fWizard.canFinish() == false);						
-		assertNull(page.getErrorMessage());
-		/*
-		 * Test page state with preset page input
-		 */
-		IWorkingSetManager workingSetManager = fWorkbench.getWorkingSetManager();
-		IWorkingSet workingSet = workingSetManager.createWorkingSet(WORKING_SET_NAME_1, new IAdaptable[] {p1, f2});
-		((WorkingSetEditWizard) fWizard).setSelection(workingSet);
-						 
-		List widgets = getWidgets((Composite) page.getControl(), Text.class);
-		Text text = (Text) widgets.get(0);
-		assertEquals(WORKING_SET_NAME_1, text.getText());
-		assertTrue(page.canFlipToNextPage() == false);
-		assertTrue(fWizard.canFinish() == false);
-		assertNull(page.getErrorMessage());		
-		widgets = getWidgets((Composite) page.getControl(), Tree.class);
-		Tree tree = (Tree) widgets.get(0);
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();		
-		assertEquals(workspace.getRoot().getProjects().length, tree.getItemCount());
-		setTextWidgetText(WORKING_SET_NAME_2,page);
-		assertTrue(fWizard.canFinish());
-		
-		/*
-		 * Test page state with partial page input
-		 */
- 		setTextWidgetText("",page);
-		assertTrue(page.canFlipToNextPage() == false);
-		assertTrue(fWizard.canFinish() == false);		
-		assertNotNull(page.getErrorMessage());		
-
-		/*
-		 * Test page state with complete page input
-		 */
-		setTextWidgetText(WORKING_SET_NAME_2,page);
-		checkTreeItems();
-		assertTrue(page.canFlipToNextPage() == false);
-		assertTrue(fWizard.canFinish());
-		assertNull(page.getErrorMessage());
-		
-		fWizard.performFinish();
-		workingSet = ((WorkingSetEditWizard) fWizard).getSelection();
-		IAdaptable[] workingSetItems = workingSet.getElements();
-		assertEquals(WORKING_SET_NAME_2, workingSet.getName());
-		assertTrue(ArrayUtil.contains(workingSetItems, p1));
-		assertTrue(ArrayUtil.contains(workingSetItems, p2));
-
-		DialogCheck.assertDialogTexts(fWizardDialog, this);
-	}
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIErrorDialogs.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIErrorDialogs.java
deleted file mode 100644
index ba3815b..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIErrorDialogs.java
+++ /dev/null
@@ -1,73 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dialogs;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.tests.util.DialogCheck;
-
-public class UIErrorDialogs extends TestCase {
-
-	public UIErrorDialogs(String name) {
-		super(name);
-	}
-
-	private Shell getShell() {
-		return DialogCheck.getShell();
-	}
-
-	/*
-	 * Get an example ErrorDialog with a status and a couple of 
-	 * child statuses.
-	 */
-	private ErrorDialog getMultiStatusErrorDialog() {
-
-		IStatus[] childStatuses = new IStatus[2];
-		childStatuses[0] =
-			new Status(
-				IStatus.ERROR,
-				"org.eclipse.ui.tests",
-				IStatus.ERROR,
-				"Error message 1",
-				new Throwable());
-		childStatuses[1] =
-			new Status(
-				IStatus.ERROR,
-				"org.eclipse.ui.tests",
-				IStatus.ERROR,
-				"Error message 2",
-				new Throwable());
-		MultiStatus mainStatus =
-			new MultiStatus(
-				"org.eclipse.ui.tests",
-				IStatus.ERROR,
-				childStatuses,
-				"Main error",
-				new Throwable());
-
-		return new ErrorDialog(
-			getShell(),
-			"Error Test",
-			"Error message",
-			mainStatus,
-			IStatus.ERROR);
-	}
-
-	public void testErrorClipboard() {
-		Dialog dialog = getMultiStatusErrorDialog();
-		DialogCheck.assertDialog(dialog, this);
-	}
-
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIInteractiveSuite.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIInteractiveSuite.java
deleted file mode 100644
index 10cd84e..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIInteractiveSuite.java
+++ /dev/null
@@ -1,46 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dialogs;
-
-import org.eclipse.ui.tests.compare.UIComparePreferences;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * Test all areas of the UI.
- */
-public class UIInteractiveSuite extends TestSuite {
-
-	/**
-	 * Returns the suite.  This is required to
-	 * use the JUnit Launcher.
-	 */
-	public static Test suite() {
-		return new UIInteractiveSuite();
-	}
-
-	/**
-	 * Construct the test suite.
-	 */
-	public UIInteractiveSuite() {
-		addTest(new TestSuite(UIPreferences.class));
-		addTest(new TestSuite(UIComparePreferences.class));
-		addTest(new TestSuite(DeprecatedUIPreferences.class));
-		addTest(new TestSuite(UIWizards.class));
-		addTest(new TestSuite(DeprecatedUIWizards.class));
-		addTest(new TestSuite(UIDialogs.class));
-		addTest(new TestSuite(DeprecatedUIDialogs.class));
-		addTest(new TestSuite(UIMessageDialogs.class));
-		addTest(new TestSuite(UIErrorDialogs.class));
-	}
-
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIMessageDialogs.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIMessageDialogs.java
deleted file mode 100644
index d6fe6bb..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIMessageDialogs.java
+++ /dev/null
@@ -1,418 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dialogs;
-
-import java.util.ResourceBundle;
-
-import junit.framework.TestCase;
-
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.resource.JFaceResources;
-
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.tests.util.DialogCheck;
-
-public class UIMessageDialogs extends TestCase {
-	private static final String DUMMY_RESOURCE = "Dummy.resource";
-	private static final String DUMMY_PROJECT = "DummyProject";
-	private static final String DUMMY_ABSOLUTE_PATH = "C:\\Dummypath\\Dummy.resource";
-	private static final String DUMMY_RELATIVE_PATH = "\\" + DUMMY_PROJECT + "\\" + DUMMY_RESOURCE;
-	
-	public UIMessageDialogs(String name) {
-		super(name);
-	}
-	
-	private Shell getShell() {
-		return DialogCheck.getShell();
-	}
-	
-	/**
-	 * Returns the given string from the Text Editor's resource bundle.
-	 * Should call org.eclipse.ui.texteditor.EditorMessages directly,
-	 * but it has package visibility.
-	 */
-	private String getEditorString(String id) {
-		ResourceBundle bundle = ResourceBundle.getBundle("org.eclipse.ui.texteditor.EditorMessages");
-		assertNotNull("EditorMessages", bundle);
-		String string = bundle.getString(id);		
-		assertNotNull(id, string);
-		return string;
-	}
-	
-	/*
-	 * Convenience method simliar to org.eclipse.jface.dialogs.MessageDialog::openConfirm.
-	 * The method will return the dialog instead of opening.
-	 * @param title the dialog's title, or <code>null</code> if none.
-	 * @param message the message.
-	 * @return Dialog the confirm dialog.
-	 */
-	private MessageDialog getConfirmDialog(String title, String message) {
-		return new MessageDialog(
-			getShell(), 
-			title, 
-			null,
-			message, 
-			MessageDialog.QUESTION, 
-			new String[] {IDialogConstants.OK_LABEL, IDialogConstants.CANCEL_LABEL}, 
-			0);
-	}
-	/*
-	 * Convenience method simliar to org.eclipse.jface.dialogs.MessageDialog::openError.
-	 * The method will return the dialog instead of opening.
-	 * @param title the dialog's title, or <code>null</code> if none.
-	 * @param message the message.
-	 * @return MessageDialog the error confirm dialog.
-	 */
-	private MessageDialog getErrorDialog(String title, String message) {
-		return new MessageDialog(
-			getShell(),
-			title, 
-			null,
-			message, 
-			MessageDialog.ERROR, 
-			new String[] {IDialogConstants.OK_LABEL}, 
-			0);
-	}
-	/*
-	 * Convenience method simliar to org.eclipse.jface.dialogs.MessageDialog::openInformation.
-	 * The method will return the dialog instead of opening.
-	 * @param title the dialog's title, or <code>null</code> if none.
-	 * @param message the message.
-	 * @return MessageDialog the information dialog.
-	 */
-	private MessageDialog getInformationDialog(String title, String message) {
-		return new MessageDialog(
-			getShell(),
-			title,
-			null,
-			message,
-			MessageDialog.INFORMATION,
-			new String[] { IDialogConstants.OK_LABEL },
-			0);
-	}
-	/*
-	 * Convenience method simliar to org.eclipse.jface.dialogs.MessageDialog::openQuestion.
-	 * The method will return the dialog instead of opening.
-	 * @param title the dialog's title, or <code>null</code> if none.
-	 * @param message the message.
-	 * @return MessageDialog the question dialog.
-	 */
-	private MessageDialog getQuestionDialog(String title, String message) {
-		return new MessageDialog(
-			getShell(),
-			title, 
-			null,
-			message, 
-			MessageDialog.QUESTION, 
-			new String[] {IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL}, 
-			0);
-	}
-	/*
-	 * Convenience method simliar to org.eclipse.jface.dialogs.MessageDialog::getWarningDialog.
-	 * The method will return the dialog instead of opening.
-	 * @param title the dialog's title, or <code>null</code> if none.
-	 * @param message the message.
-	 * @return MessageDialog the confirm dialog.
-	 */
-	private MessageDialog getWarningDialog(String title, String message) {
-		return new MessageDialog(
-			getShell(),
-			title, 
-			null,
-			message, 
-			MessageDialog.WARNING, 
-			new String[] {IDialogConstants.OK_LABEL}, 
-			0);
-	}
-	
-	public void testAbortPageFlipping() {
-		Dialog dialog = getWarningDialog(
-			JFaceResources.getString("AbortPageFlippingDialog.title"),
-			JFaceResources.getString("AbortPageFlippingDialog.message") );
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testCloseFileDeleted() {
-		Dialog dialog = getConfirmDialog(
-				getEditorString("Editor.error.activated.deleted.close.title"),
-				getEditorString("Editor.error.activated.deleted.close.message") );
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testCopyOverwrite() {
-		Dialog dialog = getQuestionDialog(
-			WorkbenchMessages.getString("CopyResourceAction.resourceExists"),
-			WorkbenchMessages.format("CopyResourceAction.overwriteQuestion", new Object[] {DUMMY_RELATIVE_PATH}) );
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testDeleteProject() {
-		String title = WorkbenchMessages.getString("DeleteResourceAction.titleProject");
-		String msg = WorkbenchMessages.format("DeleteResourceAction.confirmProject1", new Object[] {DUMMY_PROJECT, DUMMY_ABSOLUTE_PATH});
-		Dialog dialog = new MessageDialog(
-			getShell(),
-			title, 
-			null,	// accept the default window icon
-			msg, 
-			MessageDialog.QUESTION, 
-			new String[] {IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL, IDialogConstants.CANCEL_LABEL},
-			0);
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testDeleteReadOnlyCheck() {
-		Dialog dialog = new MessageDialog(
-			getShell(),
-			WorkbenchMessages.getString("DeleteResourceAction.checkDelete"),
-			null,
-			WorkbenchMessages.format("DeleteResourceAction.readOnlyQuestion", new Object[] {DUMMY_RESOURCE}),
-			MessageDialog.QUESTION,
-			new String[] {
-				IDialogConstants.YES_LABEL,
-				IDialogConstants.YES_TO_ALL_LABEL,
-				IDialogConstants.NO_LABEL,
-				IDialogConstants.CANCEL_LABEL },
-			0);
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testDeleteResource() {
-		Dialog dialog = getQuestionDialog(
-			WorkbenchMessages.getString("DeleteResourceAction.title"),
-			WorkbenchMessages.format("DeleteResourceAction.confirm1", new Object[] {DUMMY_RESOURCE}) );
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testDeleteResources() {
-		Dialog dialog = getQuestionDialog(
-			WorkbenchMessages.getString("DeleteResourceAction.title"),
-			WorkbenchMessages.format("DeleteResourceAction.confirmN", new Object[] {DUMMY_RESOURCE}) );
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testDropOverwrite() {
-		Dialog dialog = new MessageDialog(
-			getShell(),
-			ResourceNavigatorMessagesCopy.getString("DropAdapter.question"),
-			null,
-			ResourceNavigatorMessagesCopy.format("DropAdapter.overwriteQuery", new Object[] {DUMMY_RELATIVE_PATH}),
-			MessageDialog.QUESTION,
-			new String[] {
-				IDialogConstants.YES_LABEL,
-				IDialogConstants.YES_TO_ALL_LABEL,
-				IDialogConstants.NO_LABEL,
-				IDialogConstants.CANCEL_LABEL},
-			0);
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testErrorClosing() {
-		Dialog dialog = getQuestionDialog(
-			WorkbenchMessages.getString("Error"),
-			WorkbenchMessages.getString("ErrorClosingNoArg") );
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testFileChanged() {
-		MessageDialog dialog = getQuestionDialog(
-				getEditorString("Editor.error.activated.outofsync.title"),
-				getEditorString("Editor.error.activated.outofsync.message") );
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testFileExtensionEmpty() {
-		Dialog dialog = getInformationDialog(
-			WorkbenchMessages.getString("FileEditorPreference.extensionEmptyTitle"),
-			WorkbenchMessages.getString("FileEditorPreference.extensionEmptyMessage") );
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testFileNameWrong() {
-		Dialog dialog = getInformationDialog(
-			WorkbenchMessages.getString("FileEditorPreference.fileNameInvalidTitle"),
-			WorkbenchMessages.getString("FileEditorPreference.fileNameInvalidMessage") );
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testFileTypeExists() {
-		Dialog dialog = getInformationDialog(
-			WorkbenchMessages.getString("FileEditorPreference.existsTitle"),
-			WorkbenchMessages.getString("FileEditorPreference.existsMessage") );
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testInvalidType_1() {
-		Dialog dialog = getWarningDialog(
-			WorkbenchMessages.getString("FileExtension.invalidTitle"),
-			WorkbenchMessages.getString("FileExtension.invalidMessage") );
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testInvalidType_2() {
-		Dialog dialog = getWarningDialog(
-			WorkbenchMessages.getString("FileExtension.invalidType"),
-			WorkbenchMessages.getString("FileExtension.invalidTypeMessage") );
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testMoveReadOnlyCheck() {
-		Dialog dialog = new MessageDialog(
-			getShell(),
-			WorkbenchMessages.getString("MoveResourceAction.title"),
-			null,
-			WorkbenchMessages.format("MoveResourceAction.checkMoveMessage", new Object[] {DUMMY_RESOURCE}),
-			MessageDialog.QUESTION,
-			new String[] {
-				IDialogConstants.YES_LABEL,
-				IDialogConstants.YES_TO_ALL_LABEL,
-				IDialogConstants.NO_LABEL,
-				IDialogConstants.CANCEL_LABEL },
-			0);
-		DialogCheck.assertDialog(dialog, this);
-	}
-	/*
-	public void testNoBuilders() {
-		Dialog dialog = getWarningDialog(
-			WorkbenchMessages.getString("BuildAction.warning"),
-			WorkbenchMessages.getString("BuildAction.noBuilders") );
-		DialogCheck.assertDialog(dialog, this);
-	}
-	*/
-	/*
-	public void testNoGlobalBuildersDialog() {
-		Dialog dialog = getWarningDialog(
-			WorkbenchMessages.getString("GlobalBuildAction.warning"),
-			WorkbenchMessages.getString("GlobalBuildAction.noBuilders") );
-		DialogCheck.assertDialog(dialog, this);
-	}
-	*/
-	public void testNoPropertyPage() {
-		Dialog dialog = getInformationDialog(
-			WorkbenchMessages.getString("PropertyDialog.messageTitle"),
-			WorkbenchMessages.format("PropertyDialog.noPropertyMessage", new Object[] {"DummyPropertyPage"}) );	
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testNoSelectedExportResources() {
-		Dialog dialog = getInformationDialog(
-			DataTransferMessagesCopy.getString("DataTransfer.information"),
-			DataTransferMessagesCopy.getString("FileExport.noneSelected") );
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testNoSelectedImportResources() {
-		Dialog dialog = getInformationDialog(
-			DataTransferMessagesCopy.getString("DataTransfer.information"),
-			DataTransferMessagesCopy.getString("FileImport.noneSelected") );
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testOperationNotAvailable() {
-		Dialog dialog = getInformationDialog(
-			WorkbenchMessages.getString("Information"),
-			WorkbenchMessages.getString("PluginActino.operationNotAvailableMessage") );
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testOverwritePerspective() {
-		Dialog dialog = new MessageDialog(
-			getShell(),
-			WorkbenchMessages.getString("SavePerspective.overwriteTitle"),
-			null,
-			WorkbenchMessages.format("SavePerspective.overwriteQuestion", new Object[] {"Dummy Perspective"}),
-			MessageDialog.QUESTION,
-			new String[] {IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL, IDialogConstants.CANCEL_LABEL},
-			0);
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testRefreshDeleteProject() {
-		Dialog dialog = new MessageDialog(
-			getShell(),
-			WorkbenchMessages.getString("RefreshAction.dialogTitle"),
-			null,
-			WorkbenchMessages.format("RefreshAction.locationDeletedMessage", new Object[] {DUMMY_PROJECT, "c:\\dummypath\\" + DUMMY_PROJECT}),
-			MessageDialog.QUESTION,
-			new String[] {IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL},
-			0);
-		DialogCheck.assertDialogTexts(dialog, this);
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testRenameOverwrite() {
-		Dialog dialog = getQuestionDialog(
-			WorkbenchMessages.getString("RenameResourceAction.resourceExists"),
-			WorkbenchMessages.format("RenameResourceAction.overwriteQuestion", new Object[] {DUMMY_RELATIVE_PATH}) );
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testResetPerspective() {		
-		Dialog dialog = new MessageDialog(
-			getShell(),
-			WorkbenchMessages.getString("ResetPerspective.title"),
-			null,
-			WorkbenchMessages.format("ResetPerspective.message", new Object[] {"Dummy Perspective"}),
-			MessageDialog.QUESTION,
-			new String[] {IDialogConstants.OK_LABEL, IDialogConstants.CANCEL_LABEL},
-			0);
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testSaveAsOverwrite() {
-		Dialog dialog = new MessageDialog(
-			getShell(),
-			WorkbenchMessages.getString("Question"),
-			null,
-			WorkbenchMessages.format("SaveAsDialog.overwriteQuestion", new Object[] {DUMMY_RELATIVE_PATH}),
-			MessageDialog.QUESTION,
-			new String[] {IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL, IDialogConstants.CANCEL_LABEL},
-			0);
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testSaveChanges() {
-		Dialog dialog = new MessageDialog(
-			getShell(),
-			WorkbenchMessages.getString("Save_Resource"),
-			null,
-			WorkbenchMessages.format("EditorManager.saveChangesQuestion", new Object[] {DUMMY_RESOURCE}),
-			MessageDialog.QUESTION,
-			new String[] {IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL, IDialogConstants.CANCEL_LABEL},
-			0);
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testSaveFileDeleted() {
-		MessageDialog dialog = new MessageDialog(
-				getShell(),
-				getEditorString("Editor.error.activated.deleted.save.title"),
-				null,
-				getEditorString("Editor.error.activated.deleted.save.message"),
-				MessageDialog.QUESTION,
-				new String[] {
-					getEditorString("Editor.error.activated.deleted.save.button.save"),
-					getEditorString("Editor.error.activated.deleted.save.button.close")},
-				0);
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testUpdateConflict() {
-		MessageDialog dialog = getQuestionDialog(
-				getEditorString("Editor.error.save.outofsync.title"),
-				getEditorString("Editor.error.save.outofsync.message") );
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testWizardClosing() {
-		Dialog dialog = new MessageDialog(
-			getShell(),
-			JFaceResources.getString("WizardClosingDialog.title"),
-			null,
-			JFaceResources.getString("WizardClosingDialog.message"),
-			MessageDialog.QUESTION,
-			new String[] {IDialogConstants.OK_LABEL},
-			0);
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testWizardOverwrite() {
-		Dialog dialog = new MessageDialog(
-			getShell(),
-			WorkbenchMessages.getString("Question"),
-			null, 
-			WorkbenchMessages.format("WizardDataTransfer.existsQuestion", new Object[] {DUMMY_ABSOLUTE_PATH}),
-			MessageDialog.QUESTION, 
-			new String[] {
-				IDialogConstants.YES_LABEL, 
-				IDialogConstants.YES_TO_ALL_LABEL, 
-				IDialogConstants.NO_LABEL, 
-				IDialogConstants.CANCEL_LABEL}, 
-			0);
-		DialogCheck.assertDialog(dialog, this);
-	}
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIMessageDialogsAuto.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIMessageDialogsAuto.java
deleted file mode 100644
index b43f5c5..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIMessageDialogsAuto.java
+++ /dev/null
@@ -1,419 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dialogs;
-
-import java.util.ResourceBundle;
-
-import junit.framework.TestCase;
-
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.resource.JFaceResources;
-
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.tests.util.DialogCheck;
-
-
-public class UIMessageDialogsAuto extends TestCase {
-	private static final String DUMMY_RESOURCE = "Dummy.resource";
-	private static final String DUMMY_PROJECT = "DummyProject";
-	private static final String DUMMY_ABSOLUTE_PATH = "C:\\Dummypath\\Dummy.resource";
-	private static final String DUMMY_RELATIVE_PATH = "\\" + DUMMY_PROJECT + "\\" + DUMMY_RESOURCE;
-	
-	public UIMessageDialogsAuto(String name) {
-		super(name);
-	}
-	private Shell getShell() {
-		return DialogCheck.getShell();
-	}
-	
-	/*
-	 * Convenience method simliar to org.eclipse.jface.dialogs.MessageDialog::openConfirm.
-	 * The method will return the dialog instead of opening.
-	 * @param title the dialog's title, or <code>null</code> if none.
-	 * @param message the message.
-	 * @return Dialog the confirm dialog.
-	 */
-	private MessageDialog getConfirmDialog(String title, String message) {
-		return new MessageDialog(
-			getShell(), 
-			title, 
-			null,
-			message, 
-			MessageDialog.QUESTION, 
-			new String[] {IDialogConstants.OK_LABEL, IDialogConstants.CANCEL_LABEL}, 
-			0);
-	}
-	/*
-	 * Convenience method simliar to org.eclipse.jface.dialogs.MessageDialog::openError.
-	 * The method will return the dialog instead of opening.
-	 * @param title the dialog's title, or <code>null</code> if none.
-	 * @param message the message.
-	 * @return MessageDialog the error confirm dialog.
-	 */
-	private MessageDialog getErrorDialog(String title, String message) {
-		return new MessageDialog(
-			getShell(),
-			title, 
-			null,
-			message, 
-			MessageDialog.ERROR, 
-			new String[] {IDialogConstants.OK_LABEL}, 
-			0);
-	}
-	/*
-	 * Convenience method simliar to org.eclipse.jface.dialogs.MessageDialog::openInformation.
-	 * The method will return the dialog instead of opening.
-	 * @param title the dialog's title, or <code>null</code> if none.
-	 * @param message the message.
-	 * @return MessageDialog the information dialog.
-	 */
-	private MessageDialog getInformationDialog(String title, String message) {
-		return new MessageDialog(
-			getShell(),
-			title,
-			null,
-			message,
-			MessageDialog.INFORMATION,
-			new String[] { IDialogConstants.OK_LABEL },
-			0);
-	}
-	/*
-	 * Convenience method simliar to org.eclipse.jface.dialogs.MessageDialog::openQuestion.
-	 * The method will return the dialog instead of opening.
-	 * @param title the dialog's title, or <code>null</code> if none.
-	 * @param message the message.
-	 * @return MessageDialog the question dialog.
-	 */
-	private MessageDialog getQuestionDialog(String title, String message) {
-		return new MessageDialog(
-			getShell(),
-			title, 
-			null,
-			message, 
-			MessageDialog.QUESTION, 
-			new String[] {IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL}, 
-			0);
-	}
-	/*
-	 * Convenience method simliar to org.eclipse.jface.dialogs.MessageDialog::getWarningDialog.
-	 * The method will return the dialog instead of opening.
-	 * @param title the dialog's title, or <code>null</code> if none.
-	 * @param message the message.
-	 * @return MessageDialog the confirm dialog.
-	 */
-	private MessageDialog getWarningDialog(String title, String message) {
-		return new MessageDialog(
-			getShell(),
-			title, 
-			null,
-			message, 
-			MessageDialog.WARNING, 
-			new String[] {IDialogConstants.OK_LABEL}, 
-			0);
-	}
-	
-	public void testAbortPageFlipping() {
-		Dialog dialog = getWarningDialog (
-			JFaceResources.getString("AbortPageFlippingDialog.title"),
-			JFaceResources.getString("AbortPageFlippingDialog.message") );
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testCloseFileDeleted() {
-		Dialog dialog = null;
-		ResourceBundle bundle = ResourceBundle.getBundle("org.eclipse.ui.texteditor.EditorMessages");
-		if (bundle != null) {
-			dialog = getConfirmDialog(
-				bundle.getString("Editor.error.activated.deleted.close.title"),
-				bundle.getString("Editor.error.activated.deleted.close.message") );
-		}
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testCopyOverwrite() {
-		Dialog dialog = getQuestionDialog(
-			WorkbenchMessages.getString("CopyResourceAction.resourceExists"),
-			WorkbenchMessages.format("CopyResourceAction.overwriteQuestion", new Object[] {DUMMY_RELATIVE_PATH}) );
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testDeleteProject() {
-		String title = WorkbenchMessages.getString("DeleteResourceAction.titleProject");
-		String msg = WorkbenchMessages.format("DeleteResourceAction.confirmProject1", new Object[] {DUMMY_PROJECT, DUMMY_ABSOLUTE_PATH});
-		Dialog dialog = new MessageDialog(
-			getShell(),
-			title, 
-			null,	// accept the default window icon
-			msg, 
-			MessageDialog.QUESTION, 
-			new String[] {IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL, IDialogConstants.CANCEL_LABEL},
-			0);
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testDeleteReadOnlyCheck() {
-		Dialog dialog = new MessageDialog(
-			getShell(),
-			WorkbenchMessages.getString("DeleteResourceAction.checkDelete"),
-			null,
-			WorkbenchMessages.format("DeleteResourceAction.readOnlyQuestion", new Object[] {DUMMY_RESOURCE}),
-			MessageDialog.QUESTION,
-			new String[] {
-				IDialogConstants.YES_LABEL,
-				IDialogConstants.YES_TO_ALL_LABEL,
-				IDialogConstants.NO_LABEL,
-				IDialogConstants.CANCEL_LABEL },
-			0);
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testDeleteResource() {
-		Dialog dialog = getQuestionDialog(
-			WorkbenchMessages.getString("DeleteResourceAction.title"),
-			WorkbenchMessages.format("DeleteResourceAction.confirm1", new Object[] {DUMMY_RESOURCE}) );
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testDeleteResources() {
-		Dialog dialog = getQuestionDialog(
-			WorkbenchMessages.getString("DeleteResourceAction.title"),
-			WorkbenchMessages.format("DeleteResourceAction.confirmN", new Object[] {DUMMY_RESOURCE}) );
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testDropOverwrite() {
-		Dialog dialog = new MessageDialog(
-			getShell(),
-			ResourceNavigatorMessagesCopy.getString("DropAdapter.question"),
-			null,
-			ResourceNavigatorMessagesCopy.format("DropAdapter.overwriteQuery", new Object[] {DUMMY_RELATIVE_PATH}),
-			MessageDialog.QUESTION,
-			new String[] {
-				IDialogConstants.YES_LABEL,
-				IDialogConstants.YES_TO_ALL_LABEL,
-				IDialogConstants.NO_LABEL,
-				IDialogConstants.CANCEL_LABEL},
-			0);
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testErrorClosing() {
-		Dialog dialog = getQuestionDialog(
-			WorkbenchMessages.getString("Error"),
-			WorkbenchMessages.getString("ErrorClosingNoArg") );
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testFileChanged() {
-		MessageDialog dialog = null;
-		ResourceBundle bundle = ResourceBundle.getBundle("org.eclipse.ui.texteditor.EditorMessages");
-		if (bundle != null) {
-			dialog = getQuestionDialog(
-				bundle.getString("Editor.error.activated.outofsync.title"),
-				bundle.getString("Editor.error.activated.outofsync.message") );
-		}
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testFileExtensionEmpty() {
-		Dialog dialog = getInformationDialog(
-			WorkbenchMessages.getString("FileEditorPreference.extensionEmptyTitle"),
-			WorkbenchMessages.getString("FileEditorPreference.extensionEmptyMessage") );
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testFileNameWrong() {
-		Dialog dialog = getInformationDialog(
-			WorkbenchMessages.getString("FileEditorPreference.fileNameInvalidTitle"),
-			WorkbenchMessages.getString("FileEditorPreference.fileNameInvalidMessage") );
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testFileTypeExists() {
-		Dialog dialog = getInformationDialog(
-			WorkbenchMessages.getString("FileEditorPreference.existsTitle"),
-			WorkbenchMessages.getString("FileEditorPreference.existsMessage") );
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testInvalidType_1() {
-		Dialog dialog = getWarningDialog(
-			WorkbenchMessages.getString("FileExtension.invalidTitle"),
-			WorkbenchMessages.getString("FileExtension.invalidMessage") );
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testInvalidType_2() {
-		Dialog dialog = getWarningDialog(
-			WorkbenchMessages.getString("FileExtension.invalidType"),
-			WorkbenchMessages.getString("FileExtension.invalidTypeMessage") );
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testMoveReadOnlyCheck() {
-		Dialog dialog = new MessageDialog(
-			getShell(),
-			WorkbenchMessages.getString("MoveResourceAction.title"),
-			null,
-			WorkbenchMessages.format("MoveResourceAction.checkMoveMessage", new Object[] {DUMMY_RESOURCE}),
-			MessageDialog.QUESTION,
-			new String[] {
-				IDialogConstants.YES_LABEL,
-				IDialogConstants.YES_TO_ALL_LABEL,
-				IDialogConstants.NO_LABEL,
-				IDialogConstants.CANCEL_LABEL },
-			0);
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testNoBuilders() {
-		Dialog dialog = getWarningDialog(
-			WorkbenchMessages.getString("BuildAction.warning"),
-			WorkbenchMessages.getString("BuildAction.noBuilders") );
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testNoGlobalBuildersDialog() {
-		Dialog dialog = getWarningDialog(
-			WorkbenchMessages.getString("GlobalBuildAction.warning"),
-			WorkbenchMessages.getString("GlobalBuildAction.noBuilders") );
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testNoPropertyPage() {
-		Dialog dialog = getInformationDialog(
-			WorkbenchMessages.getString("PropertyDialog.messageTitle"),
-			WorkbenchMessages.format("PropertyDialog.noPropertyMessage", new Object[] {"DummyPropertyPage"}) );	
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testNoSelectedExportResources() {
-		Dialog dialog = getInformationDialog(
-			DataTransferMessagesCopy.getString("DataTransfer.information"),
-			DataTransferMessagesCopy.getString("FileExport.noneSelected") );
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testNoSelectedImportResources() {
-		Dialog dialog = getInformationDialog(
-			DataTransferMessagesCopy.getString("DataTransfer.information"),
-			DataTransferMessagesCopy.getString("FileImport.noneSelected") );
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testOperationNotAvailable() {
-		Dialog dialog = getInformationDialog(
-			WorkbenchMessages.getString("Information"),
-			WorkbenchMessages.getString("PluginActino.operationNotAvailableMessage") );
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testOverwritePerspective() {
-		Dialog dialog = new MessageDialog(
-			getShell(),
-			WorkbenchMessages.getString("SavePerspective.overwriteTitle"),
-			null,
-			WorkbenchMessages.format("SavePerspective.overwriteQuestion", new Object[] {"Dummy Perspective"}),
-			MessageDialog.QUESTION,
-			new String[] {IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL, IDialogConstants.CANCEL_LABEL},
-			0);
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testRefreshDeleteProject() {
-		Dialog dialog = new MessageDialog(
-			getShell(),
-			WorkbenchMessages.getString("RefreshAction.dialogTitle"),
-			null,
-			WorkbenchMessages.format("RefreshAction.locationDeletedMessage", new Object[] {DUMMY_PROJECT, "c:\\dummypath\\" + DUMMY_PROJECT}),
-			MessageDialog.QUESTION,
-			new String[] {IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL},
-			0);
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testRenameOverwrite() {
-		Dialog dialog = getQuestionDialog(
-			WorkbenchMessages.getString("RenameResourceAction.resourceExists"),
-			WorkbenchMessages.format("RenameResourceAction.overwriteQuestion", new Object[] {DUMMY_RELATIVE_PATH}) );
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testResetPerspective() {		
-		Dialog dialog = new MessageDialog(
-			getShell(),
-			WorkbenchMessages.getString("ResetPerspective.title"),
-			null,
-			WorkbenchMessages.format("ResetPerspective.message", new Object[] {"Dummy Perspective"}),
-			MessageDialog.QUESTION,
-			new String[] {IDialogConstants.OK_LABEL, IDialogConstants.CANCEL_LABEL},
-			0);
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testSaveAsOverwrite() {
-		Dialog dialog = new MessageDialog(
-			getShell(),
-			WorkbenchMessages.getString("Question"),
-			null,
-			WorkbenchMessages.format("SaveAsDialog.overwriteQuestion", new Object[] {DUMMY_RELATIVE_PATH}),
-			MessageDialog.QUESTION,
-			new String[] {IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL, IDialogConstants.CANCEL_LABEL},
-			0);
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testSaveChanges() {
-		Dialog dialog = new MessageDialog(
-			getShell(),
-			WorkbenchMessages.getString("Save_Resource"),
-			null,
-			WorkbenchMessages.format("EditorManager.saveChangesQuestion", new Object[] {DUMMY_RESOURCE}),
-			MessageDialog.QUESTION,
-			new String[] {IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL, IDialogConstants.CANCEL_LABEL},
-			0);
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testSaveFileDeleted() {
-		MessageDialog dialog = null;
-		ResourceBundle bundle = ResourceBundle.getBundle("org.eclipse.ui.texteditor.EditorMessages");
-		if (bundle != null) {
-			dialog= new MessageDialog(
-				getShell(),
-				bundle.getString("Editor.error.activated.deleted.save.title"),
-				null,
-				bundle.getString("Editor.error.activated.deleted.save.message"),
-				MessageDialog.QUESTION,
-				new String[] {
-					bundle.getString("Editor.error.activated.deleted.save.button.save"),
-					bundle.getString("Editor.error.activated.deleted.save.button.close")},
-				0);
-		}
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testUpdateConflict() {
-		MessageDialog dialog = null;
-		ResourceBundle bundle = ResourceBundle.getBundle("org.eclipse.ui.texteditor.EditorMessages");
-		if (bundle != null) {
-			dialog = getQuestionDialog(
-				bundle.getString("Editor.error.save.outofsync.title"),
-				bundle.getString("Editor.error.save.outofsync.message") );
-		}
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testWizardClosing() {
-		Dialog dialog = new MessageDialog(
-			getShell(),
-			JFaceResources.getString("WizardClosingDialog.title"),
-			null,
-			JFaceResources.getString("WizardClosingDialog.message"),
-			MessageDialog.QUESTION,
-			new String[] {IDialogConstants.OK_LABEL},
-			0);
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testWizardOverwrite() {
-		Dialog dialog = new MessageDialog(
-			getShell(),
-			WorkbenchMessages.getString("Question"),
-			null, 
-			WorkbenchMessages.format("WizardDataTransfer.existsQuestion", new Object[] {DUMMY_ABSOLUTE_PATH}),
-			MessageDialog.QUESTION, 
-			new String[] {
-				IDialogConstants.YES_LABEL, 
-				IDialogConstants.YES_TO_ALL_LABEL, 
-				IDialogConstants.NO_LABEL, 
-				IDialogConstants.CANCEL_LABEL}, 
-			0);
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-
-
-
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UINewWorkingSetWizardAuto.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UINewWorkingSetWizardAuto.java
deleted file mode 100644
index 1939d8a..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UINewWorkingSetWizardAuto.java
+++ /dev/null
@@ -1,153 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dialogs;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.wizard.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.dialogs.*;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.dialogs.*;
-import org.eclipse.ui.internal.registry.*;
-import org.eclipse.ui.tests.util.*;
-
-/**
- * Tests the WorkingSetNewWizard.
- * Tests input validation, presence of type page and correct edit page
- * and wizard page texts.
- */
-public class UINewWorkingSetWizardAuto extends UIWorkingSetWizardsAuto {
-
-	public UINewWorkingSetWizardAuto(String name) {
-		super(name);
-	}
-	protected void doSetUp() throws Exception {
-		fWizard = new WorkingSetNewWizard();
-		super.doSetUp();
-	}
-	public void testTypePage() throws Throwable {
-		IWizardPage page = fWizardDialog.getCurrentPage();
-		assertTrue((page instanceof WorkingSetTypePage) == fWorkingSetDescriptors.length > 1);
-		
-		/*
-		 * Should have at least resourceWorkingSetPage and MockWorkingSet
-		 */
-		assertTrue(fWorkingSetDescriptors.length >= 2);		
-		if (page instanceof WorkingSetTypePage) {
-			WorkingSetTypePage typePage = (WorkingSetTypePage) page;
-			List widgets = getWidgets((Composite) page.getControl(), Table.class);
-			Table table = (Table) widgets.get(0);
-			/*
-			 * Test initial page state
-			 */
-			assertEquals(fWorkingSetDescriptors.length, table.getItemCount());
-			assertTrue(typePage.canFlipToNextPage() == false);
-			assertTrue(fWizard.canFinish() == false);						
-			/*
-			 * Test page state with page complete input
-			 */
-			table.setSelection(fWorkingSetDescriptors.length - 1);
-			table.notifyListeners(SWT.Selection, new Event());
-			assertTrue(typePage.canFlipToNextPage());
-			assertTrue(fWizard.canFinish() == false);
-			
-			/*
-			 * Check page texts 
-			 */
-			DialogCheck.assertDialogTexts(fWizardDialog, this);
-		}
-	}
-	public void testEditPage() throws Throwable {
-		WorkingSetRegistry registry = WorkbenchPlugin.getDefault().getWorkingSetRegistry();
-		IWizardPage page = fWizardDialog.getCurrentPage();
-		IWizardPage defaultEditPage = registry.getDefaultWorkingSetPage();
-		String defaultEditPageClassName = defaultEditPage.getClass().getName(); 
-		assertTrue((page instanceof WorkingSetTypePage) == fWorkingSetDescriptors.length > 1);
-
-		if (page instanceof WorkingSetTypePage) {
-			/*
-			 * Select the default (Resource) working set type
-			 * and advance to edit page.
-			 */
-			List widgets = getWidgets((Composite) page.getControl(), Table.class);
-			Table table = (Table) widgets.get(0);
-			TableItem[] items = table.getItems();
-			String workingSetName = null;
-			for (int descriptorIndex = 0; descriptorIndex < fWorkingSetDescriptors.length; descriptorIndex++) {
-				WorkingSetDescriptor descriptor = fWorkingSetDescriptors[descriptorIndex]; 
-				if (defaultEditPageClassName.equals(descriptor.getPageClassName())) {
-					workingSetName = descriptor.getName();
-					break;
-				}
-			}
-			assertNotNull(workingSetName);
-			boolean found  = false;
-			for (int i = 0; i < items.length; i++) {
-				if (items[i].getText().equals(workingSetName)) {
-					table.setSelection(i);
-					found = true;
-					break;
-				}
-			}
-			assertTrue(found);
-			fWizardDialog.showPage(fWizard.getNextPage(page));
-		}
-		page = fWizardDialog.getCurrentPage();
-		assertTrue(page instanceof IWorkingSetPage);
-
-		/*
-		 * Verify that correct working set edit page is displayed
-		 */
-		assertTrue(page.getClass() == defaultEditPage.getClass());
-		/*
-		 * Test initial page state
-		 */
-		assertTrue(page.canFlipToNextPage() == false);
-		assertTrue(fWizard.canFinish() == false);						
-		assertNull(page.getErrorMessage());
-		/*
-		 * Test page state with partial page input
-		 */
-		setTextWidgetText(WORKING_SET_NAME_1,page);
-		assertTrue(page.canFlipToNextPage() == false);
-		assertTrue(fWizard.canFinish() == false);		
-		assertNotNull(page.getErrorMessage());		
-
-		/*
-		 * Test page state with page complete input
-		 */
-		checkTreeItems();
-		assertTrue(page.canFlipToNextPage() == false);
-		assertTrue(fWizard.canFinish());
-		assertNull(page.getErrorMessage());
-		
-		fWizard.performFinish();
-		IWorkingSet workingSet = ((WorkingSetNewWizard) fWizard).getSelection();
-		IAdaptable[] workingSetItems = workingSet.getElements();
-		assertEquals(WORKING_SET_NAME_1, workingSet.getName());
-		
-		List widgets = getWidgets((Composite) page.getControl(), Tree.class);
-		Tree tree = (Tree) widgets.get(0);
-		assertEquals(workingSetItems.length, tree.getItemCount());
-		assertTrue(ArrayUtil.contains(workingSetItems, p1));
-		assertTrue(ArrayUtil.contains(workingSetItems, p2));
-
-		/*
-		 * Check page texts 
-		 */
-		DialogCheck.assertDialogTexts(fWizardDialog, this);
-	}
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIPreferences.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIPreferences.java
deleted file mode 100644
index 886484a..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIPreferences.java
+++ /dev/null
@@ -1,171 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dialogs;
-
-import java.util.Iterator;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.preference.IPreferenceNode;
-import org.eclipse.jface.preference.PreferenceDialog;
-import org.eclipse.jface.preference.PreferenceManager;
-import org.eclipse.jface.viewers.StructuredSelection;
-
-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.dialogs.PropertyDialog;
-import org.eclipse.ui.internal.dialogs.PropertyPageContributorManager;
-import org.eclipse.ui.internal.dialogs.PropertyPageManager;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.ui.tests.util.DialogCheck;
-
-public class UIPreferences extends TestCase {
-	private IProject _project;
-	private static final String PROJECT_NAME = "DummyProject";
-	
-	public UIPreferences(String name) {
-		super(name);
-	}
-	private Shell getShell() {
-		return DialogCheck.getShell();
-	}
-	private IProject getDummyProject() {
-		try {
-			IProject projects[] = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-			for (int i = 0; i < projects.length; i++) {
-				if ( projects[i].getName().equals(PROJECT_NAME) ) {
-					projects[i].delete(true, null);
-					break;
-				}
-			}
-			_project = ResourcesPlugin.getWorkspace().getRoot().getProject(PROJECT_NAME);
-			_project.create(null);
-		} catch (CoreException e) {
-			System.out.println(e);
-		}
-		return _project;
-	}
-	private void deleteDummyProject(){
-		try {
-			if (_project != null) {
-				_project.delete(true, null);
-			}
-		} catch (CoreException e) {
-			System.out.println(e);
-		}
-	}
-	private PreferenceDialog getPreferenceDialog(String id) {
-		PreferenceDialogWrapper dialog = null;
-		PreferenceManager manager = WorkbenchPlugin.getDefault().getPreferenceManager();
-		if (manager != null) {
-			dialog = new PreferenceDialogWrapper(getShell(), manager);
-			dialog.create();	
-			WorkbenchHelp.setHelp(dialog.getShell(), IHelpContextIds.PREFERENCE_DIALOG);
-
-			for (Iterator iterator = manager.getElements(PreferenceManager.PRE_ORDER).iterator();
-			     iterator.hasNext();)
-			{
-				IPreferenceNode node = (IPreferenceNode)iterator.next();
-				if ( node.getId().equals(id) ) {
-					dialog.showPage(node);
-					break;
-				}
-			}
-		}
-		return dialog;
-	}
-	private PropertyDialog getPropertyDialog(String id) {
-		PropertyDialogWrapper dialog = null;
-
-		PropertyPageManager manager = new PropertyPageManager();
-		String title = "";
-		String name  = "";
-		
-		
-		IProject element = getDummyProject();
-		if (element ==  null) {			
-			return null;
-		}
-		// load pages for the selection
-		// fill the manager with contributions from the matching contributors
-		PropertyPageContributorManager.getManager().contribute(manager, element);
-		
-		IWorkbenchAdapter adapter = (IWorkbenchAdapter)element.getAdapter(IWorkbenchAdapter.class);
-		if (adapter != null) {
-			name = adapter.getLabel(element);
-		}
-		
-		// testing if there are pages in the manager
-		Iterator pages = manager.getElements(PreferenceManager.PRE_ORDER).iterator();		
-		if (!pages.hasNext()) {
-			return null;
-		} else {
-			title = WorkbenchMessages.format("PropertyDialog.propertyMessage", new Object[] {name});
-			dialog = new PropertyDialogWrapper(getShell(), manager, new StructuredSelection(element)); 
-			dialog.create();
-			dialog.getShell().setText(title);
-			WorkbenchHelp.setHelp(dialog.getShell(), IHelpContextIds.PROPERTY_DIALOG);
-			for (Iterator iterator = manager.getElements(PreferenceManager.PRE_ORDER).iterator();
-			     iterator.hasNext();)
-			{
-				IPreferenceNode node = (IPreferenceNode)iterator.next();
-				if ( node.getId().equals(id) ) {
-					dialog.showPage(node);
-					break;
-				}
-			}
-		}
-		return dialog;
-	}
-	
-	public void testWorkbenchPref() {
-		Dialog dialog = getPreferenceDialog("org.eclipse.ui.preferencePages.Workbench");
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testAppearancePref() {
-		Dialog dialog = getPreferenceDialog("org.eclipse.ui.preferencePages.Views");
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testDefaultTextEditorPref() {
-		Dialog dialog = getPreferenceDialog("org.eclipse.ui.preferencePages.TextEditor");
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testFileEditorsPref() {
-		Dialog dialog = getPreferenceDialog("org.eclipse.ui.preferencePages.FileEditors");
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testLocalHistoryPref() {
-		Dialog dialog = getPreferenceDialog("org.eclipse.ui.preferencePages.FileStates");
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testPerspectivesPref() {
-		Dialog dialog = getPreferenceDialog("org.eclipse.ui.preferencePages.Perspectives");
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testInfoProp() {
-		Dialog dialog = getPropertyDialog("org.eclipse.ui.propertypages.info.file");
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testProjectReferencesProp() {
-		Dialog dialog = getPropertyDialog("org.eclipse.ui.propertypages.project.reference");
-		DialogCheck.assertDialog(dialog, this);
-	}
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIPreferencesAuto.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIPreferencesAuto.java
deleted file mode 100644
index 68b8fee..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIPreferencesAuto.java
+++ /dev/null
@@ -1,252 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dialogs;
-
-import java.util.Iterator;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.preference.IPreferenceNode;
-import org.eclipse.jface.preference.PreferenceDialog;
-import org.eclipse.jface.preference.PreferenceManager;
-import org.eclipse.jface.viewers.StructuredSelection;
-
-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.dialogs.PropertyDialog;
-import org.eclipse.ui.internal.dialogs.PropertyPageContributorManager;
-import org.eclipse.ui.internal.dialogs.PropertyPageManager;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.ui.tests.util.DialogCheck;
-
-public class UIPreferencesAuto extends TestCase {
-
-	private IProject _project;
-	private static final String PROJECT_NAME = "DummyProject";
-
-	public UIPreferencesAuto(String name) {
-		super(name);
-	}
-	protected Shell getShell() {
-		return DialogCheck.getShell();
-	}
-
-	private IProject getDummyProject() {
-		try {
-			IProject projects[] =
-				ResourcesPlugin.getWorkspace().getRoot().getProjects();
-			for (int i = 0; i < projects.length; i++) {
-				if (projects[i].getName().equals(PROJECT_NAME)) {
-					projects[i].delete(true, null);
-					break;
-				}
-			}
-			_project =
-				ResourcesPlugin.getWorkspace().getRoot().getProject(
-					PROJECT_NAME);
-			_project.create(null);
-		} catch (CoreException e) {
-			System.out.println(e);
-		}
-		return _project;
-	}
-	private void deleteDummyProject() {
-		try {
-			if (_project != null) {
-				_project.delete(true, null);
-			}
-		} catch (CoreException e) {
-			System.out.println(e);
-		}
-	}
-	private PreferenceDialog getPreferenceDialog(String id) {
-		PreferenceDialogWrapper dialog = null;
-		PreferenceManager manager =
-			WorkbenchPlugin.getDefault().getPreferenceManager();
-		if (manager != null) {
-			dialog = new PreferenceDialogWrapper(getShell(), manager);
-			dialog.create();
-			WorkbenchHelp.setHelp(
-				dialog.getShell(),
-				IHelpContextIds.PREFERENCE_DIALOG);
-
-			for (Iterator iterator =
-				manager.getElements(PreferenceManager.PRE_ORDER).iterator();
-				iterator.hasNext();
-				) {
-				IPreferenceNode node = (IPreferenceNode) iterator.next();
-				if (node.getId().equals(id)) {
-					dialog.showPage(node);
-					break;
-				}
-			}
-		}
-		return dialog;
-	}
-	private PropertyDialog getPropertyDialog(String id) {
-		PropertyDialogWrapper dialog = null;
-
-		PropertyPageManager manager = new PropertyPageManager();
-		String title = "";
-		String name = "";
-
-		IProject element = getDummyProject();
-		if (element == null) {
-			return null;
-		}
-		// load pages for the selection
-		// fill the manager with contributions from the matching contributors
-		PropertyPageContributorManager.getManager().contribute(
-			manager,
-			element);
-
-		IWorkbenchAdapter adapter =
-			(IWorkbenchAdapter) element.getAdapter(IWorkbenchAdapter.class);
-		if (adapter != null) {
-			name = adapter.getLabel(element);
-		}
-
-		// testing if there are pages in the manager
-		Iterator pages =
-			manager.getElements(PreferenceManager.PRE_ORDER).iterator();
-		if (!pages.hasNext()) {
-			return null;
-		} else {
-			title =
-				WorkbenchMessages.format(
-					"PropertyDialog.propertyMessage",
-					new Object[] { name });
-			dialog =
-				new PropertyDialogWrapper(
-					getShell(),
-					manager,
-					new StructuredSelection(element));
-			dialog.create();
-			dialog.getShell().setText(title);
-			WorkbenchHelp.setHelp(
-				dialog.getShell(),
-				IHelpContextIds.PROPERTY_DIALOG);
-			for (Iterator iterator =
-				manager.getElements(PreferenceManager.PRE_ORDER).iterator();
-				iterator.hasNext();
-				) {
-				IPreferenceNode node = (IPreferenceNode) iterator.next();
-				if (node.getId().equals(id)) {
-					dialog.showPage(node);
-					break;
-				}
-			}
-		}
-		return dialog;
-	}
-
-	public void testWorkbenchPref() {
-		Dialog dialog =
-			getPreferenceDialog("org.eclipse.ui.preferencePages.Workbench");
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testAppearancePref() {
-		Dialog dialog =
-			getPreferenceDialog("org.eclipse.ui.preferencePages.Views");
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testDefaultTextEditorPref() {
-		Dialog dialog =
-			getPreferenceDialog("org.eclipse.ui.preferencePages.TextEditor");
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testFileEditorsPref() {
-		Dialog dialog =
-			getPreferenceDialog("org.eclipse.ui.preferencePages.FileEditors");
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testLocalHistoryPref() {
-		Dialog dialog =
-			getPreferenceDialog("org.eclipse.ui.preferencePages.FileStates");
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testPerspectivesPref() {
-		Dialog dialog =
-			getPreferenceDialog("org.eclipse.ui.preferencePages.Perspectives");
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-
-	//Only really checking if this opens without an exception
-	public void testFontEditorsPref() {
-		Dialog dialog =
-			getPreferenceDialog("org.eclipse.ui.tests.dialogs.FontFieldEditorTestPreferencePage");
-		DialogCheck.assertDialogTexts(dialog,this);
-	}
-
-	public void testInfoProp() {
-		/*
-		 * Commented out because it generates a failure
-		 * of expect and actual width values. Suspect this
-		 * is an SWT issue.
-		 * 
-		Dialog dialog = getPropertyDialog("org.eclipse.ui.propertypages.info.file");
-		DialogCheck.assertDialogTexts(dialog, this);
-		 */
-	}
-	public void testProjectReferencesProp() {
-		/*
-		 * Commented out because it generates a failure
-		 * of expect and actual width values. Suspect this
-		 * is an SWT issue.
-		 * 
-		Dialog dialog = getPropertyDialog("org.eclipse.ui.propertypages.project.reference");
-		DialogCheck.assertDialogTexts(dialog, this);
-		 */
-	}
-
-	/**
-	 * Test the editors preference page and toggle the
-	 * enable state twice to be sure there are no errors.
-	 */
-	public void testFieldEditorEnablePref() {
-
-		PreferenceDialogWrapper dialog = null;
-		PreferenceManager manager =
-			WorkbenchPlugin.getDefault().getPreferenceManager();
-		if (manager != null) {
-			dialog = new PreferenceDialogWrapper(getShell(), manager);
-			dialog.create();
-
-			for (Iterator iterator =
-				manager.getElements(PreferenceManager.PRE_ORDER).iterator();
-				iterator.hasNext();
-				) {
-				IPreferenceNode node = (IPreferenceNode) iterator.next();
-				if (node
-					.getId()
-					.equals("org.eclipse.ui.tests.dialogs.EnableTestPreferencePage")) {
-					dialog.showPage(node);
-					EnableTestPreferencePage page =
-						(EnableTestPreferencePage) dialog.getPage(node);
-					page.flipState();
-					page.flipState();
-					break;
-				}
-			}
-		}
-
-	}
-
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIWizards.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIWizards.java
deleted file mode 100644
index 9a32711..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIWizards.java
+++ /dev/null
@@ -1,226 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dialogs;
-
-import junit.framework.TestCase;
-
-import org.eclipse.jface.dialogs.Dialog;
-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.IWizardPage;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.WizardNewProjectReferencePage;
-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.dialogs.ExportWizard;
-import org.eclipse.ui.internal.dialogs.ImportWizard;
-import org.eclipse.ui.internal.dialogs.NewWizard;
-import org.eclipse.ui.tests.util.DialogCheck;
-import org.eclipse.ui.wizards.newresource.BasicNewFileResourceWizard;
-import org.eclipse.ui.wizards.newresource.BasicNewFolderResourceWizard;
-import org.eclipse.ui.wizards.newresource.BasicNewProjectResourceWizard;
-
-
-public class UIWizards extends TestCase {
-	private static final int SIZING_WIZARD_WIDTH    = 470;
-	private static final int SIZING_WIZARD_HEIGHT   = 550;
-	private static final int SIZING_WIZARD_WIDTH_2  = 500;
-	private static final int SIZING_WIZARD_HEIGHT_2 = 500;
-	
-	public UIWizards(String name) {
-		super(name);
-	}
-	private Shell getShell() {
-		return DialogCheck.getShell();
-	}
-	private IWorkbench getWorkbench() {
-		return PlatformUI.getWorkbench();
-	}
-	private WizardDialog exportWizard(IWizardPage page) {
-		ExportWizard wizard = new ExportWizard();
-		wizard.init(getWorkbench(), null);
-		IDialogSettings workbenchSettings = WorkbenchPlugin.getDefault().getDialogSettings();
-		IDialogSettings wizardSettings = workbenchSettings.getSection("ExportResourcesAction");
-		if(wizardSettings == null)
-			wizardSettings = workbenchSettings.addNewSection("ExportResourcesAction");
-		wizard.setDialogSettings(wizardSettings);
-		wizard.setForcePreviousAndNextButtons(true);
-		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.EXPORT_WIZARD);
-
-		if (page != null) {
-			page.setWizard(wizard);
-			dialog.showPage(page);
-		}
-		return dialog;
-	}
-	private WizardDialog importWizard(IWizardPage page) {
-		ImportWizard wizard = new ImportWizard();
-		wizard.init(getWorkbench(), null);
-		IDialogSettings workbenchSettings = WorkbenchPlugin.getDefault().getDialogSettings();
-		IDialogSettings wizardSettings = workbenchSettings.getSection("ImportResourcesAction");
-		if(wizardSettings==null)
-			wizardSettings = workbenchSettings.addNewSection("ImportResourcesAction");
-		wizard.setDialogSettings(wizardSettings);
-		wizard.setForcePreviousAndNextButtons(true);
-		
-		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.IMPORT_WIZARD);
-		
-		if (page != null) {
-			page.setWizard(wizard);
-			dialog.showPage(page);
-		}
-		return dialog;
-	}
-
-	public void testExportResources() {//reference: ExportResourcesAction
-		Dialog dialog = exportWizard(null);
-		DialogCheck.assertDialog(dialog, this);
-	}
-/**
- * 1GJWD2E: ITPUI:ALL - Test classes should not be released in public packages.
- * 
-	public void testFileSystemExport() {
-		Dialog dialog = exportWizard( DataTransferTestStub.newFileSystemResourceExportPage1(null) );
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testZipFileExport() {
-		Dialog dialog = exportWizard( DataTransferTestStub.newZipFileResourceExportPage1(null) );
-		DialogCheck.assertDialog(dialog, this);
-	}
- */
-	public void testImportResources() {//reference: ImportResourcesAction
-		Dialog dialog = importWizard(null);
-		DialogCheck.assertDialog(dialog, this);
-	}
-/**
- * 1GJWD2E: ITPUI:ALL - Test classes should not be released in public packages.
- * 
-	public void testFileSystemImport() {
-		Dialog dialog = importWizard( DataTransferTestStub.newFileSystemResourceImportPage1(WorkbenchPlugin.getDefault().getWorkbench(), StructuredSelection.EMPTY) );
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testZipFileImport() {
-		Dialog dialog = importWizard( DataTransferTestStub.newZipFileResourceImportPage1(null) );
-		DialogCheck.assertDialog(dialog, this);
-	}
- */
-	public void testNewFile() {
-		BasicNewFileResourceWizard wizard = new BasicNewFileResourceWizard();
-		wizard.init( PlatformUI.getWorkbench(), new StructuredSelection() );
-		wizard.setNeedsProgressMonitor(true);
-		WizardDialog dialog = new WizardDialog(getShell(), wizard);
-		dialog.create();
-		dialog.getShell().setText(WorkbenchMessages.getString("CreateFileAction.title")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(dialog.getShell(), IHelpContextIds.NEW_FILE_WIZARD);
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testNewFolder() {
-		BasicNewFolderResourceWizard wizard = new BasicNewFolderResourceWizard();
-		wizard.init( PlatformUI.getWorkbench(), new StructuredSelection() );
-		wizard.setNeedsProgressMonitor(true);
-		WizardDialog dialog = new WizardDialog(getShell(), wizard);
-		dialog.create();
-		dialog.getShell().setText(WorkbenchMessages.getString("CreateFolderAction.title")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(dialog.getShell(), IHelpContextIds.NEW_FOLDER_WIZARD);
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testNewProjectPage1() {
-		BasicNewProjectResourceWizard wizard = new BasicNewProjectResourceWizard();
-		wizard.init(PlatformUI.getWorkbench(), null);
-		wizard.setNeedsProgressMonitor(true);
-		
-		WizardDialog dialog = new WizardDialog(getShell(), wizard);
-		dialog.create();
-		dialog.getShell().setSize( Math.max(SIZING_WIZARD_WIDTH_2, dialog.getShell().getSize().x), SIZING_WIZARD_HEIGHT_2 );
-		dialog.getShell().setText(WorkbenchMessages.getString("CreateFileAction.title")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(dialog.getShell(), IHelpContextIds.NEW_PROJECT_WIZARD);
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testNewProjectPage2() {
-		BasicNewProjectResourceWizard wizard = new BasicNewProjectResourceWizard();
-		wizard.init(PlatformUI.getWorkbench(), null);
-		wizard.setNeedsProgressMonitor(true);
-		
-		WizardNewProjectReferencePage page = new WizardNewProjectReferencePage("basicReferenceProjectPage");//$NON-NLS-1$
-		page.setTitle(ResourceMessagesCopy.getString("NewProject.refeerenceTitle")); //$NON-NLS-1$
-		page.setDescription(ResourceMessagesCopy.getString("NewProject.referenceDescription")); //$NON-NLS-1$				
-		page.setWizard(wizard);
-		
-		WizardDialog dialog = new WizardDialog(getShell(), wizard);
-		dialog.create();
-		dialog.getShell().setSize( Math.max(SIZING_WIZARD_WIDTH_2, dialog.getShell().getSize().x), SIZING_WIZARD_HEIGHT_2 );
-		dialog.getShell().setText(WorkbenchMessages.getString("CreateFileAction.title")); //$NON-NLS-1$			
-		dialog.showPage(page);
-		WorkbenchHelp.setHelp(dialog.getShell(), IHelpContextIds.NEW_PROJECT_WIZARD);
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testNewProject() {
-		// Create wizard selection wizard.
-		NewWizard wizard = new NewWizard();
-		wizard.setProjectsOnly(true);
-		ISelection selection = getWorkbench().getActiveWorkbenchWindow().getSelectionService().getSelection();
-		IStructuredSelection selectionToPass = null;
-		if (selection instanceof IStructuredSelection)
-			selectionToPass = (IStructuredSelection) selection;
-		else
-			selectionToPass = StructuredSelection.EMPTY;
-		wizard.init(getWorkbench(), 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.
-		WizardDialog dialog = new WizardDialog(getShell(), wizard);
-		dialog.create();
-		dialog.getShell().setSize( Math.max(SIZING_WIZARD_WIDTH_2, dialog.getShell().getSize().x), SIZING_WIZARD_HEIGHT_2 );
-		WorkbenchHelp.setHelp(dialog.getShell(), IHelpContextIds.NEW_PROJECT_WIZARD);	
-		DialogCheck.assertDialog(dialog, this);
-	}
-	public void testNewResource() {
-		NewWizard wizard = new NewWizard();
-		ISelection selection = getWorkbench().getActiveWorkbenchWindow().getSelectionService().getSelection();
-		IStructuredSelection selectionToPass = null;
-		if (selection instanceof IStructuredSelection)
-			selectionToPass = (IStructuredSelection) selection;
-		else
-			selectionToPass = StructuredSelection.EMPTY;
-		wizard.init(getWorkbench(), 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);
-		
-		WizardDialog dialog = new WizardDialog(getShell(), wizard);
-		dialog.create();
-		dialog.getShell().setSize( Math.max(SIZING_WIZARD_WIDTH_2, dialog.getShell().getSize().x), SIZING_WIZARD_HEIGHT_2 );
-		WorkbenchHelp.setHelp(dialog.getShell(), IHelpContextIds.NEW_WIZARD);
-		DialogCheck.assertDialog(dialog, this);
-	}
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIWizardsAuto.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIWizardsAuto.java
deleted file mode 100644
index 448fea1..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIWizardsAuto.java
+++ /dev/null
@@ -1,279 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dialogs;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.dialogs.Dialog;
-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.IWizardPage;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
-import org.eclipse.ui.dialogs.WizardNewProjectReferencePage;
-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.dialogs.ExportWizard;
-import org.eclipse.ui.internal.dialogs.ImportWizard;
-import org.eclipse.ui.internal.dialogs.NewWizard;
-import org.eclipse.ui.tests.util.DialogCheck;
-import org.eclipse.ui.tests.util.FileUtil;
-import org.eclipse.ui.wizards.newresource.BasicNewFileResourceWizard;
-import org.eclipse.ui.wizards.newresource.BasicNewFolderResourceWizard;
-import org.eclipse.ui.wizards.newresource.BasicNewProjectResourceWizard;
-
-public class UIWizardsAuto extends TestCase {
-	private static final int SIZING_WIZARD_WIDTH    = 470;
-	private static final int SIZING_WIZARD_HEIGHT   = 550;
-	private static final int SIZING_WIZARD_WIDTH_2  = 500;
-	private static final int SIZING_WIZARD_HEIGHT_2 = 500;
-
-	private IProject project;
-		
-	public UIWizardsAuto(String name) {
-		super(name);
-	}
-	private Shell getShell() {
-		return DialogCheck.getShell();
-	}
-	private IWorkbench getWorkbench() {
-		return PlatformUI.getWorkbench();
-	}
-	
-	private WizardDialog exportWizard(IWizardPage page) {
-		ExportWizard wizard = new ExportWizard();
-		wizard.init(getWorkbench(), null);
-		IDialogSettings workbenchSettings = WorkbenchPlugin.getDefault().getDialogSettings();
-		IDialogSettings wizardSettings = workbenchSettings.getSection("ExportResourcesAction");
-		if(wizardSettings == null)
-			wizardSettings = workbenchSettings.addNewSection("ExportResourcesAction");
-		wizard.setDialogSettings(wizardSettings);
-		wizard.setForcePreviousAndNextButtons(true);
-		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.EXPORT_WIZARD);
-
-		if (page != null) {
-			page.setWizard(wizard);
-			dialog.showPage(page);
-		}
-		return dialog;
-	}
-	private WizardDialog importWizard(IWizardPage page) {
-		ImportWizard wizard = new ImportWizard();
-		wizard.init(getWorkbench(), null);
-		IDialogSettings workbenchSettings = WorkbenchPlugin.getDefault().getDialogSettings();
-		IDialogSettings wizardSettings = workbenchSettings.getSection("ImportResourcesAction");
-		if(wizardSettings==null)
-			wizardSettings = workbenchSettings.addNewSection("ImportResourcesAction");
-		wizard.setDialogSettings(wizardSettings);
-		wizard.setForcePreviousAndNextButtons(true);
-		
-		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.IMPORT_WIZARD);
-		
-		if (page != null) {
-			page.setWizard(wizard);
-			dialog.showPage(page);
-		}
-		return dialog;
-	}
-
-	/**
-	 * @see junit.framework.TestCase#tearDown()
-	 */
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		try {
-			if (project != null) {
-				project.delete(true,true,null);
-				project = null;
-			}
-		}
-		catch (CoreException e) {
-			fail(e.toString());
-		}
-	}
-
-	public void testExportResources() {//reference: ExportResourcesAction
-		Dialog dialog = exportWizard(null);
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-/**
- * 1GJWD2E: ITPUI:ALL - Test classes should not be released in public packages.
- * 
-	public void testFileSystemExport() {
-		Dialog dialog = exportWizard( DataTransferTestStub.newFileSystemResourceExportPage1(null) );
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testZipFileExport() {
-		Dialog dialog = exportWizard( DataTransferTestStub.newZipFileResourceExportPage1(null) );
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
- */
-	public void testImportResources() {//reference: ImportResourcesAction
-		Dialog dialog = importWizard(null);
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-/**
- * 1GJWD2E: ITPUI:ALL - Test classes should not be released in public packages.
- * 
-	public void testFileSystemImport() {
-		Dialog dialog = importWizard( DataTransferTestStub.newFileSystemResourceImportPage1(WorkbenchPlugin.getDefault().getWorkbench(), StructuredSelection.EMPTY) );
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testZipFileImport() {
-		Dialog dialog = importWizard( DataTransferTestStub.newZipFileResourceImportPage1(null) );
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
- */
-	public void testNewFile() {
-		BasicNewFileResourceWizard wizard = new BasicNewFileResourceWizard();
-		wizard.init( PlatformUI.getWorkbench(), new StructuredSelection() );
-		wizard.setNeedsProgressMonitor(true);
-		WizardDialog dialog = new WizardDialog(getShell(), wizard);
-		dialog.create();
-		dialog.getShell().setText(WorkbenchMessages.getString("CreateFileAction.title")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(dialog.getShell(),IHelpContextIds.NEW_FILE_WIZARD);
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	/**
-	 * Test for bug 30719 [Linked Resources] NullPointerException when setting filename for WizardNewFileCreationPage 
-	 */
-	public void testNewFile2() {
-		BasicNewFileResourceWizard wizard = new BasicNewFileResourceWizard() {
-			public void addPages() {
-				super.addPages();
-				IWizardPage page = getPage("newFilePage1");
-				assertTrue("Expected newFilePage1", page instanceof WizardNewFileCreationPage);
-				WizardNewFileCreationPage fileCreationPage = (WizardNewFileCreationPage) page;
-				
-				try {
-					project = FileUtil.createProject("testNewFile2");
-				}
-				catch (CoreException e) {
-					fail(e.getMessage());
-				}
-				fileCreationPage.setContainerFullPath(project.getFullPath());
-				fileCreationPage.setFileName("testFileName.test");
-			}			
-		};
-	
-		wizard.init( PlatformUI.getWorkbench(), new StructuredSelection() );
-		wizard.setNeedsProgressMonitor(true);
-		WizardDialog dialog = new WizardDialog(getShell(), wizard);
-		dialog.create();
-		dialog.getShell().setText(WorkbenchMessages.getString("CreateFileAction.title")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(dialog.getShell(), IHelpContextIds.NEW_FILE_WIZARD);
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testNewFolder() {
-		BasicNewFolderResourceWizard wizard = new BasicNewFolderResourceWizard();
-		wizard.init( PlatformUI.getWorkbench(), new StructuredSelection() );
-		wizard.setNeedsProgressMonitor(true);
-		WizardDialog dialog = new WizardDialog(getShell(), wizard);
-		dialog.create();
-		dialog.getShell().setText(WorkbenchMessages.getString("CreateFolderAction.title")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(dialog.getShell(), IHelpContextIds.NEW_FOLDER_WIZARD);
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testNewProjectPage1() {
-		BasicNewProjectResourceWizard wizard = new BasicNewProjectResourceWizard();
-		wizard.init(PlatformUI.getWorkbench(), null);
-		wizard.setNeedsProgressMonitor(true);
-		
-		WizardDialog dialog = new WizardDialog(getShell(), wizard);
-		dialog.create();
-		dialog.getShell().setSize( Math.max(SIZING_WIZARD_WIDTH_2, dialog.getShell().getSize().x), SIZING_WIZARD_HEIGHT_2 );
-		dialog.getShell().setText(WorkbenchMessages.getString("CreateFileAction.title")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(dialog.getShell(), IHelpContextIds.NEW_PROJECT_WIZARD);
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testNewProjectPage2() {
-		BasicNewProjectResourceWizard wizard = new BasicNewProjectResourceWizard();
-		wizard.init(PlatformUI.getWorkbench(), null);
-		wizard.setNeedsProgressMonitor(true);
-		
-		WizardNewProjectReferencePage page = new WizardNewProjectReferencePage("basicReferenceProjectPage");//$NON-NLS-1$
-		page.setTitle(ResourceMessagesCopy.getString("NewProject.refeerenceTitle")); //$NON-NLS-1$
-		page.setDescription(ResourceMessagesCopy.getString("NewProject.referenceDescription")); //$NON-NLS-1$				
-		page.setWizard(wizard);
-		
-		WizardDialog dialog = new WizardDialog(getShell(), wizard);
-		dialog.create();
-		dialog.getShell().setSize( Math.max(SIZING_WIZARD_WIDTH_2, dialog.getShell().getSize().x), SIZING_WIZARD_HEIGHT_2 );
-		dialog.getShell().setText(WorkbenchMessages.getString("CreateFileAction.title")); //$NON-NLS-1$			
-		dialog.showPage(page);
-		WorkbenchHelp.setHelp(dialog.getShell(), IHelpContextIds.NEW_PROJECT_WIZARD);
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testNewProject() {
-		// Create wizard selection wizard.
-		NewWizard wizard = new NewWizard();
-		wizard.setProjectsOnly(true);
-		ISelection selection = getWorkbench().getActiveWorkbenchWindow().getSelectionService().getSelection();
-		IStructuredSelection selectionToPass = null;
-		if (selection instanceof IStructuredSelection)
-			selectionToPass = (IStructuredSelection) selection;
-		else
-			selectionToPass = StructuredSelection.EMPTY;
-		wizard.init(getWorkbench(), 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.
-		WizardDialog dialog = new WizardDialog(getShell(), wizard);
-		dialog.create();
-		dialog.getShell().setSize( Math.max(SIZING_WIZARD_WIDTH_2, dialog.getShell().getSize().x), SIZING_WIZARD_HEIGHT_2 );
-		WorkbenchHelp.setHelp(dialog.getShell(), IHelpContextIds.NEW_PROJECT_WIZARD);	
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-	public void testNewResource() {
-		NewWizard wizard = new NewWizard();
-		ISelection selection = getWorkbench().getActiveWorkbenchWindow().getSelectionService().getSelection();
-		IStructuredSelection selectionToPass = null;
-		if (selection instanceof IStructuredSelection)
-			selectionToPass = (IStructuredSelection) selection;
-		else
-			selectionToPass = StructuredSelection.EMPTY;
-		wizard.init(getWorkbench(), 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);
-		
-		WizardDialog dialog = new WizardDialog(getShell(), wizard);
-		dialog.create();
-		dialog.getShell().setSize( Math.max(SIZING_WIZARD_WIDTH_2, dialog.getShell().getSize().x), SIZING_WIZARD_HEIGHT_2 );
-		WorkbenchHelp.setHelp(dialog.getShell(), IHelpContextIds.NEW_WIZARD);
-		DialogCheck.assertDialogTexts(dialog, this);
-	}
-
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIWorkingSetWizardsAuto.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIWorkingSetWizardsAuto.java
deleted file mode 100644
index 1ba1b72..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dialogs/UIWorkingSetWizardsAuto.java
+++ /dev/null
@@ -1,160 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dialogs;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.IWorkingSetManager;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.registry.WorkingSetDescriptor;
-import org.eclipse.ui.internal.registry.WorkingSetRegistry;
-import org.eclipse.ui.tests.TestPlugin;
-import org.eclipse.ui.tests.util.DialogCheck;
-import org.eclipse.ui.tests.util.FileUtil;
-import org.eclipse.ui.tests.util.UITestCase;
-
-/**
- * Abstract test class for the working set wizard tests.
- */
-public abstract class UIWorkingSetWizardsAuto extends UITestCase {
-	protected static final int SIZING_WIZARD_WIDTH = 470;
-	protected static final int SIZING_WIZARD_HEIGHT = 550;
-	protected static final int SIZING_WIZARD_WIDTH_2 = 500;
-	protected static final int SIZING_WIZARD_HEIGHT_2 = 500;
-	protected static final String WORKING_SET_NAME_1 = "ws1";
-	protected static final String WORKING_SET_NAME_2 = "ws2";
-
-	protected WizardDialog fWizardDialog;
-	protected Wizard fWizard;
-	protected WorkingSetDescriptor[] fWorkingSetDescriptors;
-	protected IProject p1;
-	protected IProject p2;
-	protected IFile f1;
-	protected IFile f2;
-
-	public UIWorkingSetWizardsAuto(String name) {
-		super(name);
-	}
-	protected void checkTreeItems() {
-		List widgets =
-			getWidgets(
-				(Composite) fWizardDialog.getCurrentPage().getControl(),
-				Tree.class);
-		Tree tree = (Tree) widgets.get(0);
-		TreeItem[] treeItems = tree.getItems();
-		for (int i = 0; i < treeItems.length; i++) {
-			treeItems[i].setChecked(true);
-			Event event = new Event();
-			event.detail = SWT.CHECK;
-			event.item = treeItems[i];
-			tree.notifyListeners(SWT.Selection, event);
-		}
-	}
-	private void deleteResources() throws CoreException{
-		try {
-			if (p1 != null) {
-				FileUtil.deleteProject(p1);
-			}
-			if (p2 != null) {
-				FileUtil.deleteProject(p2);
-			}
-
-		} catch (CoreException e) {
-			TestPlugin.getDefault().getLog().log(e.getStatus());
-			fail();
-			throw(e);
-			
-		}
-
-	}
-	private Shell getShell() {
-		return DialogCheck.getShell();
-	}
-	protected List getWidgets(Composite composite, Class clazz) {
-		Widget[] children = composite.getChildren();
-		List selectedChildren = new ArrayList();
-
-		for (int i = 0; i < children.length; i++) {
-			Widget child = children[i];
-			if (child.getClass() == clazz) {
-				selectedChildren.add(child);
-			}
-			if (child instanceof Composite) {
-				selectedChildren.addAll(getWidgets((Composite) child, clazz));
-			}
-		}
-		return selectedChildren;
-	}
-	/**
-	 * <code>fWizard</code> must be initialized by subclasses prior to
-	 * calling this.
-	 */
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-		
-		fWizardDialog = new WizardDialog(getShell(), fWizard);
-		fWizardDialog.create();
-		Shell dialogShell = fWizardDialog.getShell();
-		dialogShell.setSize(
-			Math.max(SIZING_WIZARD_WIDTH_2, dialogShell.getSize().x),
-			SIZING_WIZARD_HEIGHT_2);
-		WorkbenchHelp.setHelp(
-			fWizardDialog.getShell(),
-			IHelpContextIds.WORKING_SET_NEW_WIZARD);
-
-		WorkingSetRegistry registry =
-			WorkbenchPlugin.getDefault().getWorkingSetRegistry();
-		fWorkingSetDescriptors = registry.getWorkingSetDescriptors();
-
-		IWorkingSetManager workingSetManager =
-			fWorkbench.getWorkingSetManager();
-		IWorkingSet[] workingSets = workingSetManager.getWorkingSets();
-		for (int i = 0; i < workingSets.length; i++) {
-			workingSetManager.removeWorkingSet(workingSets[i]);
-		}
-		setupResources();
-	}
-	private void setupResources() throws CoreException {
-		p1 = FileUtil.createProject("TP1");
-		p2 = FileUtil.createProject("TP2");
-		f1 = FileUtil.createFile("f1.txt", p1);
-		f2 = FileUtil.createFile("f2.txt", p2);
-	}
-	protected void setTextWidgetText(String text, IWizardPage page) {
-		List widgets = getWidgets((Composite) page.getControl(), Text.class);
-		Text textWidget = (Text) widgets.get(0);
-		textWidget.setText(text);
-		textWidget.notifyListeners(SWT.Modify, new Event());
-	}
-	protected void doTearDown() throws Exception {
-		deleteResources();
-		super.doTearDown();
-	}
-
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/AbstractTestDropTarget.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/AbstractTestDropTarget.java
deleted file mode 100644
index 01582f2..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/AbstractTestDropTarget.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dnd;
-
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.WorkbenchPage;
-import org.eclipse.ui.internal.WorkbenchWindow;
-import org.eclipse.ui.internal.dnd.TestDropLocation;
-
-/**
- * @since 3.0
- */
-public abstract class AbstractTestDropTarget implements TestDropLocation {
-	//TestDragSource source;
-	
-	public abstract String toString();
-	public abstract Point getLocation();
-	
-//	public void setSource(TestDragSource source) {
-//		this.source = source;
-//	}
-	
-	public WorkbenchPage getPage() {
-		return (WorkbenchPage) ((WorkbenchWindow)PlatformUI.getWorkbench().getActiveWorkbenchWindow()).getActivePage();
-	}
-	
-//	public TestDragSource getSource() {
-//		return source;
-//	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/DragDropPerspectiveFactory.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/DragDropPerspectiveFactory.java
deleted file mode 100644
index bf221b2..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/DragDropPerspectiveFactory.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dnd;
-
-import org.eclipse.ui.IFolderLayout;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-/**
- * @since 3.0
- */
-public class DragDropPerspectiveFactory implements IPerspectiveFactory {
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPerspectiveFactory#createInitialLayout(org.eclipse.ui.IPageLayout)
-	 */
-	public void createInitialLayout(IPageLayout layout) {
-		String folderId = "org.eclipse.ui.test.dnd.mystack";
-		
-		IFolderLayout folder = layout.createFolder(folderId, IPageLayout.BOTTOM, 0.5f, IPageLayout.ID_EDITOR_AREA);
-		folder.addView(IPageLayout.ID_OUTLINE);
-		folder.addView(IPageLayout.ID_PROBLEM_VIEW);
-		folder.addView(IPageLayout.ID_PROP_SHEET);
-		
-		layout.addView(IPageLayout.ID_RES_NAV, IPageLayout.LEFT, 0.5f, IPageLayout.ID_EDITOR_AREA);
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/DragOperations.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/DragOperations.java
deleted file mode 100644
index d927e43..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/DragOperations.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dnd;
-
-import org.eclipse.jface.util.Geometry;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.internal.EditorSite;
-import org.eclipse.ui.internal.EditorStack;
-import org.eclipse.ui.internal.LayoutPart;
-import org.eclipse.ui.internal.PartPane;
-import org.eclipse.ui.internal.ViewSite;
-import org.eclipse.ui.internal.WorkbenchPage;
-import org.eclipse.ui.internal.dnd.DragUtil;
-import org.eclipse.ui.internal.dnd.TestDropLocation;
-import org.eclipse.ui.presentations.IPresentablePart;
-
-/**
- * @since 3.0
- */
-public class DragOperations {
-	
-	/**
-	 * Drags the given editor to the given location
-	 * 
-	 * @param editor
-	 * @param target
-	 * @param wholeFolder
-	 */
-	public static void drag(IEditorPart editor, TestDropLocation target, boolean wholeFolder) {
-		DragUtil.forceDropLocation(target);
-		
-		PartPane pane = ((EditorSite)editor.getSite()).getPane();
-		EditorStack parent = ((EditorStack)(pane.getContainer()));
-		
-		IPresentablePart part = wholeFolder ? null : pane.getPresentablePart(); 
-		parent.dragStart(part, Display.getDefault().getCursorLocation(), false);
-		
-		DragUtil.forceDropLocation(null);
-	}
-	
-	/**
-	 * Returns the name of the given editor
-	 * 
-	 * @param editor
-	 * @return
-	 */
-	public static String getName(IEditorPart editor) {
-		PartPane pane = ((EditorSite)editor.getSite()).getPane();
-		IPresentablePart part = pane.getPresentablePart();
-		
-		String title = editor.getTitle();
-		
-		if (part != null) {
-			title = part.getName();
-		}
-		
-		return title;
-	}
-	
-	public static PartPane getPane(IEditorPart editor) {
-		return ((EditorSite)editor.getSite()).getPane();
-	}
-	
-	public static PartPane getPane(IViewPart view) {
-		return ((ViewSite)view.getSite()).getPane();
-	}
-
-	public static Rectangle getDisplayBounds(PartPane pane) {
-		LayoutPart parent = ((LayoutPart)(pane.getContainer()));
-		Rectangle bounds = DragUtil.getDisplayBounds(parent.getControl());
-
-		return bounds;
-	}
-	
-	public static Point getLocation(PartPane pane, int side) {
-		
-		return DragOperations.getPoint(getDisplayBounds(pane), side);
-	}
-	
-	/**
-	 * @param page
-	 * @param i
-	 * @return
-	 */
-	public static Point getPointInEditorArea(WorkbenchPage page, int side) {
-		return DragOperations.getPoint(DragUtil.getDisplayBounds(page.getEditorPresentation().getLayoutPart().getControl()), side);
-	}
-
-	public static Point getPoint(Rectangle bounds, int side) {		
-		Point centerPoint = Geometry.centerPoint(bounds);
-		
-		switch(side) {
-			case SWT.TOP: return new Point(centerPoint.x, bounds.y + 1);
-			case SWT.BOTTOM: return new Point(centerPoint.x, bounds.y + bounds.height - 1);
-			case SWT.LEFT: return new Point(bounds.x + 1, centerPoint.y);
-			case SWT.RIGHT: return new Point(bounds.x + bounds.width - 1, centerPoint.y);
-		}
-		
-		return centerPoint;
-	}
-
-	public static String nameForConstant(int swtSideConstant) {
-		switch(swtSideConstant) {
-			case SWT.TOP: return "top";
-			case SWT.BOTTOM: return "bottom";
-			case SWT.LEFT: return "left";
-			case SWT.RIGHT: return "right";
-		}
-		
-		return "center";
-	}
-
-	/**
-	 * @param targetPart
-	 * @return
-	 */
-	public static String getName(IViewPart targetPart) {
-		return targetPart.getTitle();
-	}
-	
-	/**
-	 * 
-	 * 
-	 * @param page
-	 * @return
-	 */
-	public static String getLayoutDescription(WorkbenchPage page) {
-		StringBuffer buf = new StringBuffer();
-		
-		page.getActivePerspective().describeLayout(buf);
-
-		// Test result -- this will be a value in the resulting map
-		return buf.toString();
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/DragTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/DragTest.java
deleted file mode 100644
index 4ad10ff..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/DragTest.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dnd;
-
-import junit.framework.Assert;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.swt.SWT;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.internal.WorkbenchPage;
-import org.eclipse.ui.internal.WorkbenchWindow;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.tests.api.MockEditorPart;
-import org.eclipse.ui.tests.util.FileUtil;
-import org.eclipse.ui.tests.util.UITestCase;
-
-/**
- * Tests a single drag-drop scenario, given a dragSource capable of initiating the drag and
- * a dropTarget that can locate the drop location. DragTestSuite will create a large number
- * of DragTests by matching combintations of drag sources with drop targets.  
- *<p></p>
- * <p>
- * <b>TEST NAMES:</b>
- * </p>
- * <p>
- * The name of the test indicates what drag scenario was being attempted. For example, the
- * test "drag Navigator to right of editor area" drags the Navigator view over
- * the editor area, dropping it near the right edge. Drag sources are described as follows:  
- * </p>
- * <p></p>  
- * <p>
- * [maximized] viewname [folder] 
- * </p>
- * <p></p>
- * <p>Drag sources prefixed by "maximized" were maximized at the time the drag started.
- * The word [folder] indicates that folder containing the given editor or view was being dragged.
- * Otherwise, the view itself was being dragged.</p>
- * <p></p>
- * <p>Drop targets are described as follows:</p> 
- * <p></p>  
- * <p>
- * [left|right|top|bottom|center] of targetname 
- * </p>
- * <p></p>
- * <p>Drop targets are always on top of the target. That is, "right of Navigator" means "on top of
- * the navigator view near its right edge" -- NOT "to the right of the Navigator view". When the
- * drop target is on an edge, it is always located 1 pixel away from the middle of that edge.</p>  
- *
- *<p></p>
- * <p>
- * <b>WHAT TO DO IF THIS TEST FAILS:</b>
- * </p>
- * <p>
- * If a drag operation did not have the intended effect, the test will fail with
- * a result like: 
- * </p>
- * <p></p>
- * <p>
- * Expecting 'layout ((((*Navigator)-active (*Problems))|layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2)))-(*Outline, Properties))' and found 'layout ((layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2))-(*Outline, Problems, Properties))-active (*Navigator))'
- * </p>
- * <p></p>
- * <p>
- * The expected and actual results are ASCII pictures of the layout. A stack of views or editors
- * is shown as a list enclosed in brackets, with an asterisk indicating the selected pane. The stack
- * may be prefixed by the words "active" or "active_nofocus" if they currently have the active or 
- * active_nofocus appearance. Inactive stacks have no prefix. 
- * </p>
- * <p></p>
- * <p>
- * For example, (Problems, *Console, Properties) indicates a stack containing the Problems, Console, and Properties views, 
- * where the Console view was currently selected. The root layout and editor areas are shown as "layout (...)". A vertical sash is shown as a 
- * bar "|" and a horizontal sash is shown using a dash "-".  All drag tests are done in the Drag Test 
- * Perspective.
- * </p>
- * <p>
- * The initial layout is:
- * </p>
- * <p></p>
- * <p>
- * layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Problems, Properties))
- * </p>
- * <p></p>
- * <p>
- * Where editor 0 is "Mock Editor 1", and editors 1 and 2 are shown as "Mock Editor 2".
- * </p>
- * <p></p>
- * <p>
- * If you see a message like "dragtests.xml is out of date", this indicates that new tests
- * were added without describing their intended behavior in dragtests.xml. In that case, ensure that
- * there are currently no failures and regenerate dragtests.xml as described below.
- * </p>
- * <p></p>
- * <p>
- * <b>WHAT TO DO IF THE INTENTED BEHAVIOR CHANGES:</b>
- * </p>
- * <p>
- * If new tests are added or the existing drag/drop behavior is changed, it will
- * be necessary to update dragtests.xml. Do this as follows:</p>
- * <ul>
- * <li>include org.eclipse.ui.tests with your other plugins and launch an inner workspace</li>
- * <li>Go to customize perspective... -> commands -> Drag Test. This will add the "Drag-Drop Snapshot" item to your menubar.</li>
- * <li>Select "Drag-Drop Snapshot"</li>
- * <li>Select a file where the new shapshot will be saved, and click Okay</li>
- * <li>DO NOT use the mouse while generating dragtests.xml. This
- *     can interfere with the tests and cause an incorrect behavior to be recorded as the expected behavior.
- *     In particular, focus changes should be avoided.</li>
- * <li>Wait for several minutes while the test runs</li>
- * <li>When the test is complete, copy the file over the old data/dragtests.xml file</li> 
- * </ul>
- * <p>
- * At this point, the current drag/drop behavior will be considered the correct behavior,
- * and deviations will cause the test suites to fail.
- * </p>
- * 
- * @since 3.0
- */
-public class DragTest extends UITestCase {
-	TestDragSource dragSource;
-	AbstractTestDropTarget dropTarget;
-	String intendedResult;
-
-	// 
-	static IProject project;
-	static IFile file1, file2;
-	IEditorPart editor1, editor2;
-	static IFile file3;
-	IEditorPart editor3;
-	static WorkbenchWindow window;
-	static WorkbenchPage page;
-	
-	public DragTest(TestDragSource dragSource, AbstractTestDropTarget dropTarget) {
-		super("drag " + dragSource.toString() + " to " + dropTarget.toString());
-		this.dragSource = dragSource;
-		this.dropTarget = dropTarget;
-	}
-	
-	public void setExpectedResult(String intended) {
-		intendedResult = intended;
-	}
-	
-	protected void runTest() throws Throwable {
-		String resultingLayout = internalTest();
-		
-		if (intendedResult != null) {
-			if (!resultingLayout.equals(intendedResult)) {
-				String errorMessage = "Expecting '" + intendedResult + "' and found '" + resultingLayout + "'"; 
-				
-				System.out.println("Failed " + getName() + ": " + errorMessage);
-				
-				Assert.assertEquals("Drag operation resulted in incorrect layout", intendedResult, resultingLayout);
-			}
-		} else {
-			fail("data/dragtests.xml is missing data for test" + getName());
-		}
-		
-		page.getActivePerspective().testInvariants();
-	}
-	
-	public void doSetUp() throws Exception {
-		// don't allow UITestCase to manage the deactivation of our window
-		manageWindows(false);
-		//window = (WorkbenchWindow)openTestWindow();
-		
-		//initialize the window
-		if (window == null) {
-			window = (WorkbenchWindow)
-				fWorkbench.openWorkbenchWindow(
-						"org.eclipse.ui.tests.dnd.dragdrop",
-						ResourcesPlugin.getWorkspace());
-					
-			page = (WorkbenchPage) window.getActivePage();
-			
-			project = FileUtil.createProject("DragTest"); //$NON-NLS-1$
-			file1 = FileUtil.createFile("DragTest1.txt", project); //$NON-NLS-1$
-			file2 = FileUtil.createFile("DragTest2.txt", project); //$NON-NLS-1$
-			file3 = FileUtil.createFile("DragTest3.txt", project); //$NON-NLS-1$
-		}
-		
-		page.resetPerspective();
-		page.closeAllEditors(false);
-		//ensure that contentoutline is the focus part (and at the top of its stack)
-		page.showView("org.eclipse.ui.views.ContentOutline");
-
-		editor1 = page.openEditor(new FileEditorInput(file1), MockEditorPart.ID1);
-		editor2 = page.openEditor(new FileEditorInput(file2), MockEditorPart.ID2);
-		editor3 = page.openEditor(new FileEditorInput(file3), MockEditorPart.ID2);
-
-		DragOperations.drag(editor2, new EditorDropTarget(0, SWT.CENTER), false);
-		DragOperations.drag(editor3, new EditorAreaDropTarget(SWT.RIGHT), false);
-	}
-	
-	private String internalTest() throws Exception {
-		dragSource.setPage(page);
-		//dropTarget.setSource(dragSource);
-		
-		dragSource.drag(dropTarget);
-
-		return DragOperations.getLayoutDescription(page);
-	}	
-	
-	/**
-	 * Programatically run the test
-	 * 
-	 * @return
-	 * @throws Exception
-	 */
-	public String performTest() throws Exception {
-		setUp();
-		try {
-			String result = internalTest();
-			return result;
-		}
-		finally {
-			tearDown();
-		}
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/DragTestSuite.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/DragTestSuite.java
deleted file mode 100644
index 7bc79cf..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/DragTestSuite.java
+++ /dev/null
@@ -1,268 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dnd;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.OutputStreamWriter;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.swt.SWT;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.XMLMemento;
-import org.eclipse.ui.tests.TestPlugin;
-
-
-/**
- * @since 3.0
- */
-public class DragTestSuite extends TestSuite {
-	
-    /**
-     * Returns the suite. This is required to use the JUnit Launcher.
-     */
-    public static Test suite() {
-        return new DragTestSuite();
-    }
-	
-	public DragTestSuite() {
-		String resNav = IPageLayout.ID_RES_NAV;
-		String probView = IPageLayout.ID_PROBLEM_VIEW;
-				
-		// Drag sources for views
-		TestDragSource[] viewDragSources = new TestDragSource[] {
-			new ViewDragSource(resNav, false),
-			new ViewDragSource(resNav, true),
-			new ViewDragSource(probView, false),
-			new ViewDragSource(probView, true)
-		};
-				
-		// Drag sources for editors
-		TestDragSource[] editorDragSources = new TestDragSource[] {
-			new EditorDragSource(0, false),
-			new EditorDragSource(0, true),
-			new EditorDragSource(2, false),
-			new EditorDragSource(2, true)
-		};
-		
-		// Drop targets that will only be tested for views
-		AbstractTestDropTarget[] viewDropTargets = new AbstractTestDropTarget[] {
-				
-			// Editor area
-			new EditorAreaDropTarget(SWT.LEFT),
-			new EditorAreaDropTarget(SWT.RIGHT),
-			new EditorAreaDropTarget(SWT.TOP),
-			new EditorAreaDropTarget(SWT.BOTTOM),
-				
-			// Resource navigator (a view that isn't in a stack)
-			new ViewDropTarget(resNav, SWT.LEFT),
-			new ViewDropTarget(resNav, SWT.RIGHT),
-			new ViewDropTarget(resNav, SWT.BOTTOM),
-			new ViewDropTarget(resNav, SWT.CENTER),
-			new ViewDropTarget(resNav, SWT.TOP),
-			
-			// Problems view (a view that is in a stack)
-			// Omit the top from this test, since the meaning of dropping on the top border of 
-			// a stack may change in the near future
-			new ViewDropTarget(probView, SWT.LEFT),
-			new ViewDropTarget(probView, SWT.RIGHT),
-			new ViewDropTarget(probView, SWT.BOTTOM),
-			new ViewDropTarget(probView, SWT.CENTER),
-			
-			// Fast view bar
-			new FastViewBarDropTarget(),
-			
-			// View tabs
-			new ViewTabDropTarget(resNav),
-			new ViewTabDropTarget(probView)
-		};
-		
-		// Drop targets that will only be tested for editors
-		AbstractTestDropTarget[] editorDropTargets = new AbstractTestDropTarget[] {
-			// A view
-			new ViewDropTarget(resNav, SWT.CENTER),
-	
-			// A stand-alone editor
-			new EditorDropTarget(2, SWT.LEFT),
-			new EditorDropTarget(2, SWT.RIGHT),
-			new EditorDropTarget(2, SWT.TOP),
-			new EditorDropTarget(2, SWT.BOTTOM),
-			new EditorDropTarget(2, SWT.CENTER),
-	
-			// Editors (a stack of editors)
-			new EditorDropTarget(0, SWT.LEFT),
-			new EditorDropTarget(0, SWT.RIGHT),
-			new EditorDropTarget(0, SWT.BOTTOM),
-			new EditorDropTarget(0, SWT.CENTER)
-		};
-			
-		// Drop targets that will be tested for both views and editors
-		AbstractTestDropTarget[] commonDropTargets = new AbstractTestDropTarget[] {
-			// Test dragging to the edges of the workbench window
-			new WindowDropTarget(SWT.TOP),
-			new WindowDropTarget(SWT.BOTTOM), 
-			new WindowDropTarget(SWT.LEFT), 
-			new WindowDropTarget(SWT.RIGHT)				
-		};
-		
-		// Drag sources for maximized views
-		TestDragSource[] maximizedViewDragSources = new TestDragSource[] {
-			new ViewDragSource(resNav, false, true),
-			new ViewDragSource(resNav, true, true),
-			new ViewDragSource(probView, false, true),
-			new ViewDragSource(probView, true, true)		
-		};
-		
-		// Drop targets that will only be tested for maximized views (we only need to ensure
-		// that the view will become un-maximized -- the regular view test cases will excercise
-		// the remainder of the view dragging code). We need to drag each kind of maximized view
-		// to something that couldn't be seen while the view is maximized -- like the editor area).
-		AbstractTestDropTarget[] maximizedViewDropTargets = new AbstractTestDropTarget[] {
-			new EditorAreaDropTarget(SWT.RIGHT)
-		};
-		
-		Map expectedResults = loadExpectedResults();
-		
-		// Now generate all test cases
-		addAllCombinations(maximizedViewDragSources, maximizedViewDropTargets, expectedResults);
-		addAllCombinations(viewDragSources, viewDropTargets, expectedResults);
-		addAllCombinations(viewDragSources, commonDropTargets, expectedResults);
-		addAllCombinations(editorDragSources, editorDropTargets, expectedResults);
-		addAllCombinations(editorDragSources, commonDropTargets, expectedResults);
-	}
-	
-	private void addAllCombinations(TestDragSource[] dragSources, 
-			AbstractTestDropTarget[] dropTargets, Map expectedResults) {
-
-		// Now, attempt to drag every combination of drag sources to drop targets.
-		for (int srcId = 0; srcId < dragSources.length; srcId++) {
-			for (int destId = 0; destId < dropTargets.length; destId++) {
-				TestDragSource src = dragSources[srcId];
-				AbstractTestDropTarget target = dropTargets[destId];
-				
-				DragTest newTest = new DragTest(src, target);
-				newTest.setExpectedResult((String)expectedResults.get(newTest.getName()));
-				addTest(newTest);
-			}
-		}
-	}
-	
-	public Map generateExpectedResults(IProgressMonitor mon) throws Exception {
-		int count = testCount();
-		mon.beginTask("Running tests", count);
-		HashMap result = new HashMap(count * 3);
-		
-		for (int idx = 0; idx < count; idx++) {
-			DragTest next = (DragTest)testAt(idx);
-			String name = next.getName();
-			
-			mon.subTask(name);
-			String testResult = next.performTest();
-			
-			result.put(name, testResult);
-			mon.worked(1);
-			
-			if (mon.isCanceled()) {
-				return result;
-			}
-		}
-		
-		mon.done();
-		
-		return result;
-	}
-	
-	public static void saveResults(String filename, Map toWrite) throws IOException {
-		//toSave.createNewFile();
-		
-		FileOutputStream output;
-		output = new FileOutputStream(filename);
-		
-		OutputStreamWriter writer = new OutputStreamWriter(output);
-		
-		XMLMemento memento = XMLMemento.createWriteRoot("dragtests");
-		
-		Iterator iter = toWrite.keySet().iterator();
-		while (iter.hasNext()) {
-			String next = (String)iter.next();
-			
-			IMemento child = memento.createChild("test");
-			child.putString("name", next);
-			child.putString("result", (String)toWrite.get(next));
-		}
-		
-		memento.save(writer);
-		output.close();
-	}
-	
-	/**
-	 * Loads and returns the set of expected test results from the file data/dragtests.xml
-	 * Returns a map where the test names are keys and the resulting layout are values.
-	 * 
-	 * @return the set of expected results from the drag tests
-	 * @throws Exception
-	 */
-	public Map loadExpectedResults() {
-		TestPlugin plugin = TestPlugin.getDefault();
-		HashMap result = new HashMap();
-		
-		URL fullPathString = plugin.getDescriptor().find(new Path("data/dragtests.xml"));
-	
-		if (fullPathString != null) {
-			
-			IPath path = new Path(fullPathString.getPath());
-			
-			File theFile = path.toFile();
-			
-			FileInputStream input;
-			try {
-				input = new FileInputStream(theFile);
-			} catch (FileNotFoundException e) {
-				return result;
-			}
-			
-			InputStreamReader reader = new InputStreamReader(input);
-			
-			XMLMemento memento;
-			try {
-				memento = XMLMemento.createReadRoot(reader);
-				IMemento[] children = memento.getChildren("test");
-				
-				for (int idx = 0; idx < children.length; idx++) {
-					IMemento child = children[idx];
-					
-					String name = child.getString("name");
-					String testResult = child.getString("result");
-					
-					result.put(name, testResult);
-				}
-			} catch (WorkbenchException e1) {
-				return result;
-			}
-
-		}
-		
-		return result;
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/EditorAreaDropTarget.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/EditorAreaDropTarget.java
deleted file mode 100644
index 7842475..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/EditorAreaDropTarget.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dnd;
-
-import org.eclipse.swt.graphics.Point;
-
-/**
- * @since 3.0
- */
-public class EditorAreaDropTarget extends AbstractTestDropTarget {
-	int side;
-
-	/**
-	 * @param window
-	 * @param side
-	 */
-	public EditorAreaDropTarget(int side) {
-		super();
-		this.side = side;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.tests.dnd.TestDropTarget#getName()
-	 */
-	public String toString() {
-		return DragOperations.nameForConstant(side) + " of editor area";
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.tests.dnd.TestDropTarget#getLocation()
-	 */
-	public Point getLocation() {
-		return DragOperations.getPointInEditorArea(getPage(), side);
-	}
-	
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/EditorDragSource.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/EditorDragSource.java
deleted file mode 100644
index f48d6a0..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/EditorDragSource.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dnd;
-
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.internal.dnd.TestDropLocation;
-
-/**
- * @since 3.0
- */
-public class EditorDragSource extends TestDragSource {
-	
-	int editorIdx;
-	boolean wholeFolder;
-	
-	/**
-	 * @param editor
-	 * @param wholeFolder
-	 */
-	public EditorDragSource(int editorIdx, boolean wholeFolder) {
-		super();
-		this.editorIdx = editorIdx;
-		this.wholeFolder = wholeFolder;
-	}
-	
-	IEditorPart getPart() {
-		return getPage().getEditors()[editorIdx];
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.tests.dnd.TestDragSource#getName()
-	 */
-	public String toString() {
-		String title = "editor " + editorIdx;
-		
-		if (wholeFolder) {
-			return title + " folder";
-		}
-		return title;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.tests.dnd.TestDragSource#drag(org.eclipse.swt.graphics.Point)
-	 */
-	public void drag(TestDropLocation target) {
-		DragOperations.drag(getPart(), target, wholeFolder);
-	}
-	
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/EditorDropTarget.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/EditorDropTarget.java
deleted file mode 100644
index 8fc7c8b..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/EditorDropTarget.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dnd;
-
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.IEditorPart;
-
-/**
- * @since 3.0
- */
-public class EditorDropTarget extends AbstractTestDropTarget {
-	
-	int editorIdx;
-	int side;
-	
-	public EditorDropTarget(int editorIdx, int side) {
-		this.editorIdx = editorIdx;
-		this.side = side;
-	}
-	
-	IEditorPart getPart() {
-		return getPage().getEditors()[editorIdx];
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.tests.dnd.TestDropTarget#getName()
-	 */
-	public String toString() {
-		return DragOperations.nameForConstant(side) + " of editor " + editorIdx;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.tests.dnd.TestDropTarget#getLocation()
-	 */
-	public Point getLocation() {
-		return DragOperations.getLocation(DragOperations.getPane(getPart()), side);
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/EditorTabDropTarget.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/EditorTabDropTarget.java
deleted file mode 100644
index 0a97887..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/EditorTabDropTarget.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dnd;
-
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.ui.IEditorPart;
-
-/**
- * @since 3.0
- */
-public class EditorTabDropTarget extends AbstractTestDropTarget {
-	
-	int editorIdx;
-	
-	public EditorTabDropTarget(int editorIdx) {
-		this.editorIdx = editorIdx;
-	}
-	
-	IEditorPart getPart() {
-		return getPage().getEditors()[editorIdx];
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.tests.dnd.TestDropTarget#getName()
-	 */
-	public String toString() {
-		return "editor " + editorIdx + " tab area";
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.tests.dnd.TestDropTarget#getLocation()
-	 */
-	public Point getLocation() {
-		Rectangle bounds = DragOperations.getDisplayBounds(DragOperations.getPane(getPart()));
-		
-		return new Point(bounds.x + 8, bounds.y + 8);
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/FastViewBarDropTarget.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/FastViewBarDropTarget.java
deleted file mode 100644
index 8c484c8..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/FastViewBarDropTarget.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dnd;
-
-import org.eclipse.jface.util.Geometry;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.internal.WorkbenchWindow;
-import org.eclipse.ui.internal.dnd.DragUtil;
-
-/**
- * @since 3.0
- */
-public class FastViewBarDropTarget extends AbstractTestDropTarget {
-	
-	/**
-	 * @param window
-	 */
-	public FastViewBarDropTarget() {
-		super();
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		return "fast view bar";
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.tests.dnd.TestDropTarget#getLocation()
-	 */
-	public Point getLocation() {
-		WorkbenchWindow window = (WorkbenchWindow)getPage().getWorkbenchWindow();
-		
-		Control control = window.getFastViewBar().getControl();
-		Rectangle region = DragUtil.getDisplayBounds(control);
-		Point result = Geometry.centerPoint(region); 
-		
-		return result;
-	}
-
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/GenerateDragSnapshotAction.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/GenerateDragSnapshotAction.java
deleted file mode 100644
index f61803f..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/GenerateDragSnapshotAction.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dnd;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.Map;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-import org.eclipse.ui.tests.TestPlugin;
-
-/**
- * @since 3.0
- */
-public class GenerateDragSnapshotAction
-		implements
-			IWorkbenchWindowActionDelegate {
-	
-	IWorkbenchWindow window;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
-	 */
-	public void dispose() {
-		// TODO Auto-generated method stub
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void init(IWorkbenchWindow window) {
-		this.window = window;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		FileDialog dialog = new FileDialog(window.getShell());
-		
-		dialog.setFileName("dragtests.xml");
-		
-		final String filename = dialog.open();
-		
-		if (filename == null) {
-			return;
-		}
-		
-		final DragTestSuite testSuite = new DragTestSuite();
-
-		try {
-			new ProgressMonitorDialog(window.getShell()).run(true, true, new IRunnableWithProgress() {
-				public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-					try {
-						final IProgressMonitor finalMon = monitor;
-						
-						Display.getDefault().syncExec(new Runnable() {
-							public void run() {
-								Map result;
-								try {
-									result = testSuite.generateExpectedResults(finalMon);
-									if (!finalMon.isCanceled()) {
-										DragTestSuite.saveResults(filename, result);
-									}
-								} catch (Exception e) {
-									openError(e);								
-								}
-							}
-						});
-					} catch (Exception e) {
-						openError(e);					
-					}
-				}
-			});
-		} catch (Exception e) {
-			openError(e);
-		}
-	}
-	
-	private void openError(Exception e) {
-		String msg = e.getMessage();
-		if (msg == null) {
-			msg = e.getClass().getName();
-		}
-		
-		e.printStackTrace();
-		
-		IStatus status = new Status(Status.ERROR, 
-				TestPlugin.getDefault().getDescriptor().getUniqueIdentifier(),
-				0, msg, e);
-				
-		TestPlugin.getDefault().getLog().log(status);
-		
-		ErrorDialog.openError(window.getShell(), "Error", msg, status);		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/TestDragSource.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/TestDragSource.java
deleted file mode 100644
index e36edb6..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/TestDragSource.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dnd;
-
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.WorkbenchPage;
-import org.eclipse.ui.internal.WorkbenchWindow;
-import org.eclipse.ui.internal.dnd.TestDropLocation;
-
-/**
- * @since 3.0
- */
-public abstract class TestDragSource {
-	private WorkbenchPage page = (WorkbenchPage) ((WorkbenchWindow)PlatformUI.getWorkbench().getActiveWorkbenchWindow()).getActivePage();
-	
-	public abstract String toString();
-	public abstract void drag(TestDropLocation target);
-	
-	public void setPage(WorkbenchPage page) {
-		this.page = page;
-	}
-	
-	public WorkbenchPage getPage() {
-		return page;
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/ViewDragSource.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/ViewDragSource.java
deleted file mode 100644
index 14fde2e..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/ViewDragSource.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dnd;
-
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.internal.PartPane;
-import org.eclipse.ui.internal.ViewStack;
-import org.eclipse.ui.internal.ViewSite;
-import org.eclipse.ui.internal.WorkbenchPage;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.dnd.DragUtil;
-import org.eclipse.ui.internal.dnd.TestDropLocation;
-import org.eclipse.ui.internal.registry.IViewDescriptor;
-import org.eclipse.ui.presentations.IPresentablePart;
-
-/**
- * @since 3.0
- */
-public class ViewDragSource extends TestDragSource {
-
-	String targetPart;
-	boolean wholeFolder;
-	boolean maximized = false;
-	
-	public ViewDragSource(String part, boolean dragWholeFolder) {
-		this(part, dragWholeFolder, false);
-	}
-	
-	public ViewDragSource(String part, boolean dragWholeFolder, boolean maximized) {
-		this.maximized = maximized;
-		this.targetPart = part;
-		
-		wholeFolder = dragWholeFolder;
-	}
-	
-	IViewPart getPart() {
-		return getPage().findView(targetPart);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.tests.dnd.TestDragSource#getName()
-	 */
-	public String toString() {
-		IViewDescriptor desc = WorkbenchPlugin.getDefault().getViewRegistry().find(targetPart);
-		String title = desc.getLabel();
-		
-		if (wholeFolder) {
-			title = title + " folder";
-		}
-		
-		if (maximized) {
-			title = "maximized " + title;
-		}
-		
-		return title;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.tests.dnd.TestDragSource#drag(org.eclipse.swt.graphics.Point)
-	 */
-	public void drag(TestDropLocation target) {
-		IViewPart part = getPart();
-		
-		WorkbenchPage page = getPage();
-		PartPane pane = ((ViewSite)part.getSite()).getPane();
-		if (maximized) {
-			page.toggleZoom(pane.getPartReference());
-		}
-		
-		DragUtil.forceDropLocation(target);
-		ViewStack parent = ((ViewStack)(pane.getContainer()));
-		
-		IPresentablePart presentablePart = wholeFolder ? null : pane.getPresentablePart(); 
-		parent.dragStart(presentablePart, Display.getDefault().getCursorLocation(), false);
-		
-		DragUtil.forceDropLocation(null);
-	}
-	
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/ViewDropTarget.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/ViewDropTarget.java
deleted file mode 100644
index 453a773..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/ViewDropTarget.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dnd;
-
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.registry.IViewDescriptor;
-
-/**
- * @since 3.0
- */
-public class ViewDropTarget extends AbstractTestDropTarget {
-	
-	String targetPart;
-	int side;
-	
-	public ViewDropTarget(String part, int side) {
-		targetPart = part;
-		this.side = side;
-	}
-	
-	IViewPart getPart() {
-		return getPage().findView(targetPart);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.tests.dnd.TestDropTarget#getName()
-	 */
-	public String toString() {
-		IViewDescriptor desc = WorkbenchPlugin.getDefault().getViewRegistry().find(targetPart);
-		String title = desc.getLabel();
-		
-		return DragOperations.nameForConstant(side) + " of " + title;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.tests.dnd.TestDropTarget#getLocation()
-	 */
-	public Point getLocation() {
-		return DragOperations.getLocation(DragOperations.getPane(getPart()), side);
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/ViewTabDropTarget.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/ViewTabDropTarget.java
deleted file mode 100644
index 8615bef..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/ViewTabDropTarget.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dnd;
-
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.registry.IViewDescriptor;
-
-/**
- * Note: this drop location is hardcoded to assume a presentation that has
- * a tab drop location at the upper left corner, 8 pixels away from the
- * edge in both dimensions. This drop location should be omitted from the
- * tests in situations where this does not apply (this is not a problem
- * right now since the current tests only use the tabs-on-top drop
- * location).
- * 
- * @since 3.0
- */
-public class ViewTabDropTarget extends AbstractTestDropTarget {
-	
-	String targetPart;
-	
-	public ViewTabDropTarget(String part) {
-		targetPart = part;
-	}
-	
-	IViewPart getPart() {
-		return getPage().findView(targetPart);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.tests.dnd.TestDropTarget#getName()
-	 */
-	public String toString() {
-		IViewDescriptor desc = WorkbenchPlugin.getDefault().getViewRegistry().find(targetPart);
-		String title = desc.getLabel();
-		
-		return title + " view tab area";
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.tests.dnd.TestDropTarget#getLocation()
-	 */
-	public Point getLocation() {
-		Rectangle bounds = DragOperations.getDisplayBounds(DragOperations.getPane(getPart()));
-		
-		return new Point(bounds.x + 8, bounds.y + 8);
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/WindowDropTarget.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/WindowDropTarget.java
deleted file mode 100644
index d3bf6d2..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/WindowDropTarget.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dnd;
-
-import org.eclipse.jface.util.Geometry;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * @since 3.0
- */
-public class WindowDropTarget extends AbstractTestDropTarget {
-	
-	private int side;
-	
-	public WindowDropTarget(int side) {
-		this.side = side;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.tests.dnd.TestDropTarget#getName()
-	 */
-	public String toString() {		
-		return DragOperations.nameForConstant(side) + " of window";
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.tests.dnd.TestDropTarget#getLocation()
-	 */
-	public Point getLocation() {
-		Shell shell = getPage().getWorkbenchWindow().getShell();
-		Rectangle clientArea = shell.getClientArea();
-		
-		return DragOperations.getPoint(Geometry.toDisplay(shell, clientArea), side);
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dynamicplugins/DynamicPluginsTestSuite.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dynamicplugins/DynamicPluginsTestSuite.java
deleted file mode 100644
index aaf64e1..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dynamicplugins/DynamicPluginsTestSuite.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dynamicplugins;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * Test suite for dynamic plug-in support.
- */
-public class DynamicPluginsTestSuite extends TestSuite {
-	/**
-	 * Returns the suite.  This is required to
-	 * use the JUnit Launcher.
-	 */
-	public static Test suite() {
-		return new DynamicPluginsTestSuite();
-	}
-	
-	/**
-	 * Construct the test suite.
-	 */
-	public DynamicPluginsTestSuite() {
-		addTest(new TestSuite(PerspectiveTests.class));		
-		addTest(new TestSuite(ViewTests.class));		
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dynamicplugins/DynamicUtils.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dynamicplugins/DynamicUtils.java
deleted file mode 100644
index 236b797..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dynamicplugins/DynamicUtils.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dynamicplugins;
-
-import java.io.IOException;
-import java.net.URL;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.ui.tests.TestPlugin;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleException;
-
-public class DynamicUtils {
-	
-	public static final Bundle installPlugin(String pluginName) throws IOException, BundleException {
-		// Programmatically install a new plugin
-		TestPlugin plugin = TestPlugin.getDefault();
-		if (plugin == null) 
-			throw new IllegalStateException("TestPlugin default reference is null");
-		String pluginLocation = null;
-		URL dataURL = Platform.resolve(plugin.getBundle().getEntry(pluginName));
-		pluginLocation = "reference:" + dataURL.toExternalForm();
-		return TestInstallUtil.installBundle(pluginLocation);		
-	}
-	
-	public static void uninstallPlugin(Bundle bundle) throws BundleException {
-		TestInstallUtil.uninstallBundle(bundle);
-	}
-
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dynamicplugins/PerspectiveTests.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dynamicplugins/PerspectiveTests.java
deleted file mode 100644
index 831bb8e..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dynamicplugins/PerspectiveTests.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dynamicplugins;
-
-import java.io.IOException;
-
-import org.eclipse.core.runtime.IExtensionDelta;
-import org.eclipse.core.runtime.IRegistryChangeEvent;
-import org.eclipse.core.runtime.IRegistryChangeListener;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IPerspectiveRegistry;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.IWorkbenchConstants;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.tests.util.UITestCase;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleException;
-
-/**
- * Tests to check the addition of a new perspective once the perspective
- * registry is loaded.
- */
-
-public class PerspectiveTests extends UITestCase implements IRegistryChangeListener {
-	private IPerspectiveRegistry fReg;
-	volatile boolean perspectiveRegistryUpdated = false;
-	
-	public PerspectiveTests(String testName) {
-		super(testName);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IRegistryChangeListener#registryChanged(org.eclipse.core.runtime.IRegistryChangeEvent)
-	 */
-	public void registryChanged(IRegistryChangeEvent event) {
-		// Just retrieve any changes relating to the extension point
-		// org.eclipse.ui.perspectives
-		IExtensionDelta delta = event.getExtensionDelta(WorkbenchPlugin.PI_WORKBENCH, IWorkbenchConstants.PL_PERSPECTIVES, "newPerspective1.testDynamicPerspectiveAddition");
-		if (delta != null && delta.getKind() == IExtensionDelta.ADDED)
-			perspectiveRegistryUpdated = true;
-	}
-
-	public void testFindPerspectiveInRegistry() {
-		// Just try to find the new perspective.  Don't actually try to
-		// do anything with it as the class it refers to does not exist.
-		Platform.getExtensionRegistry().addRegistryChangeListener(this);
-		perspectiveRegistryUpdated = false;
-		Bundle newBundle = null;
-		try {
-			newBundle = DynamicUtils.installPlugin("data/org.eclipse.newPerspective1");
-		} catch (IOException e1) {
-			e1.printStackTrace();
-			fail("Dynamic install generated an IOException");
-		} catch (BundleException e1) {
-			e1.printStackTrace();
-			fail("Dynamic install generated a BundleException");
-		} catch (IllegalStateException e1) {
-			e1.printStackTrace();
-			fail("Dynamic install generated an IllegalStateException - this plugin has been installed previously");
-		}
-		try {
-			long startTime = System.currentTimeMillis();
-			long potentialEndTime = startTime + 1000;
-			boolean timeToFail = false;
-			while (!perspectiveRegistryUpdated && !timeToFail) {
-				processEvents();
-				timeToFail = System.currentTimeMillis() > potentialEndTime;
-				try {
-					Thread.sleep(100);
-				} catch (InterruptedException e) {
-					e.printStackTrace();
-				}
-			}
-			assertEquals("Test failed due to timeout", false, timeToFail);
-			fReg = PlatformUI.getWorkbench().getPerspectiveRegistry();
-	
-			IPerspectiveDescriptor found = fReg.findPerspectiveWithId("org.eclipse.newPerspective1.newPerspective1");
-			assertNotNull(found);
-		} finally {
-			try {
-				Platform.getExtensionRegistry().removeRegistryChangeListener(this);
-				DynamicUtils.uninstallPlugin(newBundle);
-			} catch (BundleException e) {
-				// just cleaning up
-			}
-		}
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dynamicplugins/TestInstallUtil.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dynamicplugins/TestInstallUtil.java
deleted file mode 100644
index b31cb0b..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dynamicplugins/TestInstallUtil.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dynamicplugins;
-
-import junit.framework.TestCase;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.BundleException;
-import org.osgi.framework.FrameworkEvent;
-import org.osgi.framework.FrameworkListener;
-import org.osgi.framework.ServiceReference;
-import org.osgi.service.packageadmin.PackageAdmin;
-
-public class TestInstallUtil extends TestCase {
-	static BundleContext context;
-
-	public static void setContext(BundleContext newContext) {
-		context = newContext;
-	}
-
-	public static Bundle installBundle(String pluginLocation) throws BundleException, IllegalStateException {
-		Bundle target = context.installBundle(pluginLocation);
-		int state = target.getState();
-		if (state != Bundle.INSTALLED)
-			throw new IllegalStateException("Bundle " + target + " is in a wrong state: " + state);
-		refreshPackages(new Bundle[]{target});
-		return target;
-	}
-	
-	public static void uninstallBundle(Bundle target) throws BundleException {
-		target.uninstall();
-		refreshPackages(null);
-	}	
-
-	public static void refreshPackages(Bundle[] bundles) {
-		ServiceReference packageAdminRef = context.getServiceReference(PackageAdmin.class.getName());
-		PackageAdmin packageAdmin = null;
-		if (packageAdminRef != null) {
-			packageAdmin = (PackageAdmin) context.getService(packageAdminRef);
-			if (packageAdmin == null)
-				return;
-		}
-
-		final boolean[] flag = new boolean[]{false};
-		FrameworkListener listener = new FrameworkListener() {
-			public void frameworkEvent(FrameworkEvent event) {
-				if (event.getType() == FrameworkEvent.PACKAGES_REFRESHED)
-					synchronized (flag) {
-						flag[0] = true;
-						flag.notifyAll();
-					}
-			}
-		};
-		context.addFrameworkListener(listener);
-		packageAdmin.refreshPackages(bundles);
-		synchronized (flag) {
-			while (!flag[0]) {
-				try {
-					flag.wait();
-				} catch (InterruptedException e) {
-				}
-			}
-		}
-		context.removeFrameworkListener(listener);
-		context.ungetService(packageAdminRef);
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dynamicplugins/ViewTests.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dynamicplugins/ViewTests.java
deleted file mode 100644
index b77444e..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dynamicplugins/ViewTests.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.dynamicplugins;
-
-import java.io.IOException;
-
-import org.eclipse.core.runtime.IExtensionDelta;
-import org.eclipse.core.runtime.IRegistryChangeEvent;
-import org.eclipse.core.runtime.IRegistryChangeListener;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.ui.internal.IWorkbenchConstants;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.registry.IViewDescriptor;
-import org.eclipse.ui.internal.registry.IViewRegistry;
-import org.eclipse.ui.tests.util.UITestCase;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleException;
-
-
-/**
- * Tests to ensure the addition of new views with dynamic plug-ins.
- */
-
-public class ViewTests extends UITestCase implements IRegistryChangeListener {
-	private IViewRegistry fReg;
-	volatile boolean viewRegistryUpdated = false;
-		
-	public ViewTests(String testName) {
-		super(testName);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IRegistryChangeListener#registryChanged(org.eclipse.core.runtime.IRegistryChangeEvent)
-	 */
-	public void registryChanged(IRegistryChangeEvent event) {
-		// Just retrieve any changes relating to the extension point
-		// org.eclipse.ui.views
-		IExtensionDelta delta = event.getExtensionDelta(WorkbenchPlugin.PI_WORKBENCH, IWorkbenchConstants.PL_VIEWS, "newView1.testDynamicViewAddition");
-		if (delta != null && delta.getKind() == IExtensionDelta.ADDED)
-			viewRegistryUpdated = true;
-	}
-
-	public void testFindViewInRegistry() {
-		// Just try to find the new view.  Don't actually try to
-		// do anything with it as the class it refers to does not exist.
-		Platform.getExtensionRegistry().addRegistryChangeListener(this);
-		viewRegistryUpdated = false;
-		Bundle newBundle = null;
-		try {
-			newBundle = DynamicUtils.installPlugin("data/org.eclipse.newView1");
-		} catch (IOException e1) {
-			e1.printStackTrace();
-			fail("Dynamic install generated an IOException");
-		} catch (BundleException e1) {
-			e1.printStackTrace();
-			fail("Dynamic install generated a BundleException");
-		} catch (IllegalStateException e1) {
-			e1.printStackTrace();
-			fail("Dynamic install generated an IllegalStateException - this plugin has been installed previously");
-		}
-		try {
-			long startTime = System.currentTimeMillis();
-			long potentialEndTime = startTime + 1000;
-			boolean timeToFail = false;
-			while (!viewRegistryUpdated && !timeToFail) {
-				processEvents();
-				timeToFail = System.currentTimeMillis() > potentialEndTime;
-				try {
-					Thread.sleep(100);
-				} catch (InterruptedException e) {
-					e.printStackTrace();
-				}
-			}
-			assertEquals("Test failed due to timeout", false, timeToFail);
-			fReg = WorkbenchPlugin.getDefault().getViewRegistry();
-			IViewDescriptor found = fReg.find("org.eclipse.newView1.newView1");
-			assertNotNull(found);
-		} finally {
-			try {
-				Platform.getExtensionRegistry().removeRegistryChangeListener(this);
-				DynamicUtils.uninstallPlugin(newBundle);
-			} catch (BundleException e) {
-				// just cleaning up
-			}
-		}
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/ActionExpressionTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/ActionExpressionTest.java
deleted file mode 100644
index 8bcbf2b..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/ActionExpressionTest.java
+++ /dev/null
@@ -1,252 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.internal;
-
-import org.eclipse.jface.action.MenuManager;
-
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.tests.api.ListElement;
-import org.eclipse.ui.tests.api.ListView;
-import org.eclipse.ui.tests.util.ActionUtil;
-import org.eclipse.ui.tests.util.UITestCase;
-
-
-/**
- * This class contains tests for popup menu enablement
- */
-public abstract class ActionExpressionTest extends UITestCase {
-	protected IWorkbenchWindow fWindow;
-	protected IWorkbenchPage fPage;
-	protected String VIEW_ID = "org.eclipse.ui.tests.internal.ActionExpressionTest";
-
-	ListElement red = new ListElement("red");
-	ListElement blue = new ListElement("blue");
-	ListElement redTrue = new ListElement("red", true);
-		
-	public ActionExpressionTest(String testName) {
-		super(testName);
-	}
-	
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-		fWindow = openTestWindow();
-		fPage = fWindow.getActivePage();
-	}
-	
-	public void testAllAction() throws Throwable 
-	{
-		// Setup.
-		ListView view = showListView();
-		MenuManager mgr = getActionMenuManager(view);
-		
-		// Test null selection.
-		selectAndUpdateMenu(view, null, mgr);
-		testAction(mgr, "allAction_v2", false);
-
-		// Test red selection.
-		selectAndUpdateMenu(view, red, mgr);
-		testAction(mgr, "allAction_v2", true);
-		
-		// Test blue selection.
-		selectAndUpdateMenu(view, blue, mgr);
-		testAction(mgr, "allAction_v2", true);
-		
-		// Test red + true selection.
-		selectAndUpdateMenu(view, redTrue, mgr);
-		testAction(mgr, "allAction_v2", true);
- 	}	
-
-	public void testRedAction() throws Throwable 
-	{
-		// Setup.
-		ListView view = showListView();
-		MenuManager mgr = getActionMenuManager(view);
-		
-		// Test null selection.
-		selectAndUpdateMenu(view, null, mgr);
-		testAction(mgr, "redAction_v2", false);
-
-		// Test red selection.
-		selectAndUpdateMenu(view, red, mgr);
-		testAction(mgr, "redAction_v2", true);
-		
-		// Test blue selection.
-		selectAndUpdateMenu(view, blue, mgr);
-		testAction(mgr, "redAction_v2", false);
-		
-		// Test red + true selection.
-		selectAndUpdateMenu(view, redTrue, mgr);
-		testAction(mgr, "redAction_v2", true);
- 	}
-		
-	public void testNotRedAction() throws Throwable 
-	{
-		// Setup.
-		ListView view = showListView();
-		MenuManager mgr = getActionMenuManager(view);
-		
-		// Test null selection.
-		selectAndUpdateMenu(view, null, mgr);
-		testAction(mgr, "notRedAction_v2", false);
-
-		// Test red selection.
-		selectAndUpdateMenu(view, red, mgr);
-		testAction(mgr, "notRedAction_v2", false);
-		
-		// Test blue selection.
-		selectAndUpdateMenu(view, blue, mgr);
-		testAction(mgr, "notRedAction_v2", true);
-		
-		// Test red + true selection.
-		selectAndUpdateMenu(view, redTrue, mgr);
-		testAction(mgr, "notRedAction_v2", false);
-	}
-		
-	public void testTrueAction() throws Throwable 
-	{
-		// Setup.
-		ListView view = showListView();
-		MenuManager mgr = getActionMenuManager(view);
-		
-		// Test null selection.
-		selectAndUpdateMenu(view, null, mgr);
-		testAction(mgr, "trueAction_v2", false);
-
-		// Test red selection.
-		selectAndUpdateMenu(view, red, mgr);
-		testAction(mgr, "trueAction_v2", false);
-		
-		// Test blue selection.
-		selectAndUpdateMenu(view, blue, mgr);
-		testAction(mgr, "trueAction_v2", false);
-		
-		// Test red + true selection.
-		selectAndUpdateMenu(view, redTrue, mgr);
-		testAction(mgr, "trueAction_v2", true);
-	}
-
-	public void testRedOrBlueAction() throws Throwable 
-	{
-		// Setup.
-		ListView view = showListView();
-		MenuManager mgr = getActionMenuManager(view);
-		
-		// Test null selection.
-		selectAndUpdateMenu(view, null, mgr);
-		testAction(mgr, "redOrBlueAction_v2", false);
-
-		// Test red selection.
-		selectAndUpdateMenu(view, red, mgr);
-		testAction(mgr, "redOrBlueAction_v2", true);
-		
-		// Test blue selection.
-		selectAndUpdateMenu(view, blue, mgr);
-		testAction(mgr, "redOrBlueAction_v2", true);
-		
-		// Test red + true selection.
-		selectAndUpdateMenu(view, redTrue, mgr);
-		testAction(mgr, "redOrBlueAction_v2", true);
- 	}
-		
-	public void testRedAndTrueAction() throws Throwable 
-	{
-		// Setup.
-		ListView view = showListView();
-		MenuManager mgr = getActionMenuManager(view);
-		
-		// Test null selection.
-		selectAndUpdateMenu(view, null, mgr);
-		testAction(mgr, "redAndTrueAction_v2", false);
-
-		// Test red selection.
-		selectAndUpdateMenu(view, red, mgr);
-		testAction(mgr, "redAndTrueAction_v2", false);
-		
-		// Test blue selection.
-		selectAndUpdateMenu(view, blue, mgr);
-		testAction(mgr, "redAndTrueAction_v2", false);
-		
-		// Test red + true selection.
-		selectAndUpdateMenu(view, redTrue, mgr);
-		testAction(mgr, "redAndTrueAction_v2", true);
- 	}
-		
-	public void testPluginStateActions() throws Throwable 
-	{
-		// Setup.
-		ListView view = showListView();
-		MenuManager mgr = getActionMenuManager(view);
-		
-		// Open the menu and test actions.
-		selectAndUpdateMenu(view, red, mgr);
-		testAction(mgr, "pluginNotInstalledAction_v2", false);
-		testAction(mgr, "pluginInstalledAction_v2", true);
-		testAction(mgr, "pluginNotActivatedAction_v2", false);
-		testAction(mgr, "pluginActivatedAction_v2", true);
-	}
-		
-	public void testSystemPropertyAction() throws Throwable 
-	{
-		// Setup.
-		ListView view = showListView();
-		MenuManager mgr = getActionMenuManager(view);
-	
-		// Clear the system property, refresh the menu,
-		// and test the action.
-		System.setProperty("ActionExpressionVar", "");
-		selectAndUpdateMenu(view, red, mgr);
-		testAction(mgr, "systemPropertyAction_v2", false);
-		
-		// Set the system property, refresh the menu,
-		// and test the action.
-		System.setProperty("ActionExpressionVar", "bubba");
-		selectAndUpdateMenu(view, blue, mgr);
-		testAction(mgr, "systemPropertyAction_v2", true);
-	}
-		
-	/**
-	 * Creates the list view.
-	 */
-	protected ListView showListView() throws Throwable
-	{
-		ListView view = (ListView)(fPage.showView(VIEW_ID));
-		red = new ListElement("red");
-		blue = new ListElement("blue");
-		redTrue = new ListElement("red", true);
-		view.addElement(red);
-		view.addElement(blue);
-		view.addElement(redTrue);
-		return view;
-	}
-	
-	/**
-	 * Select an object and fire about to show.
-	 */
-	protected void selectAndUpdateMenu(ListView view, ListElement element,
-		MenuManager mgr) throws Throwable
-	{
-		view.selectElement(element);
-		ActionUtil.fireAboutToShow(mgr);
-	}
-	
- 	/**
- 	 * Returns the menu manager containing the actions.
- 	 */
- 	protected abstract MenuManager getActionMenuManager(ListView view) 
- 		throws Throwable;
- 	
- 	/**
- 	 * Tests the enablement / visibility of an action.
- 	 */
- 	protected abstract void testAction(MenuManager mgr, String action, boolean expected) 
- 		throws Throwable;
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/ActionSetExpressionTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/ActionSetExpressionTest.java
deleted file mode 100644
index 7250397..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/ActionSetExpressionTest.java
+++ /dev/null
@@ -1,57 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.internal;
-
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.SubContributionItem;
-
-import org.eclipse.ui.internal.WorkbenchWindow;
-import org.eclipse.ui.tests.api.ListView;
-import org.eclipse.ui.tests.util.ActionUtil;
-
-
-/**
- * This class contains tests for action set enablement
- */
-public class ActionSetExpressionTest extends ActionExpressionTest {
-		
-	public ActionSetExpressionTest(String testName) {
-		super(testName);
-	}
-	
- 	/**
- 	 * Opens the action set.  Returns the menu manager containing it.
- 	 */
- 	protected MenuManager getActionMenuManager(ListView view) 
- 		throws Throwable 
- 	{
- 		fPage.showActionSet("org.eclipse.ui.tests.internal.ListElementActions");
- 		WorkbenchWindow win = (WorkbenchWindow)fWindow;
- 		IContributionItem item = win.getMenuBarManager().find("org.eclipse.ui.tests.internal.ListElementMenu");
- 		while (item instanceof SubContributionItem) {
- 			item = ((SubContributionItem)item).getInnerItem();
- 			if (item instanceof MenuManager)
- 				return (MenuManager)item;
- 		}
- 		fail("Unable to find menu manager");
- 		return null;
- 	}
- 	
- 	/**
- 	 * Tests the enablement of an action.
- 	 */
- 	protected void testAction(MenuManager mgr, String action, boolean expected) 
- 		throws Throwable
- 	{
-		assertEquals(action, expected, ActionUtil.getActionWithLabel(mgr, action).isEnabled());
- 	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/Bug41931Test.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/Bug41931Test.java
deleted file mode 100644
index 614c0eb..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/Bug41931Test.java
+++ /dev/null
@@ -1,95 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.tests.internal;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPartReference;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.internal.WorkbenchPage;
-import org.eclipse.ui.tests.util.UITestCase;
-
-/**
- * Test for Bug 41931.
- * 
- * @since 3.0
- */
-public class Bug41931Test extends UITestCase {
-
-	/**
-	 * Constructs a new instance of this test case.
-	 * 
-	 * @param testName
-	 *            The name of the test
-	 */
-	public Bug41931Test(String testName) {
-		super(testName);
-	}
-
-	/**
-	 * Tests that the <code>bringToTop(IWorkbenchPart)</code> correctly
-	 * updates the activation list.
-	 * 
-	 * @throws CoreException
-	 *             If the test project cannot be created or opened.
-	 */
-	public void testBringToTop() throws CoreException {
-		// Open a window.
-		IWorkbenchWindow window = openTestWindow();
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-
-		// Create a test project.
-		IProject testProject = workspace.getRoot().getProject("Bug41931"); //$NON-NLS-1$
-		testProject.create(null);
-		testProject.open(null);
-
-		// Open three test files.
-		InputStream contents = new ByteArrayInputStream(new byte[0]);
-		IFile fileA = testProject.getFile("a.txt"); //$NON-NLS-1$
-		fileA.create(contents, true, null);
-		IFile fileB = testProject.getFile("b.txt"); //$NON-NLS-1$
-		fileB.create(contents, true, null);
-		IFile fileC = testProject.getFile("c.txt"); //$NON-NLS-1$
-		fileC.create(contents, true, null);
-
-		// Open editors on those files.
-		WorkbenchPage page = (WorkbenchPage) window.getActivePage();
-		IEditorPart editorA = IDE.openEditor(page, fileA, true);
-		IEditorPart editorB = IDE.openEditor(page, fileB, true);
-		IEditorPart editorC = IDE.openEditor(page, fileC, true);
-
-		// Test that the editors are open in the order: A, B, C
-		IEditorPart[] expectedResults = { editorA, editorB, editorC };
-		IWorkbenchPartReference[] actualResults = page.getSortedParts();
-		for (int i = 0; i < expectedResults.length; i++) {
-			assertEquals("Pre-test order is not correct.", expectedResults[i].getTitle(), actualResults[i].getPart(false).getTitle()); //$NON-NLS-1$
-		}
-		
-		// Bring editor B to the top.
-		page.bringToTop(editorB);
-		
-		// Test that the editors are open in the order: A, C, B
-		expectedResults = new IEditorPart[] { editorA, editorC, editorB };
-		actualResults = page.getSortedParts();
-		for (int i = 0; i < expectedResults.length; i++) {
-			assertEquals("bringToTop() does not change sorted part order.", expectedResults[i].getTitle(), actualResults[i].getPart(false).getTitle()); //$NON-NLS-1$
-		}
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/EditorActionBarsTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/EditorActionBarsTest.java
deleted file mode 100644
index f9002c1..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/EditorActionBarsTest.java
+++ /dev/null
@@ -1,196 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.internal;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.swt.widgets.ToolItem;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.ICoolBarManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.action.ToolBarContributionItem;
-import org.eclipse.jface.action.ToolBarManager;
-
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.internal.WorkbenchWindow;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.tests.api.MockAction;
-import org.eclipse.ui.tests.api.MockEditorActionBarContributor;
-import org.eclipse.ui.tests.api.MockEditorPart;
-import org.eclipse.ui.tests.api.MockViewPart;
-import org.eclipse.ui.tests.util.FileUtil;
-import org.eclipse.ui.tests.util.UITestCase;
-
-
-/**
- * This class contains tests for the editor action bars
- * implementation.
- */
-public class EditorActionBarsTest extends UITestCase {
-
-	protected IWorkbenchWindow fWindow;
-	protected IWorkbenchPage fPage;
-	private String EDITOR_ID = "org.eclipse.ui.tests.internal.EditorActionBarsTest";
-	
-	/**
-	 * Constructor for IEditorPartTest
-	 */
-	public EditorActionBarsTest(String testName) {
-		super(testName);
-	}
-
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-		fWindow = openTestWindow();
-		fPage = fWindow.getActivePage();
-	}
-	
-	/**
-	 * Test action enablement / disablement when a
-	 * part is active.
-	 * <p>
-	 * Created for PR 1GJNB52: ToolItems in EditorToolBarManager can get 
-	 * out of synch with the state of the IAction
-	 * </p>
-	 */
-	public void testActionEnablementWhenActive() throws Throwable {
-		// Open an editor.
-		MockEditorPart editor = openEditor(fPage, "1");
-		MockEditorActionBarContributor contributor = 
-			(MockEditorActionBarContributor)editor.getEditorSite().getActionBarContributor();
-		
-		// Enable all actions.
-		contributor.enableActions(true);
-		verifyToolItemState(contributor, true);
-		
-		// Disable all actions.
-		contributor.enableActions(false);
-		verifyToolItemState(contributor, false);
-	}
-	
-	/**
-	 * Test action enablement / disablement when a
-	 * part is inactive.
-	 * <p>
-	 * Created for PR 1GJNB52: ToolItems in EditorToolBarManager can get 
-	 * out of synch with the state of the IAction
-	 * </p>
-	 */
-	public void testActionEnablementWhenInactive() throws Throwable {
-		// Open an editor.
-		MockEditorPart editor = openEditor(fPage, "2");
-		MockEditorActionBarContributor contributor = 
-			(MockEditorActionBarContributor)editor.getEditorSite().getActionBarContributor();
-		
-		// Enable all actions.
-		contributor.enableActions(true);
-		verifyToolItemState(contributor, true);
-		
-		// Activate some other part.  Disable the actions.
-		// Then activate the editor and test tool item state.
-		fPage.showView(MockViewPart.ID);
-		contributor.enableActions(false);
-		fPage.activate(editor);
-		verifyToolItemState(contributor, false);
-		
-		// Activate some other part.  Enable the actions.
-		// Then activate the editor and test tool item state.
-		fPage.showView(MockViewPart.ID);
-		contributor.enableActions(true);
-		fPage.activate(editor);
-		verifyToolItemState(contributor, true);
-	}
-	
-	/**
-	 * Open a test editor.
-	 */
-	protected MockEditorPart openEditor(IWorkbenchPage page, String suffix) 
-		throws Throwable 
-	{
-		IProject proj = FileUtil.createProject("IEditorActionBarsTest");
-		IFile file = FileUtil.createFile("test" + suffix + ".txt", proj);
-		return (MockEditorPart)page.openEditor(new FileEditorInput(file), EDITOR_ID);
-	}
-	
-	/**
-	 * Tests whether actions are enabled.
-	 */
-	protected void verifyToolItemState(MockEditorActionBarContributor ctr,
-		boolean enabled) 
-	{
-		MockAction [] actions = ctr.getActions();
-		for (int nX = 0; nX < actions.length; nX ++)
-			verifyToolItemState(actions[nX], enabled);
-	}
-	
-	/**
-	 * Tests whether an action is enabled.
-	 */
-	protected void verifyToolItemState(IAction action, boolean enabled) {
-		String actionText = action.getText();
-		ICoolBarManager tbm = ((WorkbenchWindow)fWindow).getCoolBarManager();
-		IContributionItem[] coolItems = tbm.getItems();
-		for (int i = 0; i < coolItems.length; ++i) {
-			if (coolItems[i] instanceof ToolBarContributionItem) {
-				ToolBarContributionItem coolItem = (ToolBarContributionItem) coolItems[i];
-				IToolBarManager citbm = coolItem.getToolBarManager();
-				ToolBar tb = ((ToolBarManager) citbm).getControl();
-                verifyNullToolbar(tb, actionText, citbm);
-                if (tb != null) {
-					ToolItem [] items = tb.getItems();
-					for (int j = 0; j < items.length; j ++) {
-						String itemText = items[j].getToolTipText();
-						if (actionText.equals(itemText)) {
-							assertEquals(enabled, items[j].getEnabled());
-							return;
-						}
-					}
-                }
-			}
-		}
-		fail("Action for " + actionText + " not found");
-	}
-
-    /**
-     * Confirms that a ToolBar is not null when you're looking a manager that 
-     * is a CoolItemToolBarManager and it has non-separator/non-invisible 
-     * contributions.
-     * This is a consequence of the changes made to 
-     * CoolItemToolBarManager.update() that hides the a bar if it does not
-     * contain anything as per the above mentioned criteria.  Under this 
-     * circumstance, the underlying ToolBar is not created.
-     * 
-     * @param tb the ToolBar to check
-     * @param actionText the action text
-     * @param manager the IToolBarManager containing items
-     * @since 3.0
-     */
-    private void verifyNullToolbar(ToolBar tb, String actionText, IToolBarManager manager) {        
-        if (tb == null) { // toolbar should only be null if the given manager is
-            // a CoolBarManager and it contains only separators or invisible 
-            // objects.  
-            IContributionItem [] items = manager.getItems();
-            for (int i = 0; i < items.length; i++) {
-                if (!(items[i] instanceof Separator) && items[i].isVisible()) {
-                    fail("No toolbar for a visible action text \"" + actionText + "\"");    
-                }
-            }
-
-        }
-    }
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/ExtendedSourceViewer.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/ExtendedSourceViewer.java
deleted file mode 100644
index 5cfa522..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/ExtendedSourceViewer.java
+++ /dev/null
@@ -1,58 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.internal;
-
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-
-import org.eclipse.jface.text.source.IVerticalRuler;
-import org.eclipse.jface.text.source.SourceViewer;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-
-public class ExtendedSourceViewer extends SourceViewer {
-
-	/**
-	 * Constructs a new source viewer. The vertical ruler is initially visible.
-	 * The viewer has not yet been initialized with a source viewer configuration.
-	 *
-	 * @param parent the parent of the viewer's control
-	 * @param ruler the vertical ruler used by this source viewer
-	 * @param styles the SWT style bits
-	 */
-	public ExtendedSourceViewer(Composite parent, IVerticalRuler ruler, int styles) {
-		super(parent, ruler, styles);
-	}
-
-	/*
-	 * @see Viewer#getSelection()
-	 */
-	public ISelection getSelection() {
-		Point p= getSelectedRange();
-		if (p.x == -1 || p.y == -1)
-			return ExtendedTextSelection.emptySelection();
-			
-		return new ExtendedTextSelection(getDocument(), p.x, p.y);
-	}
-	
-	/**
-	 * Sends out a selection changed event to all registered listeners.
-	 *
-	 * @param offset the offset of the newly selected range
-	 * @param length the length of the newly selected range
-	 */
-	protected void selectionChanged(int offset, int length) {
-		ISelection selection= new ExtendedTextSelection(getDocument(), offset, length);
-		SelectionChangedEvent event= new SelectionChangedEvent(this, selection);
-		fireSelectionChanged(event);
-	}
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/ExtendedTextEditor.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/ExtendedTextEditor.java
deleted file mode 100644
index dcfbba1..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/ExtendedTextEditor.java
+++ /dev/null
@@ -1,58 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.internal;
-
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.widgets.Composite;
-
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.text.source.IVerticalRuler;
-
-import org.eclipse.ui.editors.text.TextEditor;
-
-public class ExtendedTextEditor extends TextEditor {
-
-	/**
-	 * Constructor for TextSelectionActionFilterEditor.
-	 */
-	public ExtendedTextEditor() {
-		super();
-	}
-
-	/**
-	 * Creates the source viewer to be used by this editor.
-	 * Subclasses may re-implement this method.
-	 *
-	 * @param parent the parent control
-	 * @param ruler the vertical ruler
-	 * @param styles style bits
-	 * @return the source viewer
-	 */
-	protected ISourceViewer createSourceViewer(Composite parent, IVerticalRuler ruler, int styles) {
-		return new ExtendedSourceViewer(parent, ruler, styles);
-	}
-
-	public boolean isDirty() {
-		return false;
-	}
-		
-	/**
-	 * Set the text in the editor.
-	 */
-	public void setText(String text) {
-		ExtendedSourceViewer viewer = (ExtendedSourceViewer)getSourceViewer();
-		StyledText widget = viewer.getTextWidget();
-		widget.setText(text);
-		viewer.setSelectedRange(0, text.length());
-	}
-
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/ExtendedTextSelection.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/ExtendedTextSelection.java
deleted file mode 100644
index 7541476..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/ExtendedTextSelection.java
+++ /dev/null
@@ -1,56 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.internal;
-
-import org.eclipse.core.runtime.IAdaptable;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.TextSelection;
-
-import org.eclipse.ui.IActionFilter;
-
-public class ExtendedTextSelection extends TextSelection 
-	implements IAdaptable
-{
-	static private ExtendedTextSelectionActionFilter filter =
-		new ExtendedTextSelectionActionFilter();
-
-	/**
-	 * Constructor for ExtendedTextSelection.
-	 * @param offset
-	 * @param length
-	 */
-	public ExtendedTextSelection(int offset, int length) {
-		super(offset, length);
-	}
-
-	/**
-	 * Constructor for ExtendedTextSelection.
-	 * @param document
-	 * @param offset
-	 * @param length
-	 */
-	public ExtendedTextSelection(IDocument document, int offset, int length) {
-		super(document, offset, length);
-	}
-
-	/*
-	 * @see IAdaptable#getAdapter(Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		if (adapter == IActionFilter.class) {
-			return filter;
-		}
-		return null;
-	}
-
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/ExtendedTextSelectionActionFilter.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/ExtendedTextSelectionActionFilter.java
deleted file mode 100644
index 6fca162..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/ExtendedTextSelectionActionFilter.java
+++ /dev/null
@@ -1,56 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.internal;
-
-import org.eclipse.jface.text.ITextSelection;
-
-import org.eclipse.ui.IActionFilter;
-
-public class ExtendedTextSelectionActionFilter implements IActionFilter {
-
-	/**
-	 * An attribute indicating the selection length (value <code>"isEmpty"</code>).  
-	 * The attribute value in xml must be one of <code>"true" or "false"</code>.
-	 */
-	public static final String IS_EMPTY = "isEmpty"; //$NON-NLS-1$
-
-	/**
-	 * An attribute indicating the selection text (value <code>"text"</code>).  
-	 * The attribute value in xml is unconstrained.
-	 */
-	public static final String TEXT = "text"; //$NON-NLS-1$
-
-	/**
-	 * An attribute indicating the selection text (value <code>"text"</code>).  
-	 * The attribute value in xml is unconstrained.
-	 */
-	public static final String CASE_INSENSITIVE_TEXT = "caseInsensitiveText"; //$NON-NLS-1$
-
-	/*
-	 * @see IActionFilter#testAttribute(Object, String, String)
-	 */
-	public boolean testAttribute(Object target, String name, String value) {
-		ITextSelection sel = (ITextSelection)target;
-		if (name.equals(IS_EMPTY)) {
-			return (sel.getLength() == 0);
-		} else if (name.equals(TEXT)) {
-			String text = sel.getText();
-			return (text.indexOf(value) >= 0);
-		} else if (name.equals(CASE_INSENSITIVE_TEXT)) {
-			String text = sel.getText().toLowerCase();
-			value = value.toLowerCase();
-			return (text.indexOf(value) >= 0);
-		}
-		return false;
-	}
-
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/InternalTestSuite.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/InternalTestSuite.java
deleted file mode 100644
index a110c6c..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/InternalTestSuite.java
+++ /dev/null
@@ -1,38 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.internal;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * Test all areas of the UI Implementation.
- */
-public class InternalTestSuite extends TestSuite {
-
-	/**
-	 * Returns the suite.  This is required to
-	 * use the JUnit Launcher.
-	 */
-	public static Test suite() {
-		return new InternalTestSuite();
-	}
-	
-	/**
-	 * Construct the test suite.
-	 */
-	public InternalTestSuite() {
-		addTest(new TestSuite(EditorActionBarsTest.class));
-		addTest(new TestSuite(ActionSetExpressionTest.class));
-		addTest(new TestSuite(PopupMenuExpressionTest.class));
-		addTest(new TestSuite(Bug41931Test.class));
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/PopupMenuExpressionTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/PopupMenuExpressionTest.java
deleted file mode 100644
index fff4cfa..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/PopupMenuExpressionTest.java
+++ /dev/null
@@ -1,68 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.internal;
-
-import org.eclipse.jface.action.MenuManager;
-
-import org.eclipse.ui.tests.api.ListView;
-import org.eclipse.ui.tests.util.ActionUtil;
-
-
-/**
- * This class contains tests for popup menu visibility
- */
-public class PopupMenuExpressionTest extends ActionExpressionTest {
-		
-	public PopupMenuExpressionTest(String testName) {
-		super(testName);
-	}
-	
- 	/**
- 	 * Returns the menu manager containing the actions.
- 	 */
- 	protected MenuManager getActionMenuManager(ListView view) 
- 		throws Throwable 
- 	{
- 		return view.getMenuManager();
- 	}
- 	
- 	/**
- 	 * Tests the visibility of an action.
- 	 */
- 	protected void testAction(MenuManager mgr, String action, boolean expected) 
- 		throws Throwable
- 	{
- 		if (expected)
- 			assertNotNull(action, ActionUtil.getActionWithLabel(mgr, action));
- 		else
- 			assertNull(action, ActionUtil.getActionWithLabel(mgr, action));
- 	}
- 	
-	public void testExpressionEnabledAction() throws Throwable 
-	{
-		// Setup.
-		ListView view = showListView();
-		MenuManager mgr = getActionMenuManager(view);
-		
-		// Test null selection.
-		selectAndUpdateMenu(view, null, mgr);
-		testAction(mgr, "expressionEnablementAction_v2", false);
-
-		// Test red selection.
-		selectAndUpdateMenu(view, red, mgr);
-		testAction(mgr, "expressionEnablementAction_v2", true);
-		
-		// Test blue selection.
-		selectAndUpdateMenu(view, blue, mgr);
-		testAction(mgr, "expressionEnablementAction_v2", false);
- 	}
-
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/TextSelectionActionExpressionTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/TextSelectionActionExpressionTest.java
deleted file mode 100644
index 2519e12..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/TextSelectionActionExpressionTest.java
+++ /dev/null
@@ -1,183 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.internal;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.SubContributionItem;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.internal.WorkbenchWindow;
-import org.eclipse.ui.tests.util.ActionUtil;
-import org.eclipse.ui.tests.util.FileUtil;
-import org.eclipse.ui.tests.util.UITestCase;
-
-
-/**
- * This class contains tests for text selection action enablement
- */
-public class TextSelectionActionExpressionTest extends UITestCase 
-{
-	protected IWorkbenchWindow fWindow;
-	protected IWorkbenchPage fPage;
-		
-	public TextSelectionActionExpressionTest(String testName) {
-		super(testName);
-	}
-	
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-		fWindow = openTestWindow();
-		fPage = fWindow.getActivePage();
-	}
-	
-	public void testAnyTextAction() throws Throwable 
-	{
-		// Setup.
-		ExtendedTextEditor editor = showTextEditor("anyText.exttxt");
-		MenuManager mgr = getActionMenuManager(editor);
-		
-		// Test empty selection.
-		selectAndUpdateMenu(editor, "", mgr);
-		testAction(mgr, "anyText", true);
-
-		// Test full selection.
-		selectAndUpdateMenu(editor, "bob", mgr);
-		testAction(mgr, "anyText", true);
-		
-		// Activate another view.
-		fPage.showView(IPageLayout.ID_BOOKMARKS);
-		testAction(mgr, "anyText", false);
-		
-		// Activate editor.
-		// Test old selection.
-		fPage.activate(editor);
-		testAction(mgr, "anyText", true);
-
-		// Test empty selection.
-		selectAndUpdateMenu(editor, "", mgr);
-		testAction(mgr, "anyText", true);
- 	}	
-
-	public void testEmptyTextAction() throws Throwable 
-	{
-		// Setup.
-		ExtendedTextEditor editor = showTextEditor("emptyText.exttxt");
-		MenuManager mgr = getActionMenuManager(editor);
-		
-		// Test empty selection.
-		selectAndUpdateMenu(editor, "", mgr);
-		testAction(mgr, "emptyText", true);
-
-		// Test full selection.
-		selectAndUpdateMenu(editor, "bob", mgr);
-		testAction(mgr, "emptyText", false);
-		
-		// Activate another view.
-		fPage.showView(IPageLayout.ID_BOOKMARKS);
-		testAction(mgr, "emptyText", false);
-		
-		// Activate editor.
-		// Test old selection.
-		fPage.activate(editor);
-		testAction(mgr, "emptyText", false);
-
-		// Test empty selection.
-		selectAndUpdateMenu(editor, "", mgr);
-		testAction(mgr, "emptyText", true);
- 	}	
-
-	public void testHelloTextAction() throws Throwable 
-	{
-		// Setup.
-		ExtendedTextEditor editor = showTextEditor("helloText.exttxt");
-		MenuManager mgr = getActionMenuManager(editor);
-		
-		// Test empty selection.
-		selectAndUpdateMenu(editor, "", mgr);
-		testAction(mgr, "helloText", false);
-
-		// Test wrong selection.
-		selectAndUpdateMenu(editor, "bob", mgr);
-		testAction(mgr, "helloText", false);
-
-		// Test right selection.
-		selectAndUpdateMenu(editor, "Hello", mgr);
-		testAction(mgr, "helloText", true);
-		
-		// Activate another view.
-		fPage.showView(IPageLayout.ID_BOOKMARKS);
-		testAction(mgr, "helloText", false);
-		
-		// Activate editor.
-		// Test old selection.
-		fPage.activate(editor);
-		testAction(mgr, "helloText", true);
-
-		// Test wrong selection.
-		selectAndUpdateMenu(editor, "bob", mgr);
-		testAction(mgr, "helloText", false);
- 	}	
-
-	/**
-	 * Creates the list view.
-	 */
-	private ExtendedTextEditor showTextEditor(String fileName) throws Throwable
-	{
-		IProject proj = FileUtil.createProject("TextSelectionActionExpressionTest");
-		IFile file = FileUtil.createFile(fileName, proj);
-		return (ExtendedTextEditor)IDE.openEditor(fPage, file, true);
-	}
-	
-	/**
-	 * Select an object and fire about to show.
-	 */
-	private void selectAndUpdateMenu(ExtendedTextEditor editor, String str,
-		MenuManager mgr) throws Throwable
-	{
-		editor.setText(str);
-		fPage.saveEditor(editor, false);
-		ActionUtil.fireAboutToShow(mgr);
-	}
-	
- 	/**
- 	 * Returns the menu manager containing the actions.
- 	 */
- 	private MenuManager getActionMenuManager(ExtendedTextEditor editor) 
- 		throws Throwable 
- 	{
- 		fPage.showActionSet("org.eclipse.ui.tests.internal.TextSelectionActions");
- 		WorkbenchWindow win = (WorkbenchWindow)fWindow;
- 		IContributionItem item = win.getMenuBarManager().find("org.eclipse.ui.tests.internal.TextSelectionMenu");
- 		while (item instanceof SubContributionItem) {
- 			item = ((SubContributionItem)item).getInnerItem();
- 			if (item instanceof MenuManager)
- 				return (MenuManager)item;
- 		}
- 		fail("Unable to find menu manager");
- 		return null;
- 	}
- 	
- 	/**
- 	 * Tests the enablement / visibility of an action.
- 	 */
- 	private void testAction(MenuManager mgr, String action, 
- 		boolean expected) throws Throwable 
- 	{
-		assertEquals(action, expected, ActionUtil.getActionWithLabel(mgr, action).isEnabled());
- 	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/intro/IntroPartTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/intro/IntroPartTest.java
deleted file mode 100644
index 7596656..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/intro/IntroPartTest.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.intro;
-
-import java.util.Arrays;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.internal.Workbench;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.intro.IntroDescriptor;
-import org.eclipse.ui.intro.IIntroPart;
-import org.eclipse.ui.tests.api.IWorkbenchPartTest;
-import org.eclipse.ui.tests.api.MockPart;
-import org.eclipse.ui.tests.util.CallHistory;
-
-
-/**
- * @since 3.0
- */
-public class IntroPartTest extends IWorkbenchPartTest {
-
-    private IntroDescriptor oldDesc;
-
-    /**
-     * @param testName
-     */
-    public IntroPartTest(String testName) {
-        super(testName);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.tests.api.IWorkbenchPartTest#openPart(org.eclipse.ui.IWorkbenchPage)
-     */
-    protected MockPart openPart(IWorkbenchPage page) throws Throwable {
-        return (MockIntroPart)page.getWorkbenchWindow().getWorkbench().getIntroManager().showIntro(page.getWorkbenchWindow(), false);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.tests.api.IWorkbenchPartTest#closePart(org.eclipse.ui.IWorkbenchPage, org.eclipse.ui.tests.api.MockWorkbenchPart)
-     */
-    protected void closePart(IWorkbenchPage page, MockPart part)
-            throws Throwable {
-		page.getWorkbenchWindow().getWorkbench().getIntroManager().closeIntro((IIntroPart) part);            
-    }
-    
-	public void testOpenAndClose() throws Throwable {
-		// Open a part.
-		MockPart part = openPart(fPage);
-		CallHistory history = part.getCallHistory();
-		assertTrue(history.verifyOrder(new String[] {
-			"init", "createPartControl", "setFocus", "standbyStateChanged"}));
-		
-		// Close the part.
-		closePart(fPage, part);
-		assertTrue(history.verifyOrder(new String[] {
-			"init", "createPartControl", "setFocus", "dispose"}));
-	}
-	
-	/**
-	 * Tests to ensure that the image of the descriptor is the same as the part.
-	 * 
-	 * @throws Throwable
-	 */
-	public void testImage() throws Throwable {
-		MockPart part = openPart(fPage);				
-		ImageDescriptor imageDescriptor = getIntroDesc().getImageDescriptor();
-		assertNotNull(imageDescriptor);
-		
-        Image descImage = imageDescriptor.createImage(false);
-        assertNotNull(descImage);
-
-        Image partImage = part.getTitleImage();
-        assertNotNull(partImage);
-        assertTrue(Arrays.equals(descImage.getImageData().data, partImage.getImageData().data));
-        if (descImage != null)
-            descImage.dispose();
-	}
-    
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.tests.util.UITestCase#doSetUp()
-     */
-    protected void doSetUp() throws Exception {
-        super.doSetUp();
-        oldDesc = Workbench.getInstance().getIntroDescriptor();
-        IntroDescriptor testDesc = getIntroDesc();
-        Workbench.getInstance().setIntroDescriptor(testDesc);        
-    }
-    
-    /**
-     * @return
-     */
-    private IntroDescriptor getIntroDesc() {
-        return (IntroDescriptor)WorkbenchPlugin.getDefault().getIntroRegistry().getIntro("org.eclipse.ui.testintro");
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.tests.util.UITestCase#doTearDown()
-     */
-    protected void doTearDown() throws Exception {
-        super.doTearDown();
-        Workbench.getInstance().setIntroDescriptor(oldDesc);
-    }
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/intro/IntroTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/intro/IntroTest.java
deleted file mode 100644
index 3bbb8db..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/intro/IntroTest.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.intro;
-
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.internal.Workbench;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.intro.IntroDescriptor;
-import org.eclipse.ui.intro.IIntroManager;
-import org.eclipse.ui.intro.IIntroPart;
-import org.eclipse.ui.tests.util.UITestCase;
-
-
-/**
- * @since 3.0
- */
-public class IntroTest extends UITestCase {
-
-    IWorkbenchWindow window = null;
-    private IntroDescriptor oldDesc;
-    
-    	/**
-     * @param testName
-     */
-    public IntroTest(String testName) {
-        super(testName);
-    }
-
-    public void testShow() {
-        IIntroManager introManager = window.getWorkbench().getIntroManager();
-        IIntroPart part = introManager.showIntro(window, false);
-        assertNotNull(part);
-        assertFalse(introManager.isIntroStandby(part));
-        introManager.closeIntro(part);
-        assertNull(introManager.getIntro());
-        
-        part = introManager.showIntro(window, true);
-        assertNotNull(part);
-        assertTrue(introManager.isIntroStandby(part));
-        introManager.closeIntro(part);
-        assertNull(introManager.getIntro());
-	}
-    
-    public void testStandby() {
-        IWorkbench workbench = window.getWorkbench();        
-        IIntroPart part = workbench.getIntroManager().showIntro(window, false);
-        assertNotNull(part);
-        assertFalse(workbench.getIntroManager().isIntroStandby(part));
-        workbench.getIntroManager().setIntroStandby(part, true);
-        assertTrue(workbench.getIntroManager().isIntroStandby(part));        
-    }
-    
-    public void testPerspectiveReset() {
-        IWorkbench workbench = window.getWorkbench();        
-        IIntroPart part = workbench.getIntroManager().showIntro(window, false);
-        assertNotNull(part);
-        window.getActivePage().resetPerspective(); 
-        part = workbench.getIntroManager().getIntro();
-        assertNotNull(part);
-        assertFalse(workbench.getIntroManager().isIntroStandby(part));
-        
-        workbench.getIntroManager().setIntroStandby(part, true);
-        window.getActivePage().resetPerspective();
-        part = workbench.getIntroManager().getIntro();
-        assertNotNull(part);
-        assertTrue(workbench.getIntroManager().isIntroStandby(part));
-    }    
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.tests.util.UITestCase#doSetUp()
-     */
-    protected void doSetUp() throws Exception {
-        super.doSetUp();
-        window = openTestWindow();
-        oldDesc = Workbench.getInstance().getIntroDescriptor();
-        IntroDescriptor testDesc = (IntroDescriptor)WorkbenchPlugin.getDefault().getIntroRegistry().getIntro("org.eclipse.ui.testintro");
-        Workbench.getInstance().setIntroDescriptor(testDesc);        
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.tests.util.UITestCase#doTearDown()
-     */
-    protected void doTearDown() throws Exception {
-        super.doTearDown();
-        Workbench.getInstance().setIntroDescriptor(oldDesc);
-    }
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/intro/IntroTestSuite.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/intro/IntroTestSuite.java
deleted file mode 100644
index f014c0e..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/intro/IntroTestSuite.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.intro;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-
-/**
- * @since 3.0
- */
-public class IntroTestSuite extends TestSuite {
-
-
-	public static Test suite() {
-		return new IntroTestSuite();
-	}    
-	
-    /**
-     * 
-     */
-    public IntroTestSuite() {        
-		addTest(new TestSuite(IntroPartTest.class));
-		addTest(new TestSuite(NoIntroPartTest.class));
-		addTest(new TestSuite(IntroTest.class));
-    }
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/intro/MockIntroPart.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/intro/MockIntroPart.java
deleted file mode 100644
index b403e03..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/intro/MockIntroPart.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.intro;
-
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.intro.IIntroPart;
-import org.eclipse.ui.intro.IIntroSite;
-import org.eclipse.ui.tests.api.MockPart;
-
-
-/**
- * @since 3.0
- */
-public class MockIntroPart extends MockPart implements IIntroPart {
-
-    private IIntroSite site;
-    /**
-     * 
-     */
-    public MockIntroPart() {
-        super();
-    }
-
-	
-	public IIntroSite getIntroSite() {
-		return site;
-	}
-
-	public void init(IIntroSite site, IMemento memento) throws PartInitException {
-		setSite(site);
-		callTrace.add("init" );
-	}
-
-	/**
-     * @param site
-     */
-    private void setSite(IIntroSite site) {
-        this.site = site;
-    }
-
-
-    /**
-	 * @see IViewPart#saveState(IMemento)
-	 */
-	public void saveState(IMemento memento) {
-	}
-
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.intro.IIntroPart#standbyStateChanged(boolean)
-     */
-    public void standbyStateChanged(boolean standby) {
-        callTrace.add("standbyStateChanged");
-    }    
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/intro/NoIntroPartTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/intro/NoIntroPartTest.java
deleted file mode 100644
index fa75ab0..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/intro/NoIntroPartTest.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.intro;
-
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.internal.Workbench;
-import org.eclipse.ui.internal.intro.IntroDescriptor;
-import org.eclipse.ui.intro.IIntroPart;
-import org.eclipse.ui.tests.api.IWorkbenchPartTest;
-import org.eclipse.ui.tests.api.MockPart;
-import org.eclipse.ui.tests.api.MockWorkbenchPart;
-
-
-/**
- * @since 3.0
- */
-public class NoIntroPartTest extends IWorkbenchPartTest {
-
-    private IntroDescriptor oldDesc;
-    
-    /**
-     * @param testName
-     */
-    public NoIntroPartTest(String testName) {
-        super(testName);
-        // TODO Auto-generated constructor stub
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.tests.api.IWorkbenchPartTest#openPart(org.eclipse.ui.IWorkbenchPage)
-     */
-    protected MockPart openPart(IWorkbenchPage page) throws Throwable {
-        return (MockWorkbenchPart)page.getWorkbenchWindow().getWorkbench().getIntroManager().showIntro(page.getWorkbenchWindow(), false);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.tests.api.IWorkbenchPartTest#closePart(org.eclipse.ui.IWorkbenchPage, org.eclipse.ui.tests.api.MockWorkbenchPart)
-     */
-    protected void closePart(IWorkbenchPage page, MockPart part)
-            throws Throwable {
-		page.getWorkbenchWindow().getWorkbench().getIntroManager().closeIntro((IIntroPart) part);            
-    }
-    
-    
-    //only test open..shouldn't work.
-	public void testOpenAndClose() throws Throwable {
-		// Open a part.
-		MockPart part = openPart(fPage);
-		assertNull(part);
-	}    
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.tests.util.UITestCase#doSetUp()
-     */
-    protected void doSetUp() throws Exception {
-        super.doSetUp();
-        oldDesc = Workbench.getInstance().getIntroDescriptor();
-        Workbench.getInstance().setIntroDescriptor(null);        
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.tests.util.UITestCase#doTearDown()
-     */
-    protected void doTearDown() throws Exception {
-        super.doTearDown();
-        Workbench.getInstance().setIntroDescriptor(oldDesc);
-    }    
-
-
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug36420Test.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug36420Test.java
deleted file mode 100644
index a3fddf8..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug36420Test.java
+++ /dev/null
@@ -1,111 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.tests.keys;
-
-import java.io.BufferedOutputStream;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Properties;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.ui.commands.ICommandManager;
-import org.eclipse.ui.internal.IWorkbenchConstants;
-import org.eclipse.ui.keys.KeySequence;
-import org.eclipse.ui.tests.util.UITestCase;
-
-/**
- * Tests Bug 36420
- * 
- * @since 3.0
- */
-public class Bug36420Test extends UITestCase {
-
-	/**
-	 * Constructor for Bug36420Test.
-	 * 
-	 * @param name
-	 *            The name of the test
-	 */
-	public Bug36420Test(String name) {
-		super(name);
-	}
-
-	/**
-	 * Tests that importing key preferences actually has an effect.
-	 * 
-	 * @throws CoreException
-	 *             If the preferences can't be imported.
-	 * @throws FileNotFoundException
-	 *             If the temporary file is removed after it is created, but
-	 *             before it is opened. (Wow)
-	 * @throws IOException
-	 *             If something fails during output of the preferences file.
-	 */
-	public void testImportKeyPreferences()
-		throws CoreException, FileNotFoundException, IOException {
-		String commandId = "org.eclipse.ui.window.nextView"; //$NON-NLS-1$
-		String keySequenceText = "F S C K"; //$NON-NLS-1$
-
-		/*
-		 * DO NOT USE PreferenceMutator for this section. This test case must
-		 * use these exact steps, while PreferenceMutator might use something
-		 * else in the future.
-		 */
-		// Set up the preferences.
-		Properties preferences = new Properties();
-		String key = "org.eclipse.ui.workbench/org.eclipse.ui.commands"; //$NON-NLS-1$
-		String value = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<org.eclipse.ui.commands><activeKeyConfiguration keyConfigurationId=\"" + IWorkbenchConstants.DEFAULT_ACCELERATOR_CONFIGURATION_ID + "\"></activeKeyConfiguration><keyBinding	keyConfigurationId=\"org.eclipse.ui.defaultAcceleratorConfiguration\" commandId=\"" + commandId + "\" keySequence=\"" + keySequenceText + "\"/></org.eclipse.ui.commands>"; //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		preferences.put(key, value);
-		IPluginDescriptor[] descriptors = Platform.getPluginRegistry().getPluginDescriptors();
-		for (int i = 0; i < descriptors.length; i++) {
-			preferences.put(
-				descriptors[i].getUniqueIdentifier(),
-				descriptors[i].getVersionIdentifier().toString());
-		}
-
-		// Export the preferences.
-		File file = File.createTempFile("preferences", ".txt"); //$NON-NLS-1$//$NON-NLS-2$
-		file.deleteOnExit();
-		BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file));
-		preferences.store(bos, null);
-		bos.close();
-
-		// Attempt to import the key binding.
-		Preferences.importPreferences(new Path(file.getAbsolutePath()));
-		/*
-		 * END SECTION
-		 */
-
-		// Check to see that the key binding for the given command matches.
-		ICommandManager manager = fWorkbench.getCommandSupport().getCommandManager();
-		List keyBindings = manager.getCommand(commandId).getKeySequenceBindings();
-		Iterator keyBindingItr = keyBindings.iterator();
-		boolean found = false;
-		while (keyBindingItr.hasNext()) {
-			KeySequence keyBinding = (KeySequence) keyBindingItr.next();
-			String currentText = keyBinding.toString();
-			if (keySequenceText.equals(currentText)) {
-				found = true;
-			}
-		}
-
-		assertTrue("Key binding not imported.", found); //$NON-NLS-1$
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug36537Test.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug36537Test.java
deleted file mode 100644
index dd7b7c1..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug36537Test.java
+++ /dev/null
@@ -1,111 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.tests.keys;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.internal.Workbench;
-import org.eclipse.ui.internal.commands.KeySequenceBindingDefinition;
-import org.eclipse.ui.internal.commands.MutableCommandManager;
-import org.eclipse.ui.keys.KeySequence;
-import org.eclipse.ui.tests.util.UITestCase;
-
-/**
- * Tests Bug 36537
- * 
- * @since 3.0
- */
-public class Bug36537Test extends UITestCase {
-
-	/**
-	 * Constructor for Bug36537Test.
-	 * 
-	 * @param name
-	 *           The name of the test
-	 */
-	public Bug36537Test(String name) {
-		super(name);
-	}
-
-	/**
-	 * Tests that there are no redundant key bindings defined in the
-	 * application.
-	 */
-	public void testForRedundantKeySequenceBindings() {
-		IWorkbenchWindow window = openTestWindow();
-		Workbench workbench = (Workbench) window.getWorkbench();
-		// TODO this is a bad downcast and will fail in the future.
-		MutableCommandManager mutableCommandManager = (MutableCommandManager) workbench.getCommandSupport().getCommandManager();
-		List keySequenceBindings = mutableCommandManager.getCommandRegistry().getKeySequenceBindingDefinitions();
-		Iterator keySequenceBindingItr = keySequenceBindings.iterator();
-		Map keySequenceBindingsByKeySequence = new HashMap();
-
-		while (keySequenceBindingItr.hasNext()) {
-			// Retrieve the key binding.
-			KeySequenceBindingDefinition keySequenceBinding = (KeySequenceBindingDefinition) keySequenceBindingItr.next();
-
-			// Find the point the bindings with matching key sequences.
-			KeySequence keySequence = keySequenceBinding.getKeySequence();
-			List matches = (List) keySequenceBindingsByKeySequence.get(keySequence);
-			if (matches == null) {
-				matches = new ArrayList();
-				keySequenceBindingsByKeySequence.put(keySequence, matches);
-			}
-
-			// Check that we don't have any redundancy or other wackiness.
-			Iterator matchItr = matches.iterator();
-			while (matchItr.hasNext()) {
-				KeySequenceBindingDefinition definition = (KeySequenceBindingDefinition) matchItr.next();
-				String commandA = keySequenceBinding.getCommandId();
-				String commandB = definition.getCommandId();
-				String contextA = keySequenceBinding.getContextId();
-				String contextB = definition.getContextId();
-				String keyConfA = keySequenceBinding.getKeyConfigurationId();
-				String keyConfB = definition.getKeyConfigurationId();
-				String localeA = keySequenceBinding.getLocale();
-				String localeB = definition.getLocale();
-				String platformA = keySequenceBinding.getPlatform();
-				String platformB = definition.getPlatform();
-
-				boolean same = true;
-				int nullMatches = 0;
-				same &= (commandA == null) ? (commandB == null) : (commandA.equals(commandB));
-				same &= (contextA == null) || (contextB == null) || (contextA.equals(contextB));
-				if (((contextA == null) || (contextB == null)) && (contextA != contextB)) {
-					nullMatches++;
-				}
-				same &= (keyConfA == null) || (keyConfB == null) || (keyConfA.equals(keyConfB));
-				if (((keyConfA == null) || (keyConfB == null)) && (keyConfA != keyConfB)) {
-					nullMatches++;
-				}
-				same &= (localeA == null) || (localeB == null) || (localeA.equals(localeB));
-				if (((localeA == null) || (localeB == null)) && (localeA != localeB)) {
-					nullMatches++;
-				}
-				same &= (platformA == null) || (platformB == null) || (platformA.equals(platformB));
-				if (((platformA == null) || (platformB == null)) && (platformA != platformB)) {
-					nullMatches++;
-				}
-
-				assertFalse("Redundant key bindings: " + keySequenceBinding + ", " + definition, same && (nullMatches < 1)); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-
-			// Add the key binding.
-			matches.add(keySequenceBinding);
-		}
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug40023Test.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug40023Test.java
deleted file mode 100644
index a5539a7..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug40023Test.java
+++ /dev/null
@@ -1,112 +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 Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.ui.tests.keys;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.commands.CommandException;
-import org.eclipse.ui.keys.KeyStroke;
-import org.eclipse.ui.keys.ParseException;
-import org.eclipse.ui.tests.util.UITestCase;
-
-import org.eclipse.ui.internal.Workbench;
-import org.eclipse.ui.internal.contexts.ws.WorkbenchContextSupport;
-
-/**
- * Tests Bug 40023
- * 
- * @since 3.0
- */
-public class Bug40023Test extends UITestCase {
-
-    /**
-     * Retrieves a menu item matching or starting with the given name from an
-     * array of menu items.
-     * 
-     * @param menuItems
-     *            The array of menu items to search; must not be <code>null</code>
-     * @param text
-     *            The text to look for; may be <code>null</code>.
-     * @return The menu item, if any is found; <code>null</code> otherwise.
-     */
-    public static MenuItem getMenuItem(MenuItem[] menuItems, String text) {
-        for (int i = 0; i < menuItems.length; i++) {
-            if (menuItems[i].getText().startsWith(text)) { return menuItems[i]; }
-        }
-
-        return null;
-    }
-
-    /**
-     * Constructor for Bug40023Test.
-     * 
-     * @param name
-     *            The name of the test
-     */
-    public Bug40023Test(String name) {
-        super(name);
-    }
-
-    /**
-     * Tests that check box items on the menu are checked when activated from
-     * the keyboard.
-     * 
-     * @throws CommandException
-     *             If execution of the handler fails.
-     * @throws CoreException
-     *             If the exported preferences file is invalid for some reason.
-     * @throws FileNotFoundException
-     *             If the temporary file is removed before it can be read in.
-     *             (Wow)
-     * @throws IOException
-     *             If the creation of or the writing to the temporary file
-     *             fails for some reason.
-     * @throws ParseException
-     *             If the key binding cannot be parsed.
-     */
-    public void testCheckOnCheckbox() throws CoreException, CommandException,
-            FileNotFoundException, IOException, ParseException {
-        // Open a window to run the test.
-        IWorkbenchWindow window = openTestWindow();
-        Workbench workbench = (Workbench) window.getWorkbench();
-
-        // Set up a key binding for "Lock Toolbars".
-        String commandId = "org.eclipse.ui.window.lockToolBar"; //$NON-NLS-1$
-        String keySequenceText = "CTRL+ALT+L"; //$NON-NLS-1$
-        PreferenceMutator.setKeyBinding(commandId, keySequenceText);
-
-        // Press "CTRL+ALT+L" to lock the toolbars.
-        List keyStrokes = new ArrayList();
-        keyStrokes.add(KeyStroke.getInstance(keySequenceText));
-        Event event = new Event();
-        WorkbenchContextSupport support = (WorkbenchContextSupport) workbench
-                .getContextSupport();
-        support.getKeyboard().press(keyStrokes, event);
-
-        // Check that the "Lock Toolbars" menu item is now checked.
-        Shell shell = window.getShell();
-        MenuItem windowMenu = getMenuItem(shell.getMenuBar().getItems(),
-                "&Window"); //$NON-NLS-1$
-        MenuItem lockToolBarsMenuItem = getMenuItem(windowMenu.getMenu()
-                .getItems(), "Lock the &Toolbars"); //$NON-NLS-1$
-        assertTrue("Checkbox menu item is not checked.", lockToolBarsMenuItem //$NON-NLS-1$
-                .getSelection());
-    }
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug42024Test.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug42024Test.java
deleted file mode 100644
index 7ef908b..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug42024Test.java
+++ /dev/null
@@ -1,134 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.tests.keys;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.RowLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.internal.keys.KeySequenceText;
-import org.eclipse.ui.keys.KeySequence;
-import org.eclipse.ui.keys.ParseException;
-import org.eclipse.ui.tests.util.UITestCase;
-
-/**
- * Tests Bug 42024
- * 
- * @since 3.0
- */
-public class Bug42024Test extends UITestCase {
-
-	/** The shell on which the <code>KeySequenceText</code> is placed. */
-	private Shell shell = null;
-	/** The instance of <code>KeySequenceText</code> we should tinker with. */
-	private KeySequenceText text = null;
-
-	/**
-	 * Constructor for Bug42024Test.
-	 * 
-	 * @param name
-	 *            The name of the test
-	 */
-	public Bug42024Test(String name) {
-		super(name);
-	}
-
-	/*
-	 * @see TestCase#setUp()
-	 */
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-		
-		// Create a window with a KeySequenceText
-		Display display = Display.getCurrent();
-		shell = new Shell(display);
-		shell.setLayout(new RowLayout());
-		text = new KeySequenceText(new Text(shell, SWT.BORDER));
-
-		// Open it
-		shell.pack();
-		shell.open();
-	}
-
-	protected void doTearDown() throws Exception {
-		super.doTearDown();
-		
-		// Close and destroy the window
-		shell.close();
-		shell.dispose();
-
-		// Release the memory.
-		shell = null;
-		text = null;
-	}
-
-	/**
-	 * Tests that the limiting facility on KeySequenceText allows an arbitrary
-	 * number of key strokes, when the the limit is set to "infinite". In this
-	 * case, we will use a six stroke sequence.
-	 * 
-	 * @throws ParseException
-	 *             If the test sequence cannot be parsed.
-	 */
-	public void testInfiniteStrokes() throws ParseException {
-		String keySequenceText = "A B C D E F"; //$NON-NLS-1$
-		KeySequence keySequence = KeySequence.getInstance(keySequenceText);
-		text.setKeyStrokeLimit(KeySequenceText.INFINITE);
-		text.setKeySequence(keySequence);
-		assertEquals("Infinite limit but sequence changed.", keySequence, text.getKeySequence()); //$NON-NLS-1$
-	}
-
-	/**
-	 * Tests that inserting a key sequence of matching length causes no change,
-	 * but inserted a key sequence of one greater does cause a change --
-	 * specifically truncation.
-	 * 
-	 * @throws ParseException
-	 *             If the test sequences cannot be parsed.
-	 */
-	public void testTruncation() throws ParseException {
-		final int length = 4;
-		text.setKeyStrokeLimit(length);
-
-		// Test matching length.
-		String matchingKeySequenceText = "1 2 3 4"; //$NON-NLS-1$
-		KeySequence matchingKeySequence = KeySequence.getInstance(matchingKeySequenceText);
-		text.setKeySequence(matchingKeySequence);
-		assertEquals("Limit of four change four stroke sequence.", matchingKeySequence, text.getKeySequence()); //$NON-NLS-1$
-
-		// Test one greater than length.
-		String longerKeySequenceText = "1 2 3 4 5"; //$NON-NLS-1$
-		KeySequence longerKeySequence = KeySequence.getInstance(longerKeySequenceText);
-		text.setKeySequence(longerKeySequence);
-		assertEquals("Limit of four did not truncate to four.", length, text.getKeySequence().getKeyStrokes().size()); //$NON-NLS-1$
-	}
-
-	/**
-	 * Tests that a zero-length stroke can be inserted into the KeySequenceText --
-	 * regardless of whether the stroke limit is some positive integer or
-	 * infinite.
-	 */
-	public void testZeroStroke() {
-		KeySequence zeroStrokeSequence = KeySequence.getInstance();
-
-		// Test with a limit of four.
-		text.setKeyStrokeLimit(4);
-		text.setKeySequence(zeroStrokeSequence);
-		assertEquals("Limit of four changed zero stroke sequence.", zeroStrokeSequence, text.getKeySequence()); //$NON-NLS-1$
-
-		// Test with an infinite limit.
-		text.setKeyStrokeLimit(KeySequenceText.INFINITE);
-		text.setKeySequence(zeroStrokeSequence);
-		assertEquals("Infinite limit changed zero stroke sequence.", zeroStrokeSequence, text.getKeySequence()); //$NON-NLS-1$
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug42035Test.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug42035Test.java
deleted file mode 100644
index 4354281..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug42035Test.java
+++ /dev/null
@@ -1,172 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.tests.keys;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.ui.keys.KeyStroke;
-import org.eclipse.ui.keys.ParseException;
-import org.eclipse.ui.keys.SWTKeySupport;
-import org.eclipse.ui.tests.util.UITestCase;
-
-/**
- * Test for Bug 42035.
- * 
- * @since 3.0
- */
-public class Bug42035Test extends UITestCase {
-
-	/**
-	 * Tests the given key event to see if generates the three key strokes
-	 * represented by the strings.
-	 * 
-	 * @param keyEvent
-	 *            The key event to generate key strokes from; must not be
-	 *            <code>null</code>
-	 * @param firstMatch
-	 *            The text format of the first match; must not be <code>null</code>.
-	 * @param secondMatch
-	 *            The text format of the second match; must not be <code>null</code>.
-	 * @param thirdMatch
-	 *            The text format of the third match; must not be <code>null</code>.
-	 * @throws ParseException
-	 *             If anyone of the text formats provided cannot be parsed.
-	 */
-	private static void testKeyEvent(Event keyEvent, String firstMatch, String secondMatch, String thirdMatch) throws ParseException {
-		KeyStroke desiredKeyStroke = null;
-		KeyStroke actualKeyStroke = null;
-
-		// Test the first-level match.
-		desiredKeyStroke = KeyStroke.getInstance(firstMatch); //$NON-NLS-1$
-		actualKeyStroke = SWTKeySupport.convertAcceleratorToKeyStroke(SWTKeySupport.convertEventToUnmodifiedAccelerator(keyEvent));
-		assertEquals("Unmodified character with all modifiers doesn't match.", desiredKeyStroke, actualKeyStroke); //$NON-NLS-1$
-
-		// Test the second-level match.
-		desiredKeyStroke = KeyStroke.getInstance(secondMatch); //$NON-NLS-1$
-		actualKeyStroke = SWTKeySupport.convertAcceleratorToKeyStroke(SWTKeySupport.convertEventToUnshiftedModifiedAccelerator(keyEvent));
-		assertEquals("Modified character with no shift doesn't match.", desiredKeyStroke, actualKeyStroke); //$NON-NLS-1$
-
-		// Test the third-level match.
-		desiredKeyStroke = KeyStroke.getInstance(thirdMatch); //$NON-NLS-1$
-		actualKeyStroke = SWTKeySupport.convertAcceleratorToKeyStroke(SWTKeySupport.convertEventToModifiedAccelerator(keyEvent));
-		assertEquals("Modified character with all modifiers doesn't match.", desiredKeyStroke, actualKeyStroke); //$NON-NLS-1$
-	}
-
-	/**
-	 * Constructs a new instance of this test case.
-	 * 
-	 * @param testName
-	 *            The name of the test
-	 */
-	public Bug42035Test(String testName) {
-		super(testName);
-	}
-
-	/**
-	 * Tests that "Ctrl+" generates "Ctrl+", "Ctrl+" and "Ctrl+".
-	 * 
-	 * @throws ParseException
-	 *             If "CTRL+" cannot be processed.
-	 */
-	public void testCtrl() throws ParseException {
-		Event keyEvent = new Event();
-		keyEvent.keyCode = 0x40000;
-		keyEvent.character = 0x00;
-		keyEvent.stateMask = SWT.NONE;
-
-		KeyStroke desiredKeyStroke = KeyStroke.getInstance("CTRL+"); //$NON-NLS-1$
-		KeyStroke actualKeyStroke = SWTKeySupport.convertAcceleratorToKeyStroke(SWTKeySupport.convertEventToUnmodifiedAccelerator(keyEvent));
-		assertEquals("Unmodified character with all modifiers doesn't match", desiredKeyStroke, actualKeyStroke); //$NON-NLS-1$
-	}
-
-	/**
-	 * Tests that "Ctrl+Enter" generates "Ctrl+Enter", "Ctrl+Enter" and
-	 * "Ctrl+Enter".
-	 * 
-	 * @throws ParseException
-	 *             If "CTRL+ENTER" cannot be processed.
-	 */
-	public void testCtrlEnter() throws ParseException {
-		Event keyEvent = new Event();
-		keyEvent.keyCode = 0x0D;
-		keyEvent.character = 0x0D;
-		keyEvent.stateMask = SWT.CTRL;
-
-		testKeyEvent(keyEvent, "CTRL+CR", "CTRL+CR", "CTRL+CR"); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
-	}
-
-	/**
-	 * Tests that "Ctrl+J" generates "Ctrl+M", "Ctrl+M" and "Ctrl+M".
-	 * 
-	 * @throws ParseException
-	 *             If "CTRL+M" cannot be processed.
-	 */
-	public void testCtrlM() throws ParseException {
-		Event keyEvent = new Event();
-		keyEvent.keyCode = 0x6D;
-		keyEvent.character = 0x0D;
-		keyEvent.stateMask = SWT.CTRL;
-
-		testKeyEvent(keyEvent, "CTRL+M", "CTRL+M", "CTRL+M"); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
-	}
-
-	/**
-	 * Tests that "Ctrl+Shift+2" generates "Ctrl+Shift+2", "Ctrl+@" and
-	 * "Ctrl+Shift+@". This simulates a U.S. keyboard layout.
-	 * 
-	 * @throws ParseException
-	 *             If "CTRL+SHIFT+2", "CTRL+@" or "CTRL+SHIFT+@" cannot be
-	 *             processed.
-	 */
-	public void testCtrlShift2() throws ParseException {
-		Event keyEvent = new Event();
-		keyEvent.keyCode = '2';
-		keyEvent.character = 0x00;
-		keyEvent.stateMask = SWT.CTRL | SWT.SHIFT;
-
-		testKeyEvent(keyEvent, "CTRL+SHIFT+2", "CTRL+@", "CTRL+SHIFT+@"); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
-	}
-
-	/**
-	 * Tests that "Ctrl+Shift+7" generates "Ctrl+Shift+7", "Ctrl+/" and
-	 * "Ctrl+Shift+/". This simulates a Swiss-German keyboard layout.
-	 * 
-	 * @throws ParseException
-	 *             If "CTRL+SHIFT+7", "CTRL+/" or "CTRL+SHIFT+/" cannot be
-	 *             processed.
-	 */
-	public void testCtrlShift7_SwissGerman() throws ParseException {
-		Event keyEvent = new Event();
-		keyEvent.keyCode = '7';
-		keyEvent.character = '/';
-		keyEvent.stateMask = SWT.CTRL | SWT.SHIFT;
-
-		testKeyEvent(keyEvent, "CTRL+SHIFT+7", "CTRL+/", "CTRL+SHIFT+/"); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
-	}
-
-	/**
-	 * Tests that "Ctrl+Shift+7" generates "Ctrl+Shift+7", "Ctrl+&" and
-	 * "Ctrl+Shift+&". This simulates a US keyboard layout.
-	 * 
-	 * @throws ParseException
-	 *             If "CTRL+SHIFT+7", "CTRL+&" or "CTRL+SHIFT+&" cannot be
-	 *             processed.
-	 */
-	public void testCtrlShift7_US() throws ParseException {
-		Event keyEvent = new Event();
-		keyEvent.keyCode = '7';
-		keyEvent.character = '&';
-		keyEvent.stateMask = SWT.CTRL | SWT.SHIFT;
-
-		testKeyEvent(keyEvent, "CTRL+SHIFT+7", "CTRL+&", "CTRL+SHIFT+&"); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug42627Test.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug42627Test.java
deleted file mode 100644
index 8a1e480..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug42627Test.java
+++ /dev/null
@@ -1,87 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.tests.keys;
-
-//import org.eclipse.core.runtime.CoreException;
-//import org.eclipse.jface.action.Action;
-import org.eclipse.ui.tests.util.UITestCase;
-
-/**
- * Tests Bug 42627
- * 
- * @since 3.0
- */
-public class Bug42627Test extends UITestCase {
-
-	// TODO See if this is needed for anything.
-	//	private class DummyView extends ViewPart {
-	//		public void createPartControl(Composite composite) {
-	//			// Do nothing
-	//		}
-	//		
-	//		public void setFocus() {
-	//			// Do nothing
-	//		}
-	//	}
-
-	/**
-	 * A dummy implementation of an <code>Action</code>.
-	 * 
-	 * @since 3.0
-	 */
-//	private class DummyAction extends Action {
-//		// Nothing to implement
-//	}
-
-//	private boolean logged;
-
-	/**
-	 * Constructor for Bug42627Test.
-	 * 
-	 * @param name
-	 *           The name of the test
-	 */
-	public Bug42627Test(String name) {
-		super(name);
-	}
-
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-//		logged = false;
-	}
-
-	/**
-	 * Tests that actions with no defined command ID are logged.
-	 * 
-	 * @throws CoreException
-	 *            If something fails when trying to open a new project.
-	 */
-	public void testLogUndefined() /*throws CoreException*/ {
-		// TODO No log is being generated.  What was Chris' fix?
-//		IWorkbenchWindow window = openTestWindow();
-//		ResourcesPlugin.getPlugin().getLog().addLogListener(new ILogListener() {
-//			public void logging(IStatus status, String string) {
-//				logged = true;
-//			}
-//		});
-//		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-//		IProject testProject = workspace.getRoot().getProject("Bug42627Project"); //$NON-NLS-1$
-//		testProject.create(null);
-//		testProject.open(null);
-//		AbstractTextEditor editor = (AbstractTextEditor) window.getActivePage().openEditor(testProject.getFile(".project")); //$NON-NLS-1$
-//		editor.selectAndReveal(0, 1);
-//		EditorSite site = (EditorSite) editor.getSite();
-//		site.getActionBars().setGlobalActionHandler("Bogus action name that hopefully will not exist", new DummyAction()); //$NON-NLS-1$
-//		window.getShell().setFocus();
-//		assertTrue("Nothing has been logged.", logged); //$NON-NLS-1$
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug43168Test.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug43168Test.java
deleted file mode 100644
index 96ec6db..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug43168Test.java
+++ /dev/null
@@ -1,60 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.tests.keys;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.RowLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.internal.keys.KeySequenceText;
-import org.eclipse.ui.keys.KeySequence;
-import org.eclipse.ui.keys.ParseException;
-import org.eclipse.ui.tests.util.UITestCase;
-
-/**
- * Tests Bug 43168
- * 
- * @since 3.0
- */
-public class Bug43168Test extends UITestCase {
-
-	/**
-	 * Constructor for Bug43168Test.
-	 * 
-	 * @param name
-	 *            The name of the test
-	 */
-	public Bug43168Test(String name) {
-		super(name);
-	}
-
-	/**
-	 * Tests that a <code>StackOverflowError</code> does not occur when
-	 * trying to set the key sequence in a key sequence entry widget.
-	 * 
-	 * @throws ParseException
-	 *             If "CTRL+" is not recognized as a key sequence.
-	 */
-	public void testStackOverflow() throws ParseException {
-		Display display = Display.getCurrent();
-		Shell shell = new Shell(display);
-		shell.setLayout(new RowLayout());
-		Text text = new Text(shell, SWT.BORDER);
-		KeySequenceText keySequenceText = new KeySequenceText(text);
-
-		shell.pack();
-		shell.open();
-		keySequenceText.setKeySequence(KeySequence.getInstance("CTRL+")); //$NON-NLS-1$
-		shell.close();
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug43321Test.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug43321Test.java
deleted file mode 100644
index 1495372..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug43321Test.java
+++ /dev/null
@@ -1,96 +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 Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.ui.tests.keys;
-
-import java.io.ByteArrayInputStream;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.swt.widgets.Event;
-
-import org.eclipse.jface.action.IAction;
-
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.commands.CommandException;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.keys.KeyStroke;
-import org.eclipse.ui.keys.ParseException;
-import org.eclipse.ui.tests.util.UITestCase;
-import org.eclipse.ui.texteditor.AbstractTextEditor;
-
-import org.eclipse.ui.internal.Workbench;
-import org.eclipse.ui.internal.contexts.ws.WorkbenchContextSupport;
-
-/**
- * Tests Bug 43321
- * 
- * @since 3.0
- */
-public class Bug43321Test extends UITestCase {
-
-    /**
-     * Constructor for Bug43321Test.
-     * 
-     * @param name
-     *            The name of the test
-     */
-    public Bug43321Test(String name) {
-        super(name);
-    }
-
-    /**
-     * Tests that non-check box items on the menu are not checked when
-     * activated from the keyboard.
-     * 
-     * @throws CommandException
-     *             If execution of the handler fails.
-     * @throws CoreException
-     *             If the test project cannot be created and opened.
-     * @throws ParseException
-     *             If "CTRL+C" isn't a valid key stroke.
-     */
-    public void testNoCheckOnNonCheckbox() throws CommandException,
-            CoreException, ParseException {
-        IWorkbenchWindow window = openTestWindow();
-        IWorkspace workspace = ResourcesPlugin.getWorkspace();
-        IProject testProject = workspace.getRoot().getProject("TestProject"); //$NON-NLS-1$
-        testProject.create(null);
-        testProject.open(null);
-        IFile textFile = testProject.getFile("A.txt"); //$NON-NLS-1$
-        String contents = "A blurb"; //$NON-NLS-1$
-        ByteArrayInputStream inputStream = new ByteArrayInputStream(contents
-                .getBytes());
-        textFile.create(inputStream, true, null);
-        AbstractTextEditor editor = (AbstractTextEditor) IDE.openEditor(window
-                .getActivePage(), textFile, true);
-        editor.selectAndReveal(0, 1);
-
-        // Press "Ctrl+C" to perform a copy.
-        List keyStrokes = new ArrayList();
-        keyStrokes.add(KeyStroke.getInstance("CTRL+C")); //$NON-NLS-1$
-        Event event = new Event();
-        Workbench workbench = ((Workbench) window.getWorkbench());
-        WorkbenchContextSupport support = (WorkbenchContextSupport) workbench
-                .getContextSupport();
-        support.getKeyboard().press(keyStrokes, event);
-
-        // Get the menu item we've just selected.
-        IAction action = editor.getEditorSite().getActionBars()
-                .getGlobalActionHandler(ActionFactory.COPY.getId());
-        assertTrue("Non-checkbox menu item is checked.", !action.isChecked()); //$NON-NLS-1$
-    }
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug43538Test.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug43538Test.java
deleted file mode 100644
index 4e9fbff..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug43538Test.java
+++ /dev/null
@@ -1,69 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.tests.keys;
-
-import java.awt.AWTException;
-import java.awt.Robot;
-import java.awt.event.KeyEvent;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.ui.tests.util.UITestCase;
-
-/**
- * Test for Bug 43538.
- * 
- * @since 3.0
- */
-public class Bug43538Test extends UITestCase {
-
-	/**
-	 * Constructs a new instance of this test case.
-	 * 
-	 * @param testName
-	 *            The name of the test
-	 */
-	public Bug43538Test(String testName) {
-		super(testName);
-	}
-
-	/**
-	 * Tests that if "Shift+Alt+" is pressed, then the key code should
-	 * represent the "Alt+" key press.
-	 */
-	public void testShiftAlt() throws AWTException {
-		// Set up a working environment.
-		Display display = Display.getCurrent();
-		Listener listener = new Listener() {
-			int count = 0;
-			public void handleEvent(Event event) {
-				if (event.stateMask == SWT.CTRL) {
-					assertEquals("Multiple key down events for 'Ctrl+Space'", 0, count++); //$NON-NLS-1$
-				}
-			}
-		};
-		display.addFilter(SWT.KeyDown, listener);
-
-		// Test.
-		Robot robot = new Robot();
-		robot.keyPress(KeyEvent.VK_CONTROL);
-		robot.keyPress(KeyEvent.VK_SPACE);
-		robot.keyRelease(KeyEvent.VK_SPACE);
-		robot.keyRelease(KeyEvent.VK_CONTROL);
-		while (display.readAndDispatch());
-
-		// Clean up the working environment.
-		display.removeFilter(SWT.KeyDown, listener);
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug43597Test.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug43597Test.java
deleted file mode 100644
index a79a32e..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug43597Test.java
+++ /dev/null
@@ -1,74 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.tests.keys;
-
-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.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.tests.util.UITestCase;
-
-/**
- * Tests Bug 43597
- * 
- * @since 3.0
- */
-public class Bug43597Test extends UITestCase {
-
-	/**
-	 * Constructor for Bug43597Test.
-	 * 
-	 * @param name
-	 *            The name of the test
-	 */
-	public Bug43597Test(String name) {
-		super(name);
-	}
-
-	/**
-	 * Tests that setting the text on a text widget to an empty string does not
-	 * reset the font. This was a problem only on carbon.
-	 */
-	public void testFontReset() {
-		String metaCharacter = "\u2325X"; //$NON-NLS-1$
-
-		// Set up a working environment.
-		Display display = Display.getCurrent();
-		Shell shell = new Shell(display);
-		GridLayout gridLayout = new GridLayout();
-		shell.setLayout(gridLayout);
-		Text text = new Text(shell, SWT.LEFT);
-		text.setFont(new Font(text.getDisplay(), "Lucida Grande", 13, SWT.NORMAL)); //$NON-NLS-1$
-		text.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		shell.pack();
-		shell.open();
-
-		// Set the text once, and get the font.
-		text.setText(metaCharacter); //$NON-NLS-1$
-		Font fontBefore = text.getFont();
-
-		// Set the font again, and get the font afterward.
-		text.setText(""); //$NON-NLS-1$
-		text.setText(metaCharacter);
-		Font fontAfter = text.getFont();
-
-		// Test.
-		assertEquals("Clearing text resets font.", fontBefore.handle, fontAfter.handle); //$NON-NLS-1$
-
-		// Clean up after myself.
-		shell.close();
-		shell.dispose();
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug43610Test.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug43610Test.java
deleted file mode 100644
index a160646..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug43610Test.java
+++ /dev/null
@@ -1,70 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.tests.keys;
-
-import java.awt.AWTException;
-import java.awt.Robot;
-import java.awt.event.KeyEvent;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.ui.tests.util.UITestCase;
-
-/**
- * Test for Bug 43610.
- * 
- * @since 3.0
- */
-public class Bug43610Test extends UITestCase {
-
-	/**
-	 * Constructs a new instance of this test case.
-	 * 
-	 * @param testName
-	 *            The name of the test
-	 */
-	public Bug43610Test(String testName) {
-		super(testName);
-	}
-
-	/**
-	 * Tests that if "Shift+Alt+" is pressed, then the key code should
-	 * represent the "Alt+" key press.
-	 */
-	public void testShiftAlt() throws AWTException {
-		// Set up a working environment.
-		Display display = Display.getCurrent();
-		Listener listener = new Listener() {
-			public void handleEvent(Event event) {
-				if (event.stateMask == SWT.SHIFT) {
-					assertEquals("Incorrect key code for 'Shift+Alt+'", SWT.ALT, event.keyCode); //$NON-NLS-1$
-				}
-			}
-		};
-		display.addFilter(SWT.KeyDown, listener);
-
-		// Test.
-		Robot robot = new Robot();
-		robot.keyPress(KeyEvent.VK_SHIFT);
-		robot.keyPress(KeyEvent.VK_ALT);
-		robot.keyRelease(KeyEvent.VK_ALT);
-		robot.keyRelease(KeyEvent.VK_SHIFT);
-		robot.keyPress(KeyEvent.VK_ESCAPE);
-		robot.keyRelease(KeyEvent.VK_ESCAPE);
-		while (display.readAndDispatch());
-
-		// Clean up the working environment.
-		display.removeFilter(SWT.KeyDown, listener);
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug43800Test.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug43800Test.java
deleted file mode 100644
index 65e1f65..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug43800Test.java
+++ /dev/null
@@ -1,54 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.tests.keys;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.ui.keys.SWTKeySupport;
-import org.eclipse.ui.tests.util.UITestCase;
-
-/**
- * Test for Bug 43800.
- * 
- * @since 3.0
- */
-public class Bug43800Test extends UITestCase {
-
-	/**
-	 * Constructs a new instance of this test case.
-	 * 
-	 * @param testName
-	 *           The name of the test
-	 */
-	public Bug43800Test(String testName) {
-		super(testName);
-	}
-
-	/**
-	 * Tests that key pressed with key codes greater than 16 bits are correctly
-	 * converted into accelerator values.
-	 */
-	public void testTruncatingCast() {
-		/*
-		 * Make an event representing a key stroke with a key code greater than
-		 * 16 bits.
-		 */
-		Event event = new Event();
-		event.keyCode = SWT.ARROW_LEFT;
-		event.character = 0x00;
-		event.stateMask = 0x00;
-
-		// Convert the event, and test the resulting accelerator value.
-		int accelerator = SWTKeySupport.convertEventToUnmodifiedAccelerator(event);
-		assertEquals("Arrow_Left key truncated.", SWT.ARROW_LEFT, accelerator); //$NON-NLS-1$
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug44460Test.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug44460Test.java
deleted file mode 100644
index 71a81b8..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug44460Test.java
+++ /dev/null
@@ -1,110 +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 Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.ui.tests.keys;
-
-import java.io.ByteArrayInputStream;
-import java.util.List;
-
-import org.eclipse.core.internal.events.BuildCommand;
-import org.eclipse.core.resources.ICommand;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IPerspectiveRegistry;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.commands.CommandException;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.tests.util.UITestCase;
-
-import org.eclipse.ui.internal.Workbench;
-import org.eclipse.ui.internal.WorkbenchPage;
-import org.eclipse.ui.internal.contexts.ws.WorkbenchContextSupport;
-import org.eclipse.ui.internal.keys.WorkbenchKeyboard;
-
-/**
- * Test for Bug 44460.
- * 
- * @since 3.0
- */
-public class Bug44460Test extends UITestCase {
-
-	/**
-	 * Constructs a new instance of this test case.
-	 * 
-	 * @param testName
-	 *            The name of the test
-	 */
-	public Bug44460Test(String testName) {
-		super(testName);
-	}
-
-	/**
-	 * Test that pressing "Ctrl+Shift+T" in the Team Synchronizing perspective
-	 * does not match anything.
-	 * 
-     * @throws CommandException
-     *             If execution of the handler fails.
-	 * @throws CoreException
-	 *             If the project cannot be created or opened.
-	 */
-	public void testCtrlShiftT() throws CommandException, CoreException {
-		// Open a new test window.
-		IWorkbenchWindow window = openTestWindow();
-
-		// Open a new Java project, with a new class.
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		IProject testProject = workspace.getRoot().getProject("Bug 44460 Project"); //$NON-NLS-1$
-		testProject.create(null);
-		testProject.open(null);
-		IProjectDescription projectDescription = testProject.getDescription();
-		String[] natureIds = { "org.eclipse.jdt.core.javanature" }; //$NON-NLS-1$
-		projectDescription.setNatureIds(natureIds);
-		ICommand buildCommand = new BuildCommand();
-		buildCommand.setBuilderName("org.eclipse.jdt.core.javabuilder"); //$NON-NLS-1$
-		projectDescription.setBuildSpec(new ICommand[] { buildCommand });
-		testProject.setDescription(projectDescription, null);
-		IFile javaFile = testProject.getFile("A.java"); //$NON-NLS-1$
-		String classContents = "public class Main { public static main(String[] args) { ; } }"; //$NON-NLS-1$
-		ByteArrayInputStream inputStream = new ByteArrayInputStream(classContents.getBytes());
-		javaFile.create(inputStream, true, null);
-		IDE.openEditor(window.getActivePage(), javaFile, true);
-
-		// Switch to the team synchronizing perspective.
-		IPerspectiveRegistry registry = PlatformUI.getWorkbench().getPerspectiveRegistry();
-		IPerspectiveDescriptor perspectiveDescriptor = registry.findPerspectiveWithId("org.eclipse.team.ui.TeamSynchronizingPerspective"); //$NON-NLS-1$
-		WorkbenchPage page = (WorkbenchPage) window.getActivePage();
-		page.setPerspective(perspectiveDescriptor);
-
-		// Press "Ctrl+Shift+T".
-		Event ctrlShiftT = new Event();
-		ctrlShiftT.stateMask = SWT.SHIFT | SWT.CTRL;
-		ctrlShiftT.character = 'T';
-		ctrlShiftT.keyCode = 't';
-		List keyStrokes = WorkbenchKeyboard.generatePossibleKeyStrokes(ctrlShiftT);
-		Workbench workbench = (Workbench) window.getWorkbench();
-		WorkbenchContextSupport support = (WorkbenchContextSupport) workbench.getContextSupport();
-		support.getKeyboard().press(keyStrokes, null);
-
-		// Test that only two child shells are open (default).
-		Shell windowShell = window.getShell();
-		Shell[] childShells = windowShell.getShells();
-		assertTrue("Type hierarchy dialog opened inappropriately on 'Ctrl+Shift+T'", (childShells.length == 2)); //$NON-NLS-1$
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug53489Test.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug53489Test.java
deleted file mode 100644
index e4056c4..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/Bug53489Test.java
+++ /dev/null
@@ -1,107 +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 Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.ui.tests.keys;
-
-import java.awt.AWTException;
-import java.awt.Robot;
-import java.awt.event.KeyEvent;
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.LineNumberReader;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.swt.widgets.Display;
-
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.commands.CommandException;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.tests.util.UITestCase;
-
-/**
- * Tests that pressing delete in a styled text widget does not cause a double
- * delete situation.
- * 
- * @since 3.0
- */
-public class Bug53489Test extends UITestCase {
-
-    /**
-     * Constructor for Bug53489Test.
-     * 
-     * @param name
-     *            The name of the test
-     */
-    public Bug53489Test(String name) {
-        super(name);
-    }
-
-    /**
-     * Tests that pressing delete in a styled text widget (in a running
-     * Eclipse) does not cause a double delete.
-     * 
-     * @throws AWTException
-     *             If the creation of robot
-     * @throws CommandException
-     *             If execution of the handler fails.
-     * @throws CoreException
-     *             If the test project cannot be created and opened.
-     * @throws IOException
-     *             If the file cannot be read.
-     */
-    public void testDoubleDelete() throws AWTException, CommandException,
-            CoreException, IOException {
-        IWorkbenchWindow window = openTestWindow();
-        IWorkspace workspace = ResourcesPlugin.getWorkspace();
-        IProject testProject = workspace.getRoot().getProject(
-                "DoubleDeleteestProject"); //$NON-NLS-1$
-        testProject.create(null);
-        testProject.open(null);
-        IFile textFile = testProject.getFile("A.txt"); //$NON-NLS-1$
-        String originalContents = "A blurb"; //$NON-NLS-1$
-        ByteArrayInputStream inputStream = new ByteArrayInputStream(
-                originalContents.getBytes());
-        textFile.create(inputStream, true, null);
-        IEditorPart editor = IDE.openEditor(window.getActivePage(), textFile, true);
-        
-        // Allow the editor to finish opening.
-        Display display = Display.getCurrent();
-        while (display.readAndDispatch())
-            ;
-
-        // Press Delete
-        Robot robot = new Robot();
-        robot.keyPress(KeyEvent.VK_DELETE);
-        robot.keyRelease(KeyEvent.VK_DELETE);
-        robot.keyPress(KeyEvent.VK_CONTROL);
-        robot.keyPress(KeyEvent.VK_S);
-        robot.keyRelease(KeyEvent.VK_S);
-        robot.keyRelease(KeyEvent.VK_CONTROL);
-        
-        // Spin the event loop.
-        while (display.readAndDispatch())
-            ;
-
-        // Test the text is only one character different.
-        LineNumberReader reader = new LineNumberReader(new InputStreamReader(
-                textFile.getContents()));
-        String currentContents = reader.readLine();
-        assertTrue("'DEL' deleted more than one key.", (originalContents //$NON-NLS-1$
-                .length() == (currentContents.length() + 1)));
-    }
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/KeysTestSuite.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/KeysTestSuite.java
deleted file mode 100644
index e61979e..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/KeysTestSuite.java
+++ /dev/null
@@ -1,56 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.keys;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * Tests for all areas of the key support for the platform.
- */
-public class KeysTestSuite extends TestSuite {
-
-	/**
-	 * Returns the suite. This is required to use the JUnit Launcher.
-	 */
-	public static Test suite() {
-		return new KeysTestSuite();
-	}
-
-	/**
-	 * Construct the test suite.
-	 */
-	public KeysTestSuite() {
-	    // TODO This no longer works due to focus issues related to key bindings
-		//addTest(new TestSuite(Bug36420Test.class));
-//		TODO This test is broken until JDT fixes Bug 44148
-//		addTest(new TestSuite(Bug36537Test.class));
-//		TODO Intermittent failure.  SWT Bug 44344.  XGrabPointer?
-//		addTest(new TestSuite(Bug40023Test.class));
-		addTest(new TestSuite(Bug42024Test.class));
-		addTest(new TestSuite(Bug42035Test.class));
-//		TODO Logging piece of fix did not go in M4.
-//		addTest(new TestSuite(Bug42627Test.class));
-		addTest(new TestSuite(Bug43168Test.class));
-		addTest(new TestSuite(Bug43321Test.class));
-		addTest(new TestSuite(Bug43538Test.class));
-		addTest(new TestSuite(Bug43597Test.class));
-		addTest(new TestSuite(Bug43610Test.class));
-		addTest(new TestSuite(Bug43800Test.class));
-//		TODO disabled since it refers to the Java builder and nature,
-//      which are not available in an RCP build
-//		addTest(new TestSuite(Bug44460Test.class));
-		/* TODO disabled as it is causing failures in the nightly builds.
-		 * focus related?
-		 */
-		//addTest(new TestSuite(Bug53489Test.class));
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/PreferenceMutator.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/PreferenceMutator.java
deleted file mode 100644
index d2ef358..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/keys/PreferenceMutator.java
+++ /dev/null
@@ -1,78 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.tests.keys;
-
-import java.io.BufferedOutputStream;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.util.Properties;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Preferences;
-
-/**
- * A utility class for setting preferences related to key bindings. This class
- * currently uses the round-about procedure of manually writing a preferences
- * file, and then loading it back into the application. In the future, it might
- * use a direct API.
- * 
- * @since 3.0
- */
-public abstract class PreferenceMutator {
-	/**
-	 * Sets a key binding in the currently running Eclipse application. It
-	 * accomplishes this by writing out an exported preferences file by hand,
-	 * and then importing it back into the application.
-	 * 
-	 * @param commandId
-	 *           The command identifier to which the key binding should be
-	 *           associated; should not be <code>null</code>.
-	 * @param keySequenceText
-	 *           The text of the key sequence for this key binding; must not be
-	 *           <code>null</code>.
-	 * @throws CoreException
-	 *            If the exported preferences file is invalid for some reason.
-	 * @throws FileNotFoundException
-	 *            If the temporary file is removed before it can be read in.
-	 *            (Wow)
-	 * @throws IOException
-	 *            If the creation of or the writing to the temporary file fails
-	 *            for some reason.
-	 */
-	static final void setKeyBinding(String commandId, String keySequenceText) throws CoreException, FileNotFoundException, IOException {
-		// Set up the preferences.
-		Properties preferences = new Properties();
-		String key = "org.eclipse.ui.workbench/org.eclipse.ui.commands"; //$NON-NLS-1$
-		String value = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<org.eclipse.ui.commands><activeKeyConfiguration/><keyBinding commandId=\"" + commandId + "\" keySequence=\"" + keySequenceText + "\"/></org.eclipse.ui.commands>"; //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
-		preferences.put(key, value);
-		IPluginDescriptor[] descriptors = Platform.getPluginRegistry().getPluginDescriptors();
-		for (int i = 0; i < descriptors.length; i++) {
-			preferences.put(descriptors[i].getUniqueIdentifier(), descriptors[i].getVersionIdentifier().toString());
-		}
-
-		// Export the preferences.
-		File file = File.createTempFile("preferences", ".txt"); //$NON-NLS-1$//$NON-NLS-2$
-		file.deleteOnExit();
-		BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file));
-		preferences.store(bos, null);
-		bos.close();
-
-		// Attempt to import the key binding.
-		Preferences.importPreferences(new Path(file.getAbsolutePath()));
-	}
-
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/manual/BrokenUpdatePreferencePage.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/manual/BrokenUpdatePreferencePage.java
deleted file mode 100644
index 99545c3..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/manual/BrokenUpdatePreferencePage.java
+++ /dev/null
@@ -1,145 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.manual;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-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.jface.preference.PreferencePage;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This is a test preference page designed to
- * generate errors on update
- */
-public class BrokenUpdatePreferencePage
-	extends PreferencePage
-	implements IWorkbenchPreferencePage {
-
-	private IPropertyChangeListener badListener =
-		new IPropertyChangeListener() {
-		public void propertyChange(PropertyChangeEvent event) {
-				//Intentionally generate an error
-			String[] strings = new String[1];
-			System.out.println(strings[2]);
-		}
-	};
-
-	FontData[] data;
-
-	/**
-	 * @see org.eclipse.jface.preference.PreferencePage#createContents(Composite)
-	 */
-	protected Control createContents(Composite parent) {
-
-		data = parent.getFont().getFontData();
-
-		Composite buttonComposite = new Composite(parent, SWT.NULL);
-		buttonComposite.setLayout(new GridLayout());
-		buttonComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		Button fontButton = new Button(buttonComposite, SWT.PUSH);
-		fontButton.setText("Update Font");
-		fontButton.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				changeFont();
-			}
-			public void widgetDefaultSelected(SelectionEvent e) {
-				changeFont();
-			}
-		});
-
-		Button preferencePluginButton = new Button(buttonComposite, SWT.PUSH);
-		preferencePluginButton.setText("Update Plugin Preferences");
-		preferencePluginButton.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				changePluginPreference();
-			}
-			public void widgetDefaultSelected(SelectionEvent e) {
-				changePluginPreference();
-			}
-		});
-		
-		Button preferenceButton = new Button(buttonComposite, SWT.PUSH);
-		preferenceButton.setText("Update Dialog Preferences");
-		preferenceButton.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				changePluginPreference();
-			}
-			public void widgetDefaultSelected(SelectionEvent e) {
-				changePluginPreference();
-			}
-		});
-
-		return buttonComposite;
-
-	}
-
-	/**
-	 * @see org.eclipse.ui.IWorkbenchPreferencePage#init(IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {
-
-		JFaceResources.getFontRegistry().addListener(badListener);
-
-		PlatformUI
-			.getWorkbench()
-			.getPreferenceStore()
-			.addPropertyChangeListener(
-			badListener);
-
-	}
-
-	/**	
-	 * see@DialogPage.dispose();
-	 */
-	public void dispose() {
-		super.dispose();
-		JFaceResources.getFontRegistry().removeListener(badListener);
-
-		PlatformUI
-			.getWorkbench()
-			.getPreferenceStore()
-			.removePropertyChangeListener(
-			badListener);
-	}
-
-	public void changeFont() {
-		JFaceResources.getFontRegistry().put("FAKO", data);
-	}
-
-	public void changePluginPreference() {
-		PlatformUI.getWorkbench().getPreferenceStore().firePropertyChangeEvent(
-			"FAKO",
-			"Old",
-			"New");
-	}
-	
-	public void changePreference() {
-		getPreferenceStore().firePropertyChangeEvent(
-			"FAKO",
-			"Old",
-			"New");
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/manual/UIPreferencesManual.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/manual/UIPreferencesManual.java
deleted file mode 100644
index 7c6a956..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/manual/UIPreferencesManual.java
+++ /dev/null
@@ -1,67 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.manual;
-
-import java.util.Iterator;
-
-import org.eclipse.jface.preference.IPreferenceNode;
-import org.eclipse.jface.preference.PreferenceManager;
-
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.tests.dialogs.PreferenceDialogWrapper;
-import org.eclipse.ui.tests.dialogs.UIPreferencesAuto;
-
-/**
- * The UIPreferencesManual is a test case that requires
- * the user to click OK on message dialog when it is
- * run
- */
-
-public class UIPreferencesManual extends UIPreferencesAuto {
-	
-	public UIPreferencesManual(String name) {
-		super(name);
-	}
-
-	/**
-	 * Test the bad update preference page by generating all
-	 * of the dialog errors.
-	 */
-	public void testBrokenListenerPref() {
-
-		PreferenceDialogWrapper dialog = null;
-		PreferenceManager manager =
-			WorkbenchPlugin.getDefault().getPreferenceManager();
-		if (manager != null) {
-			dialog = new PreferenceDialogWrapper(getShell(), manager);
-			dialog.create();
-
-			for (Iterator iterator =
-				manager.getElements(PreferenceManager.PRE_ORDER).iterator();
-				iterator.hasNext();
-				) {
-				IPreferenceNode node = (IPreferenceNode) iterator.next();
-				if (node
-					.getId()
-					.equals("org.eclipse.ui.tests.manual.BrokenUpdatePreferencePage")) {
-					dialog.showPage(node);
-					BrokenUpdatePreferencePage page =
-						(BrokenUpdatePreferencePage) dialog.getPage(node);
-					page.changeFont();
-					page.changePluginPreference();
-					break;
-				}
-			}
-		}
-
-	}
-
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/menus/BrokenWorkbenchWindowPulldownDelegate.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/menus/BrokenWorkbenchWindowPulldownDelegate.java
deleted file mode 100644
index 8897307..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/menus/BrokenWorkbenchWindowPulldownDelegate.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ui.tests.menus;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowPulldownDelegate2;
-
-/**
- * This is a broken pulldown delegate that throws exceptions if you try to get
- * the menu. The purpose of this is simply sanity. Eclipse should be able to
- * start in the face of code broken like this.
- * 
- * @since 3.0
- */
-public final class BrokenWorkbenchWindowPulldownDelegate implements
-        IWorkbenchWindowPulldownDelegate2 {
-	//whether we should throw on getMenu(Menu)
-	static boolean throwMenu = true;
-	//whether we should throw on getMenu(Control)
-	static boolean throwControl = true;
-	
-	//keep references to the menus for disposal
-	Menu menuMenu;
-	Menu menuControl;
-
-    /**
-     * @see org.eclipse.ui.IWorkbenchWindowPulldownDelegate2#getMenu(org.eclipse.swt.widgets.Menu)
-     */
-    public Menu getMenu(Menu parent) {
-    	if (throwMenu) {
-    		throwMenu = false;
-    		throw new RuntimeException(
-                "The workbench should handle hostile pulldown delegates.");
-    	}
-    	menuMenu = new Menu(parent);
-    	return menuMenu;
-    }
-
-    /**
-     * @see org.eclipse.ui.IWorkbenchWindowPulldownDelegate#getMenu(org.eclipse.swt.widgets.Control)
-     */
-    public Menu getMenu(Control parent) {
-    	if (throwControl) {
-    		throwControl = false;
-    		throw new RuntimeException(
-                "The workbench should handle hostile pulldown delegates.");
-    	}
-    	menuControl = new Menu(parent);
-    	return menuControl;
-    }
-
-    /**
-     * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
-     */
-    public void dispose() {
-    	if (menuControl != null)
-    		menuControl.dispose();
-    	
-    	if (menuMenu != null) 
-    		menuMenu.dispose();
-    }
-
-    /**
-     * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
-     */
-    public void init(IWorkbenchWindow window) {
-        // Do nothing.
-    }
-
-    /**
-     * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-     */
-    public void run(IAction action) {
-        // Do nothing.
-    }
-
-    /**
-     * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction,
-     *      org.eclipse.jface.viewers.ISelection)
-     */
-    public void selectionChanged(IAction action, ISelection selection) {
-        // Do nothing.
-    }
-
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/menus/MenusTestSuite.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/menus/MenusTestSuite.java
deleted file mode 100644
index c17e45c..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/menus/MenusTestSuite.java
+++ /dev/null
@@ -1,35 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.menus;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * Tests for all code related to menus. This includes the
- * <code>popupMenus</code> extension point, and others.
- */
-public class MenusTestSuite extends TestSuite {
-
-    /**
-     * Returns the suite. This is required to use the JUnit Launcher.
-     */
-    public static Test suite() {
-        return new MenusTestSuite();
-    }
-
-    /**
-     * Construct the test suite.
-     */
-    public MenusTestSuite() {
-        addTest(new TestSuite(ObjectContributionTest.class));
-    }
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/menus/ObjectContributionTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/menus/ObjectContributionTest.java
deleted file mode 100644
index 62bc864..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/menus/ObjectContributionTest.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ui.tests.menus;
-
-import java.io.ByteArrayInputStream;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.action.GroupMarker;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IViewReference;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.internal.PopupMenuExtender;
-import org.eclipse.ui.internal.WorkbenchWindow;
-import org.eclipse.ui.tests.util.UITestCase;
-import org.eclipse.ui.views.navigator.ResourceNavigator;
-
-/**
- * Tests that object contributions are enabled and shown correctly in pop-up
- * menus depending on the state of the workbench. This test relies on the
- * <code>plugin.xml</code> file containing certain values. Please see the
- * appropriate section in that file for more information about the initial
- * set-up.
- * 
- * @since 3.0
- */
-public final class ObjectContributionTest extends UITestCase {
-
-    /**
-     * Constructs a new instance of <code>ObjectContributionTest</code> with
-     * the name of the test.
-     * 
-     * @param name
-     *            The name of the test; may be <code>null</code>.
-     */
-    public ObjectContributionTest(final String name) {
-        super(name);
-    }
-
-    /**
-     * Tests whether the content-type object contribution works. This is testing
-     * a use care familiar to Ant UI. The content-type scans an XML file to see
-     * if its root element is <code>&lt;project&gt;</code>.
-     * 
-     * @throws CoreException
-     *             If a problem occurs when creating the project or file, or if
-     *             the project can't be opened.
-     */
-    public final void testObjectStateContentType() throws CoreException {
-        // Create an XML file with <project> as its root element.
-        final IWorkspace workspace = ResourcesPlugin.getWorkspace();
-        final IProject testProject = workspace.getRoot().getProject(
-                "ObjectContributionTestProject");
-        testProject.create(null);
-        testProject.open(null);
-        final IFile xmlFile = testProject.getFile("ObjectContributionTest.xml");
-        final String contents = "<testObjectStateContentTypeElement></testObjectStateContentTypeElement>";
-        final ByteArrayInputStream inputStream = new ByteArrayInputStream(
-                contents.getBytes());
-        xmlFile.create(inputStream, true, null);
-
-        /*
-         * Open a workbench window in the resource perspective, and select the
-         * XML file in the resource navigator. Keep track of the resource
-         * navigator and its selection provider.
-         */
-        final WorkbenchWindow window = (WorkbenchWindow) fWorkbench
-                .openWorkbenchWindow("org.eclipse.ui.resourcePerspective",
-                        ResourcesPlugin.getWorkspace());
-        final IWorkbenchPage page = window.getActivePage();
-        final ISelection selection = new StructuredSelection(xmlFile);
-        ResourceNavigator navigator = null;
-        ISelectionProvider navigatorSelectionProvider = null;
-        if (page != null) {
-            IViewReference[] views = page.getViewReferences();
-            for (int i = 0; i < views.length; i++) {
-                IViewReference reference = views[i];
-                IViewPart viewPart = reference.getView(false);
-                if (viewPart instanceof ResourceNavigator) {
-                    navigator = (ResourceNavigator) viewPart;
-                    navigator.selectReveal(selection);
-                    navigatorSelectionProvider = navigator.getSite()
-                            .getSelectionProvider();
-                    break;
-                }
-            }
-        }
-
-        // Create a fake PopupMenuExtender so we can get some data back.
-        final MenuManager fakeMenuManager = new MenuManager();
-        fakeMenuManager.add(new GroupMarker(
-                org.eclipse.ui.IWorkbenchActionConstants.MB_ADDITIONS));
-        final PopupMenuExtender extender = new PopupMenuExtender(null,
-                fakeMenuManager, navigatorSelectionProvider, navigator);
-
-        /*
-         * Pretend to show the pop-up menu -- looking to motivate the extender
-         * to fill the menu based on the selection provider.
-         * 
-         * TODO This causes a big delay (in the order of a minute or more) while
-         * trying to fill this menu. It seems to be loading a bunch of plug-ins,
-         * and doing class loading.
-         */
-        extender.menuAboutToShow(fakeMenuManager);
-
-        // Check to see if the appropriate object contribution is present.
-        final IContributionItem[] items = fakeMenuManager.getItems();
-        boolean found = false;
-        for (int i = 0; i < items.length; i++) {
-            if ("org.eclipse.ui.tests.testObjectStateContentType"
-                    .equals(items[i].getId())) {
-                found = true;
-                break;
-            }
-        }
-        assertTrue(
-                "The pop-up menu for an XML file did not add object contributions based on its content.",
-                found);
-    }
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/multipageeditor/MultiPageEditorTestSuite.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/multipageeditor/MultiPageEditorTestSuite.java
deleted file mode 100644
index 86ab73d..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/multipageeditor/MultiPageEditorTestSuite.java
+++ /dev/null
@@ -1,38 +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 Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ui.tests.multipageeditor;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * The suite of tests for multi-page editors.
- * 
- * @since 3.0
- */
-public class MultiPageEditorTestSuite extends TestSuite {
-
-    /**
-     * Returns the suite. This is required to use the JUnit Launcher.
-     * @return A new test suite; never <code>null</code>.;
-     */
-    public static Test suite() {
-        return new MultiPageEditorTestSuite();
-    }
-
-    /**
-     * Construct the test suite.
-     */
-    public MultiPageEditorTestSuite() {
-        // Focus issues
-        // addTest(new TestSuite(MultiPageKeyBindingTest.class));
-    }
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/multipageeditor/MultiPageKeyBindingTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/multipageeditor/MultiPageKeyBindingTest.java
deleted file mode 100644
index de1ff6d..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/multipageeditor/MultiPageKeyBindingTest.java
+++ /dev/null
@@ -1,100 +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 Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ui.tests.multipageeditor;
-
-import java.io.ByteArrayInputStream;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.swt.widgets.Display;
-
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.commands.ICommandManager;
-import org.eclipse.ui.commands.IWorkbenchCommandSupport;
-import org.eclipse.ui.keys.KeySequence;
-import org.eclipse.ui.keys.ParseException;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.tests.util.UITestCase;
-
-/**
- * Tests that key bindings are treated correctly in a multi-page editor. This
- * ensures that key bindings are switched at the granularity of a page in a
- * multi-page editor. See Bug 37612 for references.
- * 
- * @since 3.0
- */
-public class MultiPageKeyBindingTest extends UITestCase {
-
-    /**
-     * Constructs a new instance of <code>MultiPageKeyBindingTest</code>.
-     * 
-     * @param name
-     *            The name of the test to be run.
-     */
-    public MultiPageKeyBindingTest(String name) {
-        super(name);
-    }
-
-    /**
-     * Tests that the key bindings are updated when the page is switched in a
-     * multi-page editor part.
-     * 
-     * @throws CoreException
-     *             If the project or file cannot be created.
-     * @throws ParseException
-     *             The expected key sequence cannot be parsed.
-     */
-    public void testSwitch() throws CoreException, ParseException {
-        final String extension = "multi"; //$NON-NLS-1$
-        final String fileName = "A." + extension; //$NON-NLS-1$
-
-        // Open a new test window.
-        IWorkbenchWindow window = openTestWindow();
-
-        // Create a blurb file.
-        IWorkbenchPage page = window.getActivePage();
-        IWorkspace workspace = ResourcesPlugin.getWorkspace();
-        IProject testProject = workspace.getRoot().getProject(
-                "MultiPageKeyBindingTest Project"); //$NON-NLS-1$
-        testProject.create(null);
-        testProject.open(null);
-        IFile multiFile = testProject.getFile(fileName);
-        multiFile.create(new ByteArrayInputStream(new byte[0]), true, null);
-
-        // Open a blurb file.
-        IEditorInput editorInput = new FileEditorInput(multiFile);
-        IEditorPart editorPart = page.openEditor(editorInput,
-                "org.eclipse.ui.tests.multipageeditor.TestMultiPageEditor"); //$NON-NLS-1$
-        TestMultiPageEditor multiPageEditorPart = (TestMultiPageEditor) editorPart;
-        
-        // Switch to the second tab
-        window.getShell().forceActive();
-        Display display = Display.getCurrent();
-        while (display.readAndDispatch());
-        multiPageEditorPart.setPage(1);
-
-        // Check that "Ctrl+Shift+5" is the bound key.
-        IWorkbenchCommandSupport commandSupport = window.getWorkbench()
-                .getCommandSupport();
-        ICommandManager commandManager = commandSupport.getCommandManager();
-        KeySequence expectedKeyBinding = KeySequence
-                .getInstance("Ctrl+Shift+5"); //$NON-NLS-1$
-        String commandId = commandManager.getPerfectMatch(expectedKeyBinding);
-        assertEquals("org.eclipse.ui.tests.TestCommandId", commandId); //$NON-NLS-1$
-    }
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/multipageeditor/TestKeyBindingMultiPageEditorPart.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/multipageeditor/TestKeyBindingMultiPageEditorPart.java
deleted file mode 100644
index 6675ca3..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/multipageeditor/TestKeyBindingMultiPageEditorPart.java
+++ /dev/null
@@ -1,144 +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 Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ui.tests.multipageeditor;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.RowLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Text;
-
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IKeyBindingService;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.part.EditorPart;
-
-/**
- * A multi-page editor for testing key bindings while switching pages. This
- * is one of two pages -- each with a different context. The first context binds
- * "Ctrl+Shift+4" -- the second binds "Ctrl+Shift+5" -- to the command
- * "org.eclipse.ui.tests.TestCommand". Which context to use is determined by a
- * page number, which is passed as a parameter.
- * 
- * @since 3.0
- */
-public final class TestKeyBindingMultiPageEditorPart extends EditorPart {
-
-    /**
-     * The page number for this part.
-     *  
-     */
-    private final int number;
-
-    /**
-     * Constructs a new instance of <code>TestKeyBindingMultiPageEditorPart</code>
-     * with the page number of this page.
-     * 
-     * @param number
-     *            The page number for this part.
-     */
-    public TestKeyBindingMultiPageEditorPart(int number) {
-        super();
-        this.number = number;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
-     */
-    public void createPartControl(Composite parent) {
-        Composite composite = new Composite(parent, SWT.NONE);
-        composite.setLayout(new RowLayout());
-        Text text1 = new Text(composite, SWT.NONE);
-        text1.setText("Blue"); //$NON-NLS-1$
-        Text text2 = new Text(composite, SWT.NONE);
-        text2.setText("Red"); //$NON-NLS-1$
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.part.EditorPart#doSave(org.eclipse.core.runtime.IProgressMonitor)
-     */
-    public void doSave(IProgressMonitor monitor) {
-        // Do nothing.
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.part.EditorPart#doSaveAs()
-     */
-    public void doSaveAs() {
-        throw new UnsupportedOperationException("Not implemented in this test."); //$NON-NLS-1$
-
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.part.EditorPart#gotoMarker(org.eclipse.core.resources.IMarker)
-     */
-    public void gotoMarker(IMarker marker) {
-        // Do nothing.
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.part.EditorPart#init(org.eclipse.ui.IEditorSite,
-     *      org.eclipse.ui.IEditorInput)
-     */
-    public void init(IEditorSite site, IEditorInput input)
-            throws PartInitException {
-        setInput(input);
-        setSite(site);
-        setPartName("Editor"); //$NON-NLS-1$
-        setTitleImage(input.getImageDescriptor().createImage());
-        setTitleToolTip("Moooooo"); //$NON-NLS-1$
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.part.EditorPart#isDirty()
-     */
-    public boolean isDirty() {
-        return false;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.part.EditorPart#isSaveAsAllowed()
-     */
-    public boolean isSaveAsAllowed() {
-        return false;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.part.WorkbenchPart#setFocus()
-     */
-    public void setFocus() {
-        final boolean odds = (number % 2) > 0;
-        final String scope1 = "org.eclipse.ui.tests.scope1"; //$NON-NLS-1$
-        final String scope2 = "org.eclipse.ui.tests.scope2"; //$NON-NLS-1$
-        IKeyBindingService keyBindingService = getEditorSite()
-                .getKeyBindingService();
-        keyBindingService.setScopes(new String[] { (odds) ? scope1 : scope2});
-    }
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/multipageeditor/TestMultiPageEditor.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/multipageeditor/TestMultiPageEditor.java
deleted file mode 100644
index ae70452..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/multipageeditor/TestMultiPageEditor.java
+++ /dev/null
@@ -1,95 +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 Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ui.tests.multipageeditor;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.part.MultiPageEditorPart;
-
-/**
- * A multi-page editor for testing key bindings while switching pages. This
- * creates two pages -- each with a different context. The first context binds
- * "Ctrl+Shift+4" -- the second binds "Ctrl+Shift+5" -- to the command
- * "org.eclipse.ui.tests.TestCommand".
- * 
- * @since 3.0
- */
-public final class TestMultiPageEditor extends MultiPageEditorPart {
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.part.MultiPageEditorPart#createPages()
-     */
-    protected void createPages() {
-        try {
-            IEditorPart part1 = new TestKeyBindingMultiPageEditorPart(0);
-            addPage(part1, getEditorInput());
-
-            IEditorPart part2 = new TestKeyBindingMultiPageEditorPart(1);
-            addPage(part2, getEditorInput());
-        } catch (PartInitException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.part.EditorPart#doSave(org.eclipse.core.runtime.IProgressMonitor)
-     */
-    public void doSave(IProgressMonitor monitor) {
-        // Do nothing.
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.part.EditorPart#doSaveAs()
-     */
-    public void doSaveAs() {
-        throw new UnsupportedOperationException("Not implemented in this test."); //$NON-NLS-1$
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.part.EditorPart#gotoMarker(org.eclipse.core.resources.IMarker)
-     */
-    public void gotoMarker(IMarker marker) {
-        // Do nothing.
-
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.part.EditorPart#isSaveAsAllowed()
-     */
-    public boolean isSaveAsAllowed() {
-        return false;
-    }
-
-    /**
-     * Sets the active page.
-     * 
-     * @param page
-     *            The page to activate; should be either <code>0</code> or
-     *            <code>1</code>.
-     */
-    public void setPage(int page) {
-        setActivePage(page);
-    }
-
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/AbstractNavigatorTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/AbstractNavigatorTest.java
deleted file mode 100644
index 1ffa45a..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/AbstractNavigatorTest.java
+++ /dev/null
@@ -1,91 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.navigator;
-
-import java.io.ByteArrayInputStream;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.tests.util.UITestCase;
-import org.eclipse.ui.views.navigator.ResourceNavigator;
-
-/**
- * The AbstractNavigatorTest is the abstract superclass
- * of tests that use a populated Resource Navigator.
- */
-abstract class AbstractNavigatorTest extends UITestCase {
-
-	private static final String NAVIGATOR_VIEW_ID = "org.eclipse.ui.views.ResourceNavigator";
-	
-	protected IProject testProject;
-	protected IFolder testFolder;
-	protected IFile testFile;
-	protected ResourceNavigator navigator;
-	
-	public AbstractNavigatorTest(String testName) {
-		super(testName);
-	}
-
-	protected void createTestProject() throws CoreException {
-		if (testProject == null) {
-			IWorkspace workspace = ResourcesPlugin.getWorkspace();
-			testProject = workspace.getRoot().getProject("TestProject");
-			testProject.create(null);
-			testProject.open(null);
-		}
-	}
-	
-	protected void createTestFolder() throws CoreException {
-		if (testFolder == null) {
-			createTestProject();
-			testFolder = testProject.getFolder("TestFolder");
-			testFolder.create(false, false, null);
-		}
-	}
-
-	protected void createTestFile() throws CoreException {
-		if (testFile == null) {
-			createTestFolder();
-			testFile = testFolder.getFile("Foo.txt");
-			testFile.create(new ByteArrayInputStream("Some content.".getBytes()), false, null);
-		}
-	}
-
-	/** Shows the Navigator in a new test window. */
-	protected void showNav() throws PartInitException {
-		IWorkbenchWindow window = openTestWindow();
-		navigator = (ResourceNavigator) window.getActivePage().showView(NAVIGATOR_VIEW_ID);
-	}
-	
-	protected void doTearDown() throws Exception {
-		if (testProject != null) {
-			try {
-				testProject.delete(true, null);
-			}
-			catch (CoreException e) {
-				fail(e.toString());
-			}
-			testProject = null;
-			testFolder = null;
-			testFile = null;
-		}
-		super.doTearDown();
-		navigator = null;
-	}
-	
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/DecoratorEnablementTestCase.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/DecoratorEnablementTestCase.java
deleted file mode 100644
index 4dbb70e..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/DecoratorEnablementTestCase.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.navigator;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.LabelProviderChangedEvent;
-
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.decorators.DecoratorDefinition;
-import org.eclipse.ui.internal.decorators.DecoratorManager;
-
-/**
- * @version 	1.0
- */
-public abstract class DecoratorEnablementTestCase
-	extends AbstractNavigatorTest
-	implements ILabelProviderListener {
-
-	protected DecoratorDefinition definition;
-	protected boolean updated = false;
-
-	/**
-	 * Constructor for DecoratorTestCase.
-	 * @param testName
-	 */
-	public DecoratorEnablementTestCase(String testName) {
-		super(testName);
-	}
-
-	/**
-	 * Sets up the hierarchy.
-	 */
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-		createTestFile();
-		showNav();
-		
-		WorkbenchPlugin.getDefault().getDecoratorManager().addListener(this);
-
-		DecoratorDefinition[] definitions =
-			WorkbenchPlugin.getDefault().getDecoratorManager().getAllDecoratorDefinitions();
-		for (int i = 0; i < definitions.length; i++) {
-			if (definitions[i].getId().equals("org.eclipse.ui.tests.navigator.lightweightdecorator"))
-				definition = definitions[i];
-		}
-	}
-
-	protected DecoratorManager getDecoratorManager() {
-		return WorkbenchPlugin.getDefault().getDecoratorManager();
-	}
-
-	/**
-	 * Remove the listener.
-	 */
-	protected void doTearDown() throws Exception {
-		super.doTearDown();
-		getDecoratorManager().removeListener(this);
-	}
-
-	/**
-	 * Make a label changed event for resource.
-	 */
-	private LabelProviderChangedEvent getLabelChangedEvent(IResource resource) {
-		return new LabelProviderChangedEvent(getDecoratorManager(), resource);
-	}
-
-	/**
-	 * Test enabling the contributor
-	 */
-	public void testEnableDecorator() throws CoreException{
-		getDecoratorManager().clearCaches();
-		definition.setEnabled(true);
-		getDecoratorManager().updateForEnablementChange();
-		
-	}
-
-	/**
-	 * Test disabling the contributor
-	 */
-	public void testDisableDecorator() throws CoreException{
-		getDecoratorManager().clearCaches();
-		definition.setEnabled(false);
-		getDecoratorManager().updateForEnablementChange();
-	}
-
-	
-	/*
-	 * @see ILabelProviderListener#labelProviderChanged(LabelProviderChangedEvent)
-	 */
-	public void labelProviderChanged(LabelProviderChangedEvent event) {
-		updated = true;
-	}
-
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/DecoratorTestCase.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/DecoratorTestCase.java
deleted file mode 100644
index 45b6b06..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/DecoratorTestCase.java
+++ /dev/null
@@ -1,119 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.navigator;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.LabelProviderChangedEvent;
-
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.decorators.DecoratorDefinition;
-import org.eclipse.ui.internal.decorators.DecoratorManager;
-
-/**
- * @version 	1.0
- */
-public class DecoratorTestCase
-	extends AbstractNavigatorTest
-	implements ILabelProviderListener {
-
-	private DecoratorDefinition definition;
-	private boolean updated = false;
-
-	/**
-	 * Constructor for DecoratorTestCase.
-	 * @param testName
-	 */
-	public DecoratorTestCase(String testName) {
-		super(testName);
-	}
-
-	/**
-	 * Sets up the hierarchy.
-	 */
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-		createTestFile();
-		showNav();
-		
-		WorkbenchPlugin.getDefault().getDecoratorManager().addListener(this);
-
-		DecoratorDefinition[] definitions =
-			WorkbenchPlugin.getDefault().getDecoratorManager().getAllDecoratorDefinitions();
-		for (int i = 0; i < definitions.length; i++) {
-			if (definitions[i].getId().equals("org.eclipse.ui.tests.adaptable.decorator"))
-				definition = definitions[i];
-		}
-	}
-
-	private DecoratorManager getDecoratorManager() {
-		return WorkbenchPlugin.getDefault().getDecoratorManager();
-	}
-
-	/**
-	 * Remove the listener.
-	 */
-	protected void doTearDown() throws Exception {
-		super.doTearDown();
-		getDecoratorManager().removeListener(this);
-	}
-
-	/**
-	 * Make a label changed event for resource.
-	 */
-	private LabelProviderChangedEvent getLabelChangedEvent(IResource resource) {
-		return new LabelProviderChangedEvent(getDecoratorManager(), resource);
-	}
-
-	/**
-	 * Test enabling the contributor
-	 */
-	public void testEnableDecorator() throws CoreException{
-		getDecoratorManager().clearCaches();
-		definition.setEnabled(true);
-		getDecoratorManager().updateForEnablementChange();
-		
-	}
-
-	/**
-	 * Test disabling the contributor
-	 */
-	public void testDisableDecorator() throws CoreException{
-		getDecoratorManager().clearCaches();
-		definition.setEnabled(false);
-		getDecoratorManager().updateForEnablementChange();
-	}
-
-	/**
-	 * Refresh the test decorator.
-	 */
-	public void testRefreshContributor() throws CoreException{
-
-		updated = false;
-		getDecoratorManager().clearCaches();
-		definition.setEnabled(true);
-		getDecoratorManager().updateForEnablementChange();
-
-		assertTrue("Got an update", updated);
-		updated = false;
-
-	}
-
-	/*
-	 * @see ILabelProviderListener#labelProviderChanged(LabelProviderChangedEvent)
-	 */
-	public void labelProviderChanged(LabelProviderChangedEvent event) {
-		updated = true;
-	}
-
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/DuplicateMenuItemTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/DuplicateMenuItemTest.java
deleted file mode 100644
index c4f226a..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/DuplicateMenuItemTest.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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.navigator;
-
-import java.util.HashSet;
-
-import junit.framework.Assert;
-
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-
-import org.eclipse.ui.internal.WorkbenchWindow;
-
-/**
- * The DuplicateMenuItemTest is a class for testing the popups
- * and window menus for the navigator to check for duplicate menu
- * entries.
- */
-public class DuplicateMenuItemTest extends AbstractNavigatorTest {
-
-	/**
-	 * Constructor for DuplicateMenuItemTest.
-	 * @param testName
-	 */
-	public DuplicateMenuItemTest(String testName) {
-		super(testName);
-	}
-
-	public void testSelection() {
-
-		IStructuredSelection selection = new StructuredSelection(testProject);
-		checkSelection(selection);
-		selection = new StructuredSelection(testFolder);
-		checkSelection(selection);
-		selection = new StructuredSelection(testFile);
-		checkSelection(selection);
-	}
-	
-	private void checkMenu(Menu menu, String menuName) {
-		
-		MenuItem[] items = menu.getItems();
-		HashSet labels = new HashSet();
-		for (int i = 0; i < items.length; i++) {
-			String label = items[i].getText();
-			System.out.println(label);
-			Assert.assertTrue(
-				"Duplicate menu entry in: " + menuName + " " + label,
-				!labels.contains(label));
-			if(items[i].getMenu() != null)
-				checkMenu(items[i].getMenu(),label);
-		}
-		
-	}
-
-
-	private void checkWorkbenchMenu() {
-
-		MenuManager workbenchManager =
-			((WorkbenchWindow) navigator.getViewSite().getWorkbenchWindow())
-				.getMenuManager();
-
-		checkMenu(workbenchManager.getMenu(), "Workbench");
-	}
-
-
-
-	private void checkSelection(IStructuredSelection selection) {
-		navigator.selectReveal(selection);
-		checkWorkbenchMenu();
-	}
-	
-	/**
-	 * Sets up the hierarchy.
-	 */
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-		createTestFile();
-		showNav();
-	}
-
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/ExceptionDecoratorTestCase.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/ExceptionDecoratorTestCase.java
deleted file mode 100644
index 61bb05c..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/ExceptionDecoratorTestCase.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.navigator;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Platform;
-
-import org.eclipse.jface.viewers.ILabelProviderListener;
-
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.decorators.DecoratorDefinition;
-import org.eclipse.ui.internal.decorators.DecoratorManager;
-/**
- * @version 	1.0
- */
-public class ExceptionDecoratorTestCase extends DecoratorEnablementTestCase
-		implements
-			ILabelProviderListener {
-	private Collection problemDecorators = new ArrayList();
-	private DecoratorDefinition light;
-	private boolean updated = false;
-	/**
-	 * Constructor for DecoratorTestCase.
-	 * @param testName
-	 */
-	public ExceptionDecoratorTestCase(String testName) {
-		super(testName);
-	}
-	/**
-	 * Sets up the hierarchy.
-	 */
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-		//reset the static fields so that the decorators will fail
-	    HeavyNullImageDecorator.fail = true;
-	    HeavyNullTextDecorator.fail = true;
-	    NullImageDecorator.fail = true;
-		DecoratorDefinition[] definitions = WorkbenchPlugin.getDefault().getDecoratorManager()
-				.getAllDecoratorDefinitions();
-		for (int i = 0; i < definitions.length; i++) {
-			String id = definitions[i].getId();
-			if (id.equals("org.eclipse.ui.tests.heavyNullImageDecorator")
-					|| id.equals("org.eclipse.ui.tests.heavyNullTextDecorator")
-					) {
-				definitions[i].setEnabled(true);
-				problemDecorators.add(definitions[i]);
-			}
-			
-			//Do not cache the light one - the disabling issues
-			//still need to be worked out.
-			if (id.equals("org.eclipse.ui.tests.lightNullImageDecorator")) {
-				definitions[i].setEnabled(true);
-				light = definitions[i];
-			}
-		}
-	} /* (non-Javadoc)
-	 * @see org.eclipse.ui.tests.navigator.LightweightDecoratorTestCase#doTearDown()
-	 */
-	protected void doTearDown() throws Exception {
-		super.doTearDown();
-		
-		//Need to wait for decoration to end to allow for all 
-		//errors to occur
-		try {
-			Platform.getJobManager().join(DecoratorManager.FAMILY_DECORATE, null);
-		} catch (OperationCanceledException e) {
-		} catch (InterruptedException e) {
-		}
-		
-		//Be sure that the decorators were all disabled on errors.
-		Iterator problemIterator = problemDecorators.iterator();
-		while (problemIterator.hasNext()) {
-			DecoratorDefinition next = (DecoratorDefinition) problemIterator.next();
-			assertFalse("Enabled " + next.getName(), next.isEnabled());
-		}
-		
-		//Turnoff the lightweight one so as not to clutter the methods.
-		light.setEnabled(false);
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/HeavyNullImageDecorator.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/HeavyNullImageDecorator.java
deleted file mode 100644
index d663f0b..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/HeavyNullImageDecorator.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.eclipse.ui.tests.navigator;
-
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import java.lang.Object;
-import java.lang.String;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.jface.viewers.ILabelDecorator;
-
-/**
- * @see ILabelDecorator
- */
-public class HeavyNullImageDecorator implements ILabelDecorator {
-	
-	/**
-     * Whether we should fail with an exception
-     */
-	public static boolean fail = false;
-
-	/**
-	 *
-	 */
-	public HeavyNullImageDecorator() {
-	}
-
-	/**
-	 * @see ILabelDecorator#addListener
-	 */
-	public void addListener(ILabelProviderListener listener)  {
-	}
-
-	/**
-	 * @see ILabelDecorator#dispose
-	 */
-	public void dispose()  {
-	}
-
-	/**
-	 * @see ILabelDecorator#isLabelProperty
-	 */
-	public boolean isLabelProperty(Object element, String property)  {
-		return false;
-	}
-
-	/**
-	 * @see ILabelDecorator#removeListener
-	 */
-	public void removeListener(ILabelProviderListener listener)  {
-	}
-
-	/**
-	 * @see ILabelDecorator#decorateImage
-	 */
-	public Image decorateImage(Image image, Object element)  {
-		if (fail) {
-		    fail = false;
-			throw new NullPointerException("Heavy image boom");
-		}
-		return null;
-	}
-
-	/**
-	 * @see ILabelDecorator#decorateText
-	 */
-	public String decorateText(String text, Object element)  {
-		return text;
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/HeavyNullTextDecorator.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/HeavyNullTextDecorator.java
deleted file mode 100644
index e638b38..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/HeavyNullTextDecorator.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.eclipse.ui.tests.navigator;
-
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import java.lang.Object;
-import java.lang.String;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.jface.viewers.ILabelDecorator;
-
-/**
- * @see ILabelDecorator
- */
-public class HeavyNullTextDecorator implements ILabelDecorator {
-
-	/**
-     * Whether we should fail with an exception
-     */
-	public static boolean fail = false;
-
-	/**
-	 *
-	 */
-	public HeavyNullTextDecorator() {
-	}
-
-	/**
-	 * @see ILabelDecorator#addListener
-	 */
-	public void addListener(ILabelProviderListener listener)  {
-	}
-
-	/**
-	 * @see ILabelDecorator#dispose
-	 */
-	public void dispose()  {
-	}
-
-	/**
-	 * @see ILabelDecorator#isLabelProperty
-	 */
-	public boolean isLabelProperty(Object element, String property)  {
-		return false;
-	}
-
-	/**
-	 * @see ILabelDecorator#removeListener
-	 */
-	public void removeListener(ILabelProviderListener listener)  {
-	}
-
-	/**
-	 * @see ILabelDecorator#decorateImage
-	 */
-	public Image decorateImage(Image image, Object element)  {
-		return image;
-	}
-
-	/**
-	 * @see ILabelDecorator#decorateText
-	 */
-	public String decorateText(String text, Object element)  {
-		if (fail) {
-		    fail = false;
-			throw new NullPointerException("Heavy text boom");
-		}
-		return null;
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/LightweightDecoratorTestCase.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/LightweightDecoratorTestCase.java
deleted file mode 100644
index 679f87b..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/LightweightDecoratorTestCase.java
+++ /dev/null
@@ -1,48 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.navigator;
-
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.jface.viewers.ILabelProviderListener;
-
-/**
- * @version 	1.0
- */
-public class LightweightDecoratorTestCase
-	extends DecoratorEnablementTestCase
-	implements ILabelProviderListener {
-
-	/**
-	 * Constructor for DecoratorTestCase.
-	 * @param testName
-	 */
-	public LightweightDecoratorTestCase(String testName) {
-		super(testName);
-	}
-
-
-	/**
-	 * Refresh the test decorator.
-	 */
-	public void testRefreshContributor() throws CoreException{
-
-		updated = false;
-		getDecoratorManager().clearCaches();
-		definition.setEnabled(true);
-		getDecoratorManager().updateForEnablementChange();
-
-		assertTrue("Got an update", updated);
-		updated = false;
-
-	}
-
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/NavigatorTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/NavigatorTest.java
deleted file mode 100644
index 1c4628c..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/NavigatorTest.java
+++ /dev/null
@@ -1,59 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.navigator;
-
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-
-import org.eclipse.ui.PartInitException;
-
-/**
- * Tests the Resource Navigator view.
- */
-public class NavigatorTest extends AbstractNavigatorTest {
-
-	public NavigatorTest(String testName) {
-		super(testName);
-	}
-	
-	/**
-	 * Tests that the Navigator is initially populated with
-	 * the correct elements from the workspace.
-	 */
-	public void testInitialPopulation() throws CoreException, PartInitException {
-		createTestFile();
-		showNav();
-
-		// test its initial content by setting and getting selection on the file
-		ISelectionProvider selProv = navigator.getSite().getSelectionProvider();
-		StructuredSelection sel = new StructuredSelection(testFile);
-		selProv.setSelection(sel);
-		assertEquals(sel, selProv.getSelection());
-	}
-
-	/**
-	 * Tests that the Navigator updates properly when a file is added to the workbench.
-	 */
-	public void testFileAddition() throws CoreException, PartInitException {
-		createTestFolder(); // create the project and folder before the Navigator is shown
-		showNav();
-		createTestFile();  // create the file after the Navigator is shown
-		
-		// test its initial content by setting and getting selection on the file
-		ISelectionProvider selProv = navigator.getSite().getSelectionProvider();
-		StructuredSelection sel = new StructuredSelection(testFile);
-		selProv.setSelection(sel);
-		assertEquals(sel, selProv.getSelection());
-	}
-
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/NavigatorTestSuite.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/NavigatorTestSuite.java
deleted file mode 100644
index f5b3aab..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/NavigatorTestSuite.java
+++ /dev/null
@@ -1,40 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.navigator;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-
-public class NavigatorTestSuite extends TestSuite {
-
-	/**
-	 * Returns the suite.  This is required to
-	 * use the JUnit Launcher.
-	 */
-	public static Test suite() {
-		return new NavigatorTestSuite();
-	}
-	
-	/**
-	 * Construct the test suite.
-	 */
-	public NavigatorTestSuite() {
-		addTest(new TestSuite(ExceptionDecoratorTestCase.class));
-		addTest(new TestSuite(ResourceNavigatorTest.class));
-		addTest(new TestSuite(NavigatorTest.class));
-		addTest(new TestSuite(DecoratorTestCase.class));
-		addTest(new TestSuite(LightweightDecoratorTestCase.class));		
-		addTest(new TestSuite(DuplicateMenuItemTest.class));
-	}
-
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/NullImageDecorator.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/NullImageDecorator.java
deleted file mode 100644
index 9251445..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/NullImageDecorator.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.eclipse.ui.tests.navigator;
-
-import org.eclipse.jface.viewers.IDecoration;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ILightweightLabelDecorator;
-
-/**
- * @see ILabelDecorator
- */
-public class NullImageDecorator implements ILightweightLabelDecorator {
-	/**
-     * Whether we should fail with an exception
-     */
-	public static boolean fail = false;
-	
-	/**
-	 *
-	 */
-	public NullImageDecorator() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)
-	 */
-	public void addListener(ILabelProviderListener listener) {
-		// XXX Auto-generated method stub
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ILightweightLabelDecorator#decorate(java.lang.Object, org.eclipse.jface.viewers.IDecoration)
-	 */
-	public void decorate(Object element, IDecoration decoration) {
-		if (fail) {
-		    fail = false;
-			throw new NullPointerException("Lighweight boom");
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
-	 */
-	public void dispose() {
-		// XXX Auto-generated method stub
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String)
-	 */
-	public boolean isLabelProperty(Object element, String property) {
-		// XXX Auto-generated method stub
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
-	 */
-	public void removeListener(ILabelProviderListener listener) {
-		// XXX Auto-generated method stub
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/ResourceNavigatorTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/ResourceNavigatorTest.java
deleted file mode 100644
index 3ada5b1..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/ResourceNavigatorTest.java
+++ /dev/null
@@ -1,169 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.navigator;
-
-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.runtime.IAdaptable;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.IWorkingSetManager;
-import org.eclipse.ui.part.ISetSelectionTarget;
-import org.eclipse.ui.tests.util.ActionUtil;
-import org.eclipse.ui.tests.util.FileUtil;
-import org.eclipse.ui.tests.util.UITestCase;
-import org.eclipse.ui.views.navigator.ResourceNavigator;
-
-public class ResourceNavigatorTest extends UITestCase {
-	private IWorkbenchPage activePage;
-	private IWorkbenchWindow workbenchWindow;
-	private IViewPart view;
-	private IProject p1;
-	private IProject p2;
-	private IFile f1;
-	private IFile f2;
-
-	/**
-	 * Constructor for ResourceNavigatorTest.
-	 * @param testName
-	 */
-	public ResourceNavigatorTest(String testName) {
-		super(testName);
-	}
-
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-		workbenchWindow = openTestWindow();
-		activePage = workbenchWindow.getActivePage();
-	}
-
-	private void setupView() throws Throwable {
-		view = activePage.showView("org.eclipse.ui.views.ResourceNavigator");
-	}
-	
-	private void setupResources() throws Throwable {
-		if (p1 == null) {
-			p1 = FileUtil.createProject("TP1");
-			f1 = null;
-		}
-		if (p2 == null) {
-			p2 = FileUtil.createProject("TP2");
-			f2 = null;
-		}
-		if (f1 == null)
-			f1 = FileUtil.createFile("f1.txt", p1);
-		if (f2 == null)
-			f2 = FileUtil.createFile("f2.txt", p2);
-	}
-
-	public void fixTestGlobalBookmarkAction() throws Throwable {
-		setupView();
-		setupResources();
-
-		// Select a file
-		IStructuredSelection sel = new StructuredSelection(f1);
-		((ResourceNavigator) view).selectReveal(sel);
-		
-		// Remember the previous marker count on the file
-		int oldCount = (f1.findMarkers(IMarker.BOOKMARK, true, IResource.DEPTH_INFINITE)).length;
-		
-		// Now try the bookmark action
-		ActionUtil.runActionUsingPath(this, workbenchWindow, IWorkbenchActionConstants.M_EDIT + '/' + IWorkbenchActionConstants.BOOKMARK);
-		
-		// Make sure the resource was bookmarked
-		int newCount = (f1.findMarkers(IMarker.BOOKMARK, true, IResource.DEPTH_INFINITE)).length;
-		assertTrue("Selected file was not bookmarked via Edit->Bookmark action.", oldCount + 1 == newCount);
-	}
-
-/*	
- * This test should be moved to an interactive test suite as this
- * test causes a dialog to popup when the resource is deleted by
- * the delete action
- * 
-	public void testGlobalDeleteAction() throws Throwable {
-		setupView();
-		setupResources();
-
-		// Select a file
-		IStructuredSelection sel = new StructuredSelection(f1);
-		((ResourceNavigator) view).selectReveal(sel);
-		
-		// Now try the delete action
-		ActionUtil.runActionUsingPath(this, workbenchWindow, IWorkbenchActionConstants.M_EDIT + '/' + IWorkbenchActionConstants.DELETE);
-		
-		// Make sure the resource was deleted
-		assertTrue("Selected file was not deleted via Edit->Delete action.", p1.findMember(f1.getName()) == null);
-		f1 = null;
-	}
-*/
-	
-	public void testSelectReveal() throws Throwable {
-		setupView();
-		setupResources();
-			
-		ISetSelectionTarget part = (ISetSelectionTarget) view;
-		TreeViewer tree = ((ResourceNavigator) view).getViewer();
-
-		// Set the selection in the navigator
-		IStructuredSelection sel1 = new StructuredSelection(f1);
-		part.selectReveal(sel1);
-		// Get the selection the tree has
-		IStructuredSelection treeSel1 = (IStructuredSelection) tree.getSelection();
-		assertTrue("First selection wrong size, should be only one.", treeSel1.size() == 1);
-		IResource resource1 = (IResource) treeSel1.getFirstElement();
-		assertTrue("First selection contains wrong file resource.", resource1.equals(f1));
-		
-		// Set the selection in the navigator
-		IStructuredSelection sel2 = new StructuredSelection(p2);
-		part.selectReveal(sel2);
-		// Get the selection the tree has
-		IStructuredSelection treeSel2 = (IStructuredSelection) tree.getSelection();
-		assertTrue("Second selection wrong size, should be only one.", treeSel2.size() == 1);
-		IResource resource2 = (IResource) treeSel2.getFirstElement();
-		assertTrue("Second selection contains wrong project resource.", resource2.equals(p2));
-	}
-	
-	public void testWorkingSet() throws Throwable {
-		setupView();
-		setupResources();
-		
-		ResourceNavigator navigator = ((ResourceNavigator) view);
-		IWorkingSetManager workingSetManager = fWorkbench.getWorkingSetManager();	
-		IWorkingSet workingSet = workingSetManager.createWorkingSet("ws1", new IAdaptable[] {f1});
-		
-		assertNull(navigator.getWorkingSet());
-						
-		navigator.setWorkingSet(workingSet);
-		assertEquals(workingSet, navigator.getWorkingSet());
-		
-		navigator.setWorkingSet(null);
-		assertNull(navigator.getWorkingSet());
-		
-		FileUtil.createFile("f11.txt", p1);
-		navigator.setWorkingSet(workingSet);
-		TreeViewer viewer = navigator.getTreeViewer();
-		viewer.expandAll();		
-		TreeItem[] items = viewer.getTree().getItems();
-		assertEquals(p1, items[0].getData());
-		items = items[0].getItems();
-		assertEquals(f1, items[0].getData());
-	}
-}
-
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/TestDecoratorContributor.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/TestDecoratorContributor.java
deleted file mode 100644
index bf2a1a9..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/TestDecoratorContributor.java
+++ /dev/null
@@ -1,95 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.navigator;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-import org.eclipse.core.resources.IResource;
-
-import org.eclipse.swt.graphics.Image;
-
-import org.eclipse.jface.viewers.ILabelDecorator;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.LabelProviderChangedEvent;
-
-import org.eclipse.ui.internal.misc.Assert;
-
-public class TestDecoratorContributor implements ILabelDecorator {
-
-	public static TestDecoratorContributor contributor;
-	private Set listeners = new HashSet();
-	public static String DECORATOR_SUFFIX = "_SUFFIX";
-
-	public TestDecoratorContributor() {
-		contributor = this;
-	}
-
-	/*
-	 * @see ILabelDecorator#decorateText(String, Object)
-	 */
-	public String decorateText(String text, Object element) {
-		//Check that the element is adapted to IResource
-		Assert.isTrue(element instanceof IResource);
-		return text + DECORATOR_SUFFIX;
-	}
-	/*
-	 * @see ILabelDecorator#decorateImage(Image, Object)
-	 */
-	public Image decorateImage(Image image, Object element) {
-		Assert.isTrue(element instanceof IResource);
-		return image;
-	}
-
-	/*
-	 * @see IBaseLabelProvider#addListener(ILabelProviderListener)
-	 */
-	public void addListener(ILabelProviderListener listener) {
-		listeners.add(listener);
-	}
-
-	/*
-	 * @see IBaseLabelProvider#dispose()
-	 */
-	public void dispose() {
-		contributor = null;
-		listeners = new HashSet();
-	}
-
-	/*
-	 * @see IBaseLabelProvider#isLabelProperty(Object, String)
-	 */
-	public boolean isLabelProperty(Object element, String property) {
-		return false;
-	}
-
-	/*
-	 * @see IBaseLabelProvider#removeListener(ILabelProviderListener)
-	 */
-	public void removeListener(ILabelProviderListener listener) {
-		listeners.remove(listener);
-	}
-
-	/**
-	 * Refresh the listeners to update the decorators for 
-	 * element.
-	 */
-
-	public void refreshListeners(Object element) {
-		Iterator iterator = listeners.iterator();
-		while (iterator.hasNext()) {
-			LabelProviderChangedEvent event = new LabelProviderChangedEvent(this, element);
-			((ILabelProviderListener) iterator.next()).labelProviderChanged(event);
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/TestLightweightDecoratorContributor.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/TestLightweightDecoratorContributor.java
deleted file mode 100644
index 1f4a95e..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/TestLightweightDecoratorContributor.java
+++ /dev/null
@@ -1,109 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.navigator;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.ui.internal.misc.Assert;
-import org.eclipse.ui.tests.TestPlugin;
-
-public class TestLightweightDecoratorContributor
-	implements ILightweightLabelDecorator {
-
-	public static TestLightweightDecoratorContributor contributor;
-	private Set listeners = new HashSet();
-	public static String DECORATOR_SUFFIX = "_SUFFIX";
-	public static String DECORATOR_PREFIX = "PREFIX_";
-	private ImageDescriptor descriptor;
-
-	public TestLightweightDecoratorContributor() {
-		contributor = this;
-	}
-
-	/*
-	 * @see IBaseLabelProvider#addListener(ILabelProviderListener)
-	 */
-	public void addListener(ILabelProviderListener listener) {
-		listeners.add(listener);
-	}
-
-	/*
-	 * @see IBaseLabelProvider#dispose()
-	 */
-	public void dispose() {
-		contributor = null;
-		listeners = new HashSet();
-	}
-
-	/*
-	 * @see IBaseLabelProvider#isLabelProperty(Object, String)
-	 */
-	public boolean isLabelProperty(Object element, String property) {
-		return false;
-	}
-
-	/*
-	 * @see IBaseLabelProvider#removeListener(ILabelProviderListener)
-	 */
-	public void removeListener(ILabelProviderListener listener) {
-		listeners.remove(listener);
-	}
-
-	/**
-	 * Refresh the listeners to update the decorators for 
-	 * element.
-	 */
-
-	public void refreshListeners(Object element) {
-		Iterator iterator = listeners.iterator();
-		while (iterator.hasNext()) {
-			LabelProviderChangedEvent event =
-				new LabelProviderChangedEvent(this, element);
-			((ILabelProviderListener) iterator.next()).labelProviderChanged(
-				event);
-		}
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.ILightweightLabelDecorator#getOverlay(java.lang.Object)
-	 */
-	public ImageDescriptor getOverlay(Object element) {
-		Assert.isTrue(element instanceof IResource);
-		if (descriptor == null) {
-			URL source =
-				TestPlugin.getDefault().getDescriptor().getInstallURL();
-			try {
-				descriptor =
-					ImageDescriptor.createFromURL(
-						new URL(source, "icons/binary_co.gif"));
-			} catch (MalformedURLException exception) {
-				return null;
-			}
-		}
-		return descriptor;
-
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.ILightweightLabelDecorator#decorate(java.lang.Object, org.eclipse.jface.viewers.IDecoration)
-	 */
-	public void decorate(Object element, IDecoration decoration) {
-		decoration.addOverlay(getOverlay(element));
-		decoration.addPrefix(DECORATOR_PREFIX);
-		decoration.addSuffix(DECORATOR_SUFFIX);
-	}
-
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/TestLightweightDecoratorMultipleQuadrantContributor.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/TestLightweightDecoratorMultipleQuadrantContributor.java
deleted file mode 100644
index cc34224..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/TestLightweightDecoratorMultipleQuadrantContributor.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.navigator;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.ui.internal.misc.Assert;
-import org.eclipse.ui.tests.TestPlugin;
-
-/**
- * This is a contributor that uses the multi quadrant
- * support.
- */
-
-public class TestLightweightDecoratorMultipleQuadrantContributor
-	implements ILightweightLabelDecorator {
-
-	public static TestLightweightDecoratorMultipleQuadrantContributor contributor;
-	private Set listeners = new HashSet();
-	private ImageDescriptor descriptor;
-
-	public TestLightweightDecoratorMultipleQuadrantContributor() {
-		contributor = this;
-	}
-
-	/*
-	 * @see IBaseLabelProvider#addListener(ILabelProviderListener)
-	 */
-	public void addListener(ILabelProviderListener listener) {
-		listeners.add(listener);
-	}
-
-	/*
-	 * @see IBaseLabelProvider#dispose()
-	 */
-	public void dispose() {
-		contributor = null;
-		listeners = new HashSet();
-	}
-
-	/*
-	 * @see IBaseLabelProvider#isLabelProperty(Object, String)
-	 */
-	public boolean isLabelProperty(Object element, String property) {
-		return false;
-	}
-
-	/*
-	 * @see IBaseLabelProvider#removeListener(ILabelProviderListener)
-	 */
-	public void removeListener(ILabelProviderListener listener) {
-		listeners.remove(listener);
-	}
-
-	/**
-	 * Refresh the listeners to update the decorators for 
-	 * element.
-	 */
-
-	public void refreshListeners(Object element) {
-		Iterator iterator = listeners.iterator();
-		while (iterator.hasNext()) {
-			LabelProviderChangedEvent event =
-				new LabelProviderChangedEvent(this, element);
-			((ILabelProviderListener) iterator.next()).labelProviderChanged(
-				event);
-		}
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.ILightweightLabelDecorator#getOverlay(java.lang.Object)
-	 */
-	public ImageDescriptor getOverlay(Object element) {
-		Assert.isTrue(element instanceof IResource);
-		if (descriptor == null) {
-			URL source =
-				TestPlugin.getDefault().getDescriptor().getInstallURL();
-			try {
-				descriptor =
-					ImageDescriptor.createFromURL(
-						new URL(source, "icons/binary_co.gif"));
-			} catch (MalformedURLException exception) {
-				return null;
-			}
-		}
-		return descriptor;
-
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.ILightweightLabelDecorator#decorate(java.lang.Object, org.eclipse.jface.viewers.IDecoration)
-	 */
-	public void decorate(Object element, IDecoration decoration) {
-		decoration.addOverlay(getOverlay(element), IDecoration.BOTTOM_LEFT);
-		decoration.addOverlay(getOverlay(element), IDecoration.BOTTOM_RIGHT);
-		decoration.addOverlay(getOverlay(element), IDecoration.TOP_LEFT);
-		decoration.addOverlay(getOverlay(element), IDecoration.TOP_RIGHT);
-		decoration.addOverlay(getOverlay(element), IDecoration.UNDERLAY);
-	}
-
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/performance/EditorSwitchTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/performance/EditorSwitchTest.java
deleted file mode 100644
index 5d4255c..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/performance/EditorSwitchTest.java
+++ /dev/null
@@ -1,111 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.performance;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-
-import org.eclipse.core.internal.events.BuildCommand;
-import org.eclipse.core.resources.ICommand;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-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.Path;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.tests.TestPlugin;
-import org.eclipse.ui.tests.util.UITestCase;
-
-/**
- * Test perspective switching.
- */
-public class EditorSwitchTest extends UITestCase {
-
-    /**
-     * Constructor.
-     * 
-     * @param testName
-     *            Test's name.
-     */
-    public EditorSwitchTest(String testName) {
-        super(testName);
-    }
-
-    /**
-     * Test perspective switching performance. This test always fails.
-     */
-    public void testPerspectiveSwitching() throws CoreException, IOException,
-            WorkbenchException {
-
-        /*
-         * Open a workbench window on the first perspective. Make it the Java
-         * perspective to force plug-in loading.
-         */
-        final Display display = fWorkbench.getDisplay();
-        final IWorkbenchWindow window = fWorkbench.openWorkbenchWindow(
-                "org.eclipse.jdt.ui.JavaPerspective", null);
-
-        // Create a java project.
-        IWorkspace workspace = ResourcesPlugin.getWorkspace();
-        IProject testProject = workspace.getRoot().getProject(
-                "PerspectiveSwitchTest Project");
-        testProject.create(null);
-        testProject.open(null);
-        IProjectDescription projectDescription = testProject.getDescription();
-        String[] natureIds = { "org.eclipse.jdt.core.javanature" };
-        projectDescription.setNatureIds(natureIds);
-        ICommand buildCommand = new BuildCommand();
-        buildCommand.setBuilderName("org.eclipse.jdt.core.javabuilder");
-        projectDescription.setBuildSpec(new ICommand[] { buildCommand });
-        testProject.setDescription(projectDescription, null);
-
-        // Create a test java file.
-        TestPlugin plugin = TestPlugin.getDefault();
-        URL fullPathString = plugin.getDescriptor().find(
-                new Path("data/PerspectiveSwitchSourceCode.txt"));
-        IPath path = new Path(fullPathString.getPath());
-        File file = path.toFile();
-        InputStream inputStream = new FileInputStream(file);
-        IFile javaFile = testProject.getFile("Util.java");
-        javaFile.create(inputStream, true, null);
-
-        // Create a test text file.
-        inputStream.reset();
-        IFile textFile = testProject.getFile("A.txt");
-        textFile.create(inputStream, true, null);
-        inputStream.close();
-
-        // Open the file.
-        IDE.openEditor(window.getActivePage(), javaFile, true);
-
-        // Switch between the two editors one hundred times.
-        long elapsedTime = -System.currentTimeMillis();
-        for (int i = 0; i < 100; i++) {
-            IDE.openEditor(window.getActivePage(), textFile, true);
-            while (display.readAndDispatch())
-                ; // allow repaints
-            IDE.openEditor(window.getActivePage(), javaFile, true);
-            while (display.readAndDispatch())
-                ; // allow repaints
-        }
-        elapsedTime += System.currentTimeMillis();
-        fail("Elapsed Time: " + elapsedTime);
-    }
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/performance/PerspectiveSwitchTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/performance/PerspectiveSwitchTest.java
deleted file mode 100644
index 3082bfb..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/performance/PerspectiveSwitchTest.java
+++ /dev/null
@@ -1,114 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.performance;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.net.URL;
-
-import org.eclipse.core.internal.events.BuildCommand;
-import org.eclipse.core.resources.ICommand;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-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.Path;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IPerspectiveRegistry;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.tests.TestPlugin;
-import org.eclipse.ui.tests.util.UITestCase;
-
-/**
- * Test perspective switching.
- */
-public class PerspectiveSwitchTest extends UITestCase {
-
-    /**
-     * Constructor.
-     * 
-     * @param testName
-     *            Test's name.
-     */
-    public PerspectiveSwitchTest(String testName) {
-        super(testName);
-    }
-
-    /**
-     * Test perspective switching performance. This test always fails.
-     */
-    public void testPerspectiveSwitching() throws CoreException, IOException,
-            WorkbenchException {
-        // Get the two perspectives to switch between.
-        final IPerspectiveRegistry registry = WorkbenchPlugin.getDefault()
-                .getPerspectiveRegistry();
-        final IPerspectiveDescriptor javaPerspective = registry
-                .findPerspectiveWithId("org.eclipse.jdt.ui.JavaPerspective");
-        final IPerspectiveDescriptor resourcePerspective = registry
-                .findPerspectiveWithId("org.eclipse.ui.resourcePerspective");
-
-        /*
-         * Open a workbench window on the first perspective. Make it the Java
-         * perspective to force plug-in loading.
-         */
-        final Display display = fWorkbench.getDisplay();
-        final IWorkbenchWindow window = fWorkbench.openWorkbenchWindow(
-                javaPerspective.getId(), null);
-
-        // Create a java project.
-        IWorkspace workspace = ResourcesPlugin.getWorkspace();
-        IProject testProject = workspace.getRoot().getProject(
-                "PerspectiveSwitchTest Project");
-        testProject.create(null);
-        testProject.open(null);
-        IProjectDescription projectDescription = testProject.getDescription();
-        String[] natureIds = { "org.eclipse.jdt.core.javanature" };
-        projectDescription.setNatureIds(natureIds);
-        ICommand buildCommand = new BuildCommand();
-        buildCommand.setBuilderName("org.eclipse.jdt.core.javabuilder");
-        projectDescription.setBuildSpec(new ICommand[] { buildCommand });
-        testProject.setDescription(projectDescription, null);
-
-        // Create a test java file.
-        TestPlugin plugin = TestPlugin.getDefault();
-        URL fullPathString = plugin.getDescriptor().find(
-                new Path("data/PerspectiveSwitchSourceCode.txt"));
-        IPath path = new Path(fullPathString.getPath());
-        File file = path.toFile();
-        FileInputStream inputStream = new FileInputStream(file);
-        IFile javaFile = testProject.getFile("Util.java");
-        javaFile.create(inputStream, true, null);
-
-        // Open the file.
-        IDE.openEditor(window.getActivePage(), javaFile, true);
-
-        // Switch between the two perspectives one hundred times.
-        long elapsedTime = -System.currentTimeMillis();
-        for (int i = 0; i < 100; i++) {
-            window.getActivePage().setPerspective(resourcePerspective);
-            while (display.readAndDispatch())
-                ; // allow repaints
-            window.getActivePage().setPerspective(javaPerspective);
-            while (display.readAndDispatch())
-                ; // allow repaints
-        }
-        elapsedTime += System.currentTimeMillis();
-        fail("Elapsed Time: " + elapsedTime);
-    }
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/performance/UIPerformanceTestSuite.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/performance/UIPerformanceTestSuite.java
deleted file mode 100644
index 239f066..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/performance/UIPerformanceTestSuite.java
+++ /dev/null
@@ -1,35 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.performance;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * Test all areas of the UI API.
- */
-public class UIPerformanceTestSuite extends TestSuite {
-
-    /**
-     * Returns the suite. This is required to use the JUnit Launcher.
-     */
-    public static Test suite() {
-        return new UIPerformanceTestSuite();
-    }
-
-    /**
-     * Construct the test suite.
-     */
-    public UIPerformanceTestSuite() {
-        addTest(new TestSuite(PerspectiveSwitchTest.class));
-        addTest(new TestSuite(EditorSwitchTest.class));
-    }
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/preferences/DeprecatedFontPreferenceTestCase.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/preferences/DeprecatedFontPreferenceTestCase.java
deleted file mode 100644
index 0580271..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/preferences/DeprecatedFontPreferenceTestCase.java
+++ /dev/null
@@ -1,126 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.preferences;
-
-import org.eclipse.core.runtime.Platform;
-
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.widgets.Display;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.jface.resource.FontRegistry;
-import org.eclipse.jface.resource.JFaceResources;
-
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.ui.tests.util.UITestCase;
-
-/**
- * The FontPreferenceTestCase tests adding fonts to
- * the preference store and what occurs if the values
- * are bogus
- */
-
-public class DeprecatedFontPreferenceTestCase extends UITestCase {
-
-	public String BAD_FONT_DEFINITION = "BadFont-regular-10";
-	public String TEST_FONT_ID = "org.eclipse.jface.tests.preference.testfont";
-	public String MISSING_FONT_ID =
-		"org.eclipse.jface.tests.preference.missingfont";
-
-	private IPreferenceStore preferenceStore;
-
-	/**
-	 * Constructor for FontPreferenceTestCase.
-	 * @param testName
-	 */
-	public DeprecatedFontPreferenceTestCase(String testName) {
-		super(testName);
-	}
-
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-		AbstractUIPlugin plugin =
-			(AbstractUIPlugin) Platform.getPlugin(PlatformUI.PLUGIN_ID);
-		preferenceStore = plugin.getPreferenceStore();
-
-		//Set up the bogus entry for the bad first test
-		FontData bogusData = new FontData();
-		bogusData.setName("BadData");
-		bogusData.setHeight(11);
-		FontData[] storedValue = new FontData[2];
-
-		//We assume here that the text font is OK
-		storedValue[0] = bogusData;
-		storedValue[1] =
-			(PreferenceConverter
-				.getDefaultFontDataArray(preferenceStore, JFaceResources.TEXT_FONT))[0];
-		PreferenceConverter.setValue(preferenceStore,TEST_FONT_ID,storedValue);
-		PreferenceConverter.setDefault(preferenceStore,TEST_FONT_ID,storedValue);
-	}
-	
-	
-	/**
-	 * Test for a valid font like the test font. The first good one
-	 * we should find should be the first one in the list.
-	 */
-	
-	public void testGoodFontDefinition(){
-		
-		FontRegistry fontRegistry = JFaceResources.getFontRegistry();
-		FontData[] currentTextFonts = 
-			PreferenceConverter.getFontDataArray(preferenceStore, JFaceResources.TEXT_FONT);
-		FontData bestFont = fontRegistry.bestData(currentTextFonts,Display.getCurrent());
-		
-		//Assert that it is the first font that we get as the
-		//valid one
-		assertEquals(bestFont.getName(),currentTextFonts[0].getName());
-		assertEquals(bestFont.getHeight(),currentTextFonts[0].getHeight());
-	}
-	
-	/**
-	 * Test that if the first font in the list is bad that the 
-	 * second one comes back as valid.
-	 */
-	
-	public void testBadFirstFontDefinition(){
-		
-		FontRegistry fontRegistry = JFaceResources.getFontRegistry();
-		FontData[] currentTestFonts = 
-			PreferenceConverter.getFontDataArray(preferenceStore, TEST_FONT_ID);
-		FontData bestFont = fontRegistry.bestData(currentTestFonts,Display.getCurrent());
-		
-		//Assert that it is the second font that we get as the
-		//valid one
-		assertEquals(bestFont.getName(),currentTestFonts[1].getName());
-		assertEquals(bestFont.getHeight(),currentTestFonts[1].getHeight());
-	}
-	
-	/**
-	 * Test that the no valid font is returned when the entry
-	 * is missing.
-	 */
-	
-	public void testNoFontDefinition(){
-		
-		FontRegistry fontRegistry = JFaceResources.getFontRegistry();
-		FontData[] currentTestFonts = 
-			PreferenceConverter.getFontDataArray(preferenceStore, MISSING_FONT_ID);
-		FontData bestFont = fontRegistry.bestData(currentTestFonts,Display.getCurrent());
-		
-		FontData[] systemFontData = Display.getCurrent().getSystemFont().getFontData();
-		
-		//Assert that the first font is the system font
-		assertEquals(bestFont.getName(),systemFontData[0].getName());
-		assertEquals(bestFont.getHeight(),systemFontData[0].getHeight());
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/preferences/FontPreferenceTestCase.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/preferences/FontPreferenceTestCase.java
deleted file mode 100644
index 5d28c4e..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/preferences/FontPreferenceTestCase.java
+++ /dev/null
@@ -1,127 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.preferences;
-
-import org.eclipse.core.runtime.Platform;
-
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.widgets.Display;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.jface.resource.FontRegistry;
-import org.eclipse.jface.resource.JFaceResources;
-
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.ui.tests.util.UITestCase;
-
-/**
- * The FontPreferenceTestCase tests adding fonts to
- * the preference store and what occurs if the values
- * are bogus
- */
-
-public class FontPreferenceTestCase extends UITestCase {
-
-	public String BAD_FONT_DEFINITION = "BadFont-regular-10";
-	public String TEST_FONT_ID = "org.eclipse.jface.tests.preference.testfont";
-	public String MISSING_FONT_ID =
-		"org.eclipse.jface.tests.preference.missingfont";
-
-	private IPreferenceStore preferenceStore;
-
-	/**
-	 * Constructor for FontPreferenceTestCase.
-	 * @param testName
-	 */
-	public FontPreferenceTestCase(String testName) {
-		super(testName);
-	}
-
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-		AbstractUIPlugin plugin =
-			(AbstractUIPlugin) Platform.getPlugin(PlatformUI.PLUGIN_ID);
-		preferenceStore = plugin.getPreferenceStore();
-
-		//Set up the bogus entry for the bad first test
-		FontData bogusData = new FontData();
-		bogusData.setName("BadData");
-		bogusData.setHeight(11);
-		FontData[] storedValue = new FontData[2];
-
-		//We assume here that the text font is OK
-		storedValue[0] = bogusData;
-		storedValue[1] =
-			(PreferenceConverter
-				.getDefaultFontDataArray(preferenceStore, JFaceResources.TEXT_FONT))[0];
-		PreferenceConverter.setValue(preferenceStore,TEST_FONT_ID,storedValue);
-		PreferenceConverter.setDefault(preferenceStore,TEST_FONT_ID,storedValue);
-
-	}
-	
-	
-	/**
-	 * Test for a valid font like the test font. The first good one
-	 * we should find should be the first one in the list.
-	 */
-	
-	public void testGoodFontDefinition(){
-		
-		FontRegistry fontRegistry = JFaceResources.getFontRegistry();
-		FontData[] currentTextFonts = 
-			PreferenceConverter.getFontDataArray(preferenceStore, JFaceResources.TEXT_FONT);
-		FontData[] bestFont = fontRegistry.bestDataArray(currentTextFonts,Display.getCurrent());
-		
-		//Assert that it is the first font that we get as the
-		//valid one
-		assertEquals(bestFont[0].getName(),currentTextFonts[0].getName());
-		assertEquals(bestFont[0].getHeight(),currentTextFonts[0].getHeight());
-	}
-	
-	/**
-	 * Test that if the first font in the list is bad that the 
-	 * second one comes back as valid.
-	 */
-	
-	public void testBadFirstFontDefinition(){
-		
-		FontRegistry fontRegistry = JFaceResources.getFontRegistry();
-		FontData[] currentTestFonts = 
-			PreferenceConverter.getFontDataArray(preferenceStore, TEST_FONT_ID);
-		FontData[] bestFont = fontRegistry.bestDataArray(currentTestFonts,Display.getCurrent());
-		
-		//Assert that it is the second font that we get as the
-		//valid one
-		assertEquals(bestFont[0].getName(),currentTestFonts[1].getName());
-		assertEquals(bestFont[0].getHeight(),currentTestFonts[1].getHeight());
-	}
-	
-	/**
-	 * Test that the no valid font is returned when the entry
-	 * is missing.
-	 */
-	
-	public void testNoFontDefinition(){
-		
-		FontRegistry fontRegistry = JFaceResources.getFontRegistry();
-		FontData[] currentTestFonts = 
-			PreferenceConverter.getFontDataArray(preferenceStore, MISSING_FONT_ID);
-		FontData[] bestFont = fontRegistry.bestDataArray(currentTestFonts,Display.getCurrent());
-		
-		FontData[] systemFontData = Display.getCurrent().getSystemFont().getFontData();
-		
-		//Assert that the first font is the system font
-		assertEquals(bestFont[0].getName(),systemFontData[0].getName());
-		assertEquals(bestFont[0].getHeight(),systemFontData[0].getHeight());
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/preferences/PreferencesTestSuite.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/preferences/PreferencesTestSuite.java
deleted file mode 100644
index d69bb1b..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/preferences/PreferencesTestSuite.java
+++ /dev/null
@@ -1,36 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.preferences;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * Test suite for preferences.
- */
-public class PreferencesTestSuite extends TestSuite {
-
-	/**
-	 * Returns the suite.  This is required to
-	 * use the JUnit Launcher.
-	 */
-	public static Test suite() {
-		return new PreferencesTestSuite();
-	}
-	
-	/**
-	 * Construct the test suite.
-	 */
-	public PreferencesTestSuite() {
-		addTest(new TestSuite(FontPreferenceTestCase.class));		
-		addTest(new TestSuite(DeprecatedFontPreferenceTestCase.class));		
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/propertysheet/ComboBoxPropertyDescriptorTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/propertysheet/ComboBoxPropertyDescriptorTest.java
deleted file mode 100644
index ca79733..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/propertysheet/ComboBoxPropertyDescriptorTest.java
+++ /dev/null
@@ -1,96 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.propertysheet;
-
-import junit.framework.TestCase;
-
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-
-import org.eclipse.ui.views.properties.ComboBoxLabelProvider;
-import org.eclipse.ui.views.properties.ComboBoxPropertyDescriptor;
-
-/**
- * Test for new functionality pertaining to Bug 21013.
- * 
- * @since 3.0
- */
-public class ComboBoxPropertyDescriptorTest extends TestCase {
-
-    private String ID = "ID"; //$NON-NLS-1$
-    private String NAME = "NAME"; //$NON-NLS-1$
-    
-    private String [] values = {"One", "Two", "Three"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-    private ComboBoxPropertyDescriptor descriptor;
-    
-    /* (non-Javadoc)
-     * @see junit.framework.TestCase#setUp()
-     */
-    protected void setUp() throws Exception {
-        super.setUp();
-        descriptor = new ComboBoxPropertyDescriptor(ID, NAME, values);
-    }
-
-    /* (non-Javadoc)
-     * @see junit.framework.TestCase#tearDown()
-     */
-    protected void tearDown() throws Exception {
-        super.tearDown();
-    }
-
-    /**
-     * Tests the case where the user does not set an ILabelProvider.
-     */
-    public void testGetDefaultLabelProvider() {        
-        ILabelProvider provider = descriptor.getLabelProvider();
-        assertEquals("Default label provider is of the wrong type", //$NON-NLS-1$ 
-                ComboBoxLabelProvider.class, 
-                provider.getClass());
-        
-        for (int i = 0; i < values.length; i++) {
-            String expected = values[i];
-            assertEquals("Wrong label provided", //$NON-NLS-1$
-                    expected,
-                    provider.getText(new Integer(i)));
-            
-        }
-        
-        testWrongLabel(provider, new Object());
-        testWrongLabel(provider, null);
-        testWrongLabel(provider, new Integer(-1));
-        testWrongLabel(provider, new Integer(values.length));
-    }
-
-    /**
-     * Tests that a bad element object (an Integer outside the accepted range, 
-     * null or an other Object) returns the empty String.
-     * @param provider the provider to test against.
-     * @param element the element to test.
-     */
-    public void testWrongLabel(ILabelProvider provider, Object element) {
-        assertEquals("Wrong label provided in bad case", //$NON-NLS-1$
-                "", //$NON-NLS-1$
-                provider.getText(element));        
-    }
-    
-    /**
-     * Tests the case where the user sets their own ILabelProvider.
-     */
-    public void testSetGetLabelProvider() {
-        ILabelProvider provider = new LabelProvider();
-        descriptor.setLabelProvider(provider);
-        ILabelProvider descProvider = descriptor.getLabelProvider();
-        assertSame("Wrong label provider", //$NON-NLS-1$
-                provider,
-                descProvider);
-    }
-
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/propertysheet/PropertySheetAuto.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/propertysheet/PropertySheetAuto.java
deleted file mode 100644
index 40462a5..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/propertysheet/PropertySheetAuto.java
+++ /dev/null
@@ -1,242 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.propertysheet;
-
-import java.util.ArrayList;
-import java.util.Random;
-
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Display;
-
-import org.eclipse.jface.viewers.StructuredSelection;
-
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.tests.SelectionProviderView;
-import org.eclipse.ui.tests.util.UITestCase;
-import org.eclipse.ui.views.properties.ColorPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-/**
- *  The class implements a test for the workbench's default
- * property sheet page. It does this by firing a sequence of 
- * selection events. The property sheet view receives these events 
- * and displays the properties for the selected objects.
- * We are able to test the property sheet code which displays 
- * properties and handles the transition to another set of 
- * properties.
- */
-
-public class PropertySheetAuto extends UITestCase {
-	
-	/**
-	 * This car serves as a simple porperty source.
-	 * The only interesting behavior it has is that if
-	 * one of its properties has a "null" value then
-	 * it does not include that property in its list
-	 * of property descriptors.
-	 */
-	private class Car implements IPropertySource {
-		private int modelYear = 0;
-		private RGB color = null;
-		private String manufacturer = null;
-		private String model = null;
-		private double engineSize = 0.0;
-		
-		// property ids
-		private final static String prefix = "org.eclipse.ui.tests.standardcomponents.propertysheetauto.";
-		private final static String MODEL_YEAR = prefix + "modelyear";
-		private final static String COLOR = prefix + "color";
-		private final static String MANUFACTURER = prefix + "manufacturer";
-		private final static String MODEL = prefix + "model";
-		private final static String ENGINE_SIZE = prefix + "enginesize";
-		
-		private IPropertyDescriptor[] descriptors;
-		
-		public Car(int carModelYear, RGB carColor, 
-			String carManufacturer, String carModel, double carEngineSize) {
-			modelYear = carModelYear;
-			color = carColor;
-			manufacturer = carManufacturer;
-			model = carModel;
-			engineSize = carEngineSize;
-			
-			createDescriptors();
-		}
-		/** 
-		 * Creates the property descriptors.
-		 * If one of the properties has a "null" value then
-		 * that property is not included in the list of
-	 	 * property descriptors.
-	 	 */
-		private void createDescriptors() {
-			ArrayList list = new ArrayList(5);
-			if (modelYear != 0)
-				list.add(new TextPropertyDescriptor(MODEL_YEAR, "model year"));
-			if (color != null)
-				list.add(new ColorPropertyDescriptor(COLOR, "color"));
-			if (manufacturer != null) 
-				list.add(new TextPropertyDescriptor(MANUFACTURER, "make"));
-			if (model != null)
-				list.add(new TextPropertyDescriptor(MODEL, "model"));
-			if (engineSize != 0.0)
-				list.add(new TextPropertyDescriptor(ENGINE_SIZE, "engine"));
-			descriptors = (IPropertyDescriptor[])list.toArray(new IPropertyDescriptor[list.size()]);
-		}	
-		public Object getEditableValue() {
-			return this;
-		}
-		public IPropertyDescriptor[] getPropertyDescriptors() {
-			return descriptors;
-		}
-		public Object getPropertyValue(Object id) {
-			if (id.equals(MODEL_YEAR))
-				return Integer.toString(modelYear);
-			if (id.equals(COLOR))
-				return color;
-			if (id.equals(MANUFACTURER))
-				return manufacturer;
-			if (id.equals(MODEL))
-				return model;
-			if (id.equals(ENGINE_SIZE))
-				return Double.toString(engineSize);
-			return null;
-		}
-		public boolean isPropertySet(Object id) {
-			return false;	
-		}
-		public void resetPropertyValue(Object id) {
-			return;
-		}
-		public void setPropertyValue(Object id, Object value) {
-			if (id.equals(MODEL_YEAR))
-				modelYear = new Integer((String)value).intValue();
-			if (id.equals(COLOR))
-				color = (RGB)value;
-			if (id.equals(MANUFACTURER))
-				manufacturer = (String)value;
-			if (id.equals(MODEL))
-				model = (String)value;
-			if (id.equals(ENGINE_SIZE))
-				engineSize = new Double((String)value).doubleValue();
-		}	
-		public String toString() {
-			StringBuffer s = new StringBuffer();
-			s.append("<");
-			if (modelYear != 0) {
-				s.append(modelYear);
-				s.append(" ");
-			}
-			if (color != null) {
-				s.append(color);
-				s.append(" ");
-			}
-			if (manufacturer != null) {
-				s.append(manufacturer);
-				s.append(" ");
-			}
-			if (model != null) {
-				s.append(model);
-				s.append(" ");
-			}
-			if (engineSize != 0.0) {
-				s.append(engineSize);
-				s.append(" ");
-			}
-			s.append(">");
-			return s.toString();
-		}
-	}
-	private IWorkbenchPage activePage;
-	private IWorkbenchWindow workbenchWindow;
-	private SelectionProviderView selectionProviderView;
-	private Car[] cars;
-	private	Random random = new Random();
-	private static final int NUMBER_OF_CARS = 10;
-	private static final int NUMBER_OF_SELECTIONS = 100;
-	private static final String[] makers = new String[] {"Ford", "GM", "Chrysler", "BMW", "Toyota", "Nissan", "Honda", "Volvo"};
-	private static final String[] models = new String[] {"Thunderbird", "Deville", "Viper", "320i", "Camry", "Ultima", "Prelude", "V70"};
-	public PropertySheetAuto(String name) {
-		super(name);
-	}
-	/** 
-	 * Creates a array of car objects
-	 */
-	private void createCars() {
-		cars = new Car[NUMBER_OF_CARS];
-		for (int i = 0; i < cars.length; i++) {		
-			cars[i] = createCar();
-		}
-	} 
-	/**
-	 * Creates a car initialized with random values
-	 */
-	private Car createCar() {
-		int modelYear = 0;
-		RGB color = null;
-		String manufacturer = null;
-		String model = null;
-		double engineSize = 0.0;
-		// only set 25% of the properties
-		int FACTOR = 4;
-		if (random.nextInt(FACTOR) < FACTOR - 1)
-			modelYear = 1990 + random.nextInt(15);	
-		if (random.nextInt(FACTOR) < FACTOR - 1)
-			color = new RGB(random.nextInt(256), random.nextInt(256), random.nextInt(256));
-		if (random.nextInt(FACTOR) < FACTOR - 1)
-			manufacturer = makers[random.nextInt(makers.length)];
-		if (random.nextInt(FACTOR) < FACTOR - 1)
-			model = models[random.nextInt(models.length)];
-		if (random.nextInt(FACTOR) < FACTOR - 1)
-			engineSize = random.nextDouble() * 6;
-		return new Car(modelYear, color, manufacturer, model, engineSize);
-	}	
-
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-		workbenchWindow = openTestWindow();
-		activePage = workbenchWindow.getActivePage();
-	}
-			
-	protected IWorkbenchPart createTestPart(IWorkbenchPage page) throws Throwable {
-		IViewPart view = page.showView("org.eclipse.ui.views.PropertySheet");
-		selectionProviderView = (SelectionProviderView)page.showView(SelectionProviderView.ID);
-		return view;
-		
-	}
-			
-	/** 
-	 * Supply selection events with a random car selection
-	 */
-	public void testInput() throws Throwable {
-		createTestPart(activePage);
-		createCars();
-		for (int i=0; i < NUMBER_OF_SELECTIONS; i++) {
-			// create the selection
-			int numberToSelect = random.nextInt(NUMBER_OF_CARS - 2);
-			ArrayList selection = new ArrayList(numberToSelect);
-			while (selection.size() < numberToSelect) {
-				int j = random.nextInt(NUMBER_OF_CARS);
-				if (!selection.contains(cars[j]))
-					selection.add(cars[j]);
-			}
-			StructuredSelection structuredSelection = new StructuredSelection(selection);
-			// fire the selection	
-			selectionProviderView.setSelection(structuredSelection);
-			while(Display.getCurrent().readAndDispatch());
-		}
-	}
-}
-
-  
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/propertysheet/PropertySheetTestSuite.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/propertysheet/PropertySheetTestSuite.java
deleted file mode 100644
index a761b45..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/propertysheet/PropertySheetTestSuite.java
+++ /dev/null
@@ -1,36 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.propertysheet;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * Test areas of the Property Sheet API.
- */
-public class PropertySheetTestSuite extends TestSuite {
-
-	/**
-	 * Returns the suite.  This is required to
-	 * use the JUnit Launcher.
-	 */
-	public static Test suite() {
-		return new PropertySheetTestSuite();
-	}
-	
-	/**
-	 * Construct the test suite.
-	 */
-	public PropertySheetTestSuite() {
-		addTest(new TestSuite(PropertySheetAuto.class));
-        addTest(new TestSuite(ComboBoxPropertyDescriptorTest.class));
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/stress/OpenCloseTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/stress/OpenCloseTest.java
deleted file mode 100644
index 8b6f778..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/stress/OpenCloseTest.java
+++ /dev/null
@@ -1,137 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.stress;
-import junit.framework.TestCase;
-
-import org.eclipse.core.internal.resources.Workspace;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.internal.ClosePerspectiveAction;
-import org.eclipse.ui.internal.WorkbenchWindow;
-import org.eclipse.ui.intro.IIntroPart;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.tests.util.FileUtil;
-/**
- * Test opening and closing of items.
- */
-public class OpenCloseTest extends TestCase {
-	private static int index;
-	private static final int numIterations = 10;
-	private WorkbenchWindow workbenchWindow;
-	private Workspace workspace;
-	/**
-	 * Constructor.
-	 * 
-	 * @param testName
-	 *            Test's name.
-	 */
-	public OpenCloseTest(String testName) {
-		super(testName);
-		workbenchWindow = (WorkbenchWindow) PlatformUI.getWorkbench()
-				.getActiveWorkbenchWindow();
-		workspace = (Workspace) ResourcesPlugin.getWorkspace();
-	}
-	/**
-	 * Test the opening and closing of a file.
-	 *  
-	 */
-	public void testOpenCloseFile() {
-		IWorkbenchPage page = workbenchWindow.getActivePage();
-		try {
-			FileUtil.createProject("TestProject");
-			IProject testProject = workspace.getRoot()
-					.getProject("TestProject"); //$NON-NLS-1$
-			FileUtil.createFile("tempFile.txt", testProject);
-			testProject.open(null);
-			IEditorInput editorInput = new FileEditorInput(testProject
-					.getFile("tempFile.txt"));
-			IEditorPart editorPart = null;
-			for (index = 0; index < numIterations; index++) {
-				editorPart = page.openEditor(editorInput,
-						"org.eclipse.ui.DefaultTextEditor"); //$NON-NLS-1$
-				page.closeEditor(editorPart, false);
-			}
-			FileUtil.deleteProject(testProject);
-		} catch (Exception e) {
-			e.printStackTrace(System.err);
-		}
-	}
-	/**
-	 * Test opening and closing of workbench window.
-	 *  
-	 */
-	public void testOpenCloseWorkbenchWindow() {
-		IWorkbenchWindow secondWorkbenchWindow = null;
-		try {
-			for (index = 0; index < numIterations; index++) {
-				secondWorkbenchWindow = PlatformUI.getWorkbench()
-						.openWorkbenchWindow(workspace);
-				secondWorkbenchWindow.close();
-			}
-		} catch (WorkbenchException e) {
-			e.printStackTrace(System.err);
-		}
-	}
-	/**
-	 * Test open and close of perspective.
-	 *  
-	 */
-	public void testOpenClosePerspective() {
-		ClosePerspectiveAction closePespective = new ClosePerspectiveAction(
-				workbenchWindow);
-		for (index = 0; index < numIterations; index++) {
-			try {
-				PlatformUI.getWorkbench().showPerspective(
-						"org.eclipse.jdt.ui.JavaPerspective", workbenchWindow);
-				closePespective.run();
-			} catch (WorkbenchException e) {
-				e.printStackTrace();
-			}
-		}
-	}
-	/**
-	 * Test open and close of view.
-	 *  
-	 */
-	public void testOpenCloseView() {
-		IViewPart consoleView = null;
-		try {
-			IWorkbenchPage page = PlatformUI.getWorkbench().showPerspective(
-					"org.eclipse.jdt.ui.JavaPerspective", workbenchWindow);
-			for (index = 0; index < numIterations; index++) {
-				consoleView = page
-						.showView("org.eclipse.ui.views.ResourceNavigator");
-				page.hideView(consoleView);
-			}
-		} catch (WorkbenchException e) {
-			e.printStackTrace();
-		}
-	}
-	/**
-	 * Test open and close intro.
-	 *  
-	 */
-	public void testOpenCloseIntro() {
-		IIntroPart introPart = null;
-		for (index = 0; index < numIterations; index++) {
-			introPart = PlatformUI.getWorkbench().getIntroManager().showIntro(workbenchWindow,
-					false);
-			PlatformUI.getWorkbench().getIntroManager().closeIntro(introPart);
-		}
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/stress/OpenCloseTestSuite.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/stress/OpenCloseTestSuite.java
deleted file mode 100644
index 1da5b6f..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/stress/OpenCloseTestSuite.java
+++ /dev/null
@@ -1,35 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.stress;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * Test all areas of the UI API.
- */
-public class OpenCloseTestSuite extends TestSuite {
-
-	/**
-	 * Returns the suite.  This is required to
-	 * use the JUnit Launcher.
-	 */
-	public static Test suite() {
-		return new OpenCloseTestSuite();
-	}
-	
-	/**
-	 * Construct the test suite.
-	 */
-	public OpenCloseTestSuite() {
-		addTest(new TestSuite(OpenCloseTest.class));
-	
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/themes/JFaceThemeTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/themes/JFaceThemeTest.java
deleted file mode 100644
index ae67464..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/themes/JFaceThemeTest.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.themes;
-
-import java.util.Iterator;
-
-import org.eclipse.jface.resource.ColorRegistry;
-import org.eclipse.jface.resource.FontRegistry;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.ui.themes.ITheme;
-import org.eclipse.ui.themes.IThemeManager;
-
-/**
- * Tests the pushing down of current theme changes into JFace.
- * 
- * @since 3.0
- */
-public class JFaceThemeTest extends ThemeTest {
-    
-    public JFaceThemeTest(String testName) {
-        super(testName);
-    }
-    
-    private void setAndTest(String themeId, IPropertyChangeListener listener) {
-        JFaceResources.getFontRegistry().addListener(listener);
-        JFaceResources.getColorRegistry().addListener(listener);
-        fManager.setCurrentTheme(themeId);
-        ITheme theme = fManager.getTheme(themeId);
-        assertEquals(theme, fManager.getCurrentTheme()); 
-        {
-	        FontRegistry jfaceFonts = JFaceResources.getFontRegistry();
-	        FontRegistry themeFonts = theme.getFontRegistry();
-	        // don't test for equality - other tests (or clients) may be pushing 
-	        // new items into jface
-	        assertTrue(jfaceFonts.getKeySet().containsAll(themeFonts.getKeySet()));	        
-	        for (Iterator i = themeFonts.getKeySet().iterator(); i.hasNext();) {
-	            String key = (String) i.next();
-	            assertArrayEquals(themeFonts.getFontData(key), jfaceFonts.getFontData(key));
-	        }
-        }
-        {
-            ColorRegistry jfaceColors = JFaceResources.getColorRegistry();
-            ColorRegistry themeColors = theme.getColorRegistry();
-            assertTrue(jfaceColors.getKeySet().containsAll(themeColors.getKeySet()));
-            for (Iterator i = themeColors.getKeySet().iterator(); i.hasNext();) {
-	            String key = (String) i.next();
-	            assertEquals(themeColors.getRGB(key), jfaceColors.getRGB(key));
-	        }            
-        }
-        JFaceResources.getFontRegistry().removeListener(listener);
-        JFaceResources.getColorRegistry().removeListener(listener);
-    }
-    
-    /**
-     * TODO: detailed checking of the events
-     */
-    public void testPushdown() {
-        ThemePropertyListener listener = new ThemePropertyListener();
-        setAndTest(THEME1, listener);
-        // ten changes, not the apparent 6 - remember the changes for the defaulted elements
-        assertEquals(10, listener.getEvents().size());
-        listener.getEvents().clear();
-        setAndTest(IThemeManager.DEFAULT_THEME, listener);
-        assertEquals(10, listener.getEvents().size());
-    }
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/themes/TestColorFactory.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/themes/TestColorFactory.java
deleted file mode 100644
index 00a1dc5..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/themes/TestColorFactory.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.themes;
-
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.ui.themes.IColorFactory;
-
-
-/**
- * @since 3.0
- */
-public class TestColorFactory implements IColorFactory {
-
-    public static final RGB RGB = new RGB(91,92,93);
-
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.themes.IColorFactory#createColor()
-     */
-    public RGB createColor() {
-        return RGB;
-    }
-
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/themes/ThemeAPITest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/themes/ThemeAPITest.java
deleted file mode 100644
index b74578f..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/themes/ThemeAPITest.java
+++ /dev/null
@@ -1,563 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.themes;
-
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.jface.resource.ColorRegistry;
-import org.eclipse.jface.resource.FontRegistry;
-import org.eclipse.jface.resource.StringConverter;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.internal.themes.ThemeElementHelper;
-import org.eclipse.ui.themes.ITheme;
-import org.eclipse.ui.themes.IThemeManager;
-
-/**
- * Tests the theme API.
- * 
- * @since 3.0
- */
-public class ThemeAPITest extends ThemeTest {
-
-    /**
-     * @param testName
-     */
-    public ThemeAPITest(String testName) {
-        super(testName);
-    }
-
-    private void checkEvents(ThemePropertyListener listener, Object source,
-            Object oldObject, Object newObject) {
-        boolean array = oldObject instanceof Object[];
-        List events = listener.getEvents();
-        assertEquals(2, events.size());
-        PropertyChangeEvent event = (PropertyChangeEvent) events.get(0);
-
-        assertEquals(source, event.getSource());
-        if (array) {
-            assertArrayEquals((Object[]) oldObject, (Object[]) event
-                    .getOldValue());
-            assertArrayEquals((Object[]) newObject, (Object[]) event
-                    .getNewValue());
-        } else {
-            assertEquals(oldObject, event.getOldValue());
-            assertEquals(newObject, event.getNewValue());
-        }
-
-        event = (PropertyChangeEvent) events.get(1);
-        assertEquals(source, event.getSource());
-        if (array) {
-            assertArrayEquals((Object[]) oldObject, (Object[]) event
-                    .getNewValue());
-            assertArrayEquals((Object[]) newObject, (Object[]) event
-                    .getOldValue());
-        } else {
-            assertEquals(oldObject, event.getNewValue());
-            assertEquals(newObject, event.getOldValue());
-        }
-    }
-
-    public void testBooleanDataConversion() {
-        ITheme defaultTheme = getDefaultTheme();
-        assertEquals(false, defaultTheme.getBoolean("data1"));
-        assertEquals(false, defaultTheme.getBoolean("data2"));
-        assertEquals(false, defaultTheme.getBoolean("int1"));
-        assertEquals(false, defaultTheme.getBoolean("BOGUSKEY"));
-        assertEquals(true, defaultTheme.getBoolean("bool1"));
-    }
-
-    public void testColorCascadeEvents() {
-        ITheme currentTheme = fManager.getCurrentTheme();
-        assertNotNull(currentTheme);
-
-        ThemePropertyListener managerListener = new ThemePropertyListener();
-        ThemePropertyListener themeListener = new ThemePropertyListener();
-        fManager.addPropertyChangeListener(managerListener);
-        currentTheme.addPropertyChangeListener(themeListener);
-
-        ColorRegistry colorRegistry = currentTheme.getColorRegistry();
-        RGB oldColor = colorRegistry.getRGB("rgbcolor");
-        RGB newColor = new RGB(121, 9, 121);
-        colorRegistry.put("rgbcolor", newColor);
-        colorRegistry.put("rgbcolor", oldColor);
-
-        checkEvents(managerListener, colorRegistry, oldColor, newColor);
-        checkEvents(themeListener, colorRegistry, oldColor, newColor);
-
-        fManager.removePropertyChangeListener(managerListener);
-        currentTheme.removePropertyChangeListener(themeListener);
-    }
-
-    public void testColorFactory() {
-        ITheme defaultTheme = getDefaultTheme();
-        assertEquals(TestColorFactory.RGB, defaultTheme.getColorRegistry()
-                .getRGB("factorycolor"));
-    }
-
-    public void testColorPreferenceListener_def_swtcolor() {
-        IPreferenceStore store = fWorkbench.getPreferenceStore();
-        ITheme defaultTheme = getDefaultTheme();
-
-        testOverrideColorPreference(defaultTheme, store, "swtcolor");
-    }
-    
-    public void testColorPreferenceListener_def_rgbcolor() {
-        IPreferenceStore store = fWorkbench.getPreferenceStore();
-        ITheme defaultTheme = getDefaultTheme();
-
-        testOverrideColorPreference(defaultTheme, store, "rgbcolor");
-    }    
-    
-    public void testColorPreferenceListener_def_defaultedcolor() {
-        IPreferenceStore store = fWorkbench.getPreferenceStore();
-        ITheme defaultTheme = getDefaultTheme();
-
-        testOverrideColorPreference(defaultTheme, store, "defaultedcolor");
-    }
-    
-    public void testColorPreferenceListener_def_nooverridecolor() {
-        IPreferenceStore store = fWorkbench.getPreferenceStore();
-        ITheme defaultTheme = getDefaultTheme();
-
-        testNoOverrideColorPreference(defaultTheme, store, "nooverridecolor");
-    }
-    
-    public void testColorPreferenceListener_th1_swtcolor() {
-    	IPreferenceStore store = fWorkbench.getPreferenceStore();
-    	ITheme theme1 = getTheme1();
-
-        testOverrideColorPreference(theme1, store, "swtcolor");
-    }
-
-    public void testColorPreferenceListener_th1_rgbcolor() {
-    	IPreferenceStore store = fWorkbench.getPreferenceStore();
-    	ITheme theme1 = getTheme1();
-    	
-        testOverrideColorPreference(theme1, store, "rgbcolor");
-    }
-    
-    public void testColorPreferenceListener_th1_defaultedcolor() {
-    	IPreferenceStore store = fWorkbench.getPreferenceStore();
-    	ITheme theme1 = getTheme1();
-    	
-        testOverrideColorPreference(theme1, store, "defaultedcolor");
-    }
-
-    public void testColorPreferenceListener_th1_nooverridecolor() {
-    	IPreferenceStore store = fWorkbench.getPreferenceStore();
-    	ITheme theme1 = getTheme1();
-    
-        testNoOverrideColorPreference(theme1, store, "nooverridecolor");
-    }
-
-    public void testDataKeySet_data1() {
-        ITheme defaultTheme = getDefaultTheme();
-        Set themeKeys = defaultTheme.keySet();
-
-        assertTrue(themeKeys.contains("data1"));
-    }
-    
-    public void testDataKeySet_data2() {
-        ITheme defaultTheme = getDefaultTheme();
-        Set themeKeys = defaultTheme.keySet();
-        
-        assertTrue(themeKeys.contains("data2"));
-    }
-    
-    public void testDataKeySet_int1() {
-        ITheme defaultTheme = getDefaultTheme();
-        Set themeKeys = defaultTheme.keySet();
-        
-        assertTrue(themeKeys.contains("int1"));
-    }
-    
-    public void testDataKeySet_bool1() {
-        ITheme defaultTheme = getDefaultTheme();
-        Set themeKeys = defaultTheme.keySet();
-        
-        assertTrue(themeKeys.contains("bool1"));
-    }
-    
-    public void testDataKeySet_BOGUSKEY() {
-        ITheme defaultTheme = getDefaultTheme();
-        Set themeKeys = defaultTheme.keySet();
-        
-        assertFalse(themeKeys.contains("BOGUSKEY"));
-    }
-
-    public void testDataOverride_data1() {
-        ITheme theme1 = getTheme1();
-        
-        assertEquals("override1", theme1.getString("data1"));
-    }
-    
-    public void testDataOverride_data2() {
-        ITheme theme1 = getTheme1();
-
-        assertEquals("value2", theme1.getString("data2"));
-    }
-
-    public void testDefaultedColor_rgbcolor() {
-        ITheme defaultTheme = getDefaultTheme();
-        assertEquals(defaultTheme.getColorRegistry().getRGB("rgbcolor"),
-                defaultTheme.getColorRegistry().getRGB("defaultedcolor"));
-    }
- 
-    public void testDefaultedColor_defaultedcolor() {
-        ITheme defaultTheme = getDefaultTheme();
-        assertEquals(defaultTheme.getColorRegistry().getRGB("defaultedcolor"),
-                defaultTheme.getColorRegistry().getRGB("defaultedcolor2"));
-    }
-    
-    public void testDefaultedColor_defaultedcolor2() {
-            ITheme defaultTheme = getDefaultTheme();
-        
-        assertEquals(defaultTheme.getColorRegistry().getRGB("defaultedcolor2"),
-                defaultTheme.getColorRegistry().getRGB("defaultedcolor3"));
-    }
-
-    public void testDefaultedFont_valfont() {
-        ITheme defaultTheme = getDefaultTheme();
-        assertArrayEquals(
-                defaultTheme.getFontRegistry().getFontData("valfont"),
-                defaultTheme.getFontRegistry().getFontData("defaultedfont"));
-    }
-    
-    public void testDefaultedFont_defaultedfont() {
-        ITheme defaultTheme = getDefaultTheme();
-        assertArrayEquals(defaultTheme.getFontRegistry().getFontData(
-                "defaultedfont"), defaultTheme.getFontRegistry().getFontData(
-                "defaultedfont2"));
-    }
-    
-    public void testDefaultedFont_defaultedfont2() {
-        ITheme defaultTheme = getDefaultTheme();
-        assertArrayEquals(defaultTheme.getFontRegistry().getFontData(
-                "defaultedfont2"), defaultTheme.getFontRegistry().getFontData(
-                "defaultedfont3"));
-    }
-
-    public void testDefaultedFontOverride_valfont() {
-        ITheme theme1 = getTheme1();
-        assertArrayEquals(theme1.getFontRegistry().getFontData("valfont"),
-                theme1.getFontRegistry().getFontData("defaultedfont"));
-    }
-    
-    public void testDefaultedFontOverride_defaultedfont2() {
-        ITheme theme1 = getTheme1();
-
-        assertArrayEquals(new FontData[] { new FontData("Courier", 16,
-                SWT.NORMAL)}, theme1.getFontRegistry().getFontData(
-                "defaultedfont2"));
-    }
-    
-    public void testDefaultedFontOverride_defaultedfont3() {
-        ITheme theme1 = getTheme1();
-
-        assertArrayEquals(theme1.getFontRegistry()
-                .getFontData("defaultedfont2"), theme1.getFontRegistry()
-                .getFontData("defaultedfont3"));
-    }
-
-    public void testDefaultedOverrideColor_rgbcolor() {
-        ITheme theme1 = getTheme1();       
-        assertEquals(theme1.getColorRegistry().getRGB("rgbcolor"), theme1
-                .getColorRegistry().getRGB("defaultedcolor"));
-    }
-    
-    public void testDefaultedOverrideColor_defaultedcolor2() {
-        ITheme theme1 = getTheme1();
-        assertEquals(new RGB(9, 9, 9), theme1.getColorRegistry().getRGB(
-                "defaultedcolor2"));
-        
-    }
-    
-    public void testDefaultedOverrideColor_defaultedcolor3() {
-        ITheme theme1 = getTheme1();
-        assertEquals(theme1.getColorRegistry().getRGB("defaultedcolor2"),
-                theme1.getColorRegistry().getRGB("defaultedcolor3"));
-    }
-
-    public void testFontCascadeEvents() {
-        ITheme currentTheme = fManager.getCurrentTheme();
-        assertNotNull(currentTheme);
-
-        ThemePropertyListener managerListener = new ThemePropertyListener();
-        ThemePropertyListener themeListener = new ThemePropertyListener();
-        fManager.addPropertyChangeListener(managerListener);
-        currentTheme.addPropertyChangeListener(themeListener);
-
-        FontRegistry fontRegistry = currentTheme.getFontRegistry();
-        FontData[] oldFont = fontRegistry.getFontData("valfont");
-        FontData[] newFont = new FontData[] { new FontData("Courier", 30,
-                SWT.ITALIC)};
-        fontRegistry.put("valfont", newFont);
-        fontRegistry.put("valfont", oldFont);
-
-        checkEvents(managerListener, fontRegistry, oldFont, newFont);
-        checkEvents(themeListener, fontRegistry, oldFont, newFont);
-
-        fManager.removePropertyChangeListener(managerListener);
-        currentTheme.removePropertyChangeListener(themeListener);
-    }
-
-    public void testFontPreferenceListener_def_novalfont() {
-        IPreferenceStore store = fWorkbench.getPreferenceStore();
-        ITheme defaultTheme = getDefaultTheme();
-        testOverrideFontPreference(defaultTheme, store, "novalfont");
-    }
-    
-    public void testFontPreferenceListener_def_valfont() {
-        IPreferenceStore store = fWorkbench.getPreferenceStore();
-        ITheme defaultTheme = getDefaultTheme();
-        
-        testOverrideFontPreference(defaultTheme, store, "valfont");
-    }
-    
-    public void testFontPreferenceListener_def_defaultedfont() {
-        IPreferenceStore store = fWorkbench.getPreferenceStore();
-        ITheme defaultTheme = getDefaultTheme();
-        
-        testOverrideFontPreference(defaultTheme, store, "defaultedfont");
-    }
-    
-    public void testFontPreferenceListener_def_nooverridefont() {
-        IPreferenceStore store = fWorkbench.getPreferenceStore();
-        ITheme defaultTheme = getDefaultTheme();
-        
-        testNoOverrideFontPreference(defaultTheme, store, "nooverridefont");
-    }
-
-    public void testFontPreferenceListener_th1_valfont() {
-        IPreferenceStore store = fWorkbench.getPreferenceStore();
-        ITheme theme1 = getTheme1();
-        
-        testOverrideFontPreference(theme1, store, "valfont");
-    }
-    
-    public void testFontPreferenceListener_th1_novalfont() {
-        IPreferenceStore store = fWorkbench.getPreferenceStore();
-        ITheme theme1 = getTheme1();
-        
-        testOverrideFontPreference(theme1, store, "novalfont");
-    }
-    
-    public void testFontPreferenceListener_th1_defaultedfont() {
-        IPreferenceStore store = fWorkbench.getPreferenceStore();
-        ITheme theme1 = getTheme1();
-    
-        testOverrideFontPreference(theme1, store, "defaultedfont");
-    }
-    
-    public void testFontPreferenceListener_th1_nooverridefont() {
-        IPreferenceStore store = fWorkbench.getPreferenceStore();
-        ITheme theme1 = getTheme1();
-
-        testNoOverrideFontPreference(theme1, store, "nooverridefont");
-    }
-
-    public void testGetBadTheme() {
-        ITheme badTheme = fManager.getTheme(BOGUSID);
-        assertNull(badTheme);
-    }
-
-    public void testIntDataConversion() {
-        ITheme defaultTheme = getDefaultTheme();
-        assertEquals(0, defaultTheme.getInt("data1"));
-        assertEquals(0, defaultTheme.getInt("data2"));
-        assertEquals(0, defaultTheme.getInt("bool1"));
-        assertEquals(0, defaultTheme.getInt("BOGUSKEY"));
-        assertEquals(3133, defaultTheme.getInt("int1"));
-    }
-
-    private void testNoOverrideColorPreference(ITheme theme,
-            IPreferenceStore store, String color) {
-        RGB oldRGB = theme.getColorRegistry().getRGB(color);
-        RGB newRGB = new RGB(75, 21, 68);
-
-        store.setValue(ThemeElementHelper.createPreferenceKey(theme, color),
-                StringConverter.asString(newRGB));
-        assertEquals(getDefaultTheme().getColorRegistry().getRGB(color), theme
-                .getColorRegistry().getRGB(color));
-        store
-                .setToDefault(ThemeElementHelper.createPreferenceKey(theme,
-                        color));
-        assertEquals(oldRGB, theme.getColorRegistry().getRGB(color));
-    }
-
-    private void testNoOverrideFontPreference(ITheme theme,
-            IPreferenceStore store, String font) {
-        FontData[] oldFont = theme.getFontRegistry().getFontData(font);
-        FontData[] newFont = new FontData[] { new FontData("Courier", 30,
-                SWT.ITALIC)};
-        store.setValue(ThemeElementHelper.createPreferenceKey(theme, font),
-                PreferenceConverter.getStoredRepresentation(newFont));
-        assertArrayEquals(
-                getDefaultTheme().getFontRegistry().getFontData(font), theme
-                        .getFontRegistry().getFontData(font));
-        store.setToDefault(ThemeElementHelper.createPreferenceKey(theme, font));
-        assertArrayEquals(oldFont, theme.getFontRegistry().getFontData(font));
-    }
-
-    public void testNoValFont() {
-        ITheme defaultTheme = getDefaultTheme();
-        assertArrayEquals(defaultTheme.getFontRegistry().defaultFont()
-                .getFontData(), defaultTheme.getFontRegistry().getFontData(
-                "novalfont"));
-    }
-
-    public void testNoValFontOverride() {
-        ITheme theme1 = getTheme1();
-        assertArrayEquals(new FontData[] { new FontData("Courier", 10,
-                SWT.ITALIC)}, theme1.getFontRegistry().getFontData("novalfont"));
-
-    }
-
-    private void testOverrideColorPreference(ITheme theme,
-            IPreferenceStore store, String color) {
-        RGB oldRGB = theme.getColorRegistry().getRGB(color);
-        RGB newRGB = new RGB(75, 21, 68);
-
-        store.setValue(ThemeElementHelper.createPreferenceKey(theme, color),
-                StringConverter.asString(newRGB));
-        assertEquals(newRGB, theme.getColorRegistry().getRGB(color));
-        store
-                .setToDefault(ThemeElementHelper.createPreferenceKey(theme,
-                        color));
-        assertEquals(oldRGB, theme.getColorRegistry().getRGB(color));
-    }
-
-    private void testOverrideFontPreference(ITheme theme,
-            IPreferenceStore store, String font) {
-        FontData[] oldFont = theme.getFontRegistry().getFontData(font);
-        FontData[] newFont = new FontData[] { new FontData("Courier", 30,
-                SWT.ITALIC)};
-        store.setValue(ThemeElementHelper.createPreferenceKey(theme, font),
-                PreferenceConverter.getStoredRepresentation(newFont));
-        assertArrayEquals(newFont, theme.getFontRegistry().getFontData(font));
-        store.setToDefault(ThemeElementHelper.createPreferenceKey(theme, font));
-        assertArrayEquals(oldFont, theme.getFontRegistry().getFontData(font));
-    }
-
-    public void testPlatformColor() {
-        ITheme defaultTheme = getDefaultTheme();
-        RGB rgb = null;
-        // test for two specific platforms and one general
-        if (Platform.getWS().equals("win32")
-                && Platform.getOS().equals("win32"))
-            rgb = new RGB(50, 50, 50);
-        else if (Platform.getWS().equals("gtk")
-                && Platform.getOS().equals("linux"))
-            rgb = new RGB(25, 25, 25);
-        else if (Platform.getOS().equals("linux"))
-            rgb = new RGB(75, 75, 75);
-        else
-            rgb = new RGB(0, 0, 0);
-
-        assertEquals(rgb, defaultTheme.getColorRegistry().getRGB(
-                "platformcolor"));
-    }
-
-    public void testPlatformFont() {
-        ITheme defaultTheme = getDefaultTheme();
-        FontData[] data = null;
-        if (Platform.getWS().equals("win32")
-                && Platform.getOS().equals("win32"))
-            data = new FontData[] { new FontData("Courier New", 12, SWT.NORMAL)};
-        else
-            data = new FontData[] { new FontData("Sans", 15, SWT.BOLD)};
-
-        assertArrayEquals(data, defaultTheme.getFontRegistry().getFontData(
-                "platformfont"));
-    }
-
-    public void testRGBColor() {
-        ITheme defaultTheme = getDefaultTheme();
-        assertEquals(new RGB(1, 1, 2), defaultTheme.getColorRegistry().getRGB(
-                "rgbcolor"));
-    }
-
-    public void testRGBColorOverride() {
-        ITheme theme1 = getTheme1();
-        assertEquals(new RGB(2, 1, 1), theme1.getColorRegistry().getRGB(
-                "rgbcolor"));
-    }
-
-    public void testSetTheme() {
-        ThemePropertyListener listener = new ThemePropertyListener();
-        fManager.addPropertyChangeListener(listener);
-        ITheme currentTheme = fManager.getCurrentTheme();
-        fManager.setCurrentTheme(BOGUSID);
-        assertEquals(currentTheme, fManager.getCurrentTheme());
-        fManager.setCurrentTheme(THEME1);
-        assertNotSame(currentTheme, fManager.getCurrentTheme());
-        ITheme newCurrentTheme = fManager.getCurrentTheme();
-        ITheme theme1 = getTheme1();
-        assertEquals(theme1, newCurrentTheme);
-        List events = listener.getEvents();
-        assertEquals(1, events.size());
-        PropertyChangeEvent event = ((PropertyChangeEvent) events.get(0));
-        assertEquals(IThemeManager.CHANGE_CURRENT_THEME, event.getProperty());
-        assertEquals(currentTheme, event.getOldValue());
-        assertEquals(newCurrentTheme, event.getNewValue());
-        fManager.removePropertyChangeListener(listener);
-    }
-
-    public void testStringData() {
-        ITheme defaultTheme = getDefaultTheme();
-        assertEquals("value1", defaultTheme.getString("data1"));
-        assertEquals("value2", defaultTheme.getString("data2"));
-        assertEquals("3133", defaultTheme.getString("int1"));
-        assertEquals("true", defaultTheme.getString("bool1"));
-        assertEquals(null, defaultTheme.getString("BOGUSKEY"));
-    }
-
-    public void testSWTColor() {
-        ITheme defaultTheme = getDefaultTheme();
-        assertEquals(Display.getDefault().getSystemColor(SWT.COLOR_DARK_BLUE)
-                .getRGB(), defaultTheme.getColorRegistry().getRGB("swtcolor"));
-    }
-
-    public void testSWTColorOverride() {
-        ITheme theme1 = getTheme1();
-        assertEquals(Display.getDefault().getSystemColor(SWT.COLOR_DARK_GREEN)
-                .getRGB(), theme1.getColorRegistry().getRGB("swtcolor"));
-    }
-
-    public void testThemeDescription_default() {
-        ITheme defaultTheme = getDefaultTheme();
-        assertEquals(IThemeManager.DEFAULT_THEME, defaultTheme.getId());
-        // don't bother testing against the actual value
-        assertNotNull(defaultTheme.getLabel());
-    }
-    
-    
-    public void testThemeDescription_theme1() {
-        ITheme theme1 = getTheme1();
-        assertEquals(THEME1, theme1.getId());
-        assertEquals("test theme 1", theme1.getLabel());
-    }
-
-    public void testValFont() {
-        ITheme defaultTheme = getDefaultTheme();
-        assertArrayEquals(
-                new FontData[] { new FontData("Tahoma", 20, SWT.BOLD)},
-                defaultTheme.getFontRegistry().getFontData("valfont"));
-    }
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/themes/ThemePropertyListener.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/themes/ThemePropertyListener.java
deleted file mode 100644
index 42f49d5..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/themes/ThemePropertyListener.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.themes;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-
-
-/**
- * @since 3.0
- */
-public class ThemePropertyListener implements IPropertyChangeListener {
-    
-    private ArrayList events = new ArrayList();
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
-     */
-    public void propertyChange(PropertyChangeEvent event) {
-        events.add(event);
-    }
-
-    public List getEvents() {
-        return events;
-    }
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/themes/ThemeTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/themes/ThemeTest.java
deleted file mode 100644
index aed5763..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/themes/ThemeTest.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.themes;
-
-import java.util.Arrays;
-
-import org.eclipse.ui.tests.util.UITestCase;
-import org.eclipse.ui.themes.ITheme;
-import org.eclipse.ui.themes.IThemeManager;
-
-/**
- * @since 3.0
- */
-public abstract class ThemeTest extends UITestCase {
-
-    protected static final String BOGUSID = "BOGUSID";
-
-    protected static final String THEME1 = "theme1";
-
-    public static void assertArrayEquals(Object[] datas, Object[] datas2) {
-        if (!Arrays.equals(datas, datas2)) {
-            String expected = formatArray(datas);
-            String actual = formatArray(datas2);
-            fail("expected:<" + expected + "> but was:<" + actual + ">");
-        }
-    }
-
-    protected static String formatArray(Object[] datas) {
-        StringBuffer buffer = new StringBuffer();
-        if (datas == null)
-            buffer.append("null");
-        else {
-            buffer.append('[');
-            for (int i = 0; i < datas.length; i++) {
-                buffer.append(datas[i]);
-                if (i != datas.length - 1) buffer.append(',');
-            }
-        }
-        return buffer.toString();
-    }
-
-    protected IThemeManager fManager;
-
-    /**
-     * @param testName
-     */
-    public ThemeTest(String testName) {
-        super(testName);
-        // TODO Auto-generated constructor stub
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.tests.util.UITestCase#doSetUp()
-     */
-    protected void doSetUp() throws Exception {
-        super.doSetUp();
-        fManager = fWorkbench.getThemeManager();
-        fManager.setCurrentTheme(IThemeManager.DEFAULT_THEME);
-    }
-
-    /**
-     * @return
-     */
-    protected ITheme getDefaultTheme() {
-        ITheme defaultTheme = fManager.getTheme(IThemeManager.DEFAULT_THEME);
-        assertNotNull(defaultTheme);
-        return defaultTheme;
-    }
-
-    /**
-     * @return
-     */
-    protected ITheme getTheme1() {
-        ITheme theme1 = fManager.getTheme(THEME1);
-        assertNotNull(theme1);
-        return theme1;
-    }
-
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/themes/ThemesTestSuite.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/themes/ThemesTestSuite.java
deleted file mode 100644
index 5801729..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/themes/ThemesTestSuite.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.themes;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @since 3.0
- */
-public class ThemesTestSuite extends TestSuite {
-	
-	public static Test suite() {
-		return new ThemesTestSuite();
-	}	
-	
-	public ThemesTestSuite() {
-		addTest(new TestSuite(ThemeAPITest.class));
-		addTest(new TestSuite(JFaceThemeTest.class));
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/zoom/ActivateTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/zoom/ActivateTest.java
deleted file mode 100644
index bc77246..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/zoom/ActivateTest.java
+++ /dev/null
@@ -1,80 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.zoom;
-import junit.framework.Assert;
-
-import org.eclipse.ui.IViewPart;
-
-public class ActivateTest extends ZoomTestCase {
-	public ActivateTest(String name) {
-		super(name);	
-	}
-	
-	// activate a regular view when a view is zoomed
-	public void test1() {
-		IViewPart view1 = showRegularView(view1Id);
-		IViewPart view2 = showRegularView(view2Id);
-		zoom(view1);
-		Assert.assertTrue(isZoomed(view1));
-		page.activate(view2);
-		Assert.assertTrue(noZoom());			
-	}
-	// activate a fast view when a view is zoomed
-	public void test2() {
-		IViewPart view1 = showRegularView(view1Id);
-		IViewPart view2 = showFastView(view2Id);
-		zoom(view1);
-		Assert.assertTrue(isZoomed(view1));
-		page.activate(view2);
-		Assert.assertTrue(isZoomed(view1));			
-	}
-	// activate an editor when a view is zoomed
-	public void test3() {
-		IViewPart view = showRegularView(view1Id);
-		page.activate(view);
-		zoom(view);
-		Assert.assertTrue(isZoomed(view));
-		page.activate(editor1);
-		Assert.assertTrue(noZoom());	
-	}
-	//activate a regular view when an editor is zoomed
-	public void test4() {
-		IViewPart view = showRegularView(view1Id);
-		zoom(editor1);
-		Assert.assertTrue(isZoomed(editor1));
-		page.activate(view);
-		Assert.assertTrue(noZoom());		
-	}
-	// activate a fast view when an editor is zoomed
-	public void test5() {
-		IViewPart view = showFastView(view1Id);
-		zoom(editor1);
-		Assert.assertTrue(isZoomed(editor1));
-		page.activate(view);
-		Assert.assertTrue(isZoomed(editor1));
-	}
-	// activate an editor in the same workbench as the zoomed editor
-	public void test6() {
-	    // TODO Broken - Bug 54863
-//		zoom(editor1);
-//		Assert.assertTrue(isZoomed(editor1));
-//		page.activate(editor2);
-//		Assert.assertTrue(isZoomed(editor2));		
-	}
-	// activate an editor in a different workbench than the zoomed editor
-	public void test7() {
-		differentWorkbookSetUp();
-		zoom(editor1);
-		Assert.assertTrue(isZoomed(editor1));
-		page.activate(editor2);
-		Assert.assertTrue(noZoom());
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/zoom/CloseEditorTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/zoom/CloseEditorTest.java
deleted file mode 100644
index faca9ee..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/zoom/CloseEditorTest.java
+++ /dev/null
@@ -1,49 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.zoom;
-import junit.framework.Assert;
-
-import org.eclipse.ui.IViewPart;
-
-public class CloseEditorTest extends ZoomTestCase {
-	public CloseEditorTest(String name) {
-		super(name);	
-	}
-	
-	// closing the editor activates a regular view
-	public void test1() {
-		IViewPart view = showRegularView(view1Id);
-		page.closeEditor(editor2, false);
-		zoom(editor1);
-		Assert.assertTrue(isZoomed(editor1));
-		page.closeEditor(editor1, false);
-		Assert.assertTrue(page.getActivePart() == view);
-		Assert.assertTrue(noZoom());
-	}
-	// closing the editor activates an editor in the same workbook
-	public void test2() {
-	    // TODO Broken - Bug 54863
-//		zoom(editor1);
-//		Assert.assertTrue(isZoomed(editor1));
-//		page.closeEditor(editor1, false);
-//		Assert.assertTrue(page.getActivePart() == editor2);
-//		Assert.assertTrue(isZoomed(editor2));
-	}
-	// closing the editor activates an editor in a different workbook
-	public void test3() {
-		differentWorkbookSetUp();
-		zoom(editor1);
-		Assert.assertTrue(isZoomed(editor1));
-		page.closeEditor(editor1, false);
-		Assert.assertTrue(page.getActivePart() == editor2);
-		Assert.assertTrue(noZoom());		
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/zoom/HideViewTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/zoom/HideViewTest.java
deleted file mode 100644
index 17e382f..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/zoom/HideViewTest.java
+++ /dev/null
@@ -1,60 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.zoom;
-import junit.framework.Assert;
-
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IViewPart;
-
-public class HideViewTest extends ZoomTestCase {
-	public HideViewTest(String name) {
-		super(name);	
-	}
-	
-	// hiding a fast view causes a zoomed regular view to be activated
-	public void test1() {
-		IViewPart view1 = showFastView(view1Id);
-		zoom(editor1);
-		Assert.assertTrue(isZoomed(editor1));
-		page.hideView(view1);
-		Assert.assertTrue(page.getActivePart() == editor1);
-		Assert.assertTrue(isZoomed(editor1));			
-	}
-	// hiding a fast view causes a zoomed regular view to be activated
-	public void test2() {
-		IViewPart view1 = showRegularView(view1Id);
-		IViewPart view2 = showFastView(view2Id);
-		zoom(view1);
-		Assert.assertTrue(isZoomed(view1));
-		page.hideView(view2);
-		Assert.assertTrue(page.getActivePart() == view1);
-		Assert.assertTrue(isZoomed(view1));		
-	}
-	// hiding a regular view causes another regular view to be activated
-	public void test3() {
-		IViewPart view1 = showRegularView(view1Id);
-		IViewPart view2 = showRegularView(view2Id);
-		zoom(view1);
-		Assert.assertTrue(isZoomed(view1));
-		page.hideView(view1);
-		Assert.assertTrue(page.getActivePart() == view2);
-		Assert.assertTrue(noZoom());
-	}
-	// hiding view causes an editor to be activated
-	public void test4() {
-		IViewPart view1 = showRegularView(view1Id);
-		zoom(view1);
-		Assert.assertTrue(isZoomed(view1));
-		page.hideView(view1);
-		Assert.assertTrue(page.getActivePart() instanceof IEditorPart);
-		Assert.assertTrue(noZoom());		
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/zoom/OpenEditorTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/zoom/OpenEditorTest.java
deleted file mode 100644
index adb3c5d..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/zoom/OpenEditorTest.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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.zoom;
-import junit.framework.Assert;
-
-import org.eclipse.ui.IViewPart;
-
-public class OpenEditorTest extends ZoomTestCase {
-	public OpenEditorTest(String name) {
-		super(name);	
-	}
-	
-	// open an editor when a view is zoomed
-	public void test1() {
-		IViewPart view = showRegularView(view1Id);
-		zoom(view);
-		openEditor(file1);
-		Assert.assertTrue(noZoom());
-	}
-	// open an editor in the same workbook as the zoomed editor
-	public void test2() {
-	    // TODO Broken - Bug 54863
-//		zoom(editor1);
-//		openEditor(file2);
-//		Assert.assertTrue(isZoomed(editor2));			
-	}
-	// open an editor in a different workbook than the zoomed editor
-	public void test3() {
-		differentWorkbookSetUp();
-		zoom(editor1);
-		openEditor(file2);
-		Assert.assertTrue(noZoom());
-	}
-	// open a new editor while another editor is zoomed
-	public void test4() {
-	    // TODO Broken - Bug 54863
-//		page.closeEditor(editor2, false);
-//		zoom(editor1);
-//		openEditor(file2);
-//		Assert.assertTrue(isZoomed(editor2));
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/zoom/ShowViewTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/zoom/ShowViewTest.java
deleted file mode 100644
index 56e0fd7..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/zoom/ShowViewTest.java
+++ /dev/null
@@ -1,53 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.zoom;
-
-import junit.framework.Assert;
-
-import org.eclipse.ui.IViewPart;
-
-public class ShowViewTest extends ZoomTestCase {
-	public ShowViewTest(String name) {
-		super(name);	
-	}
-	
-	// a view is zoomed, a regular view is shown
-	public void test1() {
-		IViewPart view1 = showRegularView(view1Id);
-		showRegularView(view2Id);
-		zoom(view1);
-		Assert.assertTrue(isZoomed(view1));
-		showRegularView(view2Id);
-		Assert.assertTrue(noZoom());
-	}
-	// a view is zoomed, a fast view is shown
-	public void test2() {
-		IViewPart view1 = showRegularView(view1Id);
-		zoom(view1);
-		Assert.assertTrue(isZoomed(view1));
-		showFastView(view2Id);
-		Assert.assertTrue(isZoomed(view1));
-	}
-	// an editor is zoomed, a regular view is shown
-	public void test3() {
-		zoom(editor1);
-		Assert.assertTrue(isZoomed(editor1));
-		showRegularView(view1Id);
-		Assert.assertTrue(noZoom());
-	}
-	// an editor is zoomed, a fast view is shown
-	public void test4() {
-		zoom(editor1);
-		Assert.assertTrue(isZoomed(editor1));
-		showFastView(view1Id);
-		Assert.assertTrue(isZoomed(editor1));		
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/zoom/ZoomTestCase.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/zoom/ZoomTestCase.java
deleted file mode 100644
index b0e4536..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/zoom/ZoomTestCase.java
+++ /dev/null
@@ -1,139 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.zoom;
-import junit.framework.Assert;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IViewReference;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.internal.EditorSashContainer;
-import org.eclipse.ui.internal.EditorPane;
-import org.eclipse.ui.internal.EditorSite;
-import org.eclipse.ui.internal.EditorStack;
-import org.eclipse.ui.internal.IPreferenceConstants;
-import org.eclipse.ui.internal.PartPane;
-import org.eclipse.ui.internal.PartSite;
-import org.eclipse.ui.internal.WorkbenchPage;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.WorkbenchWindow;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.tests.api.MockEditorPart;
-import org.eclipse.ui.tests.util.FileUtil;
-import org.eclipse.ui.tests.util.UITestCase;
-
-public class ZoomTestCase extends UITestCase {
-	protected static final String view1Id = IPageLayout.ID_RES_NAV;
-	protected static final String view2Id = IPageLayout.ID_OUTLINE;
-	
-	protected WorkbenchWindow window;
-	protected WorkbenchPage page;
-	protected IProject project;
-	protected IFile file1, file2;
-	protected IEditorPart editor1, editor2;
-
-	public ZoomTestCase(String name) {
-		super(name);
-	}
-	
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-		window = (WorkbenchWindow)openTestWindow();
-		page = (WorkbenchPage)window.getActivePage();
-		IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
-		store.setDefault(IPreferenceConstants.OPEN_VIEW_MODE, IPreferenceConstants.OVM_FAST);
-		try {
-			project = FileUtil.createProject("IEditorPartTest"); //$NON-NLS-1$
-			file1 = FileUtil.createFile("Test1.txt", project); //$NON-NLS-1$
-			file2 = FileUtil.createFile("Test2.txt", project); //$NON-NLS-1$
-			editor1 = page.openEditor(new FileEditorInput(file1), MockEditorPart.ID1);
-			editor2 = page.openEditor(new FileEditorInput(file2), MockEditorPart.ID2);
-		} catch(PartInitException e) {
-		} catch(CoreException e) {
-		}
-	}
-	
-	// opens editor2 in a seperate workbook
-	protected void differentWorkbookSetUp() {
-		EditorPane pane = (EditorPane)((PartSite)editor1.getSite()).getPane();
-		EditorSashContainer area = pane.getWorkbook().getEditorArea();
-		EditorStack workbook = EditorStack.newEditorWorkbook(area, page);
-
-		area.add(workbook, IPageLayout.BOTTOM, (float) 0.5, pane.getWorkbook());
-		workbook.add(pane);
-		
-		EditorPane pane1 = (EditorPane)((EditorSite)editor1.getSite()).getPane();
-		EditorPane pane2 = (EditorPane)((EditorSite)editor2.getSite()).getPane();
-		Assert.assertTrue(!pane1.getWorkbook().equals(pane2.getWorkbook()));
-	}
-	
-	// zooms the given part
-	protected void zoom(IWorkbenchPart part) {
-		if (part == null)
-			throw new NullPointerException();
-		page.toggleZoom(((PartSite) part.getSite()).getPane().getPartReference());
-		Assert.assertTrue(page.isZoomed());		
-	}
-	// open the given file in an editor
-	protected void openEditor(IFile file) {
-		try {
-			if(file == file1) 
-				editor1 = IDE.openEditor(page, file, true);
-			if(file == file2)
-				editor2 = IDE.openEditor(page, file, true);
-		} catch(PartInitException e) {
-		}			
-	}
-	// show the given view as a regular view
-	protected IViewPart showRegularView(String id) {
-		try {
-			IViewPart view = page.showView(id);
-			IViewReference ref = (IViewReference)page.getReference(view);
-			if(page.isFastView(ref))
-				page.removeFastView(ref);
-			return view;
-		} catch(PartInitException e) {
-		}
-		return null;
-	}
-	// show the given view
-	protected IViewPart showFastView(String id) {
-		try {
-			IViewPart view = page.showView(id);
-			IViewReference ref = (IViewReference)page.getReference(view);
-			Assert.assertTrue(page.isFastView(ref));
-			return view;
-		} catch(PartInitException e) {
-		}
-		return null;
-	}
-	// returns whether this part is zoomed
-	protected boolean isZoomed(IWorkbenchPart part) {
-		PartSite site = (PartSite)part.getSite();
-		PartPane pane = site.getPane();
-		return pane.isZoomed();
-	}
-	// returns true if the page is not zoomed, false otherwise
-	protected boolean noZoom() {
-		if (page.isZoomed())
-			return false;
-		return true;	
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/zoom/ZoomTestSuite.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/zoom/ZoomTestSuite.java
deleted file mode 100644
index a431f70..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/zoom/ZoomTestSuite.java
+++ /dev/null
@@ -1,37 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.zoom;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * A test suite to test the zooming behavior of Eclipse.
- */
-public class ZoomTestSuite extends TestSuite {
-	/**
-	 * Returns the suite.  This is required to
-	 * use the JUnit Launcher.
-	 */
-	public static Test suite() {
-		return new ZoomTestSuite();
-	}
-	
-	/**
-	 * Construct the test suite.
-	 */
-	public ZoomTestSuite() {
-		addTest(new TestSuite(ActivateTest.class));
-		addTest(new TestSuite(CloseEditorTest.class));
-		addTest(new TestSuite(HideViewTest.class));
-		addTest(new TestSuite(OpenEditorTest.class));
-		addTest(new TestSuite(ShowViewTest.class));
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/Manual Component Tests/Component Tests.html b/tests/org.eclipse.ui.tests/Manual Component Tests/Component Tests.html
deleted file mode 100644
index d32fcff..0000000
--- a/tests/org.eclipse.ui.tests/Manual Component Tests/Component Tests.html
+++ /dev/null
@@ -1,30 +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>Workbench Manual Component Tests</title>
-</head>
-<body>
-
-<h2>
-<b>Manual Component Tests for the Workbench (org.eclipse.ui)</b></h2>
-Last updated June 2, 2002
-
-<p>
-<br><a href="WorkbenchLayout.txt">Workbench Layout</a>
-<br><a href="WorkbenchAction.txt">Workbench Actions</a>
-<br><a href="WelcomeEditor.txt">Welcome Editor</a>
-<br><a href="Import.txt">Import</a>
-<br><a href="Export.txt">Export</a>
-<br><a href="Navigator.txt">Navigator View</a>
-<br><a href="Outline.txt">Outline View</a>
-<br><a href="PropertiesView.txt">Properties View</a>
-<br><a href="Tasks.txt">Tasks View</a>
-<br><a href="Preferences.txt">Preferences</a>
-<br><a href="PropertiesDialog.txt">Properties Dialog</a>
-<br><a href="TextEditor.txt">Text Editor</a>
-
-<br>&nbsp;
-
-</body>
-</html>
diff --git a/tests/org.eclipse.ui.tests/Manual Component Tests/Export.txt b/tests/org.eclipse.ui.tests/Manual Component Tests/Export.txt
deleted file mode 100644
index 6f33c9c..0000000
--- a/tests/org.eclipse.ui.tests/Manual Component Tests/Export.txt
+++ /dev/null
@@ -1,105 +0,0 @@
-This is a test script for the export wizard.
-
-Common Properties for All Pages
-	Verify that all listboxes show appropriate scrollbars when 
-		their contents extends beyond their client area.
-	The Cancel button is enabled all the time.
-	Verify that Cancel discards all changes made to the wizard by 
-		doing the following:
-		- on the Select page, choose any one of items in the list and click Next.
-		- make change to the destination or the option settings or both.
-		- cancel the wizard.
-		- open the wizard again and ensure that the preselection of the Select page( if there was any ), and the values of 
-			the destination and the options remain the same as before the change.
-
-Select Page( first page )
-	The Next button is enabled only if there is selection in the list.
-	Verify that the destination from the most recent export, regardless 	
-		of session, is preselected in the listbox.
-	Verify icons for items in the list.
-
-Common Properties for the File System Page and the Zip File Page( second page )
-* Please run this test separately for each of the pages.
-	[Presentation]
-		The folder tree shows open projects only.
-		Verify icons for files in the file listbox.
-	[Enablement]
-		The Back and Browse button are enabled and the Next button 
-			is disabled all the time.
-		Finish is disabled if the destination folder is empty.
-		If nothing is selected when Finish is pressed a warning dialog 
-			appears.
-		The 'Select Types', 'Select All', and 'Deselect All' buttons 
-			are always enabled.
-	[Selection Action]
-		Verify that 'Select All' and 'Deselect All' work.
-		Selecting a folder resource shows all files it has in the 
-			file listbox.
-		Checking a folder resource checks all of its subfolders and 
-			its files, and always grey-checks its ancestor folders.
-		Unchecking a folder unchecks files and subfolders underneath it. 
-			It unchecks its ancestor folder recursively. 
-			If it is last resource checked. Otherwise, it grey-checks 
-				its ancestor recursively.
-		Checking a file always grey-checks the folder it is in.
-		Unchecking a file unchecks its ancestor folder recursively 
-			if it is last resource selected. 
-			Otherwise, it grey-checks its ancestor recursively.
-	[Select Types Dialog]
-		Verify that the 'Other Extensions' text box shows only those 
-			user-defined file types that are not in the list.
-			e.g. 
-			- type in *.java and click OK
-			- open the dialog again and ensure that the .java check box is checked and the textbox does NOT have .java in it.
-			- in the dialog, type in *.eclipse and click OK
-			- open the dialog again and ensure that the textbox has .eclipse in it.
-		The filter selects files by both checked file types and 
-			specified types from entire resources.
-		Invoking the filter updates appropriate checkboxes of files and 
-			folders.
-	[Destination]
-		The destination combo listbox is preselected with the most 
-			recent destination to which the user exported.
-		The destination combo listbox in the wizard stores the five 
-			most recent destinations to which resources were exported.
-	[Options]
-		The setting for common options are shared by pages.
-		If the Overwrite checkbox is unchecked, exporting a resource 
-			to the same destination twice pops up the Confirm Overwrite 
-			dialog.
-		If the Overwrite checkbox is checked, exporting a resource 
-			to the same destination twice does not invoke confirmation.
-	[Persistence]
-		Verify that the five most recent destinations stored in 
-			the destination listbox are persistent between sessions.
-		Verify that the settings of the options are persistent 
-			between sessions.
-	[Navigator View]
-		If the wizard is invoked while there is a resource(s) selected 
-			in the navigator view, those resource(s) are checked in the folder tree.
-
-File System Page
-	[Export]
-		Verify that all files are exported successfully to the 
-			specified destination.
-		If the 'Create directory structure' checkbox is unchecked, 
-			exporting creates a directory structure that roots from 
-			the root of the folder tree within the destination directory.
-		If the 'Create directory structure' checkbox is checked, 
-			exporting creates the same directory structure as the 
-			workspace within the destination directory.
-	[Browse for Folder Dialog]
-		The destination textbox of the dialog is preselected with 
-			the current destination folder from the dialog.
-		Specifying the destination in the dialog and then clicking OK 
-			updates the destination textbox of the wizard. Otherwise, 
-			the wizard is not updated.
-
-Zip File Page
-	Verify that a .zip file is exported successfully to the 
-		specified destination.	
-	Use an external ZIP program to verify the following:
-		- the ZIP file is extracted successfully by the ZIP program.
-		- the ZIP file made with the 'Create directory structure' 
-			checkbox turned on has the same directory structure 
-			as the workspace.		
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Manual Component Tests/Import.txt b/tests/org.eclipse.ui.tests/Manual Component Tests/Import.txt
deleted file mode 100644
index cdb51ca..0000000
--- a/tests/org.eclipse.ui.tests/Manual Component Tests/Import.txt
+++ /dev/null
@@ -1,79 +0,0 @@
-This is a test list for the import wizard.
-
-Common Properties for All Pages
-	Verify that all listboxes show appropriate scrollbars when 
-		their contents extends beyond their client area.
-	The Cancel button is enabled all the time.
-	Verify that Cancel discards all changes made to the wizard by doing 
-		the following:
-		- on the Select page, choose any one of items in the list and 
-			click Next.
-		- make change to the destination or the option settings or both.
-		- cancel the wizard.
-		- open the wizard again and ensure that the preselection of 
-			the Select page( if there was any ), and the values of 
-			the destination and the options remain the same as before 
-			the change.
-
-Select Page( first page )
-	The Next button is enabled only if there is selection in the list.
-	Verify that the source from the most recent import, regardless 
-		of session, is preselected in the listbox.
-	Verify icons for items in the list.
-
-Common Properties for Import Pages( second page )
-* Please run this test separately for each of the pages
-	[Presentation]
-		The source combo listbox stores the five most recent 
-			sources from which resources were imported.
-		Verify icons for files in the file listbox.
-	[Enablement]
-		The Back button is enabled and the Next button is greyed out all the time.
-		Both of the Browse buttons are enabled.
-		The 'Select Types', 'Select All', and 'Deselect All' buttons are enabled only if there is at least one item in the folder tree.
-		Finish is enabled only if there is one or more resources selected and the destination folder is not empty.
-	[Selection Action]		
-		Verify that 'Select All' and 'Deselect All' work.
-		Selecting a folder resource shows all files it has in the file listbox.
-		Checking a folder resource checks all of its subfolders and its files, and always grey-checks its ancestor folders.
-		Unchecking a folder unchecks files and subfolders underneath it. It unchecks its ancestor folder recursively if 
-			it is last resource checked. Otherwise, it grey-checks its ancestor recursively.
-		Checking a file always grey-checks the folder it is in.
-		Unchecking a file unchecks its ancestor folder recursively if it is last file selected. Otherwise, it grey-checks its ancestor recursively.
-	[Select Types Dialog]
-		Verify that the 'Other Extensions' text box shows only those user-defined file types that are not in the list.
-		e.g. 
-			- type in *.java and click OK
-			- open the dialog again and ensure that the .java check box is checked and the textbox does NOT have .java in it.
-			- in the dialog, type in *.eclipse and click OK
-			- open the dialog again and ensure that the textbox has .eclipse in it.
-		Verify that the filter selects files by both checked file types and specified types among the selected resources only.
-		Verify that invoking the filter updates appropriate checkboxes of files and folders.
-		Verify that invoking the filter by one type and then immediately by a different type leaves all resources unchecked.
-	[Destination Folder Selection Dialog]
-		Go-into is enabled only if the selected folder has a subfolder.
-		If the root of the tree widget is the same as the root of the workspace, Home is enabled and Back is not.
-		If the root of the tree widget is NOT the same as the root of the workspace, Home is disabled and Back is enabled.
-		Verify that Home, Back, and Go-Into work.
-		Selecting a folder shows its complete path in the text box.
-		Clicking on OK in the dialog updates the contents of the Folder textbox in the wizard.
-	[Options]
-		The setting for common options are shared by pages.
-		If the Overwrite checkbox is unchecked, importing a resource to the same destination twice pops up the Confirm Overwrite dialog.
-		If the Overwrite checkbox is checked, you can import a resource to the same destination twice without confirming it.
-	[Navigator View]
-		Verify that the navigator view is updated after importing.
-	[Persistence]
-		Verify that the five most recent sources stored in the source combo listbox are persistent between sessions.
-		Verify that the settings of the options are persistent between sessions.
-
-File System Page
-	Selecting a source directory shows its folder structure using itself as the root in the left tree.
-	Verify that all of the selected resources are imported successfully.	
-	If the 'Complete folder structure' checkbox is unchecked, importing a resource creates a folder structure relative 
-		to the root of the tree widget in the destination folder.
-	If the 'Complete folder structure' checkbox is checked, importing a resource creates a folder structure using the 
-		source's absolute path in the destination folder.
-
-Zip File Page
-	Selecting a source archive shows its folder structure in the left tree AND checks all of resources in it.
diff --git a/tests/org.eclipse.ui.tests/Manual Component Tests/Navigator.txt b/tests/org.eclipse.ui.tests/Manual Component Tests/Navigator.txt
deleted file mode 100644
index e2db473..0000000
--- a/tests/org.eclipse.ui.tests/Manual Component Tests/Navigator.txt
+++ /dev/null
@@ -1,63 +0,0 @@
-This is a test list for the navigator view.
-
-Edit Actions
-	Verify that enablement of Copy, Delete, Add Bookmark is consistent with that of the Navigator view's context menu, and that 
-		the same behaviour occurs.
-
-Presentation
-	Verify that appropriate strings appear in all menu items and text fields.
-	Verify icons for file, folder and project.
-	Verify that the view shows appropriate scrollbars when its contents extends beyond its client area.
-
-Standard Object Actions
-	Verify menu items: Copy, Move, Rename, Delete for all resouces.
-	Verify that the DELETE key maps to the Delete action.
-	Verify Delete on a read-only resource.
-	Verify Properties for projects, folders, files, and combinations of the same. 
-	Verify that when the view is active, the status bar shows the full path of the selected resource.
-
-Actions on Multiselected Items
-	If two or more resources are multiselected, Rename is disabled.
-	If a project and its resource(s) are multiselected, Copy and Move are disabled.
-	If a folder and its child resource(s) are multiselected, Copy and Move are disabled. 
-	Verify Delete on multiselected resources.
-	Verify Copy and Move on multiselected files in the same project.
-
-File Specific Actions
-	Verify menu content when file selected.	 	 
-	Verify Add Bookmark only appears on files and the bookmark is created when invoked.
-
-Folder Specific Actions
-	Verify the copy to the same folder and the different folder.
-
-Project Specific Actions
-	Menu includes group with Build, Refresh, Close Project and Open Project
-	Close Project appears only on an open project
-	Open Project appears only on a closed project
-	Both Open Project and Close Project appear when selection includes both an open and a closed project
-	For a closed project, Rename is disabled and Go Into, Build, Refresh, Close Project do not appear
-
-New Object Actions
-	Invoke File New .. projects, items, other.	
-	Verify that the view's New menu is the same as File | New in the Window.
-
-View Actions
-	Invoke Sort | by Name, | by Type in the pulldown menu. Avoid using only a.java and b.txt for a testing case since the result is the same
-		regardless of the sort key.
-	Invoke Filters... with Select All, Deselect All options.
-	
-Navigation Actions
-	The view keeps track of navigation history. Go Into and Go Up add an item. Back and Forward change the cursor in the history list.
-	Select a project or folder, invoke Go Into, Go to | Back, Go to | Forward, and Go to | Up.
-	Verify enablement of Go xx actions reflect selection and navigation history.
-		- Go Into is enabled when an open, non-empty project or a non-empty folder is selected 		
-		- Go Up is enabled when the input has a parent .  
-		- Go Forward is enabled when there are following items in the list, Go Back enabled when there are previous items.
-	Verify that the view's titlebar displays the simple name of its input, and that its tooltip displays the full path of its input.
-	Verify that the enablement and the actions of the navigation buttons in the local toolbar are consistent with the Navigate main menu.
-	Verify that when a navigation button in the local toolbar is enabled, the fullpath of where the button leads to is appended to the button's tooltip.
-		e.g If the path of the view's input is Project/Folder/MyFolder, the 'Up' button has the tooltip that says 'Up to Project/Folder'
-
-Persistence
-	Verify that the sort type remains the same after closing and reopening the Navigator view
-	Verify that the input is persistent between sessions.
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Manual Component Tests/Outline.txt b/tests/org.eclipse.ui.tests/Manual Component Tests/Outline.txt
deleted file mode 100644
index 4834d89..0000000
--- a/tests/org.eclipse.ui.tests/Manual Component Tests/Outline.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-This is a test list for the outline view. The outine view is a container for pages contributed by open editors. 
-We test the contribution and activation of those pages.
-
-Presentation
-	Verify that the view shows appropriate scrollbars when its contents extends beyond its client area.
-
-Activation
-	If you open a java editor or activate one, its outline contents appears in outline view.	
-	Switch between two or more java editors to verify the view is updated.
-	Switching between java editors updates the outline view's local toolbar and context menu.
-	Close one java editor, activating another, and see page in outline change.
-	Switching from a java editor to a text editor shows blank in the outline view.
-	Close last java editor to see the default blank page in outline.
-
diff --git a/tests/org.eclipse.ui.tests/Manual Component Tests/Preferences.txt b/tests/org.eclipse.ui.tests/Manual Component Tests/Preferences.txt
deleted file mode 100644
index 03df14f..0000000
--- a/tests/org.eclipse.ui.tests/Manual Component Tests/Preferences.txt
+++ /dev/null
@@ -1,44 +0,0 @@
-This is a test list for the preferences dialog.
-
-Presentation
-	Verify that the listbox on the left shows appropriate scrollbars 
-		when its contents extends beyond its client area.
-	Verify that the window grows to fit the content page of the 
-		selected item.
-	Verify that you can traverse all widget groups by pressing TAB.
-
-Actions
-	Clicking on a item in the tree shows the corresponding page on 
-		the right, including the page title.
-	Verify that Defaults sets all fields to the default values for 
-		the current content page ONLY.
-	Verify that OK stores all changes made to fields by doing the following:
-		- make some changes to checkboxes, option buttons, and textboxes.
-		- click OK.
-		- open the dialog again and ensure that all the changes were saved.
-	Verify that Cancel discards all changes made to fields by doing 
-		the following:
-		- make some changes to checkboxes, option buttons, and textboxes.
-		- click Cancel.
-		- open the dialog again and ensure that all the field values 
-			are the same as before the change.
-	Verify that ESC maps to Cancel.
-	Verify that Apply stores all changes made to values by doing the 
-		following:
-		- make some changes to checkboxes, option buttons, and textboxes.
-		- click Apply and then Cancel.
-		- open the dialog again and ensure that all the changes were saved.
-	Verify that Apply immediately updates the workbench settings by 
-		doing the following:
-		- open a text file with the default text editor.
-		- type something in the editor
-		- open the preferences dialog, and click on Workbench | Default 
-			Text Editor
-		- click Change... At the Font dialog, select a different font 
-			and a different font size. Click OK.
-		- at the preferences dialog, Click Apply
-		- without closing the preferences dialog, ensure that the 
-			settings for the text editor are updated.
-
-Persistence
-	Verify that all field values are persistent all the time.
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Manual Component Tests/PropertiesDialog.txt b/tests/org.eclipse.ui.tests/Manual Component Tests/PropertiesDialog.txt
deleted file mode 100644
index d0b8aea..0000000
--- a/tests/org.eclipse.ui.tests/Manual Component Tests/PropertiesDialog.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-This is a test script for the properties dialog.
-
-Presentation
-	Verify that the listbox on the left shows appropriate scrollbars 
-		when its contents extends beyond its client area.
-	Verify that the window grows to fit the content page of the 
-		selected item.
-	Verify that you can traverse all widget groups by pressing TAB.
-	Verify that the title bar shows the name of the resource about 
-		which the dialog shows information.
-
-Actions
-	Clicking on a item that contributes in the tree shows the 
-		corresponding page on the right, including the page title.
-	Clicking on a item that does not contribute in the tree shows 
-		the default page on the right.
-		e.g. In the packages view, open the dialog on a package. The 
-			Team page should show the default page.
-	Verify that OK stores all changes made to fields by doing the following:
-		- make some changes to checkboxes, option buttons, and textboxes.
-		- click OK.
-		- open the dialog again and ensure that all the changes were saved.
-	Verify that Cancel discards all changes made to fields by doing 
-	the following:
-		- make some changes to checkboxes, option buttons, and textboxes.
-		- click Cancel.
-		- open the dialog again and ensure that all the field values 
-			are the same as before the change.
-	Verify that ESC maps to Cancel.
-	Verify that Apply stores all changes made to values by doing 
-	the following:
-		- make some changes to checkboxes, option buttons, and textboxes.
-		- click Apply and then Cancel.
-		- open the dialog again and ensure that all the changes were saved.
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Manual Component Tests/PropertiesView.txt b/tests/org.eclipse.ui.tests/Manual Component Tests/PropertiesView.txt
deleted file mode 100644
index df338f5..0000000
--- a/tests/org.eclipse.ui.tests/Manual Component Tests/PropertiesView.txt
+++ /dev/null
@@ -1,41 +0,0 @@
-This is a test list for the properties view. The properties view is a container for pages contributed by open views and editors.
-We test the contribution and activation of pages in the view.
-
-Presentation
-	Verify that the view shows appropriate scrollbars when its contents extends beyond its client area.
-
-Activation
-	If you open a view with properties, verify that the page, the local toolbar and local menu bar in properties view are updated.
-		e.g. Open the navigator view and see the change in the properties view.
-	If you open another view, its own properties page should appear.
-	Switch between two or more components to see page in view change.
-	Close one part, activating another, to see page in view change.
-	Close last editor to see default blank page in the view.
-	Verify that the view shows the default page when the active view doesn't have source.
-	Make sure Edit menu in the workbench targets the active page in the view.
-	Verify that the enablement and action of the Categories, Filter, and Defaults buttons are consistent with the view's 
-
-		pulldown menu.
-
-Navigator View
-	Verify that toggling the Show/Hide-Categories button shows/hides items in the corresponding category tree.
-	Verify that the properties view shows correct values in the following fields for a selected resource in the navigator view
-		editable, last modified, name, and path
-	Verify that only files have values in the size field.
-
-Perisistence
-	Verify that on start-up of the view, the view displays properties for the active part and selection of the contributing view.
-
-Property Sheet Example
-	Before verifying any of the following tests, do:
-		1. Make sure the workbench example is already installed
-		2. Create a .usr file and open it 
-		3. Show both the outline view and the properties view	
-
-	Verify that the 'Show/Hide Category' toggle button and the 'Restore Default' button work.
-	Verify that selecting an item in the outline view shows all properties in the properties view.
-	Verify that multiselecting items shows only their common properties.
-	Verify that change made to a value for an item is persistent in same session.
-	Verify that modifying a value for multiselected items changes the values for all of the selected items.
-	Verify that changing the Name value for an item updates the page in the outline view.
-	Verify that changing the Name values for multiselected items in the outline view updates the page in the outline view.	
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Manual Component Tests/Tasks.txt b/tests/org.eclipse.ui.tests/Manual Component Tests/Tasks.txt
deleted file mode 100644
index d0af404..0000000
--- a/tests/org.eclipse.ui.tests/Manual Component Tests/Tasks.txt
+++ /dev/null
@@ -1,48 +0,0 @@
-This is a test list for the tasks view.
-
-Presentation
-	Verify that appropriate strings appear in all menu items and text fields.
-	Verify icons for task items and problem items.
-	Verify that the title bar shows the correct number of filtered items and total items.
-	Verify that the view shows appropriate scrollbars when its contents extends beyond its client area.
-
-Common Actions
-	Verify that header buttons in the table sort records by their respective column values in ascending/descending order alternatively.
-	Verify that items that belong to files such as compile time errors are displayed only if their projects are open.
-	Verify that Go To File is enabled only on file-bound items.
-	Verify that double-click or Go To File on a file-bound item opens the file, if not alreadly open, and locates the code in the editor.
-
-Task Actions in Tasks View
-	Verify that New Task, Delete, Delete Completed Tasks work.
-	Verify that Delete is enabled only on task items.
-	Verify that invoking Delete on a task item in an open file deletes the task marker from the editor.
-	Verify that the enablement and action of the New Task and Delete buttons are consistent with those in the context menu.
-	Verify that the DELETE button on the keyboard maps to Delete.
-	Verify that the task status( completion ) and priority can be set for task items only.
-
-Problem Actions in Tasks View
-	Verify that selecting a problem item displays its description message in the status bar of the workbench window.
-
-Filter Tasks Dialog
-	Change the values then verify that the Reset button sets those values to default.
-	Verify that tasks are filtered by the corresponding criterion of the On-any-resouce, On-selected-resouce-only, and 
-		On-selected-resouce-and-its-children radio buttons.
-	Verify that tasks are filtered based on query word iff the description text box is not empty.
-	Verify that only those tasks that contain( do not contain ) the query string show in the task view if the description combo-box 
-		has the value "Contains"( Does not contain ).
-	Verify that the Where-problem-severity-is checkbox is enabled iff at least one of Build-path-Problem and Java-Problem in the tree is checked.
-	Verify that the Where-task-priority-is and Where-task-status-is check boxes are enabled iff Task in the tree is checked.
-	Verify that the enablement of the Where~ checkboxes determines the enablement of their option check boxes.
-	Verify that a newly created task by New Task is affected by the current setting of the filter.
-
-Actions in Text Editor
-	Verify that for a line that doesn't have a task, you can add one. It should appear in the vertical ruler and in the view
-		with adequate values set in the Resouce, In Folder, and Location fields.
-	Verify that for a line that has a task. you can remove the task. It disappears from the vertical ruler and from the view.
-	Verify that selecting a task item from the view opens the file, if not already open, and locates the code. 
-
-Persistence
-	Verify that the view retains its items after being closed and reopened.
-	Verify that the view maintains the sort order and filtering between sessions.
-	Verify that the top index and the selection of the view are consistent between sessions, and after inserting or detaching the view.
-	
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Manual Component Tests/TextEditor.txt b/tests/org.eclipse.ui.tests/Manual Component Tests/TextEditor.txt
deleted file mode 100644
index 9d0075f..0000000
--- a/tests/org.eclipse.ui.tests/Manual Component Tests/TextEditor.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-This is a test list for the text editor.
-
-Presentation
-	Verify that appropriate strings appear in all menu items and text fields.
-	Verify that the view shows appropriate scrollbars when its contents extends beyond its client area.
-
-Editor Actions
-	Verify that Cut and Copy are enabled iff there is selected text.
-	Verify that Paste is enabled iff there is text in the clipboard buffer.
-	Verify that Cut, Copy, Paste, Select-All work correctly.
-	Verify that Revert is enabled only if is the file dirty and works correctly.
-
-Edit Menu Actions
-	Verify that the enablement and action of Cut, Copy, Paste, and Select-All in the Edit menu are consistent with those in the editor's context menu.
-
-Persistence	
-	The editor is marked dirty if the text is modified by either the keyboard OR the editor actions.
-	The editor is marked clean after either saving the file or reverting it.
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Manual Component Tests/WelcomeEditor.txt b/tests/org.eclipse.ui.tests/Manual Component Tests/WelcomeEditor.txt
deleted file mode 100644
index d7916ac..0000000
--- a/tests/org.eclipse.ui.tests/Manual Component Tests/WelcomeEditor.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-This is a test list for the welcome editor.
-
-Presentation
-	Verify that the editor appears when the workbench runs for the first time.
-	Verify that the editor shows appropriate scrollbars when its contents extends beyond its client area.
-	Verify that if the editor is closed when the workbench closes, the editor remains closed in next session.
-	Verify that modifying the editor's entry in the product.ini file updates the workbench by following the steps below.
-		1. Make sure the editor is closed when exiting Eclipse.
-		2. Open product.ini with a text editor and remove the wecome editor's entry from the file, which is:
-			welcomePage = welcome.xml
-		3. Restart Eclipse.
-		4. Verify that Welcome doesn't show under Help in the workbench pulldown menu.
-		5. Exit Eclipse
-		6. Add the entry as in step 2 back to product.ini
-		7. Resart Eclipse
-		8. Verify that Welcome shows again under Help.
-
-Actions
-	Verify that Help->Welcome invokes the editor.
-	Verify that all links invoke their corresponding actions.
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Manual Component Tests/WorkbenchAction.txt b/tests/org.eclipse.ui.tests/Manual Component Tests/WorkbenchAction.txt
deleted file mode 100644
index 7b756e4..0000000
--- a/tests/org.eclipse.ui.tests/Manual Component Tests/WorkbenchAction.txt
+++ /dev/null
@@ -1,48 +0,0 @@
-This is a test script for actions in the workbench.
-
-File Actions ..
-	Invoke File New .. projects, items, other.
-	Invoke Toolbar button for File New .. projects, items, other.
-	Verify close and save action enablement with 
-		- no editors open
-		- one editor
-		- one dirty editor
-		- after revert
-		- two editors
-		- two dirty editors
-		- after close all
-	Verify actions when switching between perspectives ( one with dirty 
-		editor, other without ).
-	Verify after all perspectives closed.
-	Open many editors, close all, test MRU list.
-	Open an editor and try to print the contents.
-	
-Edit Actions ..
-	Verify global actions track global part.
-	Verify editor contributions appear in action bars when is opened.
-	Verify editors of same type reuse contributions.
-	Verify editors of different type cause contribution change.
-	Verify editor contributions are removed when editor is closed.
-	Verify edit actions are consistent when switching between perspectives.
-
-Perspective Actions ..
-	Open = always enabled
-	Verify other actions only enabled when a perspective is open.
-	Verify "open new window", "open perspective"
-	Verify "Save As" by modifying current persp, save as, close, reopen.
-	Verify "Reset" by modifying current persp, then reset.
-	Test Workbench/Perspectives preference page.
-	Hide Editors, Show Editors
-	Hide Editors, Open new editor, verify implicit show editors.
-	
-Action Sets ..
-	Confirm order is consistent.  Add all actions, record order, 
-		then remove and re-add.  Select action sets to verify order.
-	Test Customization of File New, Perspective Open, and Show View.
-	Confirm editor actions have consistent place ..
-		- start with no editors
-		- show x action sets
-		- open editor, verify editor actions after sets
-		- hide x action sets
-		- show x action sets
-	Verify action set order persisted between sessions.
diff --git a/tests/org.eclipse.ui.tests/Manual Component Tests/WorkbenchLayout.txt b/tests/org.eclipse.ui.tests/Manual Component Tests/WorkbenchLayout.txt
deleted file mode 100644
index 56f660e..0000000
--- a/tests/org.eclipse.ui.tests/Manual Component Tests/WorkbenchLayout.txt
+++ /dev/null
@@ -1,94 +0,0 @@
-This is a test script for layout in the workbench.
-
-Folder Creation ..
-	- DnD view over view
-	- DnD view over folder
-	- DnD view over view in floating window
-	- NEG TEST - DnD view over editor area. 
-	- DnD editor over editor
-	- DnD editor over editor folder
-	- NEG TEST - DnD editor over view area.  
-
-Folder Breakdown ..
-	- DnD view out of folder with 2
-	- DnD view out of folder with 3.  Folder should remain.
-	- DnD view out of folder in floating window
-	- DnD editor out of editor folder with 2
-	- DnD editor out of editor folder with 3.  Folder should remain
-
-Relative Drag and Drop ..
-	- DnD view to top, right, bottom, left of another view
-	- DnD view to top, right, bottom, left of folder
-	- DnD view to top, right, bottom, left of editor area. 
-	- DnD editor within editor area
-
-Detached Windows ..
-	- DnD view out of window, open detached window
-	- DnD view back into window, close detached window
-	- DnD second view over floating window 
-	- DnD second view out of floating window to create second 
-		detached window
-	- DnD second view out of floating window onto main.  
-
-Tab Items
-	- reorder items in view folder by dragging tabs
-	- reorder itmes in editor folder by dragging tabs
-
-Fast Views
-	- DnD view over shortcut bar.  It should become fast view
-	- Open fast view.  Unpin.  It should return to last position in 
-		root layout.
-
-Page Switch
-	- Verify layout persistance of main window when switching pages
-	- Verify layout persistance of detached windows when switching pages
-
-Zoom
-	- zoom / unzoom view in root layout
-	- zoom / unzoom view in folder.  Verify folder not visible
-	- zoom / unzoom editor in single folder.  Verify no other 
-		editors visible
-	- zoom / unzoom editor in mult-folder editor area.  Verify no 
-		other editors visible
-	- NEG TEST - zoom / unzoom view in detached window.  Should have 
-		no effect
-
-The following actions should maintain zoom
-	- Show View ( if it is zoomed View )
-	- Show View ( if view is visible in Detached Window )
-	- switch to another page and back
-	- click on any visible view or editor
-	- Show / hide fast view
-
-The following actions should cause unzoom
-	- Open editor
-	- Close editor
-	- Close all editors
-	- Show / Hide editor area
-	- Show view / editor which is not visible
-	- Activate view / editor which is not visible
-	- Reset perspective
-	- Save perspective
-	- Change perspective
-	- DnD zoom view out of main window to detached window
-	- DnD view in detached window onto zoom view
-
-The following actions cause unzoom now, but it would be convenient 
-if they didn't in future
-	- Close detached view.
-	- All DnD
-
-Persistance Between Sessions
-	- ensure layout is persisted between sessions
-	- fast views
-	- view layout
-	- detached windows
-	- open editors
-
-Placeholders
-	- Drag view to new position, close, reopen.
-	- Drag view to folder, close, reopen.
-	- Drag view to detached, close, reopen.
-	- Close all views in folder, reopen one by one.
-	- Make view fast, restore.
-	- Make folder fast, restore views one by one.
diff --git a/tests/org.eclipse.ui.tests/Manual Scenario Tests/Bookmarks View.html b/tests/org.eclipse.ui.tests/Manual Scenario Tests/Bookmarks View.html
deleted file mode 100644
index 239850f..0000000
--- a/tests/org.eclipse.ui.tests/Manual Scenario Tests/Bookmarks View.html
+++ /dev/null
@@ -1,82 +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>Test Scenario: Bookmarks View</title>
-</head>
-<body>
-
-<h3>
-Bookmarks View</h3>
-Purpose: To test the Bookmark view in Eclipse.&nbsp; We will open the view,
-add a number of bookmarks to some files, open the source file for each
-bookmark and then delete those bookmarks.
-<p>Setup:
-<ol>
-<li>
-Install Eclipse Platform.</li>
-
-<li>
-Create a java project containing three java files and a text file.</li>
-</ol>
-Method:
-<ol>
-<li>
-Start the workbench.</li>
-
-<li>
-Invoke Perspective > Show View > Bookmarks and verify that the Bookmarks
-view appears.</li>
-
-<li>
-Select a java file in the navigator and invoke Edit > Add Bookmark.&nbsp;
-Verify that a new bookmark appears in the Bookmarks view for the selected
-java file.</li>
-
-<li>
-Double click the bookmark in the bookmarks view and verify that an editor
-opens on the source file.</li>
-
-<li>
-Select the 10th line of text in the editor and invoke Add Bookmark in the
-context menu.&nbsp; A dialog should appear where you can type the bookmark
-label.&nbsp; Enter "Line 10" and press OK.&nbsp; Verify that another bookmark
-appears in the Bookmarks view with the label "Line 10".&nbsp; A bookmark
-icon should also appear in the editor to the left of line 10.</li>
-
-<li>
-Close the editor.</li>
-
-<li>
-Select "Line 10" in the bookmarks view and press the "Go to File" button
-in the toolbar.&nbsp; Verify that an editor opens on the source file and
-that line 10 is selected.</li>
-
-<li>
-Right click on the bookmark icon in the editor and invoke "Remove Bookmark".&nbsp;
-Verify that the bookmark disappears in the editor and the bookmarks view.</li>
-
-<li>
-In the navigator select all three java files, verify that "Add Bookmark"
-is enabled, and then invoke it.&nbsp; Verify that 3 bookmarks are appear
-in the bookmarks view.</li>
-
-<li>
-Select a project, folder, or any combination of project | folder with file.&nbsp;
-Verify that "Add Bookmark is disabled.</li>
-
-<li>
-Go to the bookmarks view and invoke "Select All" from the context menu.&nbsp;
-Verify that everything is selected.</li>
-
-<li>
-Then press "Return" in the bookmarks view and verify that all of the bookmarks
-are opened in editors.</li>
-
-<li>
-Invoke "Delete" in the bookmarks view and verify that all bookmarks are
-deleted.</li>
-</ol>
-
-</body>
-</html>
diff --git a/tests/org.eclipse.ui.tests/Manual Scenario Tests/File System Export.html b/tests/org.eclipse.ui.tests/Manual Scenario Tests/File System Export.html
deleted file mode 100644
index 3f30117..0000000
--- a/tests/org.eclipse.ui.tests/Manual Scenario Tests/File System Export.html
+++ /dev/null
@@ -1,97 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="Author" content="OTI Employee">
-   <meta name="GENERATOR" content="Mozilla/4.75 [en] (Windows NT 5.0; U) [Netscape]">
-   <title>File System Export</title>
-</head>
-<body>
-
-<center>
-<h1>
-File System Export</h1></center>
-
-<h2>
-Purpose</h2>
-The plan is to export a project with a large number files/folders at a
-time, using the file system wizard. The results should be indentical in
-layout and content as the original project used.
-<h2>
-Setup</h2>
-
-<ul>
-<li>
-Download the JUnit zip file source code from www.junit.org.</li>
-
-<li>
-Start the Eclipse workbench</li>
-
-<li>
-Create a new temporary "simple" project called "JUnit Test"</li>
-
-<li>
-Import the JUnit zip file into the project</li>
-
-<li>
-Select File -> Export, select File System and press Next.</li>
-</ul>
-
-<h2>
-Export from a project to a new directory</h2>
-
-<ol>
-<li>
-Select the "JUnit Test" project and mark it as checked.</li>
-
-<li>
-In the Directory field, type in the directory to export to.</li>
-
-<li>
-Press Finish</li>
-
-<li>
-Verify that the contents on the file system match the same file and folder
-structure as the source project</li>
-
-<li>
-Verify the content of the files.</li>
-</ol>
-
-<h2>
-Export from a project to an existing directory</h2>
-
-<ol>
-<li>
-Select the "JUnit Test" project and mark it as checked.</li>
-
-<li>
-In the Directory field, type in the directory to export to.</li>
-
-<li>
-Check the option "Overwrite existing resources without warning"</li>
-
-<li>
-Press Finish</li>
-
-<li>
-Verify you were not prompted to overwrite files</li>
-
-<li>
-Verify that the contents on the file system match the same file and folder
-structure as the source project.</li>
-
-<li>
-Verify the content of the files.</li>
-</ol>
-
-<h2>
-Cleanup</h2>
-
-<ul>
-<li>
-Delete the temporary project "JUnit Test"</li>
-</ul>
-
-</body>
-</html>
diff --git a/tests/org.eclipse.ui.tests/Manual Scenario Tests/File System Import.html b/tests/org.eclipse.ui.tests/Manual Scenario Tests/File System Import.html
deleted file mode 100644
index 340f174..0000000
--- a/tests/org.eclipse.ui.tests/Manual Scenario Tests/File System Import.html
+++ /dev/null
@@ -1,105 +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="OTI Employee">
-   <meta name="GENERATOR" content="Mozilla/4.75 [en] (Windows NT 5.0; U) [Netscape]">
-   <title>File System Import</title>
-</head>
-<body>
-
-<center>
-<h1>
-File System Import</h1></center>
-
-<h2>
-Purpose</h2>
-The plan is to import a large number files/folders at a time, using the
-file system wizard. The results should be indentical in layout and content
-as the original source used.
-<h2>
-Setup</h2>
-
-<ul>
-<li>
-Download the JUnit source code from www.junit.org and extract the contents
-into a folder in the file system.</li>
-
-<li>
-Start the Eclipse workbench</li>
-
-<li>
-Create a new temporary "simple" project called "JUnit Test"</li>
-
-<li>
-Select File -> Import, select File System and press Next.</li>
-</ul>
-
-<h2>
-Import into an empty project</h2>
-
-<ol>
-<li>
-Click the Browse button and select the directory where the source files
-are located.</li>
-
-<li>
-Expand the folders in the tree view and until "junit" folder is visible
-and check mark the box next to it</li>
-
-<li>
-Type in "JUnit Test" in the Folder field</li>
-
-<li>
-Press Finish</li>
-
-<li>
-Verify that the contents of the project match the same file and folder
-structure as the source in the file system.</li>
-
-<li>
-Verify that the content of the files.</li>
-</ol>
-
-<h2>
-Import into a project with same contents (overwrite)</h2>
-
-<ol>
-<li>
-Click on the Directory drop down box and select the directory where the
-source files are located</li>
-
-<li>
-Expand the folders in the tree view and until "junit" folder is visible
-and check mark the box next to it</li>
-
-<li>
-Type in "JUnit Test" in the Folder field</li>
-
-<li>
-Check the option "Overwrite existing resources without warning"</li>
-
-<li>
-Press Finish</li>
-
-<li>
-Verify you were not prompted to overwrite files</li>
-
-<li>
-Verify that the contents of the project match the same file and folder
-structure as the source in the file system.</li>
-
-<li>
-Verify that the content of the files.</li>
-</ol>
-
-<h2>
-Cleanup</h2>
-
-<ul>
-<li>
-Delete the temporary project "JUnit Test"</li>
-</ul>
-
-</body>
-</html>
diff --git a/tests/org.eclipse.ui.tests/Manual Scenario Tests/Navigator View.html b/tests/org.eclipse.ui.tests/Manual Scenario Tests/Navigator View.html
deleted file mode 100644
index 180eb68..0000000
--- a/tests/org.eclipse.ui.tests/Manual Scenario Tests/Navigator View.html
+++ /dev/null
@@ -1,137 +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>Test Scenario: Navigator View</title>
-</head>
-<body>
-<h3>
-Navigator View</h3>
-Purpose: To test the Navigator view in Eclipse.&nbsp; We will start out
-with an empty workspace, create some projects and files, open files, open
-some new perspectives, delete some files, test the filtering and sorting
-options, and test the persistance of view state between sessions.
-<p>Setup:
-<ol>
-<li>
-Install Eclipse Platform.</li>
-
-<li>
-Delete the metadata for org.eclipse.ui.</li>
-</ol>
-Method:
-<ol>
-<li>
-Start the workbench.&nbsp; Confirm that the default perspective (Resource)
-and welcome editor both appear.</li>
-
-<li>
-Create a project using the File > New wizard and verify that it appears
-in the navigator.</li>
-
-<li>
-Create another project by invoking New > Project from the navigator popup
-menu.&nbsp; Verify that it appears in the navigator.</li>
-
-<li>
-Create a .txt file, a .html file, and a .java file by invoking New > File
-from the navigator popup menu.&nbsp; Verify that these files appear in
-the navigator and that an editor is opened on each.&nbsp; Close all of
-these editors.</li>
-
-<li>
-In the Navigator you can change the input.&nbsp; To test this create a
-couple of nested folders in a project using the New > Folder action in
-the navigator context menu.&nbsp; Then select the top level folder and
-and invoke Go Into.&nbsp; Verify that the input for the view changes (it
-is shown in the view title) and that only the resources in the input folder
-are visible.&nbsp; If you perform the same operation many times you create
-a history list in the navigator.&nbsp; Try navigating up and down the history
-by using the Back and Forward buttons on the view toolbar.</li>
-
-<li>
-If you select a file you can open it from the context menu.&nbsp; Open
-a .txt file and verify that the default text editor opens.&nbsp; Open a
-.java file and verify that the java editor opens.</li>
-
-<li>
-You can also open a file in a specific editor.&nbsp; Select a .java file
-and invoke Open With > Default Text Editor.&nbsp; The default text editor
-should open rather than the java editor.&nbsp; If you select Open With
-> System Editor something like notepad should open.&nbsp; The preferred
-editor for a file is always indicated with a check mark in the Open With
-menu.</li>
-
-<li>
-In the navigator you can open new perspectives.&nbsp; Select a project
-or folder in the navigator and invoke Open Perspective > Java from the
-context menu. Verify that a new perspective appears with the Java Perspective
-and that the input for the navigator is the project.&nbsp;&nbsp;&nbsp;
-Close it and go back to the first perspective.</li>
-
-<li>
-The contents of the Open Perspective menu are determined by the perspective
-properties.&nbsp; Note the contents of this menu.&nbsp; Then invoke Perspective
-> Customize and change the checked perspectives.&nbsp; Press OK and verify
-that the contents of Open Perspective reflect the new options.</li>
-
-<li>
-The Navigator has support for drag and drop.&nbsp; Try dragging a file
-from one project to another.&nbsp; A cursor should appear to indicate the
-drop target.&nbsp; If you release the file it will be moved to the target.</li>
-
-<li>
-In the navigator select a project, folder or file and try out Copy, Move
-and Rename in the context menu.</li>
-
-<li>
-Select a project, folder or file and invoke Delete in the context menu
-to delete it.&nbsp; Verify that the item disappears from the navigator.&nbsp;
-The delete action is also available in the window Edit menu.&nbsp; Select
-an item, invoke Edit > Delete, and verify that it has the same behavior.</li>
-
-<li>
-Select a file in the navigator and invoke Add Bookmark from the context
-menu.&nbsp; Open up the Bookmark view and verify that a bookmark now exists.&nbsp;
-If you double click on the bookmark an editor should open on the bookmark
-source file.&nbsp; Verify that Add Bookmark is not available if a project
-or folder is selected in the navigator.</li>
-
-<li>
-Select a project and invoke Close Project from the context menu.&nbsp;
-At this point the icon should change to a closed folder and all of the
-contents will be hidden.&nbsp; Invoke Open Project to reopen it and navigate
-the contents.</li>
-
-<li>
-If you select a resource and invoke Properties.. a properties dialog should
-appear.&nbsp; It will contain at least an Info, Project Referenes and Team
-page for projects, and an Info and Team page for folders or files.</li>
-
-<li>
-In the navigator you can sort items by name or type.&nbsp; Try out these
-options in the pulldown menu and verify that they have the correct affect.&nbsp;
-All sorting is done in ascending order.&nbsp; You can also filter items
-out.&nbsp; Create a couple of .class and .* files and experiment with the
-filter options.&nbsp; You should be able to hide or show these files as
-desired.</li>
-
-<li>
-The selection in the navigator is linked to the active editor.&nbsp; Open
-a couple of files.&nbsp; Then switch between the editors and verify that
-the editor input is selected in the navigator.&nbsp; Now select one of
-the open files in the navigator and verify that the corresponding editor
-is activated.&nbsp; You can disable this option by turning off "Link navigator
-selection to active editor" in the workbench preferences.&nbsp; Then verify
-that no selection occurs in the navigator as you switch between editors.&nbsp;
-Turn it back on and verify that selection works again.</li>
-
-<li>
-The state of the navigator (input, expansion) should be stored between
-sessions.&nbsp; To test this open a perspective with the navigator, change
-the input and expansions state, and then close the workbench.&nbsp; Restart
-the workbench and verify that the input and expansion state is restored.</li>
-</ol>
-
-</body>
-</html>
diff --git a/tests/org.eclipse.ui.tests/Manual Scenario Tests/New File Wizard.html b/tests/org.eclipse.ui.tests/Manual Scenario Tests/New File Wizard.html
deleted file mode 100644
index fe11840..0000000
--- a/tests/org.eclipse.ui.tests/Manual Scenario Tests/New File Wizard.html
+++ /dev/null
@@ -1,94 +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="OTI Employee">
-   <meta name="GENERATOR" content="Mozilla/4.75 [en] (Windows NT 5.0; U) [Netscape]">
-   <title>New File Wizard</title>
-</head>
-<body>
-
-<center>
-<h1>
-New File Wizard</h1></center>
-
-<h2>
-Purpose</h2>
-The plan is to create a single empty file. The end result of this wizard
-should be an empty file opened in the proper editor for its type.
-<h2>
-Setup</h2>
-
-<ul>
-<li>
-Start the Eclipse workbench</li>
-
-<li>
-Create a temporary project called "File Test"</li>
-
-<li>
-Select File->New->File from the resource perspective</li>
-</ul>
-
-<h2>
-Create file at project root</h2>
-
-<ol>
-<li>
-Select the project File Test</li>
-
-<li>
-In the File Name field, type in f1.txt</li>
-
-<li>
-Press the Finish button</li>
-
-<li>
-Verify a new f1.txt file is created under the File Test project (in navigator
-view and in the file system)</li>
-
-<li>
-Verify the default text editor opened on f1.txt</li>
-
-<li>
-Verify the content of f1.txt is empty</li>
-</ol>
-
-<h2>
-Create file in new folder</h2>
-
-<ol>
-<li>
-In the "Enter or select the folder" field, type in File Test/folder</li>
-
-<li>
-In the File Name field, type in f1.txt</li>
-
-<li>
-Press the Finish button</li>
-
-<li>
-Verify that "folder" was created under the File Test project (in navigator
-view and in the file system)</li>
-
-<li>
-Verify a new f1.txt file is created under "folder" (in navigator view and
-in the file system)</li>
-
-<li>
-Verify the default text editor opened on f1.txt</li>
-
-<li>
-Verify the content of f1.txt is empty</li>
-</ol>
-
-<h2>
-Cleanup</h2>
-
-<ul>
-<li>
-Delete the temporary project "File Test"</li>
-</ul>
-
-</body>
-</html>
diff --git a/tests/org.eclipse.ui.tests/Manual Scenario Tests/New Folder Wizard.html b/tests/org.eclipse.ui.tests/Manual Scenario Tests/New Folder Wizard.html
deleted file mode 100644
index ae32603..0000000
--- a/tests/org.eclipse.ui.tests/Manual Scenario Tests/New Folder Wizard.html
+++ /dev/null
@@ -1,60 +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="OTI Employee">
-   <meta name="GENERATOR" content="Mozilla/4.75 [en] (Windows NT 5.0; U) [Netscape]">
-   <title>New Folder Wizard</title>
-</head>
-<body>
-
-<center>
-<h1>
-New Folder Wizard</h1></center>
-
-<h2>
-Purpose</h2>
-The plan is to create a single empty folder. The end result of this wizard
-should be an empty folder.
-<h2>
-Setup</h2>
-
-<ul>
-<li>
-Start the Eclipse workbench</li>
-
-<li>
-Create a temporary project called "Folder Test"</li>
-
-<li>
-Select File->New->Folder from the resource perspective</li>
-</ul>
-
-<h2>
-Create folder at project root</h2>
-
-<ol>
-<li>
-Select the project Folder Test</li>
-
-<li>
-In the Folder Name field, type in f1</li>
-
-<li>
-Press the Finish button</li>
-
-<li>
-Verify a new f1 folder is created under the Folder Test project (in navigator
-view and in the file system)</li>
-</ol>
-
-<h2>
-Cleanup</h2>
-
-<ul>
-<li>
-Delete the temporary project "Folder Test"</li>
-</ul>
-
-</body>
-</html>
diff --git a/tests/org.eclipse.ui.tests/Manual Scenario Tests/New Project Wizard.html b/tests/org.eclipse.ui.tests/Manual Scenario Tests/New Project Wizard.html
deleted file mode 100644
index 8346abd..0000000
--- a/tests/org.eclipse.ui.tests/Manual Scenario Tests/New Project Wizard.html
+++ /dev/null
@@ -1,92 +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="OTI Employee">
-   <meta name="GENERATOR" content="Mozilla/4.75 [en] (Windows NT 5.0; U) [Netscape]">
-   <title>New Project Wizard</title>
-</head>
-<body>
-
-<center>
-<h1>
-New Project Wizard</h1></center>
-
-<h2>
-Purpose</h2>
-The plan is to create a single empty project. The end result of this wizard
-should be an empty project.
-<h2>
-Setup</h2>
-
-<ul>
-<li>
-Start the Eclipse workbench</li>
-
-<li>
-Extract the junit.jar file into a directory on the file system</li>
-
-<li>
-Select File->New->Project from the resource perspective</li>
-
-<li>
-Select Simple and then Project and Press Next</li>
-</ul>
-
-<h2>
-Create project at default location</h2>
-
-<ol>
-<li>
-In Project Name field, type in Project Test</li>
-
-<li>
-Press Next and select another project as a reference project</li>
-
-<li>
-Press the Finish button</li>
-
-<li>
-Verify a new Project Test project is created (in navigator view and in
-the file system)</li>
-
-<li>
-Verify, in the project's properties dialog, that the Project References
-page includes the project referenced.</li>
-</ol>
-
-<h2>
-Create project at specific location</h2>
-
-<ol>
-<li>
-In Project Name field, type in Project Test2</li>
-
-<li>
-Uncheck the Use Default Location option</li>
-
-<li>
-In the Location field, type in the directory containing the junit source
-code.</li>
-
-<li>
-Press the Finish button</li>
-
-<li>
-Verify a new Project Test2 project is created (in navigator view)</li>
-
-<li>
-Verify the contents of the project match the files/folders for junit on
-the file system</li>
-</ol>
-
-<h2>
-Cleanup</h2>
-
-<ul>
-<li>
-Delete projects Project Test and Project Test2</li>
-</ul>
-
-</body>
-</html>
diff --git a/tests/org.eclipse.ui.tests/Manual Scenario Tests/Outline View.html b/tests/org.eclipse.ui.tests/Manual Scenario Tests/Outline View.html
deleted file mode 100644
index a7aa0b4..0000000
--- a/tests/org.eclipse.ui.tests/Manual Scenario Tests/Outline View.html
+++ /dev/null
@@ -1,67 +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>Test Scenario: Outline View</title>
-</head>
-<body>
-
-<h3>
-Outline View</h3>
-Purpose: To test the Outline view in Eclipse.&nbsp; The Outline view is
-just a container for the pages contributed by open editors.&nbsp; Therefore,
-this test will focus on the creation, show, and closure of those pages.
-<p>Setup:
-<ol>
-<li>
-Install Eclipse Platform.</li>
-
-<li>
-Create a java project containing three java files and a text file.</li>
-</ol>
-Method:
-<ol>
-<li>
-Start the workbench.</li>
-
-<li>
-If any editor is open close it.</li>
-
-<li>
-Verify that the Outline view is empty and contains the text "An Outline
-is not available".</li>
-
-<li>
-Open an editor on a java file. Verify that a java page appears in the outline
-view.&nbsp; If you select items in this page the scroll and selected text
-within the editor should change.</li>
-
-<li>
-Open a second file in a java editor.&nbsp; Verify that a second java page
-appears in the outline view.</li>
-
-<li>
-If you switch between the two editors the visible page should change.</li>
-
-<li>
-Open a .txt file in a text editor.&nbsp; When this editor is active the
-outline view will be empty and contain the standard empty text as described
-in step 2.</li>
-
-<li>
-If you switch between a text and java editor the visible page should change.&nbsp;
-Verify that the toolbar and menu items in the outline also chnage.&nbsp;
-The java editor has Field and Member toolbar items.</li>
-
-<li>
-Close one editor.&nbsp; If another editor is activated verify that its
-outline page is now visible.&nbsp; If no editor is activated verify that
-the outline is empty.</li>
-
-<li>
-Close the last editor and verify that the default blank page is visible
-in the outline.</li>
-</ol>
-
-</body>
-</html>
diff --git a/tests/org.eclipse.ui.tests/Manual Scenario Tests/Persistence.html b/tests/org.eclipse.ui.tests/Manual Scenario Tests/Persistence.html
deleted file mode 100644
index 2d5c2b2..0000000
--- a/tests/org.eclipse.ui.tests/Manual Scenario Tests/Persistence.html
+++ /dev/null
@@ -1,55 +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>Test Scenario: Persistence</title>
-</head>
-<body>
-<h3>
-Persistence</h3>
-Purpose: To test persistence in the workbench.
-<p>Setup:
-<ol>
-<li>
-Install Eclipse Platform.</li>
-
-<li>
-Delete the metadata for org.eclipse.ui.</li>
-</ol>
-Method:
-<ol>
-<li>
-Start the workbench.&nbsp; Confirm that the default perspective (Resource)
-and welcome editor both appear.</li>
-
-<li>
-Create a project with 3 files, one.txt, two.txt, and three.txt.&nbsp; Open
-one.txt in the default perspective.</li>
-
-<li>
-In the navigator select the project and invoke Open Perspective > Java
-from the context menu.&nbsp; Verify that a new Java perspective appears
-in the current window.&nbsp; The input for the Packages view and navigator
-should be the project.</li>
-
-<li>
-Open two.txt in the Java perspective.</li>
-
-<li>
-Change the Workbench Preferences for "Open Perspective" to "Open in New
-Window".&nbsp; Then open a Java perspective and verify that a new window
-is created.</li>
-
-<li>
-Now we have two windows.&nbsp; The first window has two perspectives (resource
-and java).&nbsp; In the resource perspective one.txt is open in an editor.&nbsp;
-In the java perspective two.txt is open in an editor.&nbsp; In the second
-window here is one Java perspective with no open editors.</li>
-
-<li>
-Invoke File > Exit.&nbsp; Then restart the workbench and verify that the
-window, perspective and editor state of the workbench is restored.</li>
-</ol>
-
-</body>
-</html>
diff --git a/tests/org.eclipse.ui.tests/Manual Scenario Tests/Preferences.html b/tests/org.eclipse.ui.tests/Manual Scenario Tests/Preferences.html
deleted file mode 100644
index ebcf11a..0000000
--- a/tests/org.eclipse.ui.tests/Manual Scenario Tests/Preferences.html
+++ /dev/null
@@ -1,92 +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>Test Scenario: Preferences</title>
-</head>
-<body>
-
-<h3>
-Preferences</h3>
-Purpose: To test the Preferences in Eclipse.&nbsp; We will open the Preferences
-dialog, select some pages, change and apply preferences, verify their affect,
-and test persistence between sessions.
-<p>Setup:
-<ol>
-<li>
-Install Eclipse Platform.</li>
-</ol>
-Method:
-<ol>
-<li>
-Start the workbench.</li>
-
-<li>
-Invoke Window > Preferences and verify that the Preferences dialog appears.&nbsp;
-Click on all of the items in the left hand viewer to demonstrate that each
-item has a valid page and no exceptions occur in their creation.&nbsp;
-Now close the dialog.</li>
-
-<li>
-The behavior of the workbench can be customized using the preferences.&nbsp;
-To see this in action we will examine various preferences which ship with
-Eclipse.</li>
-
-<li>
-The selection in the navigator is linked to the active editor.&nbsp; Open
-a couple of files.&nbsp; Then switch between the editors and watch how
-the input for the active editor is selected in the navigator.&nbsp; You
-can disable this option in the Preferences.&nbsp; To do this ..</li>
-
-<ol>
-<li>
-Open the preferences dialog.</li>
-
-<li>
-Turning off "Link navigator selection to active editor" in the workbench
-preferences.</li>
-
-<li>
-Press OK.&nbsp; The dialog should close.</li>
-
-<li>
-Now switch between the editors.&nbsp; Notice that the selection in the
-navigator does not change.</li>
-</ol>
-
-<li>
-The Perspective > Open menu action can also be customized.&nbsp; By default
-this action will open a new perspective in the current window.&nbsp; You
-can change this to "open in new window" or "replace other".&nbsp; To see
-this behavior ..</li>
-
-<ol>
-<li>
-Open the preferences dialog.&nbsp; Change the workbench preferences for
-"Open Perspective" to "Open in New Window".&nbsp; Then press OK</li>
-
-<li>
-Invoke Perspective > Open > Java.&nbsp; Notice how a new window is created
-for the perspective.&nbsp; The list of open windows is shown in the Window
-menu.&nbsp; Select these items to switch between the windows.</li>
-</ol>
-
-<li>
-If you don't like the current preferences you can reset them.&nbsp; Open
-the preferences dialog again.&nbsp; To reset the state of "Link navigator
-.." and "Open Perspective .." press the Restore Defaults button.&nbsp;
-If you press OK the options will be saved.&nbsp; However, let's assume
-that you decide not to change them.&nbsp; Press Cancel.&nbsp; Then verify
-that the deviant options have not been restored to default by switching
-between editors and opening a new perspective.</li>
-
-<li>
-Invoke File > Exit.&nbsp; Then restart the workbench.</li>
-
-<li>
-Open the preferences dialog and confirm tha "Link navigator .. " and "Open
-Perspective .." still reflect the customized values.&nbsp; The workbench
-will automatically save your preferences between sessions.</li>
-</ol>
-</body>
-</html>
diff --git a/tests/org.eclipse.ui.tests/Manual Scenario Tests/Problems View.html b/tests/org.eclipse.ui.tests/Manual Scenario Tests/Problems View.html
deleted file mode 100644
index ceb5561..0000000
--- a/tests/org.eclipse.ui.tests/Manual Scenario Tests/Problems View.html
+++ /dev/null
@@ -1,105 +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>Test Scenario: Tasks View</title>
-</head>
-<body>
-
-<h3>
-Tasks View</h3>
-Purpose: To test the Tasks view in Eclipse.&nbsp; We will create a java
-project with java classes, introduce errors in those classes, add tasks
-to the files, and then verify them in the tasks list.&nbsp; We also test
-the persistance of task filtering between sessions.
-<p>Setup:
-<ol>
-<li>
-Install Eclipse Platform.</li>
-</ol>
-Method:
-<ol>
-<li>
-Start the workbench.</li>
-
-<li>
-Create a Java Project named TaskProject.&nbsp; Then create a class named
-TaskClass with the following content.</li>
-
-<p><br><tt>public class TaskClass {</tt>
-<br><tt>&nbsp;private int y;</tt>
-<br><tt>&nbsp;public TaskClass() {</tt>
-<br><tt>&nbsp;}</tt>
-<br><tt>&nbsp;public void doThis() {</tt>
-<br><tt>&nbsp;}</tt>
-<br><tt>&nbsp;abstract public void doThat();</tt>
-<br><tt>&nbsp;public int getX() {</tt>
-<br><tt>&nbsp; return x;</tt>
-<br><tt>&nbsp;}</tt>
-<br><tt>}</tt>
-<br>&nbsp;
-<li>
-If you save this file 2 errors will appear in the source.&nbsp; On line
-7 there is an error because abstract methods can only be defined in an
-abstract class.&nbsp; On line 9 there is an error because x is unknown.</li>
-
-<li>
-Open the Tasks view by invoking Perspective > Show View > Tasks.&nbsp;
-Verify that the tasks views appears and that it shows the 2 errors in the
-TaskClass.</li>
-
-<li>
-Select the first line of TaskClass and invoke "Add Task" from the context
-menu.&nbsp; Override the label with "Test Label" and press OK.&nbsp; Verify
-that a new task icon appears on the left edge of the editor and in the
-tasks view.</li>
-
-<li>
-If a problem is resolved or a task removed it should disappear from the
-task view.&nbsp; Open the Task view filter dialog and reset all options
-with the Reset button.&nbsp; Press OK and go back to the editor for TaskClass.java.&nbsp;
-Delete the "doThat" method and save the file.&nbsp; Verify that one of
-the errors on TaskClass.java is deleted.</li>
-
-<li>
-Now select the Tasks view and select the task item labelled "Test Label".&nbsp;
-Invoke Edit > Delete to delete this task and then verify that it disappears
-from the tasks view and from the open editor.</li>
-
-<li>
-Within the Tasks view you can also create new tasks.&nbsp; To test this
-press the "New Task" button on the toolbar.&nbsp; A new task should appear.&nbsp;
-Type in the label for this task and press Return.&nbsp; Verify that a new
-task is created.&nbsp; Do this a couple of times to create more than one
-task.</li>
-
-<li>
-A task is very similar to a bookmark.&nbsp; If you select a task you can
-open an editor on the task source.&nbsp; To test this close all editors.&nbsp;
-Then select one of the java problems for TaskClass.java and invoke Go To
-File in the context menu.&nbsp; Verify that an editor opens on the problem
-and that the problem is indicated by selection in the editor.</li>
-
-<li>
-Now invoke the Filters toolbar action and change the "show entries of type"
-option to "Java Problem" and nothing else.&nbsp; Press OK and verify that
-only Java problems appear in the task list now.</li>
-
-<li>
-Reopen the Filters dialog and select "On Selected Resource Only".&nbsp;
-Press OK.&nbsp; Now select TaskClass.java in the navigator and verify that
-the java problems for this file are visible in the navigator.&nbsp; Select
-the TaskProject and verify that the java problems for TaskClass.java are
-not visible.</li>
-
-<li>
-Now the task list contains a number of errors and tasks.&nbsp; It also
-has a couple of filtering options (java problems only and selected resource
-only).&nbsp; This state is persisted between sessions.&nbsp; To test this
-note the state of the task view.&nbsp; Then close the workbench and restart
-it.&nbsp; Verify that the visible set of tasks and the filtering options
-are restored.</li>
-</ol>
-
-</body>
-</html>
diff --git a/tests/org.eclipse.ui.tests/Manual Scenario Tests/Properties Dialog.html b/tests/org.eclipse.ui.tests/Manual Scenario Tests/Properties Dialog.html
deleted file mode 100644
index cd52ea5..0000000
--- a/tests/org.eclipse.ui.tests/Manual Scenario Tests/Properties Dialog.html
+++ /dev/null
@@ -1,106 +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="OTI Employee">
-   <meta name="GENERATOR" content="Mozilla/4.75 [en] (Windows NT 5.0; U) [Netscape]">
-   <title>Properties Dialog</title>
-</head>
-<body>
-
-<center>
-<h1>
-Properties Dialog</h1></center>
-
-<h2>
-Purpose</h2>
-The plan is to confirm the default property pages for simple file, folder,
-and project resources.
-<h2>
-Setup</h2>
-
-<ul>
-<li>
-Start the Eclipse workbench</li>
-
-<li>
-Create a simple Project, Folder, and File</li>
-</ul>
-
-<h2>
-Project property pages</h2>
-
-<ol>
-<li>
-Select the simple Project, from the context menu select Properties</li>
-
-<li>
-Click on the Project References page</li>
-
-<li>
-Verify that the Project References page includes no project references</li>
-
-<li>
-Click on the Info page</li>
-
-<li>
-Verify the content is correct</li>
-
-<li>
-Check the Read Only option and press OK</li>
-
-<li>
-Verify that creating another simple file in the simple Project is disallowed</li>
-</ol>
-
-<h2>
-Folder property pages</h2>
-
-<ol>
-<li>
-Select the simple Folder, from the context menu select Properties</li>
-
-<li>
-Click on the Info page</li>
-
-<li>
-Verify the content is correct</li>
-
-<li>
-Check the Read Only option and press OK</li>
-
-<li>
-Verify that creating another simple file in the simple Folder is disallowed</li>
-</ol>
-
-<h2>
-File property pages</h2>
-
-<ol>
-<li>
-Select the simple File, from the context menu select Properties</li>
-
-<li>
-Click on the Info page</li>
-
-<li>
-Verify the content is correct</li>
-
-<li>
-Check the Read Only option and press OK</li>
-
-<li>
-Verify that editing the simple File is disallowed (editor is opened but
-cannot type in it)</li>
-</ol>
-
-<h2>
-Cleanup</h2>
-
-<ul>
-<li>
-Delete the simple File, Folder, and Project</li>
-</ul>
-
-</body>
-</html>
diff --git a/tests/org.eclipse.ui.tests/Manual Scenario Tests/Properties View.html b/tests/org.eclipse.ui.tests/Manual Scenario Tests/Properties View.html
deleted file mode 100644
index b4c2ade..0000000
--- a/tests/org.eclipse.ui.tests/Manual Scenario Tests/Properties View.html
+++ /dev/null
@@ -1,53 +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>Test Scenario: Properties View</title>
-</head>
-<body>
-
-<h3>
-Properties View</h3>
-Purpose: To test the Properties view in Eclipse.&nbsp; The Outline view
-is just a container for the pages contributed by other editors and views
-within the workbench.&nbsp; Therefore, this test will focus on the creation,
-show, and closure of those pages.
-<p>Setup:
-<ol>
-<li>
-Install Eclipse Platform.</li>
-
-<li>
-Create a project containing some files.</li>
-</ol>
-Method:
-<ol>
-<li>
-Start the workbench.</li>
-
-<li>
-Open the Navigator, Packages and Properties views.</li>
-
-<li>
-Select a file in the Navigator.&nbsp; Verify that the properties for this
-file are visible in the Properties view.</li>
-
-<li>
-Select a project in the Packages view.&nbsp; Verify that the properties
-for ths file are onw visible in the properties view.</li>
-
-<li>
-Activate the Navigator, Packages, Navigator, and Packages view by clicking
-in the title area of the view.&nbsp; Verify that the visible propreties
-in the properties view change to reflect the active part.</li>
-
-<li>
-Close the properties view.</li>
-
-<li>
-Open the view and verify that it shows the properties for the last selection
-in the workbench.</li>
-</ol>
-
-</body>
-</html>
diff --git a/tests/org.eclipse.ui.tests/Manual Scenario Tests/Tasks View.html b/tests/org.eclipse.ui.tests/Manual Scenario Tests/Tasks View.html
deleted file mode 100644
index 277e878..0000000
--- a/tests/org.eclipse.ui.tests/Manual Scenario Tests/Tasks View.html
+++ /dev/null
@@ -1,97 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <title>Test Scenario: Tasks View</title>
-</head>
-<body>
-
-<h3>
-Tasks View</h3>
-Purpose: To test the Tasks view in Eclipse.&nbsp; We will create a java
-project with java classes, introduce errors in those classes, add tasks
-to the files, and then verify them in the tasks list.&nbsp; We also test
-the persistance of task filtering between sessions.
-<p>Setup:
-<ol>
-<li>
-Install Eclipse Platform.</li>
-</ol>
-Method:
-<ol>
-<li>
-Start the workbench.</li>
-
-<li>
-Create a Java Project named TaskProject.&nbsp; Then create a class named
-TaskClass with the following content.</li>
-
-<p><br><tt>public class TaskClass {</tt>
-<br><tt>&nbsp;private int y;</tt>
-<br><tt>&nbsp;public TaskClass() {</tt>
-<br><tt>&nbsp;}</tt>
-<br><tt>&nbsp;public void doThis() {</tt>
-<br><tt>&nbsp;}</tt>
-<br><tt>&nbsp;abstract public void doThat();</tt>
-<br><tt>&nbsp;public int getX() {</tt>
-<br><tt>&nbsp; return x;</tt>
-<br><tt>&nbsp;}</tt>
-<br><tt>}</tt>
-<br>&nbsp;
-<li>
-If you save this file 2 errors will appear in the source.&nbsp; On line
-7 there is an error because abstract methods can only be defined in an
-abstract class.&nbsp; On line 9 there is an error because x is unknown.</li>
-
-<li>
-Open the Tasks view by invoking Perspective > Show View > Tasks.&nbsp;
-Verify that the tasks views appears and that it does not show the 2 
-errors in the TaskClass.</li>
-
-<li>
-Select the first line of TaskClass and invoke "Add Task" from the context
-menu.&nbsp; Override the label with "Test Label" and press OK.&nbsp; Verify
-that a new task icon appears on the left edge of the editor and in the
-tasks view.</li>
-
-<li>
-Now select the Tasks view and select the task item labelled "Test Label".&nbsp;
-Invoke Edit > Delete to delete this task and then verify that it disappears
-from the tasks view and from the open editor.</li>
-
-<li>
-Within the Tasks view you can also create new tasks.&nbsp; To test this
-press the "New Task" button on the toolbar.&nbsp; A new task should appear.&nbsp;
-Type in the label for this task and press Return.&nbsp; Verify that a new
-task is created.&nbsp; Do this a couple of times to create more than one
-task.</li>
-
-<li>
-A task is very similar to a bookmark.&nbsp; If you select a task you can
-open an editor on the task source.&nbsp; To test this close all editors.&nbsp;
-Then select one of the java problems for TaskClass.java and invoke Go To
-File in the context menu.&nbsp; Verify that an editor opens on the task
-and that the task is indicated by selection in the editor.</li>
-
-<li>
-Now invoke the Filters toolbar action and change the "Where priority is:"
-option to "High" and nothing else.&nbsp; Press OK and verify that
-only high priority tasks appear in the task list now.</li>
-
-<li>
-Reopen the Filters dialog and select "On Selected Resource Only".&nbsp;
-Press OK.&nbsp; Now select TaskClass.java in the navigator and verify that
-the tasks for this file are visible in the task view.&nbsp; Select
-the TaskProject and verify that the tasks for TaskClass.java are
-not visible in the tasks view.</li>
-
-<li>
-Now the task list contains a number of tasks.&nbsp; It also has a couple 
-of filtering options.&nbsp; This state is persisted between 
-sessions.&nbsp; To test this note the state of the task view.&nbsp; 
-Then close the workbench and restart it.&nbsp; Verify that the visible 
-set of tasks and the filtering options are restored.</li>
-</ol>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Manual Scenario Tests/Test Scenarios.html b/tests/org.eclipse.ui.tests/Manual Scenario Tests/Test Scenarios.html
deleted file mode 100644
index 2791c15..0000000
--- a/tests/org.eclipse.ui.tests/Manual Scenario Tests/Test Scenarios.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <title>Workbench Manual Test Scenarios</title>
-</head>
-<body>
-
-<h2>
-<b>Manual Test Scenarios for the Workbench (org.eclipse.ui)</b></h2>
-Last updated June 2, 2002
-
-<p>
-<br><a href="Welcome Editor.html">Welcome Editor</a>
-<br><a href="Window Actions.html">Window Actions</a>
-<br><a href="Window Layout.html">Window Layout</a>
-<br><a href="Persistence.html">Persistence</a>
-<br><a href="Navigator View.html">Navigator View</a>
-<br><a href="Outline View.html">Outline View</a>
-<br><a href="Properties View.html">Properties View</a>
-<br><a href="Bookmarks View.html">Bookmarks View</a>
-<br><a href="Tasks View.html">Tasks View</a>
-
-<br><a href="New File Wizard.html">New File Wizard</a>
-<br><a href="New Folder Wizard.html">New Folder Wizard</a>
-<br><a href="New Project Wizard.html">New Project Wizard</a>
-<br><a href="File System Export.html">File System Export</a>
-<br><a href="File System Import.html">File System Import</a>
-<br><a href="ZIP Export.html">Zip Export</a>
-<br><a href="ZIP Import.html">Zip Import</a>
-<br><a href="Properties Dialog.html">Properties Dialog</a>
-<br><a href="Preferences.html">Preferences</a>
-<br>&nbsp;
-
-</body>
-</html>
diff --git a/tests/org.eclipse.ui.tests/Manual Scenario Tests/Text Editor b/tests/org.eclipse.ui.tests/Manual Scenario Tests/Text Editor
deleted file mode 100644
index 2f67424..0000000
--- a/tests/org.eclipse.ui.tests/Manual Scenario Tests/Text Editor
+++ /dev/null
@@ -1,98 +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>Test Scenario: Text Editor</title>

-</head>

-<body>

-

-<h3>

-Text Editor</h3>

-Purpose: To test the Text Editor in Eclipse.&nbsp; We will open a text

-file, adding some text, play with the edit actions, verify the save and

-save as, and then test persistance between sessions.

-<p>Setup:

-<ol>

-<li>

-Install Eclipse Platform.</li>

-

-<li>

-Create a project.</li>

-</ol>

-Method:

-<ol>

-<li>

-Start the workbench.</li>

-

-<li>

-Invoke File > New > File.&nbsp; Create a new text file with some name like

-test1.txt.&nbsp; Verify that a new editor opens on the file.</li>

-

-<li>

-Copy and paste the following text into the editor ..</li>

-</ol>

-

-<blockquote>Beware the beast man, for he is the devil's pawn. Alone among

-God's primates,

-<br>he kills for sport, or lust or greed. Yes, he will murder his brother

-to possess his

-<br>brother's land. Let him not breed in great numbers, for he will make

-a desert of

-<br>his home and yours. Shun him. Drive him back into his jungle lair:

-For he is the

-<br>harbinger of death.

-<p>(Planet of the Apes)</blockquote>

-

-<ol>

-<li>

-After paste has been performed the editor state should be dirty.&nbsp;

-Verify that File > Save is enabled and that Save is enabled in the context

-menu.&nbsp; Invoke Save and verify that save is disabled.</li>

-

-<li>

-The Save As menu action is always enabled.&nbsp; Invoke this action to

-create a new file, say test2.txt, and verify that the name of the new file

-name is reflected in the editor tab.</li>

-

-<li>

-Modify the contents of test2.txt and save.&nbsp; Then open test1.txt and

-verify that it still contains the original text.</li>

-

-<li>

-In text1.txt select the first 3 lines and invoke Edit Copy.&nbsp; Activate

-text2.txt, put the cursor at the end of the file, and invoke Edit Paste.&nbsp;

-Verify that the first 3 lines of text1.txt are copied to text2.txt.</li>

-

-<li>

-Invoke Undo and Redo a few times in text2.txt to undo and redo the paste.</li>

-

-<li>

-Select a few lines of text and invoke Shift Right and Shift Left a few

-times.</li>

-

-<li>

-Now close text2.txt.&nbsp; The file has been modified, so a Save dialog

-should appear.&nbsp; Press No to avoid saving.</li>

-

-<li>

-Now we need to test Find / Replace.&nbsp; Select the text1.txt editor.&nbsp;

-This file contains many instances of he and his.&nbsp; Invoke Find / Replace

-and replace all instances of he by "she".&nbsp; You may find that various

-words like "the" are modified to "tshe".&nbsp; Close the find dialog and

-invoke Revert in the context menu.&nbsp; Verify that the file contents

-are now equal to the original text.&nbsp; Then try Find / Replace again

-with "whole word" selected and verify the results.</li>

-

-<li>

-Open up text2.txt.&nbsp; Now there should be one open editor with changs

-and one without.</li>

-

-<li>

-Invoke File > Close All.&nbsp; At this point a "Save Resources" dialog

-should appear where you can save the modified files.&nbsp; Check all modifications

-and then press "Yes".&nbsp; Verify that all editors are closed.&nbsp; Then

-open up any editor which was saved and verify changes.</li>

-</ol>

-

-</body>

-</html>

diff --git a/tests/org.eclipse.ui.tests/Manual Scenario Tests/Welcome Editor.html b/tests/org.eclipse.ui.tests/Manual Scenario Tests/Welcome Editor.html
deleted file mode 100644
index 75c3754..0000000
--- a/tests/org.eclipse.ui.tests/Manual Scenario Tests/Welcome Editor.html
+++ /dev/null
@@ -1,44 +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>Test Scenario: Welcome Editor</title>
-</head>
-<body>
-<h3>
-Welcome Editor</h3>
-Purpose: To test the Welcome editor in Eclipse.&nbsp; We will start the
-workbench after a fresh install, verify the visibility of the Welcome editor,
-and then test the format and links.
-<p>Setup:
-<ol>
-<li>
-Install Eclipse Platform.</li>
-
-<li>
-Delete the metadata for org.eclipse.ui.&nbsp; This will simulate a fresh
-install.</li>
-</ol>
-Method:
-<ol>
-<li>
-Start the workbench.&nbsp; Confirm that the default perspective (Resource)
-and Welcome editor both appear.</li>
-
-<li>
-Close the editor and exit the workbench.</li>
-
-<li>
-Restart the workbench and verify that the Welcome editor does not appear.&nbsp;
-The editor only appears automatically after a fresh install.</li>
-
-<li>
-Invoke Help > Welcome and verify that the Welcome editor opens.</li>
-
-<li>
-The Welcome editor contains a number of links. Test each of these links
-to ensure that the link invokes an appropriate action.</li>
-</ol>
-
-</body>
-</html>
diff --git a/tests/org.eclipse.ui.tests/Manual Scenario Tests/Window Actions.html b/tests/org.eclipse.ui.tests/Manual Scenario Tests/Window Actions.html
deleted file mode 100644
index 2459250..0000000
--- a/tests/org.eclipse.ui.tests/Manual Scenario Tests/Window Actions.html
+++ /dev/null
@@ -1,117 +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>Test Scenario: Window Actions</title>
-</head>
-<body>
-<h3>
-Window Actions</h3>
-Purpose: To test the standard menu and toolbar actions in Eclipse.&nbsp;
-We will create a project, open some editors, test the global actions, test
-the persistance of workbench state between sessions.
-<p>Setup:
-<ol>
-<li>
-Install Eclipse Platform.</li>
-
-<li>
-Delete the metadata for org.eclipse.ui.</li>
-</ol>
-Testing the File Menu:
-<ol>
-<li>
-Start the workbench.</li>
-
-<li>
-Invoke File > New > Project.&nbsp; A wizard will appear where you can select
-a project type.&nbsp; Select each item in the left hand viewer to verify
-the basic page operation.&nbsp; Then select Simple > Project and press
-Next.&nbsp; Type "SimpleProject" as the name for the project and press
-Finish.&nbsp; Verify that a new Resource perspective is created and that
-SimpleProject appears in the Navigator view.</li>
-
-<li>
-Create a few folders and files (one.txt, two.txt, three.txt) within SimpleProject.&nbsp;
-For more information on this process refer to Simon's work on the New Wizard.</li>
-
-<li>
-Open one.txt within a text editor.&nbsp; Verify that File > Close and Save
-As are enabled.&nbsp; Verify that Save is disabled.</li>
-
-<li>
-Add the following text to the file..</li>
-
-<p><br>File One
-<br>&nbsp;
-<li>
-Once you modify a file the File > Save action should become enabled and
-a small asterix should appear in the editor tab.&nbsp; Invoke Save and
-verify that the asterix disappears and that the File > Save action is disabled.</li>
-
-<li>
-Open two.txt.&nbsp; Add the following text to the file..</li>
-
-<p><br>File Two
-<br>&nbsp;
-<li>
-Open three.txt and add the following text to the file..</li>
-
-<p><br>File Three
-<br>&nbsp;
-<li>
-If you close an editor which is dirty the workbench should ask if you want
-to save it.&nbsp; With three.txt active invoke File > Close.&nbsp; Verify
-that the Save dialog appears.&nbsp; Press Yes.&nbsp; Then reopen the file
-to verify that the text was saved.</li>
-
-<li>
-Invoke File > Close All.&nbsp; At this point there is 1 dirty editor.&nbsp;
-Verify that the Save Resources dialog appears.&nbsp; Press Yes.&nbsp; The
-dirty editors should be saved and all editors will close.</li>
-
-<li>
-Verify that File > Close, Close All, Save, Save As, and Save All are disabled.</li>
-</ol>
-Testing the Edit Menu:
-<ol>
-<li>
-The edit actions should target the active view or editor.&nbsp; To test
-this ..</li>
-
-<ol>
-<li>
-Select a file in the navigator view.&nbsp; Invoke Edit > Delete and verify
-that the Delete File dialog appears for the current selection in the navigator.&nbsp;&nbsp;
-Close the dialog without completing the delete.</li>
-
-<li>
-Select the file again and invoke Edit > Add Bookmark.&nbsp; Open the Bookmarks
-view and verify that a bookmark exists for the file.&nbsp; Select the bookmark.&nbsp;
-Invoke Edit > Delete and verify that the bookmark is deleted in the bookmarks
-view.</li>
-
-<li>
-Open one.txt in a text editor.&nbsp; Select a piece of text and invoke
-Edit > Cut.&nbsp; Verify that the selection in the text editor is cut.</li>
-</ol>
-
-<li>
-Create a file named X.java.&nbsp; Open it in an editor and then verify
-that the Java editor actions are contributed to the workbench menu and
-toolbar.</li>
-
-<li>
-Open one.txt in an editor.&nbsp; Verify that the java editor actions are
-no longer visible in the workbench.</li>
-
-<li>
-Activate the java editor and verify that its contributions appear once
-again.</li>
-
-<li>
-Close the java editor and verify that the contributions disappear.</li>
-</ol>
-
-</body>
-</html>
diff --git a/tests/org.eclipse.ui.tests/Manual Scenario Tests/Window Layout.html b/tests/org.eclipse.ui.tests/Manual Scenario Tests/Window Layout.html
deleted file mode 100644
index f188196..0000000
--- a/tests/org.eclipse.ui.tests/Manual Scenario Tests/Window Layout.html
+++ /dev/null
@@ -1,196 +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>Test Scenario: Window Layout</title>
-</head>
-<body>
-<h3>
-Window Layout</h3>
-Purpose: To test window layout in Eclipse.&nbsp; We will open a perspective,
-test the layout features, open a second perspective, switch between perspectives,
-and then create some windows.
-<p>Setup:
-<ol>
-<li>
-Install Eclipse Platform.</li>
-
-<li>
-Create a project with 3 .txt files.</li>
-
-<li>
-Delete the metadata for org.eclipse.ui.</li>
-</ol>
-Testing a Single Perspective:
-<ol>
-<li>
-Start the workbench.</li>
-
-<li>
-Drag the navigator over the shortcut bar (the vertical toolbar at left).&nbsp; 
-Verify that a stack icon appears.&nbsp; Drop the view on the shortcut bar. 
-It should become a fast view.</li>
-
-<li>
-Click on the navigator fast view button to show the view.&nbsp; Click on
-another view to hide it.&nbsp; You can also hide the view by clicking on
-the "hide" button or the fast view button.</li>
-
-<li>
-Close the Outline view.&nbsp; Then invoke Perspective > Show View > Outline
-to show it again.&nbsp; Verify that it has the same position as before.</li>
-
-<li>
-Select a text file in the navigator and open it.&nbsp; Verify that the
-navigator fast view is hidden and an editor appears in the editor area.</li>
-
-<li>
-Modify the contents of the editor and verify that File > Save becomes enabled.&nbsp;
-Save the file and verify that File > Save is disabled.</li>
-
-<li>
-Modify the contents of the editor again and close the editor.&nbsp; Verify
-that the Save dialog appears and you can answer, yes, no, and cancel.</li>
-
-<li>
-Open 3 text files within 3 editors.&nbsp; The editors appear in a single
-folder.</li>
-
-<li>
-Drag one editor out of the folder.&nbsp; Verify that the relative placement
-icons are shown when you are to the top, right, bottom, or left of the
-existing editor folder.&nbsp; The "no drop" icon should appear if you are
-over a view.&nbsp; Drop the editor below the existing folder.</li>
-
-<li>
-Drag another editor our of the folder onto the single view.&nbsp; Verify
-that the first folder is deconstructed and that a new folder is constructed.</li>
-
-<li>
-Maximize the active editor by clicking on the title area.&nbsp; Minimize
-it by clicking in the area again.&nbsp; Maximize it again and then close
-it.&nbsp; Verify that the perspective layout is restored.</li>
-
-<li>
-Drag a bunch of views out of the window to create detached windows.&nbsp;
-Try dragging these views on top of one another to create detached folders.</li>
-
-<li>
-Invoke Perspective > Reset.&nbsp; Answer yes to the dialog and verify that
-the layout of the perspective is restored to the original.</li>
-
-<li>
-Invoke Perspective > Close to close the page.</li>
-</ol>
-Perspective Save As:
-<ol>
-<li>
-Open the resource perspective.</li>
-
-<li>
-Drag a view onto the left tool bar.&nbsp; Drag another out into a detached
-window.</li>
-
-<li>
-In Eclipse you can customize the actions visible in a perspective.&nbsp;
-Invoke Perspective > Customize and select some new views and actions.&nbsp;
-Press OK and verify that the new actions appear in the menu and toolbar.</li>
-
-<li>
-Invoke Perspective > Save As and select the Resource perspective.&nbsp;
-Press OK and answer yes to the verify dialog.</li>
-
-<li>
-Close the perspective.</li>
-
-<li>
-Open the Resource perspective.&nbsp; Verify that the new page has the same
-layout and visible action sets as you created and saved.</li>
-
-<li>
-Close the perspective.</li>
-
-<li>
-Open up the Preferences dialog and view the Perspectives page.&nbsp; Select
-the Resource one and press Reset.</li>
-
-<li>
-Open the Resource perspective.&nbsp; Verify that the new page has the default
-layout.</li>
-
-<li>
-Drag a view onto the left tool bar.&nbsp; Drag another out into a detached
-window.</li>
-
-<li>
-Invoke Perspective > Save As and type the name of a new perspective (ie
-Bob).&nbsp; Press OK and then verify that the window title changes to reflect
-the new perspective.</li>
-
-<li>
-Close all perspectives</li>
-
-<li>
-Open a new Resource perspective and a Bob perspective.&nbsp; Verify that
-the first has the default layout and that the second has your custom layout.</li>
-</ol>
-Testing Two or More Perspectives:
-<ol>
-<li>
-Close all Perspectives</li>
-
-<li>
-Open a Resource perspective.&nbsp; Verify that a new page appears in the
-window with the Resource perspective.</li>
-
-<li>
-In the Navigator select your project and invoke Open Perspective > Java.&nbsp;
-Verify that a new perspective appears with the Java Perspective and that
-the input for the navigator is the project.&nbsp; Cool: Perspectives support
-scoping !!</li>
-
-<li>
-In the Java perspective open one of the text files in an editor.</li>
-
-<li>
-Drag a couple of views out of the window to create detached windows.</li>
-
-<li>
-Modify the action sets.</li>
-
-<li>
-Switch back and forth between the two pages in the window by clicking in
-the left hand tool bar.&nbsp; The active perspective controls the visible
-action sets, views and editors in the window.&nbsp; If you switch between
-two pages these attributes should change.</li>
-
-<li>
-Try Perspective > Next and Previous.</li>
-
-<li>
-Close the second perspective by invoking Perspective > Close.&nbsp; Verify
-that the first perspective is activated.</li>
-</ol>
-Multiple Windows
-<ol>
-<li>
-Start with one open window which has one perspective.</li>
-
-<li>
-Change the Workbench Preferences for "Open Perspective" to "Open in New
-Window".&nbsp; Then open a Java perspective and verify that a new window
-is created.</li>
-
-<li>
-A list of the open windows should appear in the Window menu.&nbsp; Select
-these items to switch between the windows.</li>
-
-<li>
-Close one window and verify that the other is activated.</li>
-
-<li>
-Close the last window and verify that the workbench shuts down.</li>
-</ol>
-
-</body>
-</html>
diff --git a/tests/org.eclipse.ui.tests/Manual Scenario Tests/ZIP Export.html b/tests/org.eclipse.ui.tests/Manual Scenario Tests/ZIP Export.html
deleted file mode 100644
index 135cc42..0000000
--- a/tests/org.eclipse.ui.tests/Manual Scenario Tests/ZIP Export.html
+++ /dev/null
@@ -1,100 +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="OTI Employee">
-   <meta name="GENERATOR" content="Mozilla/4.75 [en] (Windows NT 5.0; U) [Netscape]">
-   <title>ZIP Export</title>
-</head>
-<body>
-
-<center>
-<h1>
-ZIP Export</h1></center>
-
-<h2>
-Purpose</h2>
-The plan is to export a project with a large number files/folders at a
-time, using the zip file wizard. The results should be indentical in layout
-and content as the original project used.
-<h2>
-Setup</h2>
-
-<ul>
-<li>
-Download the JUnit zip file source code from www.junit.org.</li>
-
-<li>
-Start the Eclipse workbench</li>
-
-<li>
-Create a new temporary "simple" project called "JUnit Test"</li>
-
-<li>
-Import the JUnit zip file into the project</li>
-
-<li>
-Select File -> Export, select Zip File and press Next.</li>
-</ul>
-
-<h2>
-Export from a project to a new zip file</h2>
-
-<ol>
-<li>
-Select the "JUnit Test" project and mark it as checked.</li>
-
-<li>
-In the Zip File field, type in the filename for the new zip file.</li>
-
-<li>
-Press Finish</li>
-
-<li>
-Verify that the contents in the zip file match the same file and folder
-structure as the source project</li>
-
-<li>
-Verify the content of the files.</li>
-</ol>
-
-<h2>
-Export from a project to an existing zip file</h2>
-
-<ol>
-<li>
-Select the "JUnit Test" project and mark it as checked.</li>
-
-<li>
-In the Zip File field, type in the filename for the existing zip file.</li>
-
-<li>
-Press Finish</li>
-
-<li>
-Click OK in the dialog that appears confirming the overwrite</li>
-
-<li>
-Verify you were prompted to overwrite files</li>
-
-<li>
-Verify that the contents in the zip file match the same file and folder
-structure as the source project.</li>
-
-<li>
-Verify the content of the files.</li>
-</ol>
-
-<h2>
-Cleanup</h2>
-
-<ul>
-<li>
-Delete the temporary project "JUnit Test"</li>
-
-<li>
-Delete the temporary jar file</li>
-</ul>
-
-</body>
-</html>
diff --git a/tests/org.eclipse.ui.tests/Manual Scenario Tests/ZIP Import.html b/tests/org.eclipse.ui.tests/Manual Scenario Tests/ZIP Import.html
deleted file mode 100644
index 105a2df..0000000
--- a/tests/org.eclipse.ui.tests/Manual Scenario Tests/ZIP Import.html
+++ /dev/null
@@ -1,103 +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="OTI Employee">
-   <meta name="GENERATOR" content="Mozilla/4.75 [en] (Windows NT 5.0; U) [Netscape]">
-   <title>ZIP Import</title>
-</head>
-<body>
-
-<center>
-<h1>
-ZIP Import</h1></center>
-
-<h2>
-Purpose</h2>
-The plan is to import a large number files/folders at a time, using the
-ZIP file wizard. The results should be indentical in layout and content
-as the original source used.
-<h2>
-Setup</h2>
-
-<ul>
-<li>
-Download the JUnit zip file source code from www.junit.org.</li>
-
-<li>
-Start the Eclipse workbench</li>
-
-<li>
-Create a new temporary "simple" project called "JUnit Test"</li>
-
-<li>
-Select File -> Import, select Zip File and press Next.</li>
-</ul>
-
-<h2>
-Import into an empty project</h2>
-
-<ol>
-<li>
-Click the Browse button and select the ZIP file.</li>
-
-<li>
-Expand the folders in the tree view and until "junit" folder is visible
-and check mark the box next to it. Deselect the "doc" and "javadoc" folders.</li>
-
-<li>
-Type in "JUnit Test" in the Folder field</li>
-
-<li>
-Press Finish</li>
-
-<li>
-Verify that the contents of the project match the same file and folder
-structure as the source in the file system.</li>
-
-<li>
-Verify that the content of the files.</li>
-</ol>
-
-<h2>
-Import into a project with same contents (overwrite)</h2>
-
-<ol>
-<li>
-Click on the Zip File drop down box and select the zip file</li>
-
-<li>
-Expand the folders in the tree view and until "junit" folder is visible
-and check mark the box next to it.&nbsp; Deselect the "doc" and "javadoc"
-folders.</li>
-
-<li>
-Type in "JUnit Test" in the Folder field</li>
-
-<li>
-Check the option "Overwrite existing resources without warning"</li>
-
-<li>
-Press Finish</li>
-
-<li>
-Verify you were not prompted to overwrite files</li>
-
-<li>
-Verify that the contents of the project match the same file and folder
-structure as the source in the file system.</li>
-
-<li>
-Verify that the content of the files.</li>
-</ol>
-
-<h2>
-Cleanup</h2>
-
-<ul>
-<li>
-Delete the temporary project "JUnit Test"</li>
-</ul>
-
-</body>
-</html>
diff --git a/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/internal/util/AccessibilityTestPass.java b/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/internal/util/AccessibilityTestPass.java
deleted file mode 100644
index 996e704..0000000
--- a/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/internal/util/AccessibilityTestPass.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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.internal.util;
-
-
-import java.util.ArrayList;
-
-
-public class AccessibilityTestPass implements IDialogTestPass {
-	private static final int CHECKLIST_SIZE = 5;
-	
-	/**
-	 * @see IDialogTestPass#title()
-	 */
-	public String title() {
-		return "Test Pass: Accessibility";
-	}
-	/**
-	 * @see IDialogTestPass#description()
-	 */
-	public String description() {
-		return "Verify the accessibility of the dialogs.";
-	}
-	/**
-	 * @see IDialogTestPass#label()
-	 */
-	public String label() {
-		return "&Accessibility";
-	}	
-	/**
-	 * @see IDialogTestPass#checkListTexts()
-	 */
-	public ArrayList checkListTexts() {
-		ArrayList list = new ArrayList(CHECKLIST_SIZE);
-		list.add("&1) all widgets are accessible by tabbing.");
-		list.add("&2) forwards and backwards tabbing is in a logical order");
-		list.add("&3) all the widgets with labels have an appropriate mnemonic.");
-		list.add("&4) there are no duplicate mnemonics.");
-		list.add("&5) selectable widgets can be selected using the spacebar.");
-		return list;
-	}
-	/**
-	 * @see IDialogTestPass#failureTexts()
-	 * Size of the return array must be the same size as the checkListTexts'
-	 * ArrayList.
-	 */
-	public String[] failureTexts() {
-		String[] failureText = new String[CHECKLIST_SIZE];
-		failureText[0] = "Some widgets aren't accessible by tabbing.";
-		failureText[1] = "Tabbing order is illogical.";
-		failureText[2] = "Missing or inappropriate mnemonics.";
-		failureText[3] = "Duplicate mnemonics.";
-		failureText[4] = "Some widgets cannot be selected using the spacebar.";
-		return failureText;
-	}
-	/**
-	 * @see IDialogTestPass#queryText()
-	 */
-	public String queryText() {
-		return "Is the accessibility of the dialog acceptable?";
-	}
-	/**
-	 * @see IDialogTestPass#getID()
-	 */
-	public int getID() {
-		return VerifyDialog.TEST_ACCESS;
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/internal/util/FailureDialog.java b/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/internal/util/FailureDialog.java
deleted file mode 100644
index 56f9e3b..0000000
--- a/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/internal/util/FailureDialog.java
+++ /dev/null
@@ -1,113 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.internal.util;
-
-
- 
-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.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.resource.JFaceResources;
-
-
-/*
- * A dialog for collecting notes from the tester regarding
- * the failure of a test.
- */
-public class FailureDialog extends Dialog {
-	private Text _text;
-	private String _log;
-	private int SIZING_TEXT_WIDTH = 400;
-	private int SIZING_TEXT_HEIGHT = 200;
-	
-	/**
-	 * Constructor for FailureDialog
-	 */
-	public FailureDialog(Shell parentShell) {
-		super(parentShell);
-	}
-	/* (non-Javadoc)
-	 * Method declared on Window.
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		newShell.setText("Dialog Test Failed");
-	}
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		createButton(parent, IDialogConstants.OK_ID, "&OK", true);
-		createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-	}
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected Control createDialogArea(Composite parent) {
-		// page group
-		Composite composite = (Composite)super.createDialogArea(parent);
-		composite.setSize( composite.computeSize(SWT.DEFAULT, SWT.DEFAULT) );
-		
-		Label label = new Label(composite, SWT.WRAP);
-		label.setText("&Enter a note regarding the failure:");
-		
-		_text = new Text(composite, SWT.MULTI | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-		_text.setFont( JFaceResources.getFontRegistry().get(JFaceResources.TEXT_FONT) );
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.widthHint = SIZING_TEXT_WIDTH;
-		data.heightHint = SIZING_TEXT_HEIGHT;
-		_text.setLayoutData(data);
-		
-		return composite;
-	}
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected void okPressed() {		
-		_log = _text.getText();
-		super.okPressed();
-	}
-	/*
-	 * @return String the text contained in the input area of
-	 * the dialog.
-	 */
-	String getText() {
-		if (_log == null) {
-			return "Empty entry.";
-		} else {
-			return _log;
-		}
-	}
-	/*
-	 * Sets the text of the input area.  This should only be
-	 * called to set the initial text so only call before invoking
-	 * open().
-	 */
-	void setText(String text) {
-		_text.setText(text);
-	}
-	/*
-	 * Returns a string representation of this class which
-	 * the text contained in the input area of the dialog.
-	 */
-	public String toString() {
-		return getText();
-	}
-}
-
-
diff --git a/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/internal/util/FocusTestPass.java b/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/internal/util/FocusTestPass.java
deleted file mode 100644
index 93f4d80..0000000
--- a/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/internal/util/FocusTestPass.java
+++ /dev/null
@@ -1,74 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.internal.util;
-
-
- 
-import java.util.ArrayList;
-
-
-/*
- * This test pass verifies the initial focus of a dialog
- * when it is given focus.
- */
-public class FocusTestPass implements IDialogTestPass {
-	private static final int CHECKLIST_SIZE = 1;
-
-
-	/**
-	 * @see IDialogTestPass#title()
-	 */
-	public String title() {
-		return "Test Pass: Initial Focus";
-	}
-	/**
-	 * @see IDialogTestPass#description()
-	 */
-	public String description() {
-		return "Verify the initial focus of the dialogs.";
-	}
-	/**
-	 * @see IDialogTestPass#label()
-	 */
-	public String label() {
-		return "&Initial Focus";
-	}	
-	/**
-	 * @see IDialogTestPass#checkListTexts()
-	 */
-	public ArrayList checkListTexts() {
-		ArrayList list = new ArrayList(CHECKLIST_SIZE);
-		list.add("&1) the initial focus is appropriate.");
-		return list;
-	}
-	/**
-	 * @see IDialogTestPass#failureTexts()
-	 * Size of the return array must be the same size as the checkListTexts'
-	 * ArrayList.
-	 */
-	public String[] failureTexts() {
-		String[] failureText = new String[CHECKLIST_SIZE];
-		failureText[0] = "The initial focus is inappropriate.";
-		return failureText;
-	}
-	/**
-	 * @see IDialogTestPass#queryText()
-	 */
-	public String queryText() {
-		return "Is the initial focus of the dialog correct?";
-	}
-	/**
-	 * @see IDialogTestPass#getID()
-	 */
-	public int getID() {
-		return VerifyDialog.TEST_FOCUS;
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/internal/util/IDialogTestPass.java b/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/internal/util/IDialogTestPass.java
deleted file mode 100644
index 9a3bca2..0000000
--- a/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/internal/util/IDialogTestPass.java
+++ /dev/null
@@ -1,58 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.internal.util;
-
-
-import java.util.ArrayList;
-
-
-/*
- * Interface to describe a visual test pass for a dialog test.
- */
-public interface IDialogTestPass {
-	/*
-	 * @return String The title of the test pass.
-	 */
-	public String title();
-	/*
-	 * @return String The description of the test pass.
-	 */
-	public String description();
-	/*
-	 * @return String The label of the test pass to be used
-	 * in a selection list.  The return includes an '&'
-	 * if a mnemonic is desired.
-	 */
-	public String label();
-	/*
-	 * @return ArrayList A list of items to appear in a checklist.
-	 * The items in the list must be Strings and should include an
-	 * '&' if a mnemonic is desired.
-	 */
-	public ArrayList checkListTexts();
-	/*
-	 * @return String[] Associated failure messages that correspond
-	 * to the checklist items.  The size of this array should be the
-	 * same size as the checklist.
-	 */
-	public String[] failureTexts();
-	/*
-	 * @return String The test that corresponds to the test pass to
-	 * which the tester will respond with a 'yes' or 'no'.
-	 */
-	public String queryText();
-	/*
-	 * @return int A unique number that identifies the test pass.
-	 */
-	public int getID();
-}
-
-
diff --git a/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/internal/util/SizingTestPass.java b/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/internal/util/SizingTestPass.java
deleted file mode 100644
index f4c29e7..0000000
--- a/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/internal/util/SizingTestPass.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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.internal.util;
-
-
- 
-import java.util.ArrayList;
-
-
-/*
- * This test pass verifies visually the sizing of the dialog and its
- * widgets.
- */
-class SizingTestPass implements IDialogTestPass {
-	private static final int CHECKLIST_SIZE = 5;
-
-
-	/**
-	 * @see IDialogTestPass#title()
-	 */
-	public String title() {
-		return "Test Pass: Sizing and Display";
-	}
-	/**
-	 * @see IDialogTestPass#description()
-	 */
-	public String description() {
-		return "Verify the sizing and display of the dialogs and widgets.";
-	}
-	/**
-	 * @see IDialogTestPass#label()
-	 */
-	public String label() {
-		return "&Sizing and Display";
-	}	
-	/**
-	 * @see IDialogTestPass#checkListTexts()
-	 */
-	public ArrayList checkListTexts() {
-		ArrayList list = new ArrayList(CHECKLIST_SIZE);
-		list.add("&1) the correct dialog displays.");
-		list.add("&2) the dialog is an appropriate size for the required resolution (1024x768).");
-		list.add("&3) the texts are correct and not cut off.");
-		list.add("&4) all strings have been externalized properly.");
-		list.add("&5) all the widgets are viewable and not cut off.");
-		return list;
-	}
-	/**
-	 * @see IDialogTestPass#failureTexts()
-	 * Size of the return array must be the same size as the checkListTexts'
-	 * ArrayList.
-	 */
-	public String[] failureTexts() {
-		String[] failureText = new String[CHECKLIST_SIZE];
-		failureText[0] = "The wrong dialog displayed.";
-		failureText[1] = "The dialog is too large for the required resolution.";
-		failureText[2] = "Text labels are wrong or cut off.";
-		failureText[3] = "Some strings have not been externalized properly.";
-		failureText[4] = "Some widgets are cut off.";
-		return failureText;
-	}
-	/**
-	 * @see IDialogTestPass#queryText()
-	 */
-	public String queryText() {
-		return "Is the sizing and display of the dialog correct?";
-	}
-	/**
-	 * @see IDialogTestPass#getID()
-	 */
-	public int getID() {
-		return VerifyDialog.TEST_SIZING;
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/internal/util/VerifyDialog.java b/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/internal/util/VerifyDialog.java
deleted file mode 100644
index b8c512e..0000000
--- a/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/internal/util/VerifyDialog.java
+++ /dev/null
@@ -1,314 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.internal.util;
-
-
-import java.util.Iterator;
-
-import org.eclipse.swt.SWT;
-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.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.swt.widgets.Shell;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.TitleAreaDialog;
-
-
-/*
- * This dialog is intended to verify a dialogs in a testing
- * environment.  The tester can test for sizing, initial focus,
- * or accessibility.
- */
-public class VerifyDialog extends TitleAreaDialog {
-	private int SIZING_WIDTH = 400;
-	
-	private static int      TEST_TYPE;
-	public static final int TEST_SIZING = 0;
-	public static final int TEST_FOCUS  = 1;
-	public static final int TEST_ACCESS = 2;
-	private IDialogTestPass _dialogTests[] = new IDialogTestPass[3];
-
-
-	private Dialog _testDialog; //the dialog to test
-	private Point  _testDialogSize;
-	
-	private Label  _queryLabel;
-	private Button _yesButton;
-	private Button _noButton;
-	private Button _checkList[];
-	private String _failureText;
-	
-	/*
-	 * Create an instance of the verification dialog.
-	 */
-	public VerifyDialog(Shell parent) {
-		super(parent);
-		if ( !(TEST_TYPE <= 2) && !(TEST_TYPE >= 0) ) {
-			TEST_TYPE = TEST_SIZING;
-		}
-		_failureText = "";
-		_dialogTests[0] = new SizingTestPass();
-		_dialogTests[1] = new FocusTestPass();
-		_dialogTests[2] = new AccessibilityTestPass();
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on Window.
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		newShell.setText("Dialog Verification");
-		setShellStyle(SWT.NONE);
-	}
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		_yesButton = createButton(parent, IDialogConstants.YES_ID, IDialogConstants.YES_LABEL, true);
-		_noButton = createButton(parent, IDialogConstants.NO_ID, IDialogConstants.NO_LABEL, false);
-	}
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected void buttonPressed(int buttonId) {
-		if (IDialogConstants.YES_ID == buttonId) {
-			setReturnCode(IDialogConstants.YES_ID);
-			if (_testDialog.getShell() != null) {
-				_testDialog.close();
-			}
-			close();
-		} else if (IDialogConstants.NO_ID == buttonId) {
-			handleFailure();
-		}
-	}
-	/* (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);
-		composite.setSize(SIZING_WIDTH, SWT.DEFAULT);
-		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));
-
-
-		createTestSelectionGroup(composite);
-		createCheckListGroup(composite);
-
-
-		_queryLabel = new Label(composite, SWT.NONE);
-		_queryLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		initializeTest();
-		return composite;
-	}
-	/*
-	 * Group for selecting type of test.
-	 */
-	private void createTestSelectionGroup(Composite parent) {
-		Group group = new Group(parent, SWT.SHADOW_NONE);
-		group.setText("Testing:");
-		group.setLayout( new GridLayout() );
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		group.setLayoutData(data);
-		
-		for (int i = 0; i < _dialogTests.length; i++) {
-			Button radio = new Button(group, SWT.RADIO);
-			radio.setText( _dialogTests[i].label() );
-			final int testID = _dialogTests[i].getID();
-			radio.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					TEST_TYPE = testID;
-					initializeTest();
-					_yesButton.setEnabled(true);
-				}
-			});
-			if ( TEST_TYPE == _dialogTests[i].getID() ) {
-				radio.setSelection(true);
-			}
-		}
-	}
-	/*
-	 * Initializes the checklist with empty checks.
-	 */
-	private void createCheckListGroup(Composite parent) {
-		Group group = new Group(parent, SWT.SHADOW_NONE);
-		group.setText("Verify that:");
-		group.setLayout( new GridLayout() );
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		group.setLayoutData(data);
-		
-		int checkListSize = 0;
-		for (int i = 0; i < _dialogTests.length; i++) {
-			int size = _dialogTests[i].checkListTexts().size();
-			if (size > checkListSize) {
-				checkListSize = size;
-			}
-		}
-		_checkList = new Button[checkListSize];
-		SelectionAdapter selectionAdapter = new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				checkYesEnable();
-			}
-		};
-		for (int i = 0; i < checkListSize; i++) {
-			_checkList[i] = new Button(group, SWT.CHECK);
-			_checkList[i].addSelectionListener(selectionAdapter);
-			data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-			data.grabExcessHorizontalSpace = true;
-			_checkList[i].setLayoutData(data);
-		}		
-	}
-	/*
-	 * Disables the yes button if any of the items in the checklist
-	 * are unchecked.  Enables the yes button otherwise.
-	 */
-	private void checkYesEnable() {
-		boolean enable = true;
-		for (int i = 0; i < _checkList.length; i++) {
-			if ( !_checkList[i].getSelection() ) {
-				enable = false;
-			}			
-		}
-		_yesButton.setEnabled(enable);
-	}
-	/*
-	 * Initializes the checklist, banner texts, and query label
-	 */
-	private void initializeTest() {
-		IDialogTestPass test = _dialogTests[TEST_TYPE];
-		setTitle( test.title() );
-		setMessage( test.description() );
-		Iterator iterator = test.checkListTexts().iterator();
-		for (int i = 0; i < _checkList.length; i++) {
-			if ( iterator.hasNext() ) {
-				_checkList[i].setText( iterator.next().toString() );
-				_checkList[i].setVisible(true);
-				_checkList[i].update();
-			} else {
-				_checkList[i].setVisible(false);
-				_checkList[i].update();
-			}
-			_checkList[i].setSelection(true);
-		}
-		_queryLabel.setText( test.queryText() );
-	}
-	public String getFailureText() {
-		return _failureText;
-	}
-	/*
-	 * Can't open the verification dialog without a specified
-	 * test dialog, this simply returns a failure and prevents
-	 * opening.  Should use open(Dialog) instead.
-	 * 
-	 */
-	public int open() {
-		_failureText = "Testing dialog is required, use VerifyDialog::open(Dialog)";
-		return IDialogConstants.NO_ID;
-	}
-	/*
-	 * Opens the verification dialog to test the specified dialog.
-	 */
-	public int open(Dialog testDialog) {
-		if (getShell() == null) {
-			create();
-		}
-		getShell().setLocation(0, 0);
-		getShell().setSize(Math.max(SIZING_WIDTH, getShell().getSize().x), getShell().getSize().y);
-		_testDialog = testDialog;
-		if (_testDialog.getShell() == null) {
-			_testDialog.create();
-		}
-		_testDialogSize = _testDialog.getShell().getSize();
-		openNewTestDialog();
-		
-		return super.open();
-	}
-	/*
-	 * Opens the dialog to be verified.
-	 */
-	private void openNewTestDialog() {
-		if (_testDialog.getShell() == null) {
-			_testDialog.create();
-		}
-		_testDialog.setBlockOnOpen(false);
-		_testDialog.getShell().setLocation(getShell().getSize().x + 1, 0);
-		_testDialog.getShell().setSize(_testDialogSize);
-		_testDialog.getShell().addShellListener(new ShellAdapter() {
-			public void shellClosed(ShellEvent e) {				
-				e.doit = false;
-			}
-		
-		});		
-		_testDialog.open();
-	}
-	/*
-	 * The test dialog failed, open the failure dialog.
-	 */
-	private void handleFailure() {
-		IDialogTestPass test = _dialogTests[TEST_TYPE];
-		StringBuffer text = new StringBuffer();
-		String label = test.label();
-		label = label.substring(0, label.indexOf("&")) +
-		        label.substring(label.indexOf("&") + 1);
-		text.append(label).
-		     append(" failed on the ").
-		     append(SWT.getPlatform()).
-		     append(" platform:\n");
-		
-		String failureMessages[] = test.failureTexts();
-		for (int i = 0; i < test.checkListTexts().size(); i++) {
-			if ( !_checkList[i].getSelection() ) {
-				text.append("- ").append(failureMessages[i]).append("\n");
-			}
-		}
-		FailureDialog dialog = new FailureDialog( getShell() );
-		dialog.create();
-		dialog.setText( text.toString() );
-		if (dialog.open() == IDialogConstants.OK_ID) {
-			_failureText = dialog.toString();
-			setReturnCode(IDialogConstants.NO_ID);
-			if (_testDialog.getShell() != null) {
-				_testDialog.close();
-			}
-			close();
-		}
-	}
-	/*
-	 * In case the shell was closed by a means other than
-	 * the NO button.
-	 */
-	protected void handleShellCloseEvent() {
-		handleFailure();
-	}
-}
-
-
diff --git a/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/ActionUtil.java b/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/ActionUtil.java
deleted file mode 100644
index 93c6413..0000000
--- a/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/ActionUtil.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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.util;
-import java.lang.reflect.Method;
-
-import junit.framework.TestCase;
-
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.SubContributionItem;
-
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.internal.WorkbenchWindow;
-
-
-/**
- * <code>ActionUtil</code> contains methods to run actions
- * in the workbench.
- */
-public class ActionUtil {
-
-
-	/**
-	 * Runs an action contribution.
-	 * 
-	 * @param test the current test case
-	 * @param item an action contribution item
-	 */
-	public static void runAction(TestCase test, 
-		IContributionItem item) 
-	{
-		TestCase.assertTrue(item instanceof ActionContributionItem);
-		((ActionContributionItem)item).getAction().run();
-	}
-	
-	/**
-	 * Runs the first action found in a menu manager with a
-	 * particular label. 
-	 *
-	 * @param test the current test case
-	 * @param mgr the containing menu manager
-	 * @param label the action label
-	 */
-	public static void runActionWithLabel(TestCase test, 
-		IMenuManager mgr, String label) 
-	{
-		IContributionItem [] items = mgr.getItems();
-		for (int nX = 0; nX < items.length; nX ++) {
-			IContributionItem item = items[nX];
-			if (item instanceof SubContributionItem)
-				item = ((SubContributionItem)item).getInnerItem();
-			if (item instanceof ActionContributionItem) {
-				IAction action = ((ActionContributionItem)item).getAction();
-				if (label.equals(action.getText())) {
-					action.run();
-					return;
-				}
-			}
-		}
-		TestCase.fail("Unable to find action: " + label);
-	}
-
-
-	/**
-	 * Runs the first action found in a window with a
-	 * particular label. 
-	 * 
-	 * @param test the current test case
-	 * @param win the containing window
-	 * @param label the action label
-	 */
-	public static void runActionWithLabel(TestCase test, 
-		IWorkbenchWindow win, String label) 
-	{
-		WorkbenchWindow realWin = (WorkbenchWindow)win;
-		IMenuManager mgr = realWin.getMenuManager();
-		runActionWithLabel(test, mgr, label);
-	}
-		
-	/**
-	 * Runs an action identified by an id path in a 
-	 * menu manager.
-	 * 
-	 * @param test the current test case
-	 * @param mgr the containing menu manager
-	 * @param label the action label
-	 */
-	public static void runActionUsingPath(TestCase test, 
-		IMenuManager mgr, String idPath) 
-	{
-		IContributionItem item = mgr.findUsingPath(idPath);
-		TestCase.assertNotNull(item);
-		runAction(test, item);
-	}
-	
-	/**
-	 * Runs an action identified by an id path in a 
-	 * window.
-	 * 
-	 * @param test the current test case
-	 * @param win the containing window
-	 * @param label the action label
-	 */
-	public static void runActionUsingPath(TestCase test, 
-		IWorkbenchWindow win, String idPath) 
-	{
-		WorkbenchWindow realWin = (WorkbenchWindow)win;
-		IMenuManager mgr = realWin.getMenuManager();
-		runActionUsingPath(test, mgr, idPath);
-	}
-	
-	/**
-	 * Returns the first action found in a menu manager with a
-	 * particular label. 
-	 *
-	 * @param mgr the containing menu manager
-	 * @param label the action label
-	 * @return the first action with the label, or <code>null</code>
-	 * 		if it is not found.
-	 */
-	public static IAction getActionWithLabel(IMenuManager mgr, 
-		String label) 
-	{
-		IContributionItem [] items = mgr.getItems();
-		for (int nX = 0; nX < items.length; nX ++) {
-			IContributionItem item = items[nX];
-			if (item instanceof SubContributionItem)
-				item = ((SubContributionItem)item).getInnerItem();
-			if (item instanceof ActionContributionItem) {
-				IAction action = ((ActionContributionItem)item).getAction();
-				if (label.equals(action.getText())) {
-					return action;
-				}
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Fire the "handleAboutToShow" method in a menu manager.
-	 * This triggers the same behavior as when a user opens a menu.
-	 * The menu to be populated with actions and those 
-	 * actions to be enacted in SWT widgets.
-	 * 
-	 * @param mgr the menu manager to open
-	 */  
-	public static void fireAboutToShow(MenuManager mgr) 
-		throws Throwable 
-	{
-		Class clazz = mgr.getClass();
-		Method method = clazz.getDeclaredMethod("handleAboutToShow", new Class [0]);
-		method.setAccessible(true);
-		method.invoke(mgr, new Object[0]);
-	}
-}
-
-
diff --git a/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/ArrayUtil.java b/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/ArrayUtil.java
deleted file mode 100644
index 3b9792d..0000000
--- a/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/ArrayUtil.java
+++ /dev/null
@@ -1,94 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.util;
-import java.util.Random;
-
-
-/**
- * <code>ArrayUtil</code> contains methods for array 
- * examination.  
- */
-public class ArrayUtil 
-{
-	private static Random randomBox = new Random();
-
-
-	/**
-	 * Returns a random object chosen from an array.
-	 * 
-	 * @param array the input array
-	 * @return a random object in the array
-	 */
-	public static Object pickRandom(Object[] array) {
-		int num = randomBox.nextInt(array.length);
-		return array[num];
-	}
-
-
-	/**
-	 * Returns whether an array is not null and
-	 * each object in the array is not null.
-	 *
-	 * @param array the input array
-	 * @return <code>true or false</code>
-	 */
-	public static boolean checkNotNull(Object[] array) {
-		if (array == null)
-			return false;
-		else {
-			for (int i = 0; i < array.length; i++)
-				if (array[i] == null)
-					return false;
-			return true;
-		}
-	}
-
-
-	/**
-	 * Returns whether an array contains a given object.
-	 *
-	 * @param array the input array
-	 * @param element the test object
-	 * @return <code>true</code> if the array contains the object,
-	 * 		<code>false</code> otherwise.
-	 */
-	public static boolean contains(Object[] array, Object element) {
-		if (array == null || element == null)
-			return false;		
-		else {
-			for (int i = 0; i < array.length; i++)
-				if( array[ i ] == element )
-					return true;
-			return false;
-		}
-	}
-
-
-	/**
-	 * Returns whether two arrays are equal.  They must
-	 * have the same size and the same contents.
-	 *
-	 * @param one the first array
-	 * @param two the second array
-	 * @return <code>true</code> if the array are equal,
-	 * 		<code>false</code> otherwise.
-	 */
-	public static boolean equals(Object[] one, Object[] two) {
-		if (one.length != two.length)
-			return false;
-		else {
-			for (int i = 0; i < one.length; i++)
-				if (one[i] != two[i])
-					return false;
-			return true;
-		}
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/CallHistory.java b/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/CallHistory.java
deleted file mode 100644
index a3439e1..0000000
--- a/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/CallHistory.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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.util;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-
-
-/**
- * <code>CallHistory</code> is used to record the invocation
- * of methods within a target object.  This is useful during
- * lifecycle testing for an object.
- * <p>
- * To use <code>CallHistory</code> ..
- * <ol>
- * <li>Create a CallHistory in the target or pass one in.</li>
- * <li>Invoke some test scenario.  </li>
- * <li>If a method is called on the target record the invocation
- * 	in the call history</li>
- * <li>Verify the call history after the test scenario is
- * 	complete.</li>
- * </ol>
- * </p><p>
- * Each <code>CallHistory</code> has a target which is used to 
- * verify the method names passed to the history.  If an invalid 
- * name is passed an <code>IllegalArgumentException</code> will 
- * be thrown.
- * </p>
- */
-public class CallHistory {	
-	private ArrayList methodList;	
-	private Class classType;
-
-
-	/**
-	 * Creates a new call history for an object.  
-	 * 
-	 * @param target the call history target. 
-	 */
-	public CallHistory( Object target )
-	{		
-		methodList = new ArrayList();			
-		classType = target.getClass();
-	}
-	
-	/**
-	 * Throws an exception if the method name is invalid
-	 * for the given target class.
-	 */
-	private void testMethodName(String methodName) {
-		Method[] methods = classType.getMethods();
-		for( int i = 0; i < methods.length; i ++ )
-			if( methods[ i ].getName().equals( methodName ) )
-				return;
-		throw new IllegalArgumentException("Target class (" 
-			+ classType.getName()
-			+ ") does not contain method: "
-			+ methodName);
-	}
-	
-	/**
-	 * Adds a method name to the call history.  
-	 * 
-	 * @param methodName the name of a method
-	 */
-	public void add(String methodName)
-	{		
-		testMethodName(methodName);
-		methodList.add( methodName );	
-	}
-	
-	/**
-	 * Clears the call history.
-	 */
-	public void clear()
-	{
-		methodList.clear();
-	}
-	
-	/**
-	 * Returns whether a list of methods have been called in
-	 * order.  
-	 * 
-	 * @param testNames an array of the method names in the order they are expected
-	 * @return <code>true</code> if the methods were called in order
-	 */
-	public boolean verifyOrder(String[] testNames ) throws IllegalArgumentException
-	{
-		int testIndex = 0;
-		int testLength = testNames.length;
-		if (testLength == 0)
-			return true;
-		for (int nX = 0; nX < methodList.size(); nX ++) {
-			String methodName = (String)methodList.get(nX);
-			String testName = testNames[testIndex];
-			testMethodName(testName);
-			if(testName.equals(methodName))
-				++ testIndex;
-			if (testIndex >= testLength)
-				return true;			
-		}
-		return false;
-	}
-	
-	/**
-	 * Returns whether a method has been called.
-	 * 
-	 * @param methodName a method name
-	 * @return <code>true</code> if the method was called
-	 */
-	public boolean contains(String methodName )
-	{
-		testMethodName(methodName);
-		return methodList.contains( methodName );
-	}
-	
-	/**
-	 * Returns whether a list of methods were called.
-	 * 
-	 * @param methodNames a list of methods
-	 * @return <code>true</code> if the methods were called
-	 */
-	public boolean contains(String[] methodNames )
-	{	
-		for( int i = 0; i < methodNames.length; i ++ ) {
-			testMethodName(methodNames[ i ] );
-			if(!methodList.contains( methodNames[ i ] ))
-				return false;
-		}
-		return true;
-	}
-	
-	/**
-	 * Returns whether the list of methods called is empty.
-	 * 
-	 * @return <code>true</code> iff the list of methods is empty
-	 */
-	public boolean isEmpty() {
-	    return methodList.isEmpty();
-	}
-	
-	/**
-	 * Prints the call history to the console.
-	 */
-	public void printToConsole()
-	{
-		for( int i = 0; i < methodList.size(); i ++ )
-			System.out.println( methodList.get( i ) );
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/DialogCheck.java b/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/DialogCheck.java
deleted file mode 100644
index 5477b1f..0000000
--- a/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/DialogCheck.java
+++ /dev/null
@@ -1,238 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.util;
-
-
-
-
-import junit.framework.Assert;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-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.TabFolder;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.tests.internal.util.VerifyDialog;
-
-
-/**
- * A <code>DialogCheck</code> is used test a dialog in
- * various ways. 
- * <p>
- * For interactive tests use <code>assertDialog</code>.
- * For automated tests use <code>assert DialogTexts</code>.
- * </p> 
- */
-public class DialogCheck {
-	private DialogCheck() {
-	}
-	private static VerifyDialog _verifyDialog;
-
-
-	/**
-	 * Asserts that a given dialog is not null and that it passes
-	 * certain visual tests.  These tests will be verified manually
-	 * by the tester using an input dialog.  Use this assert method
-	 * to verify a dialog's sizing, initial focus, or accessiblity.
-	 * To ensure that both the input dialog and the test dialog are
-	 * accessible by the tester, the getShell() method should be used
-	 * when creating the test dialog.
-	 * 
-	 * Example usage:
-	 * <code>Dialog dialog = new AboutDialog( DialogCheck.getShell() );
-	 * DialogCheck.assertDialog(dialog, this);</code>
-	 * 
-	 * @param dialog the test dialog to be verified.
-	 * @param assert this is the test case object, assertions will be
-	 * executed on this object.
-	 */
-	public static void assertDialog(Dialog dialog, Assert assertion) {
-		Assert.assertNotNull(dialog);
-		if (_verifyDialog.getShell() == null) {
-			//force the creation of the verify dialog
-			getShell();
-		}
-		if (_verifyDialog.open(dialog) == IDialogConstants.NO_ID) {
-			Assert.assertTrue(_verifyDialog.getFailureText(), false);
-		}
-	}
-
-
-	/**
-	 * Automated test that checks all the labels and buttons of a dialog
-	 * to make sure there is enough room to display all the text.  Any
-	 * text that wraps is only approximated and is currently not accurate.
-	 * 
-	 * @param dialog the test dialog to be verified.
-	 * @param assert this is the test case object, assertions will be
-	 * executed on this object.
-	 */
-	public static void assertDialogTexts(Dialog dialog, Assert assertion) {
-		Assert.assertNotNull(dialog);
-		dialog.setBlockOnOpen(false);
-		dialog.open();
-		Shell shell = dialog.getShell();
-		verifyCompositeText(shell, assertion);
-		dialog.close();
-	}
-
-
-	/**
-	 * This method should be called when creating dialogs to test.  This
-	 * ensures that the dialog's parent shell will be that of the
-	 * verification dialog.
-	 * 
-	 * @return Shell The shell of the verification dialog to be used as
-	 * the parent shell of the test dialog.
-	 */
-	public static Shell getShell() {
-		Shell shell =
-			WorkbenchPlugin
-				.getDefault()
-				.getWorkbench()
-				.getActiveWorkbenchWindow()
-				.getShell();
-		_verifyDialog = new VerifyDialog(shell);
-		_verifyDialog.create();
-		return _verifyDialog.getShell();
-	}
-
-
-	/*
-	 * Looks at all the child widgets of a given composite and
-	 * verifies the text on all labels and widgets.
-	 * @param composite The composite to look through
-	 * @param assert The object to invoke assertions on.
-	 */
-	private static void verifyCompositeText(Composite composite, Assert assertion) {
-		Control children[] = composite.getChildren();
-		for (int i = 0; i < children.length; i++) {
-			if (children[i] instanceof TabFolder) {
-				TabFolder folder = (TabFolder)children[i];
-				int numPages = folder.getItemCount();
-				for (int j=0; j<numPages; j++) {
-					folder.setSelection(j);
-				}
-			}
-			try {
-				//verify the text if the child is a button
-				verifyButtonText((Button) children[i], assertion);
-			} catch (ClassCastException exNotButton) {
-				try {
-					//child is not a button, maybe a label
-					verifyLabelText((Label) children[i], assertion);
-				} catch (ClassCastException exNotLabel) {
-					try {
-						//child is not a label, make a recursive call if it is a composite
-						verifyCompositeText((Composite) children[i], assertion);
-					} catch (ClassCastException exNotComposite) {
-						//the child is not a button, label, or composite - ignore it.
-					}
-				}
-			}
-		}
-	}
-	
-	/*
-	 * Verifies that a given button is large enough to display its text.
-	 * @param button The button to verify,
-	 * @param assert The object to invoke assertions on.
-	 */
-	private static void verifyButtonText(Button button, Assert assertion) {
-		String widget = button.toString();
-		Point size = button.getSize();
-
-
-		//compute the size with no line wrapping
-		Point preferred = button.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-		//if (size.y/preferred.y) == X, then label spans X lines, so divide
-		//the calculated value of preferred.x by X
-		if (preferred.y * size.y > 0) {
-			preferred.y /= countLines(button.getText()); //check for '\n\'
-			if (size.y / preferred.y > 1) {
-				preferred.x /= (size.y / preferred.y);
-			}
-		}
-
-
-		String message =
-			new StringBuffer("Warning: ")
-				.append(widget)
-				.append("\n\tActual Width -> ")
-				.append(size.x)
-				.append("\n\tRecommended Width -> ")
-				.append(preferred.x)
-				.toString();
-		if (preferred.x > size.x) {
-			//close the dialog
-			button.getShell().dispose();
-			Assert.assertTrue(message.toString(), false);
-		}
-	}
-	
-	/*
-	 * Verifies that a given label is large enough to display its text.
-	 * @param label The label to verify,
-	 * @param assert The object to invoke assertions on.
-	 */
-	private static void verifyLabelText(Label label, Assert assertion) {
-		String widget = label.toString();
-		Point size = label.getSize();
-
-
-		//compute the size with no line wrapping
-		Point preferred = label.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-		//if (size.y/preferred.y) == X, then label spans X lines, so divide
-		//the calculated value of preferred.x by X
-		if (preferred.y * size.y > 0) {
-			preferred.y /= countLines(label.getText());
-			if (size.y / preferred.y > 1) {
-				preferred.x /= (size.y / preferred.y);
-			}
-		}
-		String message =
-			new StringBuffer("Warning: ")
-				.append(widget)
-				.append("\n\tActual Width -> ")
-				.append(size.x)
-				.append("\n\tRecommended Width -> ")
-				.append(preferred.x)
-				.toString();
-		if (preferred.x > size.x) {
-			//close the dialog
-			label.getShell().dispose();
-			Assert.assertTrue(message.toString(), false);
-		}
-	}
-	
-	/*
-	 * Counts the number of lines in a given String.
-	 * For example, if a string contains one (1) newline character,
-	 * a value of two (2) would be returned.
-	 * @param text The string to look through.
-	 * @return int the number of lines in text.
-	 */
-	private static int countLines(String text) {
-		int newLines = 1;
-		for (int i = 0; i < text.length(); i++) {
-			if (text.charAt(i) == '\n') {
-				newLines++;
-			}
-		}
-		return newLines;
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/EmptyPerspective.java b/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/EmptyPerspective.java
deleted file mode 100644
index 29392e8..0000000
--- a/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/EmptyPerspective.java
+++ /dev/null
@@ -1,58 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.util;
-
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-
-/**
- * This perspective is used for testing api.  It defines an initial
- * layout with no parts, just an editor area.
- */
-public class EmptyPerspective implements IPerspectiveFactory {
-	
-	/**
-	 * The perspective id for the empty perspective.
-	 */
-	public static final String PERSP_ID = "org.eclipse.ui.tests.util.EmptyPerspective";
-	
-	/**
-	 * The perspective id for the second empty perspective.
-	 */
-	public static final String PERSP_ID2 = "org.eclipse.ui.tests.util.EmptyPerspective2";
-	
-	/**
-	 * Constructs a new Default layout engine.
-	 */
-	public EmptyPerspective() {
-		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) {
-	    // do nothing, this is the empty perspective
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/FileUtil.java b/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/FileUtil.java
deleted file mode 100644
index d1e6a5f..0000000
--- a/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/FileUtil.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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.util;
-
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-
-
-/**
- * <code>FileUtil</code> contains methods to create and
- * delete files and projects.
- */
-public class FileUtil {
-
-
-	/**
-	 * Creates a new project.
-	 * 
-	 * @param name the project name
-	 */
-	public static IProject createProject(String name) 
-		throws CoreException
-	{
-		IWorkspace ws = ResourcesPlugin.getWorkspace();
-		IWorkspaceRoot root = ws.getRoot();
-		IProject proj = root.getProject(name);
-		if (!proj.exists())
-			proj.create(null);
-		if (!proj.isOpen())
-			proj.open(null);
-		return proj;
-	}
-
-
-	/**
-	 * Deletes a project.
-	 * 
-	 * @param proj the project
-	 */
-	public static void deleteProject(IProject proj) 
-		throws CoreException
-	{
-		proj.delete(true, null);
-	}
-	
-	/**
-	 * Creates a new file in a project.
-	 * 
-	 * @param name the new file name
-	 * @param proj the existing project
-	 * @return the new file
-	 */
-	public static IFile createFile(String name, IProject proj) 
-		throws CoreException
-	{
-		IFile file = proj.getFile(name);
-		if (!file.exists()) {
-			String str = " ";
-			InputStream in = new ByteArrayInputStream(str.getBytes());
-			file.create(in, true, null);
-		}
-		return file;
-	}
-	
-}
-
-
diff --git a/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/PerspectiveWithFastView.java b/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/PerspectiveWithFastView.java
deleted file mode 100644
index be8fb6e..0000000
--- a/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/PerspectiveWithFastView.java
+++ /dev/null
@@ -1,49 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.util;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-/**
- * This perspective is used for testing api. It defines an initial layout with a
- * fast view.
- */
-public class PerspectiveWithFastView implements IPerspectiveFactory {
-
-	public static String PERSP_ID = "org.eclipse.ui.tests.fastview_perspective"; //$NON-NLS-1$
-
-	/**
-	 * Constructs a new Default layout engine.
-	 */
-	public PerspectiveWithFastView() {
-		super();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IPerspectiveFactory#createInitialLayout(org.eclipse.ui.IPageLayout)
-	 */
-	public void createInitialLayout(IPageLayout layout) {
-		defineLayout(layout);
-	}
-
-	/**
-	 * Define the initial layout by adding a fast view.
-	 * 
-	 * @param layout
-	 *            The page layout.
-	 */
-	public void defineLayout(IPageLayout layout) {
-		layout.addFastView("org.eclipse.ui.views.ResourceNavigator", .8f); //$NON-NLS-1$
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/PlatformUtil.java b/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/PlatformUtil.java
deleted file mode 100644
index 6aee732..0000000
--- a/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/PlatformUtil.java
+++ /dev/null
@@ -1,25 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.util;
-
-import org.eclipse.swt.SWT;
-
-/**
- * The Platform Util class is used to test for which platform we are in
- */
-public class PlatformUtil {
-
-	public static boolean onLinux(){
-		
-		String platform = SWT.getPlatform();
-		return (platform.equals("motif") || platform.equals("gtk"));
-	}
-}
diff --git a/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/UITestCase.java b/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/UITestCase.java
deleted file mode 100644
index e5d4978..0000000
--- a/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/UITestCase.java
+++ /dev/null
@@ -1,242 +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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.util;
-
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWindowListener;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.WorkbenchException;
-
-
-/**
- * <code>UITestCase</code> is a useful super class for most
- * UI tests cases.  It contains methods to create new windows 
- * and pages.  It will also automatically close the test 
- * windows when the tearDown method is called.
- */
-public abstract class UITestCase extends TestCase 
-{
-	class TestWindowListener implements IWindowListener {
-		private boolean enabled = true;
-		
-		public void setEnabled(boolean enabled) {
-			this.enabled = enabled;
-		}
-
-		public void windowActivated(IWorkbenchWindow window) {
-			// do nothing
-		}
-		public void windowDeactivated(IWorkbenchWindow window) {
-			// do nothing
-		}
-
-		public void windowClosed(IWorkbenchWindow window) {
-			if (enabled)
-				testWindows.remove(window);
-		}
-
-		public void windowOpened(IWorkbenchWindow window) {
-			if (enabled)
-				testWindows.add(window);
-		}
-	}
-	
-	protected IWorkbench fWorkbench;
-	private List testWindows;
-	private TestWindowListener windowListener;
-
-
-	public UITestCase(String testName) {
-		super(testName);
-//		ErrorDialog.NO_UI = true;
-		fWorkbench = PlatformUI.getWorkbench();
-		testWindows = new ArrayList(3);
-	}
-
-	/**
-	 * Adds a window listener to the workbench to keep track of
-	 * opened test windows.
-	 */
-	private void addWindowListener() {
-		windowListener = new TestWindowListener();
-		fWorkbench.addWindowListener(windowListener);
-	}
-	
-	/**
-	 * Removes the listener added by <code>addWindowListener</code>. 
-	 */
-	private void removeWindowListener() {
-		if (windowListener != null) {
-			fWorkbench.removeWindowListener(windowListener);
-		}
-	}
-	
-	/**
-	 * Outputs a trace message to the trace output device, if enabled.
-	 * By default, trace messages are sent to <code>System.out</code>.
-	 * 
-	 * @param msg the trace message
-	 */
-	protected void trace(String msg) {
-		System.err.println(msg);
-	}
-
-	/**
-	 * Simple implementation of setUp. Subclasses are prevented 
-	 * from overriding this method to maintain logging consistency.
-	 * doSetUp() should be overriden instead.
-	 */
-	protected final void setUp() throws Exception {
-		trace("----- " + this.getName()); //$NON-NLS-1$
-		trace(this.getName() + ": setUp..."); //$NON-NLS-1$
-		addWindowListener();
-		doSetUp();
-	}
-
-	/**
-	 * Sets up the fixture, for example, open a network connection.
-	 * This method is called before a test is executed.
-	 * The default implementation does nothing.
-	 * Subclasses may extend.
-	 */
-	protected void doSetUp() throws Exception {
-		// do nothing.
-	}
-	
-	/**
-	 * Simple implementation of tearDown.  Subclasses are prevented 
-	 * from overriding this method to maintain logging consistency.
-	 * doTearDown() should be overriden instead.
-	 */
-	protected final void tearDown() throws Exception {
-		trace(this.getName() + ": tearDown...\n"); //$NON-NLS-1$
-		removeWindowListener();
-		doTearDown();
-	}
-	
-	/**
-	 * Tears down the fixture, for example, close a network connection.
-	 * This method is called after a test is executed.
-	 * The default implementation closes all test windows, processing events both before
-	 * and after doing so.
-	 * Subclasses may extend.
-	 */
-	protected void doTearDown() throws Exception {
-		processEvents();
-		closeAllTestWindows();
-		processEvents();
-	}
-
-	protected void processEvents() {
-		Display display = PlatformUI.getWorkbench().getDisplay();
-		if (display != null)
-				while (display.readAndDispatch())
-					;
-	}
-	
-	/** 
-	 * Open a test window with the empty perspective.
-	 */
-	public IWorkbenchWindow openTestWindow() {
-		return openTestWindow(EmptyPerspective.PERSP_ID);
-	}
-	
-	/**
-     * Open a test window with the provided perspective.
-     */
-	public IWorkbenchWindow openTestWindow(String perspectiveId) {
-		try {
-			return 
-				fWorkbench.openWorkbenchWindow(
-					perspectiveId,
-					ResourcesPlugin.getWorkspace());
-		} catch (WorkbenchException e) {
-			fail();
-			return null;
-		}
-	}
-
-
-	/**
-	 * Close all test windows.
-	 */
-	public void closeAllTestWindows() {
-		Iterator iter = new ArrayList(testWindows).iterator();
-		while (iter.hasNext()) {
-			IWorkbenchWindow win = (IWorkbenchWindow) iter.next();
-			win.close();
-		}
-		testWindows.clear();
-	}
-
-
-	/**
-	 * Open a test page with the empty perspective in a window.
-	 */
-	public IWorkbenchPage openTestPage(IWorkbenchWindow win)
-		{
-		IWorkbenchPage[] pages = openTestPage(win, 1);
-		if( pages != null )
-			return pages[0];
-		else
-			return null;
-	}
-
-
-	/**
-	 * Open "n" test pages with the empty perspectie in a window.
-	 */
-	public IWorkbenchPage[] openTestPage(IWorkbenchWindow win, int pageTotal) {		
-		try{
-			IWorkbenchPage[] pages = new IWorkbenchPage[pageTotal];
-			IWorkspace work = ResourcesPlugin.getWorkspace();
-
-			for (int i = 0; i < pageTotal; i++) {
-				pages[i] = win.openPage(EmptyPerspective.PERSP_ID, work);
-			}
-			return pages;
-		}
-		catch( WorkbenchException e )
-		{
-			fail();
-			return null;
-		}		
-	}
-
-
-	/**
-	 * Close all pages within a window.
-	 */
-	public void closeAllPages(IWorkbenchWindow window) {
-		IWorkbenchPage[] pages = window.getPages();
-		for (int i = 0; i < pages.length; i++)
-			pages[i].close();
-	}
-	
-	/**
-	 * Set whether the window listener will manage opening and closing of created windows.
-	 */
-	protected void manageWindows(boolean manage) {
-		windowListener.setEnabled(manage);
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/about.html b/tests/org.eclipse.ui.tests/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/tests/org.eclipse.ui.tests/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/tests/org.eclipse.ui.tests/build.properties b/tests/org.eclipse.ui.tests/build.properties
deleted file mode 100644
index ed29c36..0000000
--- a/tests/org.eclipse.ui.tests/build.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-source.uitests.jar = Eclipse JFace Tests/,\
-                     Eclipse UI Tests/,\
-                     UI Test Utils/
-bin.includes = icons/,\
-               doc/,\
-               data/,\
-               plugin.properties,\
-               plugin.xml,\
-               *.html,\
-               *.jar,\
-               .options,\
-               *.xml,\
-               uiSniff,\
-               uiSniff.bat
-src.includes = about.html
diff --git a/tests/org.eclipse.ui.tests/data/PerspectiveSwitchSourceCode.txt b/tests/org.eclipse.ui.tests/data/PerspectiveSwitchSourceCode.txt
deleted file mode 100644
index f278cf1..0000000
--- a/tests/org.eclipse.ui.tests/data/PerspectiveSwitchSourceCode.txt
+++ /dev/null
@@ -1,422 +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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.util;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashPipe;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-import java.util.Set;
-import java.util.SortedMap;
-import java.util.SortedSet;
-import java.util.TreeMap;
-import java.util.TreeSet;
-
-public final class Util {
-	
-    public final static SortedMap EMPTY_SORTED_MAP = Collections
-            .unmodifiableSortedMap(new TreeMap());
-
-    public final static SortedSet EMPTY_SORTED_SET = Collections
-            .unmodifiableSortedSet(new TreeSet());
-
-    public final static String ZERO_LENGTH_STRING = ""; //$NON-NLS-1$
-
-	/**
-	 * Ensures that a string is not null. Converts null strings into empty
-	 * strings, and leaves any other string unmodified. Use this to help
-	 * wrap calls to methods that return null instead of the empty string.
-	 * Can also help protect against implementation errors in methods that
-	 * are not supposed to return null. 
-	 * 
-	 * @param input input string (may be null)
-	 * @return input if not null, or the empty string if input is null
-	 */
-	public static String safeString(String input) {
-		if (input != null) {
-			return input;
-		}
-		
-		return ZERO_LENGTH_STRING;
-	}
-    
-    public static void assertInstance(Object object, Class c) {
-        assertInstance(object, c, false);
-    }
-
-    public static void assertInstance(Object object, Class c, boolean allowNull) {
-        if (object == null && allowNull) return;
-
-        if (object == null || c == null)
-            throw new NullPointerException();
-        else if (!c.isInstance(object)) throw new IllegalArgumentException();
-    }
-
-    public static int compare(boolean left, boolean right) {
-        return left == false ? (right == true ? -1 : 0) : 1;
-    }
-
-    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(int left, int right) {
-        return left - right;
-    }
-
-    public static int compare(List left, List right) {
-        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 = compare((Comparable) left.get(i),
-                            (Comparable) right.get(i));
-
-                    if (compareTo != 0) return compareTo;
-                }
-
-                return 0;
-            }
-        }
-    }
-
-    public static int compare(Object left, Object right) {
-        if (left == null && right == null)
-            return 0;
-        else if (left == null)
-            return -1;
-        else if (right == null)
-            return 1;
-        else
-            return left.toString().compareTo(right.toString());
-    }
-
-    public static void diff(Map left, Map right, Set leftOnly, Set different,
-            Set rightOnly) {
-        if (left == null || right == null || leftOnly == null
-                || different == null || rightOnly == null)
-                throw new NullPointerException();
-
-        Iterator iterator = left.keySet().iterator();
-
-        while (iterator.hasNext()) {
-            Object key = iterator.next();
-
-            if (!right.containsKey(key))
-                leftOnly.add(key);
-            else if (!Util.equals(left.get(key), right.get(key)))
-                    different.add(key);
-        }
-
-        iterator = right.keySet().iterator();
-
-        while (iterator.hasNext()) {
-            Object key = iterator.next();
-
-            if (!left.containsKey(key)) rightOnly.add(key);
-        }
-    }
-
-    public static void diff(Set left, Set right, Set leftOnly, Set rightOnly) {
-        if (left == null || right == null || leftOnly == null
-                || rightOnly == null) throw new NullPointerException();
-
-        Iterator iterator = left.iterator();
-
-        while (iterator.hasNext()) {
-            Object object = iterator.next();
-
-            if (!right.contains(object)) leftOnly.add(object);
-        }
-
-        iterator = right.iterator();
-
-        while (iterator.hasNext()) {
-            Object object = iterator.next();
-
-            if (!left.contains(object)) rightOnly.add(object);
-        }
-    }
-
-    public static boolean endsWith(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(l - i - 1), right.get(r - i - 1)))
-                        return false;
-
-            return true;
-        }
-    }
-
-    public static boolean endsWith(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[l - i - 1], right[r - i - 1])) return false;
-
-            return true;
-        }
-    }
-
-    public static boolean equals(boolean left, boolean right) {
-        return left == right;
-    }
-
-    public static boolean equals(int left, int right) {
-        return left == right;
-    }
-
-    public static boolean equals(Object left, Object right) {
-        return left == null ? right == null : ((right != null) && left
-                .equals(right));
-    }
-
-    public static int hashCode(boolean b) {
-        return b ? Boolean.TRUE.hashCode() : Boolean.FALSE.hashCode();
-    }
-
-    public static int hashCode(int i) {
-        return i;
-    }
-
-    public static int hashCode(Object object) {
-        return object != null ? object.hashCode() : 0;
-    }
-
-    public static Collection safeCopy(Collection collection, Class c) {
-        return safeCopy(collection, c, false);
-    }
-
-    public static Collection safeCopy(Collection collection, Class c,
-            boolean allowNullElements) {
-        if (collection == null || c == null) throw new NullPointerException();
-
-        collection = Collections.unmodifiableCollection(new ArrayList(collection));
-        Iterator iterator = collection.iterator();
-
-        while (iterator.hasNext())
-            assertInstance(iterator.next(), c, allowNullElements);
-
-        return collection;
-    }
-
-    public static List safeCopy(List list, Class c) {
-        return safeCopy(list, c, false);
-    }
-
-    public static List safeCopy(List list, Class c, boolean allowNullElements) {
-        if (list == null || c == null) throw new NullPointerException();
-
-        list = Collections.unmodifiableList(new ArrayList(list));
-        Iterator iterator = list.iterator();
-
-        while (iterator.hasNext())
-            assertInstance(iterator.next(), c, allowNullElements);
-
-        return list;
-    }
-
-    public static Map safeCopy(Map map, Class keyClass, Class valueClass) {
-        return safeCopy(map, keyClass, valueClass, false, false);
-    }
-
-    public static Map safeCopy(Map map, Class keyClass, Class valueClass,
-            boolean allowNullKeys, boolean allowNullValues) {
-        if (map == null || keyClass == null || valueClass == null)
-                throw new NullPointerException();
-
-        map = Collections.unmodifiableMap(new HashMap(map));
-        Iterator iterator = map.entrySet().iterator();
-
-        while (iterator.hasNext()) {
-            Map.Entry entry = (Map.Entry) iterator.next();
-            assertInstance(entry.getKey(), keyClass, allowNullKeys);
-            assertInstance(entry.getValue(), valueClass, allowNullValues);
-        }
-
-        return map;
-    }
-
-    public static Set safeCopy(Set set, Class c) {
-        return safeCopy(set, c, false);
-    }
-
-    public static Set safeCopy(Set set, Class c, boolean allowNullElements) {
-        if (set == null || c == null) throw new NullPointerException();
-
-        set = Collections.unmodifiableSet(new HashSet(set));
-        Iterator iterator = set.iterator();
-
-        while (iterator.hasNext())
-            assertInstance(iterator.next(), c, allowNullElements);
-
-        return set;
-    }
-
-    public static SortedMap safeCopy(SortedMap sortedMap, Class keyClass,
-            Class valueClass) {
-        return safeCopy(sortedMap, keyClass, valueClass, false, false);
-    }
-
-    public static SortedMap safeCopy(SortedMap sortedMap, Class keyClass,
-            Class valueClass, boolean allowNullKeys, boolean allowNullValues) {
-        if (sortedMap == null || keyClass == null || valueClass == null)
-                throw new NullPointerException();
-
-        sortedMap = Collections.unmodifiableSortedMap(new TreeMap(sortedMap));
-        Iterator iterator = sortedMap.entrySet().iterator();
-
-        while (iterator.hasNext()) {
-            Map.Entry entry = (Map.Entry) iterator.next();
-            assertInstance(entry.getKey(), keyClass, allowNullKeys);
-            assertInstance(entry.getValue(), valueClass, allowNullValues);
-        }
-
-        return sortedMap;
-    }
-
-    public static SortedSet safeCopy(SortedSet sortedSet, Class c) {
-        return safeCopy(sortedSet, c, false);
-    }
-
-    public static SortedSet safeCopy(SortedSet sortedSet, Class c,
-            boolean allowNullElements) {
-        if (sortedSet == null || c == null) throw new NullPointerException();
-
-        sortedSet = Collections.unmodifiableSortedSet(new TreeSet(sortedSet));
-        Iterator iterator = sortedSet.iterator();
-
-        while (iterator.hasNext())
-            assertInstance(iterator.next(), c, allowNullElements);
-
-        return sortedSet;
-    }
-
-    public static boolean startsWith(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 boolean startsWith(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 String translateString(ResourceBundle resourceBundle,
-            String key) {
-        return Util.translateString(resourceBundle, key, key, true, true);
-    }
-
-    public static String translateString(ResourceBundle resourceBundle,
-            String key, String string, boolean signal, boolean trim) {
-        if (resourceBundle != null && key != null)
-                try {
-                    final String translatedString = resourceBundle
-                            .getString(key);
-
-                    if (translatedString != null)
-                            return trim ? translatedString.trim()
-                                    : translatedString;
-                } catch (MissingResourceException eMissingResource) {
-                    if (signal) System.err.println(eMissingResource);
-                }
-
-        return trim ? string.trim() : string;
-    }
-
-    private Util() {
-    }
-}
diff --git a/tests/org.eclipse.ui.tests/data/dragtests.xml b/tests/org.eclipse.ui.tests/data/dragtests.xml
deleted file mode 100644
index ac51c86..0000000
--- a/tests/org.eclipse.ui.tests/data/dragtests.xml
+++ /dev/null
@@ -1,143 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dragtests>
-<test name="drag Problems folder to center of Problems" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag Problems folder to Problems view tab area" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag Problems folder to right of editor area" result="layout ((*Navigator)|(layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2))|active (*Outline, Problems, Properties)))"/>
-<test name="drag Problems folder to right of Problems" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag editor 2 folder to left of window" result="layout (((*Navigator)|layout (active (*Mock Editor 2)|(Mock Editor 1, *Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag Navigator folder to bottom of window" result="layout ((layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2))-(*Outline, Problems, Properties))-active (*Navigator))"/>
-<test name="drag editor 0 to top of window" result="layout (((*Navigator)|layout (active (*Mock Editor 1)-((*Mock Editor 2)|(*Mock Editor 2))))-(*Outline, Problems, Properties))"/>
-<test name="drag Navigator to bottom of Navigator" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag Problems to left of editor area" result="layout (((*Navigator)|(active (*Problems)|layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2))))-(*Outline, Properties))"/>
-<test name="drag Problems to top of editor area" result="layout (((*Navigator)|(active (*Problems)-layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2))))-(*Outline, Properties))"/>
-<test name="drag editor 0 to top of editor 2" result="layout (((*Navigator)|layout ((*Mock Editor 2)|(active (*Mock Editor 1)-(*Mock Editor 2))))-(*Outline, Problems, Properties))"/>
-<test name="drag editor 0 folder to bottom of editor 2" result="layout (((*Navigator)|layout ((*Mock Editor 2)-active (Mock Editor 1, *Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag Problems folder to left of editor area" result="layout ((*Navigator)|(active (*Outline, Problems, Properties)|layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2))))"/>
-<test name="drag Problems to top of Navigator" result="layout (((active (*Problems)-(*Navigator))|layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2)))-(*Outline, Properties))"/>
-<test name="drag editor 2 folder to center of editor 0" result="layout (((*Navigator)|layout active (Mock Editor 1, Mock Editor 2, *Mock Editor 2))-(*Outline, Problems, Properties))"/>
-<test name="drag Navigator folder to top of Navigator" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag editor 0 to bottom of window" result="layout (((*Navigator)|layout (((*Mock Editor 2)|(*Mock Editor 2))-active (*Mock Editor 1)))-(*Outline, Problems, Properties))"/>
-<test name="drag Problems folder to bottom of window" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2)))-active (*Outline, Problems, Properties))"/>
-<test name="drag editor 2 folder to left of editor 2" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag Navigator folder to top of editor area" result="layout ((active (*Navigator)-layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag editor 2 folder to bottom of editor 2" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag editor 0 folder to right of editor 0" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag Navigator to fast view bar" result="fastviews (Navigator), layout (layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2))-(*Outline, Problems, Properties))"/>
-<test name="drag Problems to right of Navigator" result="layout ((((*Navigator)|active (*Problems))|layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2)))-(*Outline, Properties))"/>
-<test name="drag Navigator folder to left of editor area" result="layout ((active (*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag Navigator to center of Problems" result="layout (layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2))-active (Outline, Problems, Properties, *Navigator))"/>
-<test name="drag editor 2 folder to center of editor 2" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag Problems folder to bottom of Navigator" result="layout (((*Navigator)-active (*Outline, Problems, Properties))|layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2)))"/>
-<test name="drag editor 0 folder to left of editor 0" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag Navigator folder to center of Navigator" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag editor 0 folder to left of window" result="layout (((*Navigator)|layout (active (Mock Editor 1, *Mock Editor 2)|(*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag editor 0 to bottom of editor 2" result="layout (((*Navigator)|layout ((*Mock Editor 2)|((*Mock Editor 2)-active (*Mock Editor 1))))-(*Outline, Problems, Properties))"/>
-<test name="drag Navigator to top of editor area" result="layout ((active (*Navigator)-layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag editor 2 folder to left of editor 0" result="layout (((*Navigator)|layout (active (*Mock Editor 2)|(Mock Editor 1, *Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag editor 2 to right of editor 2" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag Navigator folder to right of window" result="layout ((layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2))-(*Outline, Problems, Properties))|active (*Navigator))"/>
-<test name="drag editor 0 to center of Navigator" result="layout (((*Navigator)|layout (active (*Mock Editor 1)|((*Mock Editor 2)|(*Mock Editor 2))))-(*Outline, Problems, Properties))"/>
-<test name="drag editor 0 folder to center of Navigator" result="layout (((*Navigator)|layout (active (Mock Editor 1, *Mock Editor 2)|(*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag editor 0 to center of editor 2" result="layout (((*Navigator)|layout ((*Mock Editor 2)|active (Mock Editor 2, *Mock Editor 1)))-(*Outline, Problems, Properties))"/>
-<test name="drag editor 2 to left of editor 0" result="layout (((*Navigator)|layout (active (*Mock Editor 2)|(Mock Editor 1, *Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag editor 0 to right of window" result="layout (((*Navigator)|layout (((*Mock Editor 2)|(*Mock Editor 2))|active (*Mock Editor 1)))-(*Outline, Problems, Properties))"/>
-<test name="drag Navigator to bottom of window" result="layout ((layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2))-(*Outline, Problems, Properties))-active (*Navigator))"/>
-<test name="drag Navigator folder to bottom of Problems" result="layout (layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2))-((*Outline, Problems, Properties)-active (*Navigator)))"/>
-<test name="drag Problems to bottom of Navigator" result="layout ((((*Navigator)-active (*Problems))|layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2)))-(*Outline, Properties))"/>
-<test name="drag Problems folder to center of Navigator" result="layout (active (Navigator, *Outline, Problems, Properties)|layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2)))"/>
-<test name="drag maximized Navigator folder to right of editor area" result="layout ((layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2))|active (*Navigator))-(*Outline, Problems, Properties))"/>
-<test name="drag editor 2 to center of editor 2" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag editor 2 folder to right of editor 0" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag editor 0 to bottom of editor 0" result="layout (((*Navigator)|layout (((*Mock Editor 2)-active (*Mock Editor 1))|(*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag Problems to bottom of Problems" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2)))-((*Outline, Properties)-active (*Problems)))"/>
-<test name="drag editor 2 to center of editor 0" result="layout (((*Navigator)|layout active (Mock Editor 1, Mock Editor 2, *Mock Editor 2))-(*Outline, Problems, Properties))"/>
-<test name="drag editor 0 to center of editor 0" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag editor 0 to right of editor 0" result="layout (((*Navigator)|layout (((*Mock Editor 2)|active (*Mock Editor 1))|(*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag Navigator folder to Navigator view tab area" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag Navigator to right of editor area" result="layout ((layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2))|active (*Navigator))-(*Outline, Problems, Properties))"/>
-<test name="drag editor 2 folder to center of Navigator" result="layout (((*Navigator)|layout (active (*Mock Editor 2)|(Mock Editor 1, *Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag editor 0 folder to top of editor 2" result="layout (((*Navigator)|layout (active (Mock Editor 1, *Mock Editor 2)-(*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag maximized Problems to right of editor area" result="layout (((*Navigator)|(layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2))|active (*Problems)))-(*Outline, Properties))"/>
-<test name="drag Problems to right of Problems" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2)))-((*Outline, Properties)|active (*Problems)))"/>
-<test name="drag editor 2 to right of window" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag editor 0 folder to right of window" result="layout (((*Navigator)|layout ((*Mock Editor 2)|active (Mock Editor 1, *Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag editor 2 folder to top of window" result="layout (((*Navigator)|layout (active (*Mock Editor 2)-(Mock Editor 1, *Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag Problems folder to top of editor area" result="layout ((*Navigator)|(active (*Outline, Problems, Properties)-layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2))))"/>
-<test name="drag Navigator folder to right of Navigator" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag editor 0 to left of editor 2" result="layout (((*Navigator)|layout ((*Mock Editor 2)|(active (*Mock Editor 1)|(*Mock Editor 2))))-(*Outline, Problems, Properties))"/>
-<test name="drag Problems folder to Navigator view tab area" result="layout ((active (*Outline, Problems, Properties)|(*Navigator))|layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2)))"/>
-<test name="drag editor 2 to top of window" result="layout (((*Navigator)|layout (active (*Mock Editor 2)-(Mock Editor 1, *Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag Navigator to left of editor area" result="layout ((active (*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag Problems folder to left of Problems" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag Problems folder to bottom of editor area" result="layout ((*Navigator)|(layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2))-active (*Outline, Problems, Properties)))"/>
-<test name="drag editor 2 folder to right of editor 2" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag editor 2 folder to bottom of window" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)-active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag editor 0 to right of editor 2" result="layout (((*Navigator)|layout ((*Mock Editor 2)|((*Mock Editor 2)|active (*Mock Editor 1))))-(*Outline, Problems, Properties))"/>
-<test name="drag Navigator to left of Problems" result="layout (layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2))-(active (*Navigator)|(*Outline, Problems, Properties)))"/>
-<test name="drag editor 2 to left of window" result="layout (((*Navigator)|layout (active (*Mock Editor 2)|(Mock Editor 1, *Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag Navigator folder to left of Navigator" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag Navigator to top of Navigator" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag Navigator folder to left of window" result="layout (active (*Navigator)|(layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2))-(*Outline, Problems, Properties)))"/>
-<test name="drag Problems to center of Navigator" result="layout ((active (Navigator, *Problems)|layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2)))-(*Outline, Properties))"/>
-<test name="drag Problems folder to top of window" result="layout (active (*Outline, Problems, Properties)-((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2))))"/>
-<test name="drag Problems to left of Problems" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2)))-(active (*Problems)|(*Outline, Properties)))"/>
-<test name="drag Navigator to bottom of editor area" result="layout ((layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2))-active (*Navigator))-(*Outline, Problems, Properties))"/>
-<test name="drag Navigator to right of window" result="layout ((layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2))-(*Outline, Problems, Properties))|active (*Navigator))"/>
-<test name="drag editor 0 to left of editor 0" result="layout (((*Navigator)|layout ((active (*Mock Editor 1)|(*Mock Editor 2))|(*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag Problems to fast view bar" result="fastviews (Problems), layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Properties))"/>
-<test name="drag Problems folder to left of Navigator" result="layout ((active (*Outline, Problems, Properties)|(*Navigator))|layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2)))"/>
-<test name="drag Navigator to top of window" result="layout (active (*Navigator)-(layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2))-(*Outline, Problems, Properties)))"/>
-<test name="drag Problems folder to left of window" result="layout (active (*Outline, Problems, Properties)|((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2))))"/>
-<test name="drag editor 0 folder to left of editor 2" result="layout (((*Navigator)|layout (active (Mock Editor 1, *Mock Editor 2)|(*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag Problems to bottom of editor area" result="layout (((*Navigator)|(layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2))-active (*Problems)))-(*Outline, Properties))"/>
-<test name="drag editor 2 to right of editor 0" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag maximized Navigator to right of editor area" result="layout ((layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2))|active (*Navigator))-(*Outline, Problems, Properties))"/>
-<test name="drag Problems folder to fast view bar" result="fastviews (Outline, Problems, Properties), layout ((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))"/>
-<test name="drag Problems folder to top of Navigator" result="layout ((active (*Outline, Problems, Properties)-(*Navigator))|layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2)))"/>
-<test name="drag editor 0 folder to center of editor 2" result="layout (((*Navigator)|layout active (Mock Editor 2, Mock Editor 1, *Mock Editor 2))-(*Outline, Problems, Properties))"/>
-<test name="drag Problems to left of Navigator" result="layout (((active (*Problems)|(*Navigator))|layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2)))-(*Outline, Properties))"/>
-<test name="drag Navigator folder to fast view bar" result="fastviews (Navigator), layout (layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2))-(*Outline, Problems, Properties))"/>
-<test name="drag Navigator folder to right of Problems" result="layout (layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2))-((*Outline, Problems, Properties)|active (*Navigator)))"/>
-<test name="drag Navigator to center of Navigator" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag Navigator folder to top of window" result="layout (active (*Navigator)-(layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2))-(*Outline, Problems, Properties)))"/>
-<test name="drag Navigator folder to center of Problems" result="layout (layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2))-active (Outline, Problems, Properties, *Navigator))"/>
-<test name="drag editor 2 to left of editor 2" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag Navigator to right of Navigator" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag editor 0 folder to bottom of window" result="layout (((*Navigator)|layout ((*Mock Editor 2)-active (Mock Editor 1, *Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag maximized Problems folder to right of editor area" result="layout ((*Navigator)|(layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2))|active (Outline, *Problems, Properties)))"/>
-<test name="drag editor 0 folder to top of window" result="layout (((*Navigator)|layout (active (Mock Editor 1, *Mock Editor 2)-(*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag editor 0 folder to right of editor 2" result="layout (((*Navigator)|layout ((*Mock Editor 2)|active (Mock Editor 1, *Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag editor 2 to center of Navigator" result="layout (((*Navigator)|layout (active (*Mock Editor 2)|(Mock Editor 1, *Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag editor 2 folder to top of editor 2" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag Problems folder to right of window" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2)))|active (*Outline, Problems, Properties))"/>
-<test name="drag Navigator folder to left of Problems" result="layout (layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2))-(active (*Navigator)|(*Outline, Problems, Properties)))"/>
-<test name="drag Problems folder to bottom of Problems" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag Problems folder to right of Navigator" result="layout (((*Navigator)|active (*Outline, Problems, Properties))|layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2)))"/>
-<test name="drag Navigator to left of window" result="layout (active (*Navigator)|(layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2))-(*Outline, Problems, Properties)))"/>
-<test name="drag Navigator to Problems view tab area" result="layout (layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2))-active (Outline, Problems, Properties, *Navigator))"/>
-<test name="drag editor 2 folder to right of window" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag editor 0 folder to center of editor 0" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag Problems to top of window" result="layout (active (*Problems)-(((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2)))-(*Outline, Properties)))"/>
-<test name="drag Navigator folder to Problems view tab area" result="layout (layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2))-(active (*Navigator)|(*Outline, Problems, Properties)))"/>
-<test name="drag Problems to left of window" result="layout (active (*Problems)|(((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2)))-(*Outline, Properties)))"/>
-<test name="drag Navigator to right of Problems" result="layout (layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2))-((*Outline, Problems, Properties)|active (*Navigator)))"/>
-<test name="drag Problems to center of Problems" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag editor 2 to bottom of editor 0" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)-active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag Problems to right of editor area" result="layout (((*Navigator)|(layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2))|active (*Problems)))-(*Outline, Properties))"/>
-<test name="drag editor 0 to left of window" result="layout (((*Navigator)|layout (active (*Mock Editor 1)|((*Mock Editor 2)|(*Mock Editor 2))))-(*Outline, Problems, Properties))"/>
-<test name="drag Navigator to Navigator view tab area" result="layout ((active (*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag editor 2 folder to bottom of editor 0" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)-active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag Navigator folder to bottom of editor area" result="layout ((layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2))-active (*Navigator))-(*Outline, Problems, Properties))"/>
-<test name="drag Navigator folder to bottom of Navigator" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag Navigator to bottom of Problems" result="layout (layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2))-((*Outline, Problems, Properties)-active (*Navigator)))"/>
-<test name="drag Navigator to left of Navigator" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag Navigator folder to right of editor area" result="layout ((layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2))|active (*Navigator))-(*Outline, Problems, Properties))"/>
-<test name="drag editor 2 to top of editor 2" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag editor 2 to bottom of editor 2" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag Problems to Problems view tab area" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2)))-active (Outline, Properties, *Problems))"/>
-<test name="drag Problems to bottom of window" result="layout ((((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2)))-(*Outline, Properties))-active (*Problems))"/>
-<test name="drag Problems to right of window" result="layout ((((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2)))-(*Outline, Properties))|active (*Problems))"/>
-<test name="drag Problems to Navigator view tab area" result="layout ((active (Navigator, *Problems)|layout ((Mock Editor 1, *Mock Editor 2)|active_nofocus (*Mock Editor 2)))-(*Outline, Properties))"/>
-<test name="drag editor 2 to bottom of window" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)-active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-<test name="drag editor 0 folder to bottom of editor 0" result="layout (((*Navigator)|layout ((Mock Editor 1, *Mock Editor 2)|active (*Mock Editor 2)))-(*Outline, Problems, Properties))"/>
-</dragtests>
diff --git a/tests/org.eclipse.ui.tests/data/org.eclipse.newPerspective1/.classpath b/tests/org.eclipse.ui.tests/data/org.eclipse.newPerspective1/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/tests/org.eclipse.ui.tests/data/org.eclipse.newPerspective1/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/tests/org.eclipse.ui.tests/data/org.eclipse.newPerspective1/.project b/tests/org.eclipse.ui.tests/data/org.eclipse.newPerspective1/.project
deleted file mode 100644
index 84122ef..0000000
--- a/tests/org.eclipse.ui.tests/data/org.eclipse.newPerspective1/.project
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.newPerspective1</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.core.runtime.compatibility</project>
-		<project>org.eclipse.ui</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.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/tests/org.eclipse.ui.tests/data/org.eclipse.newPerspective1/plugin.xml b/tests/org.eclipse.ui.tests/data/org.eclipse.newPerspective1/plugin.xml
deleted file mode 100644
index 60d7a23..0000000
--- a/tests/org.eclipse.ui.tests/data/org.eclipse.newPerspective1/plugin.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="newPerspective1"
-   name="NewPerspective One Plug-in"
-   version="1.0.0"
-   provider-name="">
-
-   <runtime>
-      <library name="newPerspective1.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.core.runtime.compatibility" optional="true"/>
-   </requires>
-
-
-   <extension
-         point="org.eclipse.ui.perspectives" id="testDynamicPerspectiveAddition">
-      <perspective
-            name="NewPerspective1"
-            class="org.eclipse.newPerspective1.NewPerspective1"
-            id="org.eclipse.newPerspective1.newPerspective1">
-      </perspective>
-   </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.ui.tests/data/org.eclipse.newView1/plugin.xml b/tests/org.eclipse.ui.tests/data/org.eclipse.newView1/plugin.xml
deleted file mode 100644
index 7232315..0000000
--- a/tests/org.eclipse.ui.tests/data/org.eclipse.newView1/plugin.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="newView1"
-   name="New View One Plug-In"
-   version="3.0.0"
-   provider-name="">
-
-   <runtime>
-      <library name="newView1.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.core.runtime.compatibility" optional="true"/>
-   </requires>
-
-   <extension
-         point="org.eclipse.ui.views" id="testDynamicViewAddition">
-      <view
-            name="NewView1"
-            class="org.eclipse.newView1.newView1"
-            id="org.eclipse.newView1.newView1">
-     </view>
-   </extension>
-</plugin>
diff --git a/tests/org.eclipse.ui.tests/doc/Introduction.html b/tests/org.eclipse.ui.tests/doc/Introduction.html
deleted file mode 100644
index 0440e61..0000000
--- a/tests/org.eclipse.ui.tests/doc/Introduction.html
+++ /dev/null
@@ -1,133 +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="Mozilla/4.5 [en] (WinNT; I) [Netscape]">
-   <title>The Workbench Test Framework</title>
-</head>
-<body>
-
-<h2>
-The Workbench Test Suite</h2>
-Dave Springgay
-<br>September 2001
-<h3>
-In Brief</h3>
-This document describes the UI Test Suite.&nbsp; This test suite is available
-from <tt>org.eclipse.ui.tests</tt> in the desktop repository and consist
-of a series of non-interactive sniff tests which are run after a build,
-plus a set of interactive tests which require human feedback.&nbsp; You
-can run any of these from the JUnit Eclipse Plugin Tests launcher or from
-the command line.
-<p>The <tt>org.eclipse.ui.tests</tt> project is organized in hierarchical
-fashion.&nbsp; The root is <tt>UiTestSuite</tt> in <tt>org.eclipse.ui.tests</tt>.&nbsp;
-This test suite contains a collection of "specialized suites" which test
-specific areas of functionality or components in the workbench.&nbsp; Currently
-there is only one suite, <tt>ApiTestSuite
-</tt>in<tt> org.eclipse.ui.tests.api</tt>,
-which contains a number of test cases which deal specifically with workbench
-API.&nbsp; A <tt>uiTest</tt> extension is declared for each suite so that
-you can run every test in the workbench or a subset of the tests.
-<p>To run the UiTestSuite from within Eclipse just select UiTestSuite.java
-in the navigator and invoke Run > JUnit Eclipse Plugin Tests.&nbsp; The
-results of the test suite will appear in the JUnit view.
-<h3>
-Automated Sniff Tests</h3>
-The following process is used to run the workbench UI sniff tests after
-a build.
-<p>To create the sniff test files ..
-<ol>
-<li>
-Export the 4 test projects into a zip file.&nbsp; The options in the export
-wizard should be set to "Compress the contents of the file" and not "Create
-directory Structure".</li>
-</ol>
-To run the sniff tests in a fresh build of Eclipse ..
-<ol>
-<li>
-Unzip the zip file in the Eclipse plugins directory.</li>
-
-<li>
-On Windows copy uiSniff.bat in the org.eclipse.ui.tests plugin directory
-to the Eclipse home directory.&nbsp; On Linux copy uiSniff instead.</li>
-
-<li>
-Run uiSniff.bat ( or uiSniff ).&nbsp; Redirect the results into a file.</li>
-</ol>
-
-<h3>
-Test Patterns</h3>
-In our own testing we have discovered a number of common test patterns.&nbsp;
-In order to encourage a consistent approach for testing they are published
-below.
-<p><b>Simple Setters, Getters and Commands</b>
-<p>Scenario: You want to test setters, commands and getters on an interface.
-<p>Method: Call the setter or command which affects the object state.&nbsp;
-Call the getter to verify that state.
-<p><b>Top Down Coverage</b>
-<p>Scenario: You want to demonstrate thorough coverage of a component.
-<p>Method: Start at the object root of the instance hierarchy and test
-every class downwards to the leaf classes.&nbsp; Stop when you encounter
-a layer which already has JUnit test cases.&nbsp; For instance, in the
-workbench UI don't test JFace, SWT, or core.&nbsp; They should have their
-own test suites and are assumed to work.
-<p><b>Superclass Subclass</b>
-<p>Scenario: You want to test D, which is a subclass of B.
-<p>Method: Implement a test case for B called BTest.&nbsp; Then create
-a subclass of BTest called DTest which tests D.&nbsp; If B is an abstract
-class use a factory method in BTest to create the test object.
-<p><b>Listener Source</b>
-<p>Scenario: You want to test S, a class which fires events when a particular
-situation occurs.
-<p>Method: Implement a listener for S which records the reception of events.
-Then write a test class for S called STest which does something which should
-cause those events to fire.&nbsp; Verify the reception of events afterwards.
-<p><b>Multiple Session</b>
-<p>Scenario: You want to test the persistance of state from one session
-to the next.
-<p>Method: You need to create two test suites.&nbsp; One test suite will
-set up the state.&nbsp; The other will verify the state.&nbsp; Run them
-sequentially in two separate processes.
-<p><b>Global State</b>
-<p>Scenario: In Eclipse the workbench is a global object.&nbsp; Unfortunately,
-this means that one test case may modify that state and affect the outcome
-of another unrelated test case.&nbsp; How can you avoid this problem?
-<p>Method: If the test case modifies the state of a window or something
-in the window you should create a new window as part of the setUp for the
-test case.&nbsp; Run the test code within that window and then close the
-test window in the tearDown method.&nbsp; The modified state will be discarded
-when the window is closed
-<p><b>Lifecycle</b>
-<p>Scenario: Within the workbench there are various interfaces, such as
-IViewPart, which are defined as API and implemented by plugin code.&nbsp;
-There is no need to test the implementation of the interface, but it is
-good to test the lifecycle as implemented by objects which call the interface.
-<p>Method: Define a class X which implements the interface and records
-the invocation of various methods.&nbsp; Create a scenario where this class
-is loaded and should receive events.&nbsp; Afterwards, test that those
-methods were called.
-<p><b>Piercing the Encapsulation</b>
-<p>Scenario: To test the behavior of commands which modify the state of
-the object when there are no public interfaces to query that state.
-<p>Method: If possible, cast the interface to a concrete class with additional
-public methods.&nbsp; For instance, in the workbench the underlying structure
-for IWorkbench is exposed in Workbench.&nbsp; Given a Workbench object,
-you can get the menu, toolbar, etc, and interact directly with the actions
-to verify their state or invoke them directly.&nbsp; This is also a useful
-way to simulate action invocation from the UI.
-<p><b>Mock Objects</b>
-<p>Scenario: To test the implementation of an interface which instantiates
-an extension.&nbsp; For instance, in the test case for IWorkbenchPage we
-need to open views and editors.
-<p>Method: If we reference views and editors which exist within the Workbench
-UI Standard Components project the test case is vulnerable to change in
-those components.&nbsp; In this case we're not testing the components,
-we're testing IWorkbenchPage, so we implemented some light weight mock
-views and editors which do nothing more than record their own creation
-and lifecycle.
-<br>&nbsp;
-<br>&nbsp;
-<br>&nbsp;
-</body>
-</html>
diff --git a/tests/org.eclipse.ui.tests/doc/JUnitPractices.html b/tests/org.eclipse.ui.tests/doc/JUnitPractices.html
deleted file mode 100644
index 16e0b05..0000000
--- a/tests/org.eclipse.ui.tests/doc/JUnitPractices.html
+++ /dev/null
@@ -1,118 +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>The Workbench Test Framework</title>
-</head>
-<body>
-
-<h3>
-Plugin Test Practices</h3>
-In our own testing we have discovered a number of common test patterns.&nbsp;
-In order to encourage a consistent approach for testing they are published
-below.
-<p><b>Setters, Getters and Commands</b>
-<p>Scenario: You want to test setters, getters, and commands in an interface.
-<p>Method: Call the setter or command which affects the object state.&nbsp;
-Call the getter to verify that state.&nbsp; If you can't see this state
-see to "Piercing an Interface".
-<p><b>Subclass Superclass</b>
-<p>Scenario: You want to test D, which is a subclass of B.
-<p>Method: Implement a test case for B called BTest.&nbsp; Then create
-a subclass of BTest called DTest which tests D the additional methods on
-D.&nbsp; Add a factory method to BTest to create any required test objects
-which may be specific to the test case and override it in DTest.&nbsp;
-When this approach is taken you inherit all of the BTest methods within
-the subclass DTest.
-<p><b>Event Notification</b>
-<p>Scenario: You want to test Source, a class which fires events when a
-particular situation occurs.
-<p>Method: Implement a listener for Source which can record the reception
-of events. Then write a test class for Source called SourceTest which does
-something which should cause those events to fire.&nbsp; Verify the reception
-of events afterwards.
-<p>Additional Tips: The CallHistory class in org.eclipse.ui.tests.util can
-be used to record the methods invoked in a target object.&nbsp; If the
-listener can be added then test the removal of the listener also.&nbsp;
-Make sure that events are not received after the listener has been removed.
-<p><b>Avoiding Global State</b>
-<p>Scenario: In Eclipse the workbench is a global object.&nbsp; Unfortunately,
-this means that one test case may modify that state of the workbench and
-affect the outcome of other unrelated test cases.&nbsp; How can you avoid
-this problem?
-<p>Method: If the test case modifies the state of a window or something
-in the window you should create a new window as part of the setUp for the
-test case.&nbsp; Run the test code within that window and then close the
-test window in the tearDown method.&nbsp; The modified state will be discarded
-when the window is closed.
-<p>Additional Tips: The UITestCase class in org.eclipse.ui.tests.util can
-be used as a superclass for your test case.&nbsp; It provides useful methods
-for the creation of new windows, pages, etc, and their disposal.
-<p><b>Piercing the Encapsulation</b>
-<p>Scenario: To test the behavior of commands which modify the state of
-the object when there are no public interfaces to query that state.
-<p>Method: If possible, cast the interface to a concrete class with additional
-public methods.&nbsp; For instance, in the workbench the underlying structure
-for IWorkbench is exposed in Workbench.&nbsp; Given a Workbench object,
-you can get the menu, toolbar, etc, and interact directly with those objects
-to verify their state or invoke them directly.
-<p>Additional Tips: The ActionUtil class in org.eclipse.ui.tests.util can
-be used to invoke actions within a window or menu manager.
-<p><b>Extension Creation</b>
-<p>Scenario: You want to test the creation of an extension.&nbsp; For instance,
-the IWorkbenchPage has a method called openEditor which creates an editor
-extension, and another called showView which creates a view extension.&nbsp;
-How do you test these?
-<p>Method: Obviously we can test these methods by invoking them.&nbsp;
-However, each of them take an editor or view id.&nbsp; Which id's do we
-use?&nbsp; If we reference views and editors which exist within the Workbench
-UI Standard Components project the test case is vulnerable to change in
-those components.&nbsp; But we're not testing those standard components,
-we're actually testing IWorkbenchPage, so it is better to implement some
-light weight mock views and editors which do nothing more than record their
-own creation and lifecycle.
-<p><b>Extension Lifecycle</b>
-<p>Scenario: Within the workbench there are various interfaces, such as
-IViewPart, which are defined as API and implemented by plugin code.&nbsp;
-There is no need to test the implementation of an interface like this if
-you define it and expect others to implement it.&nbsp; However, it is important
-to test the lifecycle of the object as implemented by those objects which
-create and call the interface implementation.
-<p>Method: Define a class X which implements the interface and records
-the invocation of various methods.&nbsp; Create a scenario where this class
-is instantiated and should receive events.&nbsp; Afterwards, test that
-those methods were called.
-<p>Additional Tips: The CallHistory class in org.eclipse.ui.tests.util can
-be used to record the methods invoked in a target object.
-<p><b>Session Persistence</b>
-<p>Scenario: You want to test the persistence of state from one session
-to the next.
-<p>Method: You need to create two test cases.&nbsp; One test case will
-set up the state.&nbsp; The other will verify the state.&nbsp; Run them
-sequentially in two separate processes.
-<p><b>Testing Mixins</b>
-<p>Scenario: Within the workbench there are many classes which implement
-a particular interface.&nbsp; Given the responsability defined by the class
-and the interfaces separately, how do you organize the test cases?
-<p>Method: You may choose to use a one to one rule of thumb.&nbsp; Create
-one test case class for each class or interface in the mixin.&nbsp; This
-hierarchical separation makes it easier to reuse each test case when an
-interface is implemented by more than one class.&nbsp; It also simplifies
-the accounting required to track which test cases have been written.
-<p><b>Where Do I Stop?</b>
-<p>Scenario: The workbench has many layers.&nbsp; If you are a plugin developer
-what are the bounds of the area you should test?
-<p>Method: In general, you should assume that everything you rely upon
-works.&nbsp; If you don't take this approach you will spend endless hours
-testing code written by other people. For instance, in the workbench UI
-we don't test JFace, SWT, or core.&nbsp; They have their own test suites
-and are assumed to work.&nbsp; On the other hand, you should at least write
-tests for every API which you provide to others.&nbsp; In Eclipse we have
-very strong rules for API compatability, and your own test cases allow
-you to change the implementation of API with some confidence.
-<br>&nbsp;
-<br>&nbsp;
-</body>
-</html>
diff --git a/tests/org.eclipse.ui.tests/icons/anything.gif b/tests/org.eclipse.ui.tests/icons/anything.gif
deleted file mode 100644
index efc77a7..0000000
--- a/tests/org.eclipse.ui.tests/icons/anything.gif
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.ui.tests/icons/binary_co.gif b/tests/org.eclipse.ui.tests/icons/binary_co.gif
deleted file mode 100644
index 23a508e..0000000
--- a/tests/org.eclipse.ui.tests/icons/binary_co.gif
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.ui.tests/icons/mockeditorpart1.gif b/tests/org.eclipse.ui.tests/icons/mockeditorpart1.gif
deleted file mode 100644
index efc77a7..0000000
--- a/tests/org.eclipse.ui.tests/icons/mockeditorpart1.gif
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.ui.tests/icons/mockeditorpart2.gif b/tests/org.eclipse.ui.tests/icons/mockeditorpart2.gif
deleted file mode 100644
index efc77a7..0000000
--- a/tests/org.eclipse.ui.tests/icons/mockeditorpart2.gif
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.ui.tests/icons/view.gif b/tests/org.eclipse.ui.tests/icons/view.gif
deleted file mode 100644
index efc77a7..0000000
--- a/tests/org.eclipse.ui.tests/icons/view.gif
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.ui.tests/plugin.xml b/tests/org.eclipse.ui.tests/plugin.xml
deleted file mode 100644
index 5e1db25..0000000
--- a/tests/org.eclipse.ui.tests/plugin.xml
+++ /dev/null
@@ -1,1549 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui.tests"
-   name="Eclipse UI Tests"
-   version="3.0.0"
-   provider-name="Eclipse.org"
-   class="org.eclipse.ui.tests.TestPlugin">
-
-   <runtime>
-      <library name="uitests.jar"/>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.core.runtime.compatibility"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.core.expressions"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.junit"/>
-      <import plugin="org.eclipse.ui.ide"/>
-      <import plugin="org.eclipse.ui.editors"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor"/>
-      <import plugin="org.eclipse.ui.views"/>
-      <import plugin="org.eclipse.text"/>
-      <import plugin="org.eclipse.jface.text"/>
-   </requires>
-
-
-<!-- Startup testing -->
-   <extension
-         point="org.eclipse.ui.startup">
-      <startup>
-      </startup>
-   </extension>
-   <extension
-         point="org.eclipse.ui.startup">
-      <startup
-            class="org.eclipse.ui.tests.api.StartupClass">
-      </startup>
-   </extension>
-<!-- Utils -->
-   <extension
-         point="org.eclipse.ui.perspectives">
-      <perspective
-            name="Empty Perspective"
-            class="org.eclipse.ui.tests.util.EmptyPerspective"
-            id="org.eclipse.ui.tests.util.EmptyPerspective">
-      </perspective>
-      <perspective
-            name="Empty Perspective 2"
-            class="org.eclipse.ui.tests.util.EmptyPerspective"
-            id="org.eclipse.ui.tests.util.EmptyPerspective2">
-      </perspective>
-      <perspective
-            name="Drag Test Perspective"
-            icon="icons/anything.gif"
-            class="org.eclipse.ui.tests.dnd.DragDropPerspectiveFactory"
-            id="org.eclipse.ui.tests.dnd.dragdrop">
-      </perspective>
-      <perspective
-            name="View Arrangement Perspective"
-            icon="icons/anything.gif"
-            class="org.eclipse.ui.tests.api.ViewPerspective"
-            id="org.eclipse.ui.tests.api.ViewPerspective">
-      </perspective>
-      <perspective
-            class="org.eclipse.ui.tests.util.PerspectiveWithFastView"
-            name="Perspective with Fast View"
-            id="org.eclipse.ui.tests.fastview_perspective">
-      </perspective>      
-   </extension>
-<!-- Utils End -->
-   <extension
-         point="org.eclipse.ui.perspectives">
-      <perspective
-            name="Session Perspective"
-            class="org.eclipse.ui.tests.api.SessionPerspective"
-            id="org.eclipse.ui.tests.api.SessionPerspective">
-      </perspective>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views">
-      <view
-       		name="Title Test View"
-       		icon="icons\view.gif"
-       		class="org.eclipse.ui.tests.api.workbenchpart.TitleTestView"
-       		id="org.eclipse.ui.tests.api.TitleTestView">
-      </view>
-      <view
-            name="Mock View 1"
-            icon="icons\view.gif"
-            class="org.eclipse.ui.tests.api.MockViewPart"
-            id="org.eclipse.ui.tests.api.MockViewPart">
-      </view>
-      <view
-            name="Mock View 2"
-            icon="icons\view.gif"
-            class="org.eclipse.ui.tests.api.MockViewPart"
-            id="org.eclipse.ui.tests.api.MockViewPart2">
-      </view>
-      <view
-            name="Mock View 3"
-            icon="icons\view.gif"
-            class="org.eclipse.ui.tests.api.MockViewPart"
-            id="org.eclipse.ui.tests.api.MockViewPart3">
-      </view>
-      <view
-            name="Mock View 4"
-            icon="icons\view.gif"
-            class="org.eclipse.ui.tests.api.MockViewPart"
-            id="org.eclipse.ui.tests.api.MockViewPart4">
-      </view>
-      <view
-            allowMultiple="true"
-            name="Mock View Mult"
-            icon="icons\view.gif"
-            class="org.eclipse.ui.tests.api.MockViewPart"
-            id="org.eclipse.ui.tests.api.MockViewPartMult">
-      </view>
-      <view
-            name="Session Test View"
-            icon="icons\view.gif"
-            class="org.eclipse.ui.tests.api.SessionView"
-            id="org.eclipse.ui.tests.api.SessionView">
-      </view>
-      <view
-            name="IViewActionDelegateTest View"
-            icon="icons\view.gif"
-            class="org.eclipse.ui.tests.api.MockViewPart"
-            id="org.eclipse.ui.tests.api.IViewActionDelegateTest">
-      </view>
-      <view
-            name="Action Filter Test View 1"
-            icon="icons\view.gif"
-            class="org.eclipse.ui.tests.api.ListView:-staticMenu"
-            id="org.eclipse.ui.tests.api.IActionFilterTest1">
-      </view>
-      <view
-            name="Action Expression Test View"
-            icon="icons\view.gif"
-            class="org.eclipse.ui.tests.api.ListView"
-            id="org.eclipse.ui.tests.internal.ActionExpressionTest">
-      </view>
-      <view
-            name="Action Filter Test View 2"
-            icon="icons\view.gif"
-            class="org.eclipse.ui.tests.api.ListView:-dynamicMenu"
-            id="org.eclipse.ui.tests.api.IActionFilterTest2">
-      </view>
-      <view
-            name="Selection Provider Test View"
-            icon="icons\view.gif"
-            class="org.eclipse.ui.tests.SelectionProviderView"
-            id="org.eclipse.ui.tests.SelectionProviderView">
-      </view>
-      <view
-            name="Selection Provider Test View 2"
-            icon="icons\view.gif"
-            class="org.eclipse.ui.tests.SelectionProviderView"
-            id="org.eclipse.ui.tests.SelectionProviderView2">
-      </view>
-      <view
-            name="Adapted Resource Navigator"
-            icon="icons\view.gif"
-            class="org.eclipse.ui.tests.adaptable.AdaptedResourceNavigator"
-            id="org.eclipse.ui.tests.adaptable.adaptedHierarchy">
-      </view>
-      <view
-            name="EmptyView"
-            icon="icons/view.gif"
-            class="org.eclipse.ui.tests.api.workbenchpart.EmptyView"
-            id="org.eclipse.ui.tests.workbenchpart.EmptyView">
-      </view>
-      <view
-            name="OverriddenTitleView"
-            icon="icons/view.gif"
-            class="org.eclipse.ui.tests.api.workbenchpart.OverriddenTitleView"
-            id="org.eclipse.ui.tests.workbenchpart.OverriddenTitleView">
-      </view>
-      <view
-            name="RawIViewPart"
-            icon="icons/view.gif"
-            class="org.eclipse.ui.tests.api.workbenchpart.RawIViewPart"
-            id="org.eclipse.ui.tests.workbenchpart.RawIViewPart">
-      </view>
-            
-      <view
-            name="StickyViewRight1"
-            icon="icons/view.gif"
-            class="org.eclipse.ui.tests.api.MockViewPart"
-            id="org.eclipse.ui.tests.api.StickyViewRight1">
-      </view>
-      <view
-            name="StickyViewRight2"
-            icon="icons/view.gif"
-            class="org.eclipse.ui.tests.api.MockViewPart"
-            id="org.eclipse.ui.tests.api.StickyViewRight2">
-      </view>
-      <stickyView
-            id="org.eclipse.ui.tests.api.StickyViewRight1"
-            location="RIGHT"
-            closeable="true"
-            moveable="true">
-      </stickyView>
-      <stickyView
-            id="org.eclipse.ui.tests.api.StickyViewRight2"
-            location="RIGHT"
-            closeable="false"
-            moveable="false">
-      </stickyView>
-
-      <view
-            name="StickyViewLeft1"
-            icon="icons/view.gif"
-            class="org.eclipse.ui.tests.api.MockViewPart"
-            id="org.eclipse.ui.tests.api.StickyViewLeft1">
-      </view>
-      <view
-            name="StickyViewLeft2"
-            icon="icons/view.gif"
-            class="org.eclipse.ui.tests.api.MockViewPart"
-            id="org.eclipse.ui.tests.api.StickyViewLeft2">
-      </view>
-      <stickyView
-            id="org.eclipse.ui.tests.api.StickyViewLeft1"
-            location="LEFT">
-      </stickyView>
-      <stickyView
-            id="org.eclipse.ui.tests.api.StickyViewLeft2"
-            location="LEFT">
-      </stickyView>
-      
-      <view
-            name="StickyViewTop1"
-            icon="icons/view.gif"
-            class="org.eclipse.ui.tests.api.MockViewPart"
-            id="org.eclipse.ui.tests.api.StickyViewTop1">
-      </view>
-      <view
-            name="StickyViewTop2"
-            icon="icons/view.gif"
-            class="org.eclipse.ui.tests.api.MockViewPart"
-            id="org.eclipse.ui.tests.api.StickyViewTop2">
-      </view>
-      <stickyView
-            id="org.eclipse.ui.tests.api.StickyViewTop1"
-            location="TOP">
-      </stickyView>
-      <stickyView
-            id="org.eclipse.ui.tests.api.StickyViewTop2"
-            location="TOP">
-      </stickyView>      
-      
-      <view
-            name="StickyViewBottom1"
-            icon="icons/view.gif"
-            class="org.eclipse.ui.tests.api.MockViewPart"
-            id="org.eclipse.ui.tests.api.StickyViewBottom1">
-      </view>
-      <view
-            name="StickyViewBottom2"
-            icon="icons/view.gif"
-            class="org.eclipse.ui.tests.api.MockViewPart"
-            id="org.eclipse.ui.tests.api.StickyViewBottom2">
-      </view>
-      <stickyView
-            id="org.eclipse.ui.tests.api.StickyViewBottom1"
-            location="BOTTOM">
-      </stickyView>
-      <stickyView
-            id="org.eclipse.ui.tests.api.StickyViewBottom2"
-            location="BOTTOM">
-      </stickyView>      
-            
-   </extension>
-   <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            name="Mock Editor 1"
-            extensions="mock1"
-            icon="icons\mockeditorpart1.gif"
-            class="org.eclipse.ui.tests.api.MockEditorPart"
-            id="org.eclipse.ui.tests.api.MockEditorPart1">
-      </editor>
-      <editor
-            name="Mock Editor 2"
-            extensions="mock2"
-            icon="icons\mockeditorpart2.gif"
-            class="org.eclipse.ui.tests.api.MockEditorPart"
-            id="org.eclipse.ui.tests.api.MockEditorPart2">
-      </editor>
-      <editor
-            name="IEditorActionBarContributorTest"
-            extensions="mock3"
-            icon="icons\mockeditorpart2.gif"
-            class="org.eclipse.ui.tests.api.MockEditorPart"
-            contributorClass="org.eclipse.ui.tests.api.MockEditorActionBarContributor"
-            id="org.eclipse.ui.tests.api.IEditorActionBarContributorTest">
-      </editor>
-      <editor
-            name="IEditorActionDelegateTest"
-            extensions="mock3"
-            icon="icons\mockeditorpart2.gif"
-            class="org.eclipse.ui.tests.api.MockEditorPart"
-            contributorClass="org.eclipse.ui.tests.api.MockEditorActionBarContributor"
-            id="org.eclipse.ui.tests.api.IEditorActionDelegateTest">
-      </editor>
-      <editor
-            name="IEditorActionBarsTest"
-            extensions="mock3"
-            icon="icons\mockeditorpart2.gif"
-            class="org.eclipse.ui.tests.api.MockEditorPart"
-            contributorClass="org.eclipse.ui.tests.api.MockEditorActionBarContributor"
-            id="org.eclipse.ui.tests.internal.EditorActionBarsTest">
-      </editor>
-      <editor
-            name="ExtendedTextEditor"
-            extensions="exttxt"
-            icon="icons\mockeditorpart2.gif"
-            class="org.eclipse.ui.tests.internal.ExtendedTextEditor"
-            contributorClass="org.eclipse.ui.texteditor.BasicTextEditorActionContributor"
-            id="org.eclipse.ui.tests.ExtendedTextEditor">
-      </editor>
-      <editor
-            name="Test Multi-Page Editor"
-            extensions="multi"
-            icon="icons\mockeditorpart1.gif"
-            class="org.eclipse.ui.tests.multipageeditor.TestMultiPageEditor"
-            id="org.eclipse.ui.tests.multipageeditor.TestMultiPageEditor">
-      </editor>
-      <editor
-            class="org.eclipse.ui.tests.api.workbenchpart.TitleTestEditor"
-            icon="icons/anything.gif"
-            default="true"
-            name="Title Test Editor"
-            id="org.eclipse.ui.tests.TitleTestEditor"
-            extensions="titletest"/>
-	   <editor
-            class="org.eclipse.ui.tests.api.MockEditorPart"
-            icon="platform:/plugin/org.eclipse.ui/icons/full/obj16/font.gif"
-            default="true"
-            name="Plugin Icon Test 1"
-            id="org.eclipse.ui.tests.IconTestEditor1"
-            extensions="icontest1"/>            
-       <editor
-            class="org.eclipse.ui.tests.api.MockEditorPart"
-            icon="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/class_obj.gif"
-            default="true"
-            name="Plugin Icon Test 2"
-            id="org.eclipse.ui.tests.IconTestEditor1"
-            extensions="icontest2"/>                      
-       <editor
-            class="org.eclipse.ui.tests.api.MockEditorPart"
-            icon="bad"
-            default="true"
-            name="Plugin Icon Test 3"
-            id="org.eclipse.ui.tests.IconTestEditor3"
-            extensions="icontest3"/>       </extension>
-   <extension
-         point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="Mock Action Set"
-            id="org.eclipse.ui.tests.api.MockActionSet">
-         <action
-               label="Mock Action"
-               class="org.eclipse.ui.tests.api.MockWorkbenchWindowActionDelegate"
-               menubarPath="additions"
-               id="org.eclipse.ui.tests.api.MockWindowAction">
-         </action>
-      </actionSet>      
-      <actionSet
-      		label="Hostile Action Set"
-      		id="org.eclipse.ui.tests.actionSets.brokenActionSet"
-      		visible="true">
-      	<action
-      			label="Hostile Action"
-      			style="pulldown"
-      			class="org.eclipse.ui.tests.menus.BrokenWorkbenchWindowPulldownDelegate"
-      			menubarPath="help/helpStart"
-      			id="org.eclipse.ui.tests.actionSets.brokenAction">
-      	</action>
-      </actionSet>
-      <actionSet
-            label="Drag Test"
-            visible="false"
-            id="org.eclipse.ui.tests.dragTestActions">
-         <action
-               label="Drag-Drop Snapshot"
-               class="org.eclipse.ui.tests.dnd.GenerateDragSnapshotAction"
-               allowLabelUpdate="false"
-               menubarPath="additions"
-               id="org.eclipse.ui.tests.action1">
-         </action>
-      </actionSet>
-   </extension>
-   <extension
-         point="org.eclipse.ui.viewActions">
-      <viewContribution
-            targetID="org.eclipse.ui.tests.api.IViewActionDelegateTest"
-            id="va1">
-         <action
-               label="Mock Action"
-               class="org.eclipse.ui.tests.api.MockViewActionDelegate"
-               menubarPath="additions"
-               id="a1">
-         </action>
-      </viewContribution>
-   </extension>
-   <extension
-         point="org.eclipse.ui.editorActions">
-      <editorContribution
-            targetID="org.eclipse.ui.tests.api.IEditorActionDelegateTest"
-            id="ea1">
-         <action
-               label="Mock Action"
-               class="org.eclipse.ui.tests.api.MockEditorActionDelegate"
-               menubarPath="additions"
-               id="a1">
-         </action>
-      </editorContribution>
-   </extension>
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            objectClass="org.eclipse.ui.tests.api.ListElement"
-            id="oc1">
-         <filter
-               name="name"
-               value="red">
-         </filter>
-         <action
-               label="redAction_v1"
-               class="org.eclipse.ui.tests.api.MockActionDelegate"
-               id="oc1">
-         </action>
-      </objectContribution>
-      <objectContribution
-            objectClass="org.eclipse.ui.tests.api.ListElement"
-            id="oc2">
-         <filter
-               name="name"
-               value="blue">
-         </filter>
-         <action
-               label="blueAction_v1"
-               class="org.eclipse.ui.tests.api.MockActionDelegate"
-               id="oc2">
-         </action>
-      </objectContribution>
-      <objectContribution
-            objectClass="org.eclipse.ui.tests.api.ListElement"
-            id="oc3">
-         <filter
-               name="flag"
-               value="true">
-         </filter>
-         <action
-               label="trueAction_v1"
-               class="org.eclipse.ui.tests.api.MockActionDelegate"
-               id="oc3">
-         </action>
-      </objectContribution>
-      <objectContribution
-            objectClass="org.eclipse.ui.tests.api.ListElement"
-            id="oc4">
-         <filter
-               name="flag"
-               value="false">
-         </filter>
-         <action
-               label="falseAction_v1"
-               class="org.eclipse.ui.tests.api.MockActionDelegate"
-               id="oc4">
-         </action>
-      </objectContribution>
-      <objectContribution
-            objectClass="org.eclipse.ui.tests.api.ListElement"
-            id="oc5">
-         <filter
-               name="name"
-               value="red">
-         </filter>
-         <filter
-               name="flag"
-               value="true">
-         </filter>
-         <action
-               label="redTrueAction_v1"
-               class="org.eclipse.ui.tests.api.MockActionDelegate"
-               id="oc5">
-         </action>
-      </objectContribution>
-<!-- Adaptable test-->
-      <objectContribution
-            adaptable="true"
-            objectClass="org.eclipse.core.resources.IResource"
-            id="org.eclipse.ui.tests.adaptable.ResourceContributions">
-         <action
-               label="Resource Action"
-               class="org.eclipse.ui.tests.adaptable.ResourceAction"
-               menubarPath="org.eclipse.ui.OpenFileAction"
-               id="resource action">
-         </action>
-      </objectContribution>
-         
-      <!-- ObjectContributionTest: This is the content-type-based object contribution -->
-      <objectContribution
-            adaptable="true"
-            objectClass="org.eclipse.core.resources.IFile"
-            nameFilter="*.xml"
-            id="org.eclipse.ui.tests.testObjectStateContentType">
-         <visibility>
-            <objectState
-                  name="contentTypeId"
-                  value="org.eclipse.ui.tests.testObjectStateContentType">
-            </objectState>
-         </visibility>
-         <action
-               label="XML Top Level Element"
-               class="org.eclipse.ui.tests.api.MockActionDelegate"
-               tooltip="This is a contribution for ObjectContributionTest.testObjectStateContentType"
-               menubarPath="additions"
-               enablesFor="1"
-               id="org.eclipse.ui.tests.testObjectStateContentType">
-         </action>
-      </objectContribution>
-      
-   </extension>
-   
-   <extension
-   		point="org.eclipse.core.runtime.contentTypes">
-   		
-      	<!-- ObjectContributionTest: This is the content-type-based object contribution -->
-		<content-type 
-			id="testObjectStateContentType"
-			name="Tests top-level element recognition" 	
-			base-type="org.eclipse.core.runtime.xml"
-			priority="high">
-			<describer class="org.eclipse.core.runtime.content.XMLRootElementContentDescriber">
-				<parameter name="element" value="testObjectStateContentTypeElement" />
-			</describer>
-		</content-type>
-   </extension>
-   		
-   <extension
-         point="org.eclipse.ui.actionSets">
-<!-- ActionSetExpressionTest -->
-      <actionSet
-            label="List Element"
-            id="org.eclipse.ui.tests.internal.ListElementActions">
-         <menu
-               label="List Element"
-               path="additions"
-               id="org.eclipse.ui.tests.internal.ListElementMenu">
-            <separator
-                  name="group1">
-            </separator>
-         </menu>
-         <action
-               label="allAction_v2"
-               class="org.eclipse.ui.tests.api.MockActionDelegate"
-               menubarPath="org.eclipse.ui.tests.internal.ListElementMenu/group1"
-               enablesFor="1"
-               id="org.eclipse.ui.tests.internal.ac1">
-            <enablement>
-               <objectClass
-                     name="org.eclipse.ui.tests.api.ListElement">
-               </objectClass>
-            </enablement>
-         </action>
-         <action
-               label="redAction_v2"
-               class="org.eclipse.ui.tests.api.MockActionDelegate"
-               menubarPath="org.eclipse.ui.tests.internal.ListElementMenu/group1"
-               enablesFor="1"
-               id="org.eclipse.ui.tests.internal.ac2">
-            <enablement>
-               <and>
-                  <objectClass
-                        name="org.eclipse.ui.tests.api.ListElement">
-                  </objectClass>
-                  <objectState
-                        name="name"
-                        value="red">
-                  </objectState>
-               </and>
-            </enablement>
-         </action>
-         <action
-               label="notRedAction_v2"
-               class="org.eclipse.ui.tests.api.MockActionDelegate"
-               menubarPath="org.eclipse.ui.tests.internal.ListElementMenu/group1"
-               enablesFor="1"
-               id="org.eclipse.ui.tests.internal.ac3">
-            <enablement>
-               <and>
-                  <objectClass
-                        name="org.eclipse.ui.tests.api.ListElement">
-                  </objectClass>
-                  <not>
-                     <objectState
-                           name="name"
-                           value="red">
-                     </objectState>
-                  </not>
-               </and>
-            </enablement>
-         </action>
-         <action
-               label="trueAction_v2"
-               class="org.eclipse.ui.tests.api.MockActionDelegate"
-               menubarPath="org.eclipse.ui.tests.internal.ListElementMenu/group1"
-               enablesFor="1"
-               id="org.eclipse.ui.tests.internal.ac4">
-            <enablement>
-               <and>
-                  <objectClass
-                        name="org.eclipse.ui.tests.api.ListElement">
-                  </objectClass>
-                  <objectState
-                        name="flag"
-                        value="true">
-                  </objectState>
-               </and>
-            </enablement>
-         </action>
-         <action
-               label="redOrBlueAction_v2"
-               class="org.eclipse.ui.tests.api.MockActionDelegate"
-               menubarPath="org.eclipse.ui.tests.internal.ListElementMenu/group1"
-               enablesFor="1"
-               id="org.eclipse.ui.tests.internal.ac5">
-            <enablement>
-               <or>
-                  <and>
-                     <objectClass
-                           name="org.eclipse.ui.tests.api.ListElement">
-                     </objectClass>
-                     <objectState
-                           name="name"
-                           value="red">
-                     </objectState>
-                  </and>
-                  <and>
-                     <objectClass
-                           name="org.eclipse.ui.tests.api.ListElement">
-                     </objectClass>
-                     <objectState
-                           name="name"
-                           value="blue">
-                     </objectState>
-                  </and>
-               </or>
-            </enablement>
-         </action>
-         <action
-               label="redAndTrueAction_v2"
-               class="org.eclipse.ui.tests.api.MockActionDelegate"
-               menubarPath="org.eclipse.ui.tests.internal.ListElementMenu/group1"
-               enablesFor="1"
-               id="org.eclipse.ui.tests.internal.ac6">
-            <enablement>
-               <and>
-                  <objectClass
-                        name="org.eclipse.ui.tests.api.ListElement">
-                  </objectClass>
-                  <objectState
-                        name="name"
-                        value="red">
-                  </objectState>
-                  <objectState
-                        name="flag"
-                        value="true">
-                  </objectState>
-               </and>
-            </enablement>
-         </action>
-         <action
-               label="pluginNotInstalledAction_v2"
-               class="org.eclipse.ui.tests.api.MockActionDelegate"
-               menubarPath="org.eclipse.ui.tests.internal.ListElementMenu/group1"
-               id="org.eclipse.ui.tests.internal.ac7">
-            <enablement>
-               <pluginState
-                     value="installed"
-                     id="7777xxf">
-               </pluginState>
-            </enablement>
-         </action>
-         <action
-               label="pluginInstalledAction_v2"
-               class="org.eclipse.ui.tests.api.MockActionDelegate"
-               menubarPath="org.eclipse.ui.tests.internal.ListElementMenu/group1"
-               id="org.eclipse.ui.tests.internal.ac8">
-            <enablement>
-               <pluginState
-                     value="installed"
-                     id="org.eclipse.ui">
-               </pluginState>
-            </enablement>
-         </action>
-         <action
-               label="pluginNotActivatedAction_v2"
-               class="org.eclipse.ui.tests.api.MockActionDelegate"
-               menubarPath="org.eclipse.ui.tests.internal.ListElementMenu/group1"
-               id="org.eclipse.ui.tests.internal.ac9">
-            <enablement>
-               <pluginState
-                     value="activated"
-                     id="org.eclipse.update">
-               </pluginState>
-            </enablement>
-         </action>
-         <action
-               label="pluginActivatedAction_v2"
-               class="org.eclipse.ui.tests.api.MockActionDelegate"
-               menubarPath="org.eclipse.ui.tests.internal.ListElementMenu/group1"
-               id="org.eclipse.ui.tests.internal.ac10">
-            <enablement>
-               <pluginState
-                     value="activated"
-                     id="org.eclipse.ui">
-               </pluginState>
-            </enablement>
-         </action>
-         <action
-               label="systemPropertyAction_v2"
-               class="org.eclipse.ui.tests.api.MockActionDelegate"
-               menubarPath="org.eclipse.ui.tests.internal.ListElementMenu/group1"
-               id="org.eclipse.ui.tests.internal.ac11">
-            <enablement>
-               <systemProperty
-                     name="ActionExpressionVar"
-                     value="bubba">
-               </systemProperty>
-            </enablement>
-         </action>
-      </actionSet>
-<!-- TextSelectionActionFilterText -->
-      <actionSet
-            label="Text Selection Tests"
-            id="org.eclipse.ui.tests.internal.TextSelectionActions">
-         <menu
-               label="Text Selection Tests"
-               path="additions"
-               id="org.eclipse.ui.tests.internal.TextSelectionMenu">
-            <separator
-                  name="group1">
-            </separator>
-         </menu>
-         <action
-               label="anyText"
-               class="org.eclipse.ui.tests.api.MockActionDelegate"
-               menubarPath="org.eclipse.ui.tests.internal.TextSelectionMenu/group1"
-               enablesFor="1"
-               id="org.eclipse.ui.tests.internal.as_1">
-            <selection
-                  class="org.eclipse.jface.text.ITextSelection">
-            </selection>
-         </action>
-         <action
-               label="emptyText"
-               class="org.eclipse.ui.tests.api.MockActionDelegate"
-               menubarPath="org.eclipse.ui.tests.internal.TextSelectionMenu/group1"
-               id="org.eclipse.ui.tests.internal.ac_2">
-            <enablement>
-               <and>
-                  <objectClass
-                        name="org.eclipse.jface.text.ITextSelection">
-                  </objectClass>
-                  <objectState
-                        name="isEmpty"
-                        value="true">
-                  </objectState>
-               </and>
-            </enablement>
-         </action>
-         <action
-               label="helloText"
-               class="org.eclipse.ui.tests.api.MockActionDelegate"
-               menubarPath="org.eclipse.ui.tests.internal.TextSelectionMenu/group1"
-               id="org.eclipse.ui.tests.internal.ac_3">
-            <enablement>
-               <and>
-                  <objectClass
-                        name="org.eclipse.jface.text.ITextSelection">
-                  </objectClass>
-                  <objectState
-                        name="text"
-                        value="Hello">
-                  </objectState>
-               </and>
-            </enablement>
-         </action>
-      </actionSet>
-   </extension>
-   <extension
-         point="org.eclipse.ui.popupMenus">
-<!-- PopupMenuExpressionTest -->
-      <objectContribution
-            objectClass="org.eclipse.ui.tests.api.ListElement"
-            id="oc1">
-         <action
-               label="allAction_v2"
-               class="org.eclipse.ui.tests.api.MockActionDelegate"
-               id="oc1">
-         </action>
-      </objectContribution>
-      <objectContribution
-            objectClass="org.eclipse.ui.tests.api.ListElement"
-            id="oc2">
-         <visibility>
-            <objectState
-                  name="name"
-                  value="red">
-            </objectState>
-         </visibility>
-         <action
-               label="redAction_v2"
-               class="org.eclipse.ui.tests.api.MockActionDelegate"
-               id="oc2">
-         </action>
-      </objectContribution>
-      <objectContribution
-            objectClass="org.eclipse.ui.tests.api.ListElement"
-            id="oc3">
-         <visibility>
-            <not>
-               <objectState
-                     name="name"
-                     value="red">
-               </objectState>
-            </not>
-         </visibility>
-         <action
-               label="notRedAction_v2"
-               class="org.eclipse.ui.tests.api.MockActionDelegate"
-               id="oc3">
-         </action>
-      </objectContribution>
-      <objectContribution
-            objectClass="org.eclipse.ui.tests.api.ListElement"
-            id="oc4">
-         <visibility>
-            <objectState
-                  name="flag"
-                  value="true">
-            </objectState>
-         </visibility>
-         <action
-               label="trueAction_v2"
-               class="org.eclipse.ui.tests.api.MockActionDelegate"
-               id="oc4">
-         </action>
-      </objectContribution>
-      <objectContribution
-            objectClass="org.eclipse.ui.tests.api.ListElement"
-            id="oc5">
-         <visibility>
-            <or>
-               <objectState
-                     name="name"
-                     value="red">
-               </objectState>
-               <objectState
-                     name="name"
-                     value="blue">
-               </objectState>
-            </or>
-         </visibility>
-         <action
-               label="redOrBlueAction_v2"
-               class="org.eclipse.ui.tests.api.MockActionDelegate"
-               id="oc4">
-         </action>
-      </objectContribution>
-      <objectContribution
-            objectClass="org.eclipse.ui.tests.api.ListElement"
-            id="oc6">
-         <visibility>
-            <and>
-               <objectState
-                     name="name"
-                     value="red">
-               </objectState>
-               <objectState
-                     name="flag"
-                     value="true">
-               </objectState>
-            </and>
-         </visibility>
-         <action
-               label="redAndTrueAction_v2"
-               class="org.eclipse.ui.tests.api.MockActionDelegate"
-               id="oc4">
-         </action>
-      </objectContribution>
-      <objectContribution
-            objectClass="org.eclipse.ui.tests.api.ListElement"
-            id="oc7">
-         <visibility>
-            <pluginState
-                  value="installed"
-                  id="7777xxf">
-            </pluginState>
-         </visibility>
-         <action
-               label="pluginNotInstalledAction_v2"
-               class="org.eclipse.ui.tests.api.MockActionDelegate"
-               id="oc4">
-         </action>
-      </objectContribution>
-      <objectContribution
-            objectClass="org.eclipse.ui.tests.api.ListElement"
-            id="oc8">
-         <visibility>
-            <pluginState
-                  value="installed"
-                  id="org.eclipse.ui">
-            </pluginState>
-         </visibility>
-         <action
-               label="pluginInstalledAction_v2"
-               class="org.eclipse.ui.tests.api.MockActionDelegate"
-               id="oc4">
-         </action>
-      </objectContribution>
-      <objectContribution
-            objectClass="org.eclipse.ui.tests.api.ListElement"
-            id="oc9">
-         <visibility>
-            <pluginState
-                  value="activated"
-                  id="org.eclipse.update">
-            </pluginState>
-         </visibility>
-         <action
-               label="pluginNotActivatedAction_v2"
-               class="org.eclipse.ui.tests.api.MockActionDelegate"
-               id="oc4">
-         </action>
-      </objectContribution>
-      <objectContribution
-            objectClass="org.eclipse.ui.tests.api.ListElement"
-            id="oc10">
-         <visibility>
-            <pluginState
-                  value="activated"
-                  id="org.eclipse.ui">
-            </pluginState>
-         </visibility>
-         <action
-               label="pluginActivatedAction_v2"
-               class="org.eclipse.ui.tests.api.MockActionDelegate"
-               id="oc4">
-         </action>
-      </objectContribution>
-      <objectContribution
-            objectClass="org.eclipse.ui.tests.api.ListElement"
-            id="oc11">
-         <visibility>
-            <systemProperty
-                  name="ActionExpressionVar"
-                  value="bubba">
-            </systemProperty>
-         </visibility>
-         <action
-               label="systemPropertyAction_v2"
-               class="org.eclipse.ui.tests.api.MockActionDelegate"
-               id="oc4">
-         </action>
-      </objectContribution>
-      <objectContribution
-            objectClass="org.eclipse.ui.tests.api.ListElement"
-            id="oc12">
-         <enablement>
-            <test property="org.eclipse.ui.tests.api.testing.name" value="red"/>
-         </enablement>
-         <action
-               label="expressionEnablementAction_v2"
-               class="org.eclipse.ui.tests.api.MockActionDelegate"
-               id="oc13">
-         </action>
-      </objectContribution>
-   </extension> 
-   <extension point="org.eclipse.core.expressions.propertyTesters">
-      <propertyTester
-            namespace="org.eclipse.ui.tests.api.testing"
-            properties="name"
-            type="org.eclipse.ui.tests.api.ListElement"
-            class="org.eclipse.ui.tests.api.ListElementPropertyTester"
-            id="org.eclipse.ui.tests.api.propertyTester">
-      </propertyTester>
-   </extension>
-<!-- Decorator tests -->
-   <extension
-         point="org.eclipse.ui.decorators">
-      <decorator
-            objectClass="org.eclipse.core.resources.IResource"
-            label="Test Decorator"
-            class="org.eclipse.ui.tests.navigator.TestDecoratorContributor"
-            state="false"
-            id="org.eclipse.ui.tests.adaptable.decorator">
-         <description>
-            The test decorator
-         </description>
-      </decorator>
-      <decorator
-            adaptable="true"
-            objectClass="org.eclipse.core.resources.IResource"
-            label="Null Decorator"
-            class="org.eclipse.ui.tests.adaptable.NullLabelDecorator"
-            state="false"
-            id="org.eclipse.ui.tests.adaptable.nulldecorator">
-         <description>
-            A null test decorator
-         </description>
-      </decorator>
-      <decorator
-            lightweight="true"
-            adaptable="true"
-            label="Lightweight Test Decorator"
-            class="org.eclipse.ui.tests.navigator.TestLightweightDecoratorContributor"
-            state="false"
-            id="org.eclipse.ui.tests.navigator.lightweightdecorator">
-         <enablement>
-            <objectClass
-                  name="org.eclipse.core.resources.IResource">
-            </objectClass>
-         </enablement>
-         <description>
-            A lightweight test decorator
-         </description>
-      </decorator>
-      <decorator
-            lightweight="true"
-            location="TOP_LEFT"
-            adaptable="true"
-            label="Declarative Test Decorator"
-            icon="icons/binary_co.gif"
-            state="false"
-            id="org.eclipse.ui.tests.navigator.declareddecorator">
-         <enablement>
-            <objectClass
-                  name="org.eclipse.core.resources.IResource">
-            </objectClass>
-         </enablement>
-         <description>
-            A lightweight test decorator
-         </description>
-      </decorator>
-      <decorator
-            lightweight="true"
-            objectClass="org.eclipse.core.resources.IResource"
-            label="Bug 41545 Lightweight"
-            class="org.eclipse.ui.tests.navigator.NullImageDecorator"
-            id="org.eclipse.ui.tests.lightNullImageDecorator">
-      </decorator>
-      <decorator
-            lightweight="false"
-            objectClass="org.eclipse.core.resources.IResource"
-            label="Bug 41545 Heavy Image"
-            class="org.eclipse.ui.tests.navigator.HeavyNullImageDecorator"
-            id="org.eclipse.ui.tests.heavyNullImageDecorator">
-      </decorator>
-      <decorator
-            lightweight="false"
-            objectClass="org.eclipse.core.resources.IResource"
-            label="Bug 41545 Heavy Text"
-            class="org.eclipse.ui.tests.navigator.HeavyNullTextDecorator"
-            id="org.eclipse.ui.tests.heavyNullTextDecorator">
-      </decorator>
-      <decorator
-            lightweight="true"
-            adaptable="true"
-            label="Lightweight Test Decorator Multiple Quadrant"
-            state="false"
-            class="org.eclipse.ui.tests.navigator.TestLightweightDecoratorMultipleQuadrantContributor"
-            id="org.eclipse.ui.tests.navigator.lightweightdecorator2">
-         <enablement>
-            <objectClass
-                  name="org.eclipse.core.resources.IResource">
-            </objectClass>
-         </enablement>
-         <description>
-            A lightweight test decorator for multiple quadrants
-         </description>
-      </decorator>
-   </extension>
-<!-- Working set tests -->
-   <extension
-         point="org.eclipse.ui.workingSets">
-      <workingSet
-            name="Mock Working Set"
-            pageClass="org.eclipse.ui.tests.api.MockWorkingSetPage"
-            icon="icons/anything.gif"
-            id="org.eclipse.ui.tests.api.MockWorkingSet">
-      </workingSet>
-   </extension>
-<!-- Preference tests -->
-   <extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            name="Editors Test"
-            class="org.eclipse.ui.tests.dialogs.EnableTestPreferencePage"
-            id="org.eclipse.ui.tests.dialogs.EnableTestPreferencePage">
-      </page>
-      <page
-            name="Bad Listeners Test"
-            class="org.eclipse.ui.tests.manual.BrokenUpdatePreferencePage"
-            id="org.eclipse.ui.tests.manual.BrokenUpdatePreferencePage">
-      </page>
-      <page
-            name="Font Editors"
-            class="org.eclipse.ui.tests.dialogs.FontFieldEditorTestPreferencePage"
-            id="org.eclipse.ui.tests.dialogs.FontFieldEditorTestPreferencePage">
-      </page>
-   </extension>
-<!-- Multi-page editor tests -->
-   <extension
-         point="org.eclipse.ui.commands">
-      <keyBinding
-            string="Ctrl+Shift+4"
-            scope="org.eclipse.ui.tests.scope1"
-            command="org.eclipse.ui.tests.TestCommandId"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            string="Ctrl+Shift+5"
-            scope="org.eclipse.ui.tests.scope2"
-            command="org.eclipse.ui.tests.TestCommandId"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-   </extension>
-   <extension
-         point="org.eclipse.ui.contexts">
-      <context
-            name="Scope 1"
-            description="Test Scope #1"
-            id="org.eclipse.ui.tests.scope1">
-      </context>
-      <context
-            name="Scope 2"
-            description="Test Scope #2"
-            id="org.eclipse.ui.tests.scope2">
-      </context>
-      <context
-         	id="org.eclipse.ui.tests.contexts.context1"
-         	name="Test Context 1"
-         	description="A test for the preferred context support" />
-      <context
-         	id="org.eclipse.ui.tests.contexts.context2"
-         	name="Test Context 2"
-         	description="A test for the preferred context support"
-         	parentId="org.eclipse.ui.tests.contexts.context1" />
-   </extension>
-<!-- Marker Image Provider tests -->
-   <extension
-         id="testmarker"
-         name="Test Marker"
-         point="org.eclipse.core.resources.markers">
-   </extension>
-   <extension
-         point="org.eclipse.ui.ide.markerImageProviders">
-      <imageprovider
-            markertype="org.eclipse.ui.tests.testmarker"
-            icon="icons/anything.gif"
-            id="testmarker.imageProvider">
-      </imageprovider>
-   </extension>
-   <extension
-         id="testmarker2"
-         name="Test Marker 2"
-         point="org.eclipse.core.resources.markers">
-   </extension>
-   <extension
-         point="org.eclipse.ui.ide.markerImageProviders">
-      <imageprovider
-            markertype="org.eclipse.ui.tests.testmarker2"
-            class="org.eclipse.ui.tests.adaptable.TestMarkerImageProvider"
-            id="testmarker.imageProvider2">
-      </imageprovider>
-   </extension>
-   <extension
-         point="org.eclipse.ui.intro">
-      <intro
-            icon="icons/anything.gif"
-            class="org.eclipse.ui.tests.intro.MockIntroPart"
-            id="org.eclipse.ui.testintro">
-      </intro>
-   </extension>
-<!-- Activities testing -->
-   <extension
-         point="org.eclipse.ui.activities">
-      <category
-            name="Category 1"
-            description="description"
-            id="org.eclipse.category1">
-      </category>
-      <category
-            name="Category 2"
-            description="description"
-            id="org.eclipse.category2">
-      </category>
-      <category
-            name="Category 3"
-            description="description"
-            id="org.eclipse.category3">
-      </category>
-      <category
-            name="Category 4"
-            description="description"
-            id="org.eclipse.category4">
-      </category>
-      <category
-            name="Category 5"
-            description="description"
-            id="org.eclipse.category5">
-      </category>
-      <category
-            name="Category 6"
-            description="description"
-            id="org.eclipse.category6">
-      </category>
-      <activity
-            name="Activity 1"
-            description="description"
-            id="org.eclipse.activity1">
-      </activity>
-      <activity
-            name="Activity 2"
-            description="description"
-            id="org.eclipse.activity2">
-      </activity>
-      <activity
-            name="Activity 3"
-            description="description"
-            id="org.eclipse.activity3">
-      </activity>
-      <activity
-            name="Activity 4"
-            description="description"
-            id="org.eclipse.activity4">
-      </activity>
-      <activity
-            name="Activity 5"
-            description="description"
-            id="org.eclipse.activity5">
-      </activity>
-      <activity
-            name="Activity 6"
-            description="description"
-            id="org.eclipse.activity6">
-      </activity>
-      <activity
-            name="Activity 7"
-            description="description"
-            id="org.eclipse.activity7">
-      </activity>
-      <activity
-            name="Activity 8"
-            description="description"
-            id="org.eclipse.activity8">
-      </activity>
-      <activity
-            name="Activity 9"
-            description="description"
-            id="org.eclipse.activity9">
-      </activity>
-      <activity
-            name="Activity 10"
-            description="description"
-            id="org.eclipse.activity10">
-      </activity>
-      <activity
-            name="Activity 11"
-            description="description"
-            id="org.eclipse.activity11">
-      </activity>
-      <activity
-            name="Activity 12"
-            description="description"
-            id="org.eclipse.activity12">
-      </activity>
-      <activity
-            name="Activity 13"
-            description="description"
-            id="org.eclipse.activity13">
-      </activity>
-      <activity
-            name="Activity 14"
-            description="description"
-            id="org.eclipse.activity14">
-      </activity>
-      <activity
-            name="Activity 15"
-            description="description"
-            id="org.eclipse.activity15">
-      </activity>
-      <activity
-            name="Activity 16"
-            description="description"
-            id="org.eclipse.activity16">
-      </activity>
-      <activity
-            name="Activity 17"
-            description="description"
-            id="org.eclipse.activity17">
-      </activity>
-      <activity
-            name="Activity 18"
-            description="description"
-            id="org.eclipse.activity18">
-      </activity>
-      <activityPatternBinding
-            activityId="org.eclipse.activity1"
-            pattern="org.eclipse.pattern1">
-      </activityPatternBinding>
-      <activityPatternBinding
-            activityId="org.eclipse.activity2"
-            pattern="org.eclipse.pattern1">
-      </activityPatternBinding>
-      <activityPatternBinding
-            activityId="org.eclipse.activity3"
-            pattern="org.eclipse.pattern1">
-      </activityPatternBinding>
-      <defaultEnablement
-            id="org.eclipse.activity1">
-      </defaultEnablement>
-      <defaultEnablement
-            id="org.eclipse.activity2">
-      </defaultEnablement>
-      <defaultEnablement
-            id="org.eclipse.activity3">
-      </defaultEnablement>
-      <defaultEnablement
-            id="org.eclipse.activity4">
-      </defaultEnablement>
-      <categoryActivityBinding
-            activityId="org.eclipse.activity1"
-            categoryId="org.eclipse.category1">
-      </categoryActivityBinding>
-      <categoryActivityBinding
-            activityId="org.eclipse.activity2"
-            categoryId="org.eclipse.category1">
-      </categoryActivityBinding>
-      <categoryActivityBinding
-            activityId="org.eclipse.activity3"
-            categoryId="org.eclipse.category1">
-      </categoryActivityBinding>
-      <categoryActivityBinding
-            activityId="org.eclipse.activity4"
-            categoryId="org.eclipse.category1">
-      </categoryActivityBinding>
-      <activityRequirementBinding
-            requiredActivityId="org.eclipse.activity2"
-            activityId="org.eclipse.activity1">
-      </activityRequirementBinding>
-      <activityRequirementBinding
-            requiredActivityId="org.eclipse.activity3"
-            activityId="org.eclipse.activity1">
-      </activityRequirementBinding>
-      <activityRequirementBinding
-            requiredActivityId="org.eclipse.activity4"
-            activityId="org.eclipse.activity1">
-      </activityRequirementBinding>
-      <activityRequirementBinding
-            requiredActivityId="org.eclipse.activity5"
-            activityId="org.eclipse.activity1">
-      </activityRequirementBinding>
-      <activityRequirementBinding
-            requiredActivityId="org.eclipse.activity6"
-            activityId="org.eclipse.activity1">
-      </activityRequirementBinding>
-      <activityRequirementBinding
-            requiredActivityId="org.eclipse.activity7"
-            activityId="org.eclipse.activity1">
-      </activityRequirementBinding>
-   </extension>
-   <extension
-         point="org.eclipse.ui.themes">
-      <theme
-            name="test theme 1"
-            id="theme1">
-         <data
-               name="data1"
-               value="override1">
-         </data>
-         <colorOverride
-               value="2,1,1"
-               id="rgbcolor">
-         </colorOverride>
-         <colorOverride
-               value="COLOR_DARK_GREEN"
-               id="swtcolor">
-         </colorOverride>
-         <colorOverride
-               value="9,9,9"
-               id="defaultedcolor2">
-         </colorOverride>
-         <fontOverride
-               value="Courier-italic-10"
-               id="novalfont">
-         </fontOverride>
-         <fontOverride
-               value="Courier-regular-16"
-               id="defaultedfont2">
-         </fontOverride>
-         <fontOverride
-               value="Sans-regular-5"
-               id="valfont">
-         </fontOverride>
-      </theme>
-      <data
-            name="data1"
-            value="value1">
-      </data>
-      <data
-            name="data2"
-            value="value2">
-      </data>
-      <data
-            name="int1"
-            value="3133">
-      </data>
-      <data
-            name="bool1"
-            value="true">
-      </data>
-      <colorDefinition
-            label="rgbcolor"
-            value="1,1,2"
-            id="rgbcolor">
-      </colorDefinition>
-      <colorDefinition
-            label="swtcolor"
-            value="COLOR_DARK_BLUE"
-            id="swtcolor">
-      </colorDefinition>
-      <colorDefinition
-            label="defaultedcolor"
-            defaultsTo="rgbcolor"
-            id="defaultedcolor">
-      </colorDefinition>
-      <colorDefinition
-            label="defaultedcolor2"
-            defaultsTo="defaultedcolor"
-            id="defaultedcolor2">
-      </colorDefinition>
-      <colorDefinition
-            label="defaultedcolor3"
-            defaultsTo="defaultedcolor2"
-            id="defaultedcolor3">
-      </colorDefinition>
-      <colorDefinition
-            label="platformcolor"
-            value="0,0,0"
-            id="platformcolor">
-         <colorValue
-               ws="win32"
-               value="50,50,50"
-               os="win32">
-         </colorValue>
-         <colorValue
-               ws="gtk"
-               value="25,25,25"
-               os="linux">
-         </colorValue>
-         <colorValue
-               value="75,75,75"
-               os="linux">
-         </colorValue>
-      </colorDefinition>
-      <colorDefinition
-            label="factorycolor"
-            colorFactory="org.eclipse.ui.tests.themes.TestColorFactory"
-            id="factorycolor">
-      </colorDefinition>
-      <fontDefinition
-            label="novalfont"
-            id="novalfont">
-      </fontDefinition>
-      <fontDefinition
-            label="valfont"
-            value="Tahoma-bold-20"
-            id="valfont">
-      </fontDefinition>
-      <fontDefinition
-            label="platformfont"
-            value="Sans-bold-15"
-            id="platformfont">
-         <fontValue
-               ws="win32"
-               os="win32"
-               value="Courier New-regular-12">
-         </fontValue>
-      </fontDefinition>
-      <fontDefinition
-            label="defaultedfont"
-            defaultsTo="valfont"
-            id="defaultedfont">
-      </fontDefinition>
-      <fontDefinition
-            label="defaultedfont2"
-            defaultsTo="defaultedfont"
-            id="defaultedfont2">
-      </fontDefinition>
-      <fontDefinition
-            label="defaultedfont3"
-            defaultsTo="defaultedfont2"
-            id="defaultedfont3">
-      </fontDefinition>
-      <fontDefinition
-            label="nooverridefont"
-            id="nooverridefont">
-      </fontDefinition>
-      <colorDefinition
-            label="nooverridecolor"
-            value="99,99,99"
-            id="nooverridecolor">
-      </colorDefinition>
-   </extension>
-   
-   <extension
-         point="org.eclipse.ui.acceleratorScopes">
-         <acceleratorScope
-         	id="org.eclipse.ui.tests.acceleratorScopes.test1"
-         	name="Test Accelerator Scope 1"
-         	description="A test for the deprecated accelerator scope support" />
-         <acceleratorScope
-         	id="org.eclipse.ui.tests.acceleratorScopes.test2"
-         	name="Test Accelerator Scope 2"
-         	description="A test for the deprecated accelerator scope support"
-         	parentScope="org.eclipse.ui.tests.acceleratorScopes.test1" />
-   </extension>
-   
-   <extension
-         point="org.eclipse.ui.commands">
-         <scope
-         	id="org.eclipse.ui.tests.commands.scope1"
-         	name="Test Scope 1"
-         	description="A test for the deprecated command scope support" />
-         <scope
-         	id="org.eclipse.ui.tests.commands.scope2"
-         	name="Test Scope 2"
-         	description="A test for the deprecated command scope support"
-         	parent="org.eclipse.ui.tests.commands.scope1" />
-   </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.ui.tests/test.xml b/tests/org.eclipse.ui.tests/test.xml
deleted file mode 100644
index e85a5f9..0000000
--- a/tests/org.eclipse.ui.tests/test.xml
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="testsuite" default="run" basedir=".">
-  <!-- The property ${eclipse-home} should be passed into this script -->
-  <!-- Set a meaningful default value for when it is not. -->
-  <property name="eclipse-home" value="${basedir}\..\.."/>
-
-  <!-- sets the properties eclipse-home, and library-file -->
-  <property name="plugin-name" value="org.eclipse.ui.tests"/>
-  <property name="library-file"
-            value="${eclipse-home}/plugins/org.eclipse.test/library.xml"/>
-
-  <!-- This target holds all initialization code that needs to be done for -->
-  <!-- all tests that are to be run. Initialization for individual tests -->
-  <!-- should be done within the body of the suite target. -->
-  <target name="init">
-    <tstamp/>
-    <delete>
-      <fileset dir="${eclipse-home}" includes="org*.xml"/>
-    </delete>
-  </target>
-
-  <!-- This target defines the tests that need to be run. -->
-  <target name="suite">
-    <property name="session-folder" 
-              value="${eclipse-home}/ui_session_sniff_folder"/>
-    <delete dir="${session-folder}" quiet="true"/>
-    <ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="data-dir" value="${session-folder}"/>
-      <property name="plugin-name" value="${plugin-name}"/>
-      <property name="classname" 
-                value="org.eclipse.ui.tests.api.SessionCreateTest"/>
-  
-    </ant>
-    
-    <!-- Commented out until source of problem found (not reusing same workspace dir)
-    <ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="data-dir" value="${session-folder}"/>
-      <property name="plugin-name" value="${plugin-name}"/>
-      <property name="classname"
-                value="org.eclipse.ui.tests.api.SessionRestoreTest"/>
-    </ant>
-    -->
-
-    <property name="sniff-folder"
-              value="${eclipse-home}/ui_sniff_folder"/>
-    <delete dir="${sniff-folder}" quiet="true"/>
-    <ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="data-dir" value="${sniff-folder}"/>
-      <property name="plugin-name" value="${plugin-name}"/>
-      <property name="classname"
-                value="org.eclipse.ui.tests.UiTestSuite"/>
-
-    </ant>
-    
-    <property name="jface-sniff-folder"
-              value="${eclipse-home}/jface_sniff_folder"/>
-    <delete dir="${jface-sniff-folder}" quiet="true"/>
-    <ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="data-dir" value="${jface-sniff-folder}"/>
-      <property name="plugin-name" value="${plugin-name}"/>
-      <property name="classname"
-                value="org.eclipse.jface.tests.viewers.AllTests"/>
-    </ant>
-  </target>
-
-  <!-- This target holds code to cleanup the testing environment after -->
-  <!-- after all of the tests have been run. You can use this target to -->
-  <!-- delete temporary files that have been created. -->
-  <target name="cleanup">
-  </target>
-
-  <!-- This target runs the test suite. Any actions that need to happen -->
-  <!-- after all the tests have been run should go here. -->
-  <target name="run" depends="init,suite,cleanup">
-    <ant target="collect" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="includes" value="org*.xml"/>
-      <property name="output-file" value="${plugin-name}.xml"/>
-    </ant>
-  </target>
-
-</project>
diff --git a/tests/org.eclipse.ui.tests/uiSniff b/tests/org.eclipse.ui.tests/uiSniff
deleted file mode 100644
index e2d47e4..0000000
--- a/tests/org.eclipse.ui.tests/uiSniff
+++ /dev/null
@@ -1,10 +0,0 @@
-echo Running ui.TestSuite

-rm -rf 'ui_sniff_folder'

-./jre/bin/java -cp startup.jar org.eclipse.core.launcher.UIMain -application org.eclipse.ui.junit.runner -dev bin -data %LOCATION% -testPluginName org.eclipse.ui.tests -className org.eclipse.ui.tests.UiTestSuite -console  

-

-echo Running ui.api.SessionCreateTest

-rm -rf ui_session_sniff_folder

-./jre/bin/java -cp startup.jar org.eclipse.core.launcher.UIMain -application org.eclipse.ui.junit.runner -dev bin -data %LOCATION% -testPluginName org.eclipse.ui.tests -className org.eclipse.ui.tests.api.SessionCreateTest -console  

-

-echo Running ui.api.SessionRestoreTest

-./jre/bin/java -cp startup.jar org.eclipse.core.launcher.UIMain -application org.eclipse.ui.junit.runner -dev bin -data %LOCATION% -testPluginName org.eclipse.ui.tests -className org.eclipse.ui.tests.api.SessionRestoreTest -console 

diff --git a/tests/org.eclipse.ui.tests/uiSniff.bat b/tests/org.eclipse.ui.tests/uiSniff.bat
deleted file mode 100644
index 84fbc08..0000000
--- a/tests/org.eclipse.ui.tests/uiSniff.bat
+++ /dev/null
@@ -1,17 +0,0 @@
-@echo off

-rem This is the UI Sniff test batch file.  

-

-set CLASSPATH=startup.jar

-

-set LOCATION=ui_sniff_folder

-del /Q /S %LOCATION%

-echo Running UiTestSuite

-.\jre\bin\java -cp %CLASSPATH% org.eclipse.core.launcher.UIMain -application org.eclipse.ui.junit.runner -dev bin -data %LOCATION% -testPluginName org.eclipse.ui.tests -className org.eclipse.ui.tests.UiTestSuite -console

-

-set LOCATION=ui_session_sniff_folder

-del /Q /S %LOCATION%

-echo Running SessionCreateTest

-.\jre\bin\java -cp %CLASSPATH% org.eclipse.core.launcher.UIMain -application org.eclipse.ui.junit.runner -dev bin -data %LOCATION% -testPluginName org.eclipse.ui.tests -className org.eclipse.ui.tests.api.SessionCreateTest -console

-echo Running SessionRestoreTest

-.\jre\bin\java -cp %CLASSPATH% org.eclipse.core.launcher.UIMain -application org.eclipse.ui.junit.runner -dev bin -data %LOCATION% -testPluginName org.eclipse.ui.tests -className org.eclipse.ui.tests.api.SessionRestoreTest -console

-